From 4ac3f08f416685db0e218df55750d94556030330 Mon Sep 17 00:00:00 2001
From: HuBingJie <3146306518@qq.com>
Date: 星期四, 06 十一月 2025 20:25:17 +0800
Subject: [PATCH] 1

---
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Inbound.cs |   71 +++++++++++++++++++++++++----------
 1 files changed, 50 insertions(+), 21 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Inbound.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Inbound.cs"
index e82f7d9..fccbc82 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Inbound.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/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;
             }
         }
+
     }
 }

--
Gitblit v1.9.3