From 35bc44ab49de4d4f667f6661a79f94e04751f0da Mon Sep 17 00:00:00 2001
From: 刘磊 <1161824510@qq.com>
Date: 星期二, 10 十二月 2024 21:01:42 +0800
Subject: [PATCH] 1

---
 Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs |   25 +++++++++++++------------
 1 files changed, 13 insertions(+), 12 deletions(-)

diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs
index e8a35a4..35417c1 100644
--- a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs
+++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs
@@ -262,12 +262,12 @@
         try
         {
             // 鏇存柊璐т綅鍜屽簱瀛樹俊鎭�
-            (DtStockInfo updateStock, DtLocationInfo locationInf) = UpdateStockLocation(stock, task.NextAddress);
+            (DtStockInfo updateStock, DtLocationInfo locationInForm, DtLocationInfo locationInfoTo) = UpdateStockLocation(stock, task);
             var taskHty = CreateHistoricalTask(task);
-            LogFactory.GetLog("浠诲姟瀹屾垚").InfoFormat(true, "绉诲簱浠诲姟瀹屾垚", $"璐т綅鍦板潃锛歿task.TargetAddress},淇敼鍚庡簱瀛樻暟鎹細{JsonConvert.SerializeObject(updateStock)}锛屽師鍏堣揣浣嶆暟鎹細{locationInf}");
+            LogFactory.GetLog("浠诲姟瀹屾垚").InfoFormat(true, "绉诲簱浠诲姟瀹屾垚", $"璐т綅鍦板潃锛歿task.TargetAddress},淇敼鍚庡簱瀛樻暟鎹細{JsonConvert.SerializeObject(updateStock)}锛屽師鍏堣揣浣嶆暟鎹細{locationInForm}");
 
             // 鎵ц鏁版嵁搴撲簨鍔�
-            bool isResult = await ExecuteTransaction(updateStock, taskHty, locationInf, task.TaskId);
+            bool isResult = await ExecuteTransaction(updateStock, taskHty, locationInForm, locationInfoTo, task.TaskId);
             if (isResult)
                 content.OK("绉诲簱浠诲姟瀹屾垚鎴愬姛");
             else
@@ -522,6 +522,8 @@
                 LogFactory.GetLog("浠诲姟瀹屾垚").InfoFormat(true, "鍑哄簱浠诲姟", "");
                 return await CompleteStackTaskAsync(task, stock);
 
+            case (int)TaskRelocationTypeEnum.Relocation:
+                return await CompleteTransferTaskAsync(task, stock);
             default:
                 return content.Error("浠诲姟绫诲瀷涓嶅瓨鍦�");
         }
@@ -1449,20 +1451,19 @@
     /// <param name="stock">搴撳瓨瀵硅薄</param>
     /// <param name="toLocation">鐩爣浣嶇疆</param>
     // 鏇存柊搴撳瓨鍜屼綅缃俊鎭�
-    private (DtStockInfo, DtLocationInfo) UpdateStockLocation(DtStockInfo stock, string toLocation)
+    private (DtStockInfo, DtLocationInfo, DtLocationInfo) UpdateStockLocation(DtStockInfo stock, Dt_Task task)
     {
-        // 鑾峰彇搴撳瓨淇℃伅
-        var locationInfo = _locationRepository.QueryFirst(x => x.LocationCode == stock.LocationCode);
-        // 灏嗗簱瀛樼姸鎬佽缃负鍦ㄥ簱
-        locationInfo.LocationStatus = LocationEnum.InStock.ObjToInt();
+        //淇敼鏉ユ簮搴撲綅鍜� 鐩爣搴撲綅鐘舵��
+        var fromLocation = _locationRepository.QueryFirst(x => x.LocationCode == task.SourceAddress && x.RoadwayNo == task.Roadway);
+        fromLocation.LocationStatus = LocationEnum.Free.ObjToInt();
+        var toLocation = _locationRepository.QueryFirst(x => x.LocationCode == task.SourceAddress && x.RoadwayNo == task.Roadway);
+        toLocation.LocationStatus = LocationEnum.InStock.ObjToInt();
 
         // 灏嗗簱瀛樹綅缃缃负鐩爣浣嶇疆
-        stock.LocationCode = toLocation;
-        // 灏嗗簱瀛樼姸鎬佽缃负鍦ㄥ簱
-        stock.LocationInfo.LocationStatus = LocationEnum.InStock.ObjToInt();
+        stock.LocationCode = task.TargetAddress;
 
         // 杩斿洖鏇存柊鍚庣殑搴撳瓨鍜屼綅缃俊鎭�
-        return (stock, locationInfo);
+        return (stock, fromLocation, toLocation);
     }
 
     /// <summary>

--
Gitblit v1.9.3