From 93ec15196294abce031a86e24f4cee643b3b1c8a Mon Sep 17 00:00:00 2001
From: yangpeixing <yangpeixing@hnkhzn.com>
Date: 星期四, 22 一月 2026 15:45:29 +0800
Subject: [PATCH] 1

---
 WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Inbound.cs |   33 +++++++++++++++++++++++++++------
 1 files changed, 27 insertions(+), 6 deletions(-)

diff --git a/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Inbound.cs b/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Inbound.cs
index ba47fd4..d95c3cc 100644
--- a/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Inbound.cs
+++ b/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Inbound.cs
@@ -39,6 +39,7 @@
                 Dt_Task task = Repository.QueryFirst(x => x.PalletCode == palletCode);
                 if (task != null)
                 {
+                    //PushTasksToWCS(new List<Dt_Task> { task });
                     return WebResponseContent.Instance.Error($"璇ユ墭鐩榹palletCode}宸茬敓鎴愪换鍔�");
                 }
                 Dt_StockInfo stockInfo = _stockRepository.StockInfoRepository.Db.Queryable<Dt_StockInfo>().Where(x => x.PalletCode == palletCode).Includes(x => x.Details).First();
@@ -46,6 +47,10 @@
                 if (stockInfo == null)
                 {
                     return WebResponseContent.Instance.Error($"鏈壘鍒扮粍鐩樹俊鎭�");
+                }
+                if (stockInfo.StockStatus == StockStatusEmun.鍚堟墭鍑哄簱瀹屾垚.ObjToInt())
+                {
+
                 }
                 ///鍒ゆ柇鏄惁瀛樺湪鍥炲簱鍗�,杩涜鍥炲師搴撲綅閫昏緫
                 string returnOrderNo = stockInfo.Details?.Where(x => x.StockId == stockInfo.Id).FirstOrDefault()?.OrderNo;
@@ -207,10 +212,20 @@
                 {
                     return WebResponseContent.Instance.Error($"鏈壘鍒扮粍鐩樹俊鎭�");
                 }
+
+                Dt_RoadwayInfo returnRoadwayInfo = new Dt_RoadwayInfo();
+                if (stockInfo.StockStatus == StockStatusEmun.鍚堟墭鍑哄簱瀹屾垚.ObjToInt())
+                {
+                    Dt_LocationInfo locationInfo1 = _locationInfoService.Repository.QueryFirst(x => x.LocationCode == stockInfo.LocationCode);
+                    if (locationInfo1 == null)
+                    {
+                        return WebResponseContent.Instance.Error($"鍥炲簱鍗曚腑璇ュ簱浣峽stockInfo.LocationCode}鏈壘鍒�");
+                    }
+                    returnRoadwayInfo = _basicRepository.RoadwayInfoRepository.QueryFirst(x => x.RoadwayNo == locationInfo1.RoadwayNo && x.InStationCode == (returnRoadwayInfo.InStationCode != null ? returnRoadwayInfo.InStationCode : stationCode));
+                }
                 ///鍒ゆ柇鏄惁瀛樺湪鍥炲簱鍗�,杩涜鍥炲師搴撲綅閫昏緫
                 string returnOrderNo = stockInfo.Details?.Where(x => x.StockId == stockInfo.Id).FirstOrDefault()?.OrderNo;
-                Dt_ReturnOrder returnOrder = _returnOrderRepository.QueryFirst(x => x.OrderNo == returnOrderNo && x.OrderStatus == InOrderStatusEnum.鏈紑濮�.ObjToInt());
-                Dt_RoadwayInfo returnRoadwayInfo = new Dt_RoadwayInfo();
+                Dt_ReturnOrder returnOrder = _returnOrderRepository.QueryFirst(x => (x.OrderNo == returnOrderNo || x.LPNNo == palletCode) && x.OrderStatus == InOrderStatusEnum.鏈紑濮�.ObjToInt());
                 if (returnOrder != null && !string.IsNullOrEmpty(returnOrder.LocationCode))
                 {
                     Dt_LocationInfo locationInfo1 = _locationInfoService.Repository.QueryFirst(x => x.LocationCode == returnOrder.LocationCode);
@@ -218,7 +233,7 @@
                     {
                         return WebResponseContent.Instance.Error($"鍥炲簱鍗曚腑璇ュ簱浣峽returnOrder.LocationCode}鏈壘鍒�");
                     }
-                    returnRoadwayInfo = _basicRepository.RoadwayInfoRepository.QueryFirst(x => x.RoadwayNo == locationInfo1.RoadwayNo);
+                    returnRoadwayInfo = _basicRepository.RoadwayInfoRepository.QueryFirst(x => x.RoadwayNo == locationInfo1.RoadwayNo && x.InStationCode == (returnRoadwayInfo.InStationCode != null ? returnRoadwayInfo.InStationCode : stationCode));
                 }
 
                 if (Repository.QueryFirst(x => x.SourceAddress == (returnRoadwayInfo.InStationCode != null ? returnRoadwayInfo.InStationCode : stationCode) && x.TaskStatus == TaskStatusEnum.New.ObjToInt()) != null)
@@ -260,12 +275,11 @@
                         return WebResponseContent.Instance.Error($"璐т綅鍒嗛厤澶辫触,鏈壘鍒板彲鍒嗛厤璐т綅");
                     }
                 }
-
                 Dt_Task newTask = new Dt_Task()
                 {
                     CurrentAddress = courceAddress,
                     Grade = 0,
-                    NextAddress = "",
+                    NextAddress = returnRoadwayInfo.InStationCode != null ? returnRoadwayInfo.InStationCode : stationCode,
                     PalletCode = palletCode,
                     OrderNo = details.OrderNo,
                     Roadway = roadwayInfo.RoadwayNo,
@@ -297,6 +311,10 @@
                 {
                     newTask.TaskType = TaskTypeEnum.InInventory.ObjToInt();
                 }
+                if (stockInfo.StockStatus == StockStatusEmun.鍚堟墭鍑哄簱瀹屾垚.ObjToInt())
+                {
+                    newTask.TaskType = TaskTypeEnum.InSyncretism.ObjToInt();
+                }
                 //if (stockInfo.StockStatus == StockStatusEmun.鎵嬪姩缁勭洏鏆傚瓨.ObjToInt())
                 //{
                 //    stockInfo.StockStatus = StockStatusEmun.鎵嬪姩缁勭洏鍏ュ簱纭.ObjToInt();
@@ -320,7 +338,10 @@
                 //}
                 //else
                 //{
-                stockInfo.StockStatus = StockStatusEmun.鍏ュ簱纭.ObjToInt();
+                else
+                {
+                    stockInfo.StockStatus = StockStatusEmun.鍏ュ簱纭.ObjToInt();
+                }
                 locationInfo.LocationStatus = LocationStatusEnum.Lock.ObjToInt();
                 //}
 

--
Gitblit v1.9.3