From e59d1777a111b6573b93afc58cca18c8c026ed9b Mon Sep 17 00:00:00 2001
From: 肖洋 <cathay_xy@163.com>
Date: 星期六, 04 一月 2025 09:57:43 +0800
Subject: [PATCH] 更新输送线目标地址和日志记录逻辑

---
 Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs |   38 ++++++++++++++++++++++++++++++--------
 1 files changed, 30 insertions(+), 8 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 e9ae1ae..b8ee868 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
@@ -1,4 +1,5 @@
 锘縰sing AngleSharp.Dom;
+using log4net.Core;
 using Mapster;
 using Masuit.Tools;
 using SixLabors.Fonts.Tables.AdvancedTypographic;
@@ -10,6 +11,7 @@
 using WIDESEA_DTO.WMS;
 using WIDESEA_IServices;
 using WIDESEA_IStoragIntegrationServices;
+using WIDESEA_StorageBasicRepository;
 using WIDESEA_StoragIntegrationServices;
 using WIDESEAWCS_BasicInfoRepository;
 
@@ -167,12 +169,19 @@
                         var agingOutputDto = MapToAgingOutputDto(stock);
                         content = await _agingInOrOutInputService.GetOCVOutputAsync(agingOutputDto);
 
-                        var result = JsonConvert.DeserializeObject<BasicResult>(content.Data.ToString());
-                        task.Remark = result.Success ? null : "NG";
-
-                        if (!result.Success && result.MessageCode == "E10001")
+                        if (content.Status)
                         {
-                            await HandleOutBoundError(stock, task);
+                            var result = JsonConvert.DeserializeObject<BasicResult>(content.Data.ToString());
+                            task.Remark = result.Success ? null : "NG";
+
+                            if (!result.Success && result.MessageCode == "E10001")
+                            {
+                                await HandleOutBoundError(stock, task);
+                            }
+                        }
+                        else
+                        {
+                            task.Remark = "NG";
                         }
                     }
                 }
@@ -268,11 +277,13 @@
     {
         var location = _locationRepository.QueryFirst(x => x.LocationCode == task.SourceAddress && x.RoadwayNo == task.Roadway);
         //var details = _stockInfoDetailRepository.QueryData(x => x.StockId == stock.Id);
-
+        int lastStatus = location.LocationStatus;
         location.LocationStatus = (int)LocationEnum.Free;
         task.TaskState = (int)TaskOutStatusEnum.OutFinish;
         //task.CurrentAddress = task.NextAddress;
         //task.NextAddress = task.TargetAddress;
+
+        _locationStatusChangeRecordRepository.AddLocationStatusChangeRecord(location, lastStatus, (int)StatusChangeTypeEnum.AutomaticDelivery,task.TaskNum);
 
         LogFactory.GetLog("浠诲姟瀹屾垚").Info(true, "鏇存柊搴撳瓨鐘舵�佷笌浠诲姟鐘舵��");
         return (location, task);
@@ -348,7 +359,7 @@
         try
         {
             // 鏇存柊璐т綅鍜屽簱瀛樹俊鎭�
-            (DtStockInfo updateStock, DtLocationInfo locationInForm, DtLocationInfo locationInfoTo) = UpdateStockLocation(stock, task);
+           (DtStockInfo updateStock, DtLocationInfo locationInForm, DtLocationInfo locationInfoTo) = UpdateStockLocation(stock, task);
             var taskHty = CreateHistoricalTask(task);
             LogFactory.GetLog("浠诲姟瀹屾垚").InfoFormat(true, "绉诲簱浠诲姟瀹屾垚", $"璐т綅鍦板潃锛歿task.TargetAddress},淇敼鍚庡簱瀛樻暟鎹細{JsonConvert.SerializeObject(updateStock)}锛屽師鍏堣揣浣嶆暟鎹細{locationInForm}");
 
@@ -405,6 +416,7 @@
             var boxing = await _boxingInfoRepository.QueryFirstNavAsync(x => x.PalletCode == task.PalletCode);
             var locationInf = await _locationRepository.QueryFirstAsync(x => x.LocationCode == task.TargetAddress && x.RoadwayNo == task.Roadway);
 
+            int lastStatus = locationInf.LocationStatus;
             // 鏇存柊鐩爣浣嶇疆鐘舵�佷负搴撳瓨涓�
             locationInf.LocationStatus = (int)LocationEnum.InStock;
 
@@ -416,6 +428,10 @@
                 await _locationRepository.UpdateDataAsync(locationInf);
                 await _task_HtyRepository.AddDataAsync(taskHty);
                 await BaseDal.DeleteDataAsync(task);
+
+                //璁板綍璐т綅鍙樺姩淇℃伅
+                _locationStatusChangeRecordRepository.AddLocationStatusChangeRecord(locationInf, lastStatus, (int)StatusChangeTypeEnum.AutomaticStorage, task.TaskNum);
+
                 return content.OK("鍏ュ簱浠诲姟瀹屾垚鎴愬姛");
             }
             // 鏍规嵁鏄惁鏈夌粍鐩樹俊鎭垱寤哄簱瀛樺疄渚嬫ā鍨�
@@ -425,6 +441,7 @@
             bool isResult = await ExecuteTransaction(stock, taskHty, locationInf, task.TaskId, boxing);
             if (isResult)
             {
+                _locationStatusChangeRecordRepository.AddLocationStatusChangeRecord(locationInf, lastStatus, (int)StatusChangeTypeEnum.AutomaticStorage, task.TaskNum);
                 content.OK("鍏ュ簱浠诲姟瀹屾垚鎴愬姛");
             }
             else
@@ -949,12 +966,17 @@
             // 鍒涘缓骞惰幏鍙栨暣鐩樼數鑺姸鎬�
             TrayCellsStatusDto trayCells = CreateTrayCellsStatusDto(area, input.PalletCode);
             content = await GetTrayCellStatusAsync(trayCells);
-            if (!content.Status) return content;
+            if (!content.Status)
+            {
+                ConsoleHelper.WriteErrorLine($"鑾峰彇鐢佃姱鐘舵�佸け璐�:{content.Message}");
+                return content;
+            }
 
             var result = JsonConvert.DeserializeObject<ResultTrayCellsStatus>(content.Data.ToString());
 
             if (!result.Success)
             {
+                ConsoleHelper.WriteErrorLine($"鑾峰彇鐢佃姱鐘舵�佸け璐�:{result.MOMMessage}");
                 if (result.SerialNos.Count <= 0)
                 {
                     // 绌烘墭鐩樺叆搴撻�昏緫

--
Gitblit v1.9.3