1
huanghongfeng
20 小时以前 9b2a125b8e539859774176979fc4956c379f05cc
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Inbound.cs
@@ -102,7 +102,8 @@
                    WarehouseId = warehouse.WarehouseId,
                    //PalletType = GetPalletType(warehouse, palletCode),//GetPalletType(warehouse, palletCode)
                    Creater = "WCS",
                    CreateDate = DateTime.Now
                    CreateDate = DateTime.Now,
                    Depth = locationInfo.Depth,
                };
                _unitOfWorkManage.BeginTran();
@@ -145,18 +146,17 @@
                if (inboundTask.palletInfoList.Count > 0)
                {
                    List<Dt_Task> taskData = BaseDal.QueryData();
                    List<Dt_StockInfo> Stockdata = _stockRepository.QueryData();
                    Dt_StationManger dt_Station = _stationMangerService.QueryPlatform(inboundTask.NodeCode);
                    if (dt_Station == null) return MESresponse($"未找到站台信息,站台编号:{inboundTask.NodeCode}", false);
                    /*Dt_StationManger dt_Station = _stationMangerService.QueryPlatform(inboundTask.NodeCode);
                    if (dt_Station == null) return MESresponse($"未找到站台信息,站台编号:{inboundTask.NodeCode}", false);*/
                    foreach (PalletInfo palletInfo in inboundTask.palletInfoList)
                    {
                        Dt_LocationInfo location = null;
                        if (palletInfo.locationCode == null || palletInfo.locationCode == "")
                        {
                            Dt_Warehouse warehouse = _warehouseRepository.QueryFirst(x => x.WarehouseCode == dt_Station.StackerCraneCode);
                            location = _basicService.LocationInfoService.AssignLocation(dt_Station.StackerCraneCode, warehouse.WarehouseId, "");//获取到新库位
                            location = _basicService.LocationInfoService.GetLocationInfo();//获取到新库位
                        }
                        else
                        {
@@ -165,18 +165,45 @@
                        if (location == null) return MESresponse($"未找到货位信息,条码:{palletInfo.palletCode}", false);
                        if (location.LocationStatus != (int)LocationStatusEnum.Free) return MESresponse($"托盘条码:{palletInfo.palletCode},查找到的货位:{location.LocationCode},不为空货位!", false);
                        //创建组盘信息
                        var dt_Stock = new Dt_StockInfo
                        Dt_StockInfo dt_ = Stockdata.Where(x => x.PalletCode == palletInfo.palletCode).FirstOrDefault();
                        if (dt_ == null)
                        {
                            PalletCode = palletInfo.palletCode,
                            PalletType = 1,
                            LocationCode = location.LocationCode,
                            StockStatus = (int)StockStatusEmun.组盘暂存,
                            Creater = "WMS",
                            CreateDate = DateTime.Now,
                            MESsubPalletCode = palletInfo.palletCode,
                        };
                            //创建组盘信息
                            var dt_Stock = new Dt_StockInfo
                            {
                                PalletCode = palletInfo.palletCode,
                                PalletType = 1,
                                LocationCode = location.LocationCode,
                                StockStatus = (int)StockStatusEmun.组盘暂存,
                                Creater = "WMS",
                                CreateDate = DateTime.Now,
                                MESsubPalletCode = palletInfo.palletCode,
                            };
                            Adddtstockt.Add(dt_Stock);
                        }
                        else
                        {
                            if(dt_.StockStatus == (int)StockStatusEmun.已入库)
                            {
                                return MESresponse($"该库存条码已入库,不可重复入库,条码:{palletInfo.palletCode}", false);
                            }
                        }
                        string TaregtAddres = "";
                        if (inboundTask.NodeCode !="2011" && inboundTask.NodeCode != "2009")
                        {
                            int nextTaregt = int.Parse(inboundTask.NodeCode);
                            //确认目标站台(固定)
                             TaregtAddres = (nextTaregt + 1).ToString();
                        }
                        else
                        {
                            TaregtAddres = location.RoadwayNo == "SC01" ? "2021" : "2020";
                        }
                        location.LocationStatus = (int)LocationStatusEnum.InStockLock;
                        //生成移动任务
@@ -187,9 +214,9 @@
                            Roadway = location.RoadwayNo,
                            TaskType = TaskInboundTypeEnum.Inbound.ObjToInt(),
                            TaskStatus = TaskInStatusEnum.Line_InExecuting.ObjToInt(),
                            SourceAddress = dt_Station.StationCode,
                            SourceAddress = TaregtAddres,
                            TargetAddress = location.LocationCode,
                            CurrentAddress = dt_Station.StationCode,
                            CurrentAddress = TaregtAddres,
                            NextAddress = location.LocationCode,
                            Grade = 1,
                            Creater = "MES",
@@ -197,9 +224,10 @@
                            CreateDate = DateTime.Now,
                            MEStaskId = inboundTask.TaskId,
                            MESbusinessId = inboundTask.BusinessId,
                            MESsubPalletCode = palletInfo.subPalletCode
                            MESsubPalletCode = palletInfo.subPalletCode,
                            OutboundPlatform = inboundTask.NodeCode
                        };
                        Adddtstockt.Add(dt_Stock);
                        Adddt_Locations.Add(location);
                        AddtaskList.Add(dt_Task);
                    }
@@ -243,5 +271,6 @@
                throw;
            }
        }
    }
}