1
huangxiaoqiang
2025-10-21 6c663b92b0078aa89657df22ec188dff65599f04
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicServices/Location/LocationInfoService.cs
@@ -68,21 +68,22 @@
    }
    #region åˆå§‹åŒ–库位
    public async Task<WebResponseContent> initializeLocation(int locationID)
    public async Task<WebResponseContent> initializeLocation(string locationCode)
    {
        WebResponseContent content = new WebResponseContent();
        try
        {
            DtLocationInfo? location = BaseDal.QueryData(x => x.Id == locationID).FirstOrDefault();
            DtLocationInfo? location = BaseDal.QueryData(x => x.LocationCode == locationCode).FirstOrDefault();
            int LastStatus = location.LocationStatus;
            if (location == null)
            {
                return content.Error("未找到货位信息!");
            }
            DtStockInfo stock = _stockInfoRepository.QueryFirst(x => x.LocationId == location.Id);
            DtStockInfo stock = _stockInfoRepository.QueryFirst(x => x.LocationCode == location.LocationCode);
            if(stock == null)
            {
                location.LocationStatus= (int)LocationEnum.Free;
                _locationStatusChangeRecordRepository.AddLocationStatusChangeRecord(location, LastStatus, (int)StatusChangeTypeEnum.ManualOperation, 0);
                BaseDal.UpdateData(location);
            }
            else
@@ -164,6 +165,41 @@
            return new WebResponseContent().Error();
    }
    public WebResponseContent CreateLocation(string AreaName,int x, int y,int areaId,string Floor)
    {
        string[] chineseNumbers = new string[] { "零", "一", "二", "三", "四", "五", "六", "七", "八", "九" };
        var locationList = new List<DtLocationInfo>();
        var LocationName= _AreaInfoRepository.QueryFirst(a => a.AreaID == areaId).AreaName;
        for (int line = 1; line <= x; line++)
        {
            for (int column = 1; column <= y; column++)
            {
                locationList.Add(new DtLocationInfo()
                {
                    Row = line,
                    Column = column,
                    Layer = 0,
                    LocationCode = AreaName+'-'+line.ToString() + '-' + column.ToString(),
                    LocationName = LocationName,
                    Floor = Floor,
                    LocationType = 1,
                    Remark = "",
                    Depth = column,
                    RoadwayNo = "AGV",
                    LocationStatus = LocationEnum.Free.ObjToInt(),
                    AreaId = areaId,
                    Creater = "System",
                    EnalbeStatus = 1,
                });
            }
        }
        var isResult = BaseDal.AddData(locationList) > 0;
        if (isResult)
            return new WebResponseContent().OK();
        else
            return new WebResponseContent().Error();
    }
    #endregion åˆ›å»ºåŽŸå§‹è´§ä½æ•°æ®
    #region å¯ç”¨ç¦ç”¨è´§ä½