1
huanghongfeng
2024-12-02 e2a5657e3a0b8615bcd78a3149e5ba9ce5579bb8
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Outbound.cs
@@ -427,9 +427,13 @@
                                Dt_LocationInfo newLocation;
                                //查走货位,进行生成移库任务 
                                int Locationtype = 9;   //默认为9
                                if (locationInfos.LocationType== (int)LocationStatusEnum.InStock)
                                if (dt_StockInfo.MaterialType == (int)InventoryMaterialType.成品)
                                {
                                    Locationtype = 11;
                                }
                                else if (dt_StockInfo.MaterialType == (int)InventoryMaterialType.原材料)
                                {
                                    Locationtype = 10;
                                }
                                newLocation = _basicService.LocationInfoService.GetLocation(locationInfos.RoadwayNo,Locationtype); //拿到了移库后的货位
                                if (newLocation != null)
@@ -448,6 +452,7 @@
                                        Creater = "WMS",
                                        CreateDate = DateTime.Now,
                                        TaskNum = BaseDal.GetTaskNum(nameof(SequenceEnum.SeqTaskNum)),
                                        MaterialType = dt_StockInfo.MaterialType
                                    };
                                    _unitOfWorkManage.BeginTran();
                                    if (locationInfos.LocationStatus == LocationStatusEnum.InStock.ObjToInt())
@@ -506,7 +511,12 @@
                    {
                        RoadwayNo = "2";
                    }
                    Dt_LocationInfo locationInfos = _basicService.LocationInfoService.Repository.QueryFirst(x => x.RoadwayNo == RoadwayNo && x.LocationStatus == LocationStatusEnum.Pallet.ObjToInt());
                    Dt_LocationInfo locationInfos = _basicService.LocationInfoService.Repository.QueryFirst(x => x.RoadwayNo == RoadwayNo && x.EnableStatus != (int)EnableStatusEnum.Disable && x.Depth==1 && x.LocationStatus == LocationStatusEnum.Pallet.ObjToInt());
                    if(locationInfos == null)
                    {
                        locationInfos = _basicService.LocationInfoService.Repository.QueryFirst(x => x.RoadwayNo == RoadwayNo && x.Depth == 2 && x.EnableStatus != (int)EnableStatusEnum.Disable && x.LocationStatus == LocationStatusEnum.Pallet.ObjToInt());
                    }
                    if (locationInfos != null)
                    {
                        Dt_StockInfo dt_StockInfo = _stockService.StockInfoService.Repository.QueryFirst(x => x.LocationCode == locationInfos.LocationCode);
@@ -534,6 +544,7 @@
                                    Depth = locationInfos.Depth,
                                    CreateDate = DateTime.Now,
                                    PalletCodequantity = (int)dt_StockInfo.Materialweight,
                                    MaterialType = dt_StockInfo.MaterialType
                                };
                                _unitOfWorkManage.BeginTran();
@@ -614,6 +625,7 @@
                            CreateDate = DateTime.Now,
                            PalletCodequantity = (int)dt_StockInfo[i].Materialweight,
                            PLCTo = generate.TargetAddress == "R01-002-041-011-01" ? 1 : 2,
                            MaterialType = dt_StockInfo[i].MaterialType
                        };
                        _unitOfWorkManage.BeginTran();
@@ -703,6 +715,7 @@
                                    Creater = "WMS",
                                    Depth = locationinfo.Depth,
                                    CreateDate = DateTime.Now,
                                    MaterialType= stockt.MaterialType
                                };
                                dtstockt.Add(stockt);
                                locations.Add(locationinfo);
@@ -803,7 +816,7 @@
                                        Depth = locationinfo.Depth,
                                        CreateDate = DateTime.Now,
                                        PLCTo = int.Parse(saveModel.DelKeys[1].ToString()),
                                        MaterialType=stockt.MaterialType
                                    };
                                    dtstockt.Add(stockt);
                                    locations.Add(locationinfo);
@@ -1134,7 +1147,7 @@
                else if(task.TaskType == (int)TaskTypeEnum.Inbound || task.TaskType == (int)TaskTypeEnum.PalletInbound)
                {
                    //处理出库的逻辑
                    Dt_LocationInfo locationinfo = _basicService.LocationInfoService.Repository.QueryFirst(x => x.LocationCode == task.SourceAddress);
                    Dt_LocationInfo locationinfo = _basicService.LocationInfoService.Repository.QueryFirst(x => x.LocationCode == task.TargetAddress);
                    if (locationinfo.LocationStatus == LocationStatusEnum.Lock.ObjToInt() || locationinfo.LocationStatus == LocationStatusEnum.PalletLock.ObjToInt())
                    {
                        locationinfo.LocationStatus = LocationStatusEnum.Free.ObjToInt();