From 51af2794f47d5b68496edbc09d0ccb168347f02b Mon Sep 17 00:00:00 2001
From: HuBingJie <3146306518@qq.com>
Date: 星期六, 22 十一月 2025 10:19:05 +0800
Subject: [PATCH] 1

---
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Inbound.cs |   83 ++++++++++++++++++++++++++++++-----------
 1 files changed, 61 insertions(+), 22 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..cc53688 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,38 +146,74 @@
                 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, "");//鑾峰彇鍒版柊搴撲綅
+                            if (inboundTask.NodeCode == "1001" || inboundTask.NodeCode == "1005" || inboundTask.NodeCode == "3001"|| inboundTask.NodeCode == "4001"|| inboundTask.NodeCode == "5001" || inboundTask.NodeCode == "1005")
+                            {
+                                location = _basicService.LocationInfoService.GetLocationInfoSC("SC01");//鑾峰彇鍒版柊搴撲綅
+                            }else if (inboundTask.NodeCode == "2011")
+                            {
+                                location = _locationInfoRepository.QueryFirst(x => x.LocationStatus == (int)LocationStatusEnum.Free && x.EnableStatus == (int)EnableStatusEnum.Normal);
+                            }
+                            else
+                            {
+                                location = _basicService.LocationInfoService.GetLocationInfoSC("SC02");//鑾峰彇鍒版柊搴撲綅
+                            }
                         }
                         else
                         {
                             location = _locationInfoRepository.QueryFirst(x => x.LocationCode == palletInfo.locationCode);
                         }
-                        if (location == null) return MESresponse($"鏈壘鍒拌揣浣嶄俊鎭�,鏉$爜锛歿palletInfo.palletCode}", false);
+                        if (location == null) return MESresponse($"鏈壘鍒拌揣浣嶄俊鎭�,鏉$爜锛歿palletInfo.palletCode}", false,0);
                         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.subPalletCode,
+                            };
+                            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 +224,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 +234,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 +281,6 @@
                 throw;
             }
         }
+
     }
 }

--
Gitblit v1.9.3