From bde09c027eee16a7b05b82e71dea4d3405d6d52d Mon Sep 17 00:00:00 2001
From: Admin <Admin@ADMIN>
Date: 星期四, 22 一月 2026 17:05:09 +0800
Subject: [PATCH] 前端页面优化,日志记录,日志展示

---
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs |  242 +++++++++++++++++++++++++++++++++++++----------
 1 files changed, 189 insertions(+), 53 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs"
index 4c5f053..4408ee1 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs"
@@ -38,6 +38,7 @@
 using WIDESEA_Core.BaseServices;
 using WIDESEA_Core.Enums;
 using WIDESEA_Core.Helper;
+using WIDESEA_Core.Utilities;
 using WIDESEA_DTO.Inbound;
 using WIDESEA_DTO.Task;
 using WIDESEA_IBasicService;
@@ -99,28 +100,35 @@
             return WebResponseContent.Instance.OK();
         }
 
+
+        //鎵嬪姩锛屼换鍔′笂鎶�
+        #region
         public WebResponseContent MESManualUpload(SaveModel saveModel)
         {
             WebResponseContent response = new WebResponseContent();
 
+            List<Dt_Task> stdata=new List<Dt_Task>();
             try
             {
                 foreach (var key in saveModel.DelKeys)
                 {
                     int taskId = int.Parse(key.ToString());
                     Dt_Task task = BaseDal.QueryFirst(x => x.TaskId == taskId);
-
+                    
                     WebResponseContent taskResult = ProcessTask(task);
                     if (!taskResult.Status)
                     {
+                        WriteLog.Write_Log("WMS_鎵嬪姩涓婃姤浠诲姟", $"浠诲姟涓婃姤", $"澶辫触锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode},", $"鍘熷洜锛歿taskResult.Message}");
                         return taskResult;
                     }
+                    stdata.Add(task);
                 }
-
+                WriteLog.Write_Log("WMS_鎵嬪姩涓婃姤浠诲姟", $"浠诲姟涓婃姤", $"鎴愬姛", $"涓婃姤鐨勬暟鎹細{stdata.ToJson()}");
                 return response.OK("鎵�鏈変换鍔″鐞嗘垚鍔�");
             }
             catch (Exception ex)
             {
+                WriteLog.Write_Log("WMS_鎵嬪姩涓婃姤浠诲姟", $"浠诲姟涓婃姤", $"澶辫触", $"WMS浠诲姟瀹屾垚閿欒锛歿ex.Message}");
                 return response.Error($"WMS浠诲姟瀹屾垚閿欒锛歿ex.Message}");
             }
         }
@@ -137,7 +145,7 @@
                     {
                         return response.Error($"浠诲姟绫诲瀷閿欒锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}");
                     }
-                    return HandleInboundTask(task, 
+                    return HandleInboundTask(task,
                         GetWcsType(task.TaskStatus,
                         (int)InTaskStatusEnum.InPLCException,
                         (int)InTaskStatusEnum.InSCException)
@@ -168,15 +176,18 @@
             return 0;
         }
 
+        #endregion
 
         /// <summary>
         /// 浠诲姟瀹屾垚鎺ュ彛
         /// </summary>
         /// <param name="wCSTask"></param>
         /// <returns></returns>
+
+        #region 浠诲姟瀹屾垚
         public WebResponseContent TaskCompleted(WCSTaskDTO wCSTask)
         {
-            WebResponseContent webResponse= new WebResponseContent();
+            WebResponseContent webResponse = new WebResponseContent();
             try
             {
                 Dt_Task task = BaseDal.QueryFirst(x => x.TaskId == wCSTask.TaskNum && x.PalletCode == wCSTask.PalletCode);
@@ -190,7 +201,7 @@
             }
         }
 
-        public WebResponseContent TaskCompletedtask(Dt_Task task,int wcstype)
+        public WebResponseContent TaskCompletedtask(Dt_Task task, int wcstype)
         {
             WebResponseContent webResponse = new WebResponseContent();
             try
@@ -226,7 +237,7 @@
 
                         if (string.IsNullOrEmpty(task.TargetAddress))
                         {
-                            if(task.TaskStatus == (int)InTaskStatusEnum.PLC_InExecuting || task.TaskStatus == (int)InTaskStatusEnum.InPLCException)
+                            if (task.TaskStatus == (int)InTaskStatusEnum.PLC_InExecuting || task.TaskStatus == (int)InTaskStatusEnum.InPLCException)
                             {
                                 int loctype = 0;
                                 if (task.Roadway == "1" || task.Roadway == "2")
@@ -241,13 +252,22 @@
 
                                 //鏌ユ壘璐т綅锛屾洿鏂颁换鍔�
                                 Dt_LocationInfo dt_Location = _locationInfoService.GetLocation(task.Roadway, loctype);
-                                if(dt_Location==null) return content.Error($"鏈壘鍒拌璐т綅淇℃伅,鎵樼洏缂栧彿锛歿task.PalletCode}");
+                                if (dt_Location == null)
+                                {
+                                    WriteLog.Write_Log("WCS_鍏ュ簱_涓婃姤瀹屾垚", $"杈撻�佺嚎瀹屾垚", $"澶辫触锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}", $"鏈壘鍒拌璐т綅淇℃伅,鎵樼洏缂栧彿锛歿task.PalletCode}");
+                                    return content.Error($"鏈壘鍒拌璐т綅淇℃伅,鎵樼洏缂栧彿锛歿task.PalletCode}");
+                                }
                                 Dt_LocationInfo ShallowCargoHold = _locationInfoService.ShallowGetLocation(dt_Location.RoadwayNo, dt_Location.LocationType, dt_Location.Row, dt_Location.Layer, dt_Location.Column);
-                                if (ShallowCargoHold == null) return content.Error($"鏈壘鍒拌璐т綅淇℃伅,璐т綅缂栧彿:{dt_Location.LocationCode}鐨勬祬璐т綅");
+                                if (ShallowCargoHold == null)
+                                {
+                                    WriteLog.Write_Log("WCS_鍏ュ簱_涓婃姤瀹屾垚", $"杈撻�佺嚎瀹屾垚", $"澶辫触锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}", $"鏈壘鍒拌璐т綅淇℃伅,璐т綅缂栧彿:{dt_Location.LocationCode}鐨勬祬璐т綅");
+                                    return content.Error($"鏈壘鍒拌璐т綅淇℃伅,璐т綅缂栧彿:{dt_Location.LocationCode}鐨勬祬璐т綅");
+                                }
                                 if (ShallowCargoHold.LocationStatus != (int)LocationStatusEnum.Free) return content.Error($"浠诲姟鍙凤細{task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode},鏌ユ壘鐨勮揣浣嶆祬璐т綅鏈夎揣锛岃揣浣嶇紪鍙凤細{ShallowCargoHold.LocationCode}");
 
                                 if (task.PalletCode[0] == 1 && (dt_Location.RoadwayNo == "1" || dt_Location.RoadwayNo == "2") && dt_Location.Column < 4)
                                 {
+                                    WriteLog.Write_Log("WCS_鍏ュ簱_涓婃姤瀹屾垚", $"杈撻�佺嚎瀹屾垚", $"澶辫触,鎵樼洏鏉$爜锛歿task.PalletCode},璐т綅缂栧彿:{dt_Location.LocationCode}", $"鏉$爜涓洪珮鎵樼洏锛屼絾鏄煡鎵剧殑璐т綅瑕佸叆鍦ㄤ綆鎵樼洏涓�");
                                     return content.Error($"鏉$爜涓洪珮鎵樼洏锛屼絾鏄煡鎵剧殑璐т綅瑕佸叆鍦ㄤ綆鎵樼洏涓嬶紝鏁呴殰,鎵樼洏鏉$爜锛歿task.PalletCode},璐т綅缂栧彿:{dt_Location.LocationCode}");
                                 }
 
@@ -270,21 +290,24 @@
                                 dt_StockInfo.Creater = "MWS";
                                 dt_StockInfo.CreateDate = DateTime.Now;
                                 dt_StockInfo.Roadway = task.Roadway;
-                                
+
 
                                 _unitOfWorkManage.BeginTran();
                                 _stockInfoService.AddData(dt_StockInfo);
                                 _locationInfoService.UpdateData(dt_Location);
                                 BaseDal.UpdateData(task);
                                 _unitOfWorkManage.CommitTran();
+                                WriteLog.Write_Log("WCS_鍏ュ簱_涓婃姤瀹屾垚", $"杈撻�佺嚎瀹屾垚", $"鎴愬姛锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}", $"宸叉帴鏀跺叆搴撹緭閫佺嚎瀹屾垚淇℃伅,娣诲姞搴撳瓨淇℃伅锛歿dt_StockInfo.ToJson()}锛屼慨鏀硅揣浣嶏細{dt_Location.ToJson()}");
+
                                 return content.OK($"宸叉帴鏀跺叆搴撹緭閫佺嚎瀹屾垚淇℃伅锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}");
                             }
                             else
                             {
+                                WriteLog.Write_Log("WCS_鍏ュ簱_涓婃姤瀹屾垚", $"杈撻�佺嚎瀹屾垚", $"鎴愬姛锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}", $"涓婃姤澶辫触锛屽綋鍓嶄换鍔′笉鏄緭閫佺嚎鎵ц涓紝WCS涓婃姤瀹屾垚澶辫触");
                                 return content.Error("涓婃姤澶辫触锛屽綋鍓嶄换鍔′笉鏄緭閫佺嚎鎵ц涓紝WCS涓婃姤瀹屾垚澶辫触");
                             }
 
-                            
+
                         }
                         else
                         {
@@ -299,22 +322,22 @@
                                     _unitOfWorkManage.BeginTran();
                                     BaseDal.DeleteAndMoveIntoHty(task, App.User.UserId == 0 ? OperateTypeEnum.鑷姩瀹屾垚 : OperateTypeEnum.浜哄伐瀹屾垚);
                                     _unitOfWorkManage.CommitTran();
+                                    WriteLog.Write_Log("WCS_鍏ュ簱_涓婃姤瀹屾垚", $"杈撻�佺嚎鐐瑰埌鐐瑰畬鎴�", $"鎴愬姛锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}", $"杈撻�佺嚎浠诲姟宸插弽棣堣嚦涓婃父");
                                     return content.OK($"杈撻�佺嚎浠诲姟宸插弽棣堣嚦涓婃父锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}");
                                 }
                                 else
                                 {
-                                    task.NumberSsuances = task.NumberSsuances + 1;
-                                    if (task.NumberSsuances == 3)
-                                    {
-                                        task.TaskStatus = (int)InTaskStatusEnum.InPLCException;
-                                        task.Remark = "杈撻�佺嚎鍏ュ簱锛氫笂浼燤ES澶辫触锛屽師鍥狅細" + mES_PCLParameter.ResultMsg;
-                                        BaseDal.UpdateData(task);
-                                    }
+                                    task.NumberSsuances = 3;
+                                    task.TaskStatus = (int)InTaskStatusEnum.InPLCException;
+                                    task.Remark = "杈撻�佺嚎鍏ュ簱锛氫笂浼燤ES澶辫触锛屽師鍥狅細" + mES_PCLParameter.ResultMsg;
+                                    BaseDal.UpdateData(task);
+                                    WriteLog.Write_Log("WCS_鍏ュ簱_涓婃姤瀹屾垚", $"杈撻�佺嚎鐐瑰埌鐐瑰畬鎴�", $"澶辫触锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}", $"杈撻�佺嚎浠诲姟宸插弽棣堣嚦涓婃父");
                                     return content.Error("涓婁紶MES澶辫触锛屽師鍥狅細" + mES_PCLParameter.ResultMsg);
                                 }
                             }
                             else
                             {
+                                WriteLog.Write_Log("WCS_鍏ュ簱_涓婃姤瀹屾垚", $"杈撻�佺嚎鐐瑰埌鐐瑰畬鎴�", $"澶辫触锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}", $"涓婃姤澶辫触锛屽綋鍓嶄换鍔′笉鏄緭閫佺嚎鎵ц涓紝WCS涓婃姤瀹屾垚澶辫触");
                                 return content.Error($"涓婃姤澶辫触锛屽綋鍓嶄换鍔′笉鏄緭閫佺嚎鎵ц涓紝WCS涓婃姤瀹屾垚澶辫触锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}");
                             }
 
@@ -339,32 +362,35 @@
                                 _locationInfoService.UpdateData(dt_LocationInfo);
                                 BaseDal.DeleteAndMoveIntoHty(task, App.User.UserId == 0 ? OperateTypeEnum.鑷姩瀹屾垚 : OperateTypeEnum.浜哄伐瀹屾垚);
                                 _unitOfWorkManage.CommitTran();
+
+                                WriteLog.Write_Log("WCS_鍏ュ簱_涓婃姤瀹屾垚", $"鍫嗗灈鏈哄畬鎴�", $"鎴愬姛锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}", $"淇敼鍚庣殑搴撳瓨锛歿dt_Stockowc.ToJson()},淇敼鍚庣殑搴撲綅淇℃伅锛歿dt_LocationInfo.ToJson()}");
                                 return content.OK($"宸叉帴鏀跺叆搴撳爢鍨涙満瀹屾垚淇℃伅锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}");
                             }
                             else
                             {
-                                task.NumberSsuances = task.NumberSsuances + 1;
-                                if (task.NumberSsuances == 3)
-                                {
-                                    task.TaskStatus = (int)InTaskStatusEnum.InSCException;
-                                    task.Remark = "鍫嗗灈鏈哄叆搴擄紝涓婁紶MES澶辫触锛屽師鍥狅細" + mES_Parameter.ResultMsg;
-                                    BaseDal.UpdateData(task);
-                                }
+                                task.NumberSsuances = 3;
+                                task.TaskStatus = (int)InTaskStatusEnum.InSCException;
+                                task.Remark = "鍫嗗灈鏈哄叆搴擄紝涓婁紶MES澶辫触锛屽師鍥狅細" + mES_Parameter.ResultMsg;
+                                BaseDal.UpdateData(task);
+                                WriteLog.Write_Log("WCS_鍏ュ簱_涓婃姤瀹屾垚", $"鍫嗗灈鏈哄畬鎴�", $"澶辫触锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}", $"涓婁紶MES澶辫触锛屽師鍥狅細{mES_Parameter.ResultMsg}");
                                 return content.Error("涓婁紶MES澶辫触锛屽師鍥狅細" + mES_Parameter.ResultMsg);
                             }
                         }
                         else
                         {
+                            WriteLog.Write_Log("WCS_鍏ュ簱_涓婃姤瀹屾垚", $"鍫嗗灈鏈哄畬鎴�", $"澶辫触锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}", $"涓婃姤澶辫触锛屽綋鍓嶄换鍔′笉鏄爢鍨涙満鎵ц涓紝WCS涓婃姤瀹屾垚澶辫触");
                             return content.Error($"涓婃姤澶辫触锛屽綋鍓嶄换鍔′笉鏄爢鍨涙満鎵ц涓紝WCS涓婃姤瀹屾垚澶辫触锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}");
                         }
-                            
+
                     default:
+                        WriteLog.Write_Log("WCS_鍏ュ簱_涓婃姤瀹屾垚", $"鍫嗗灈鏈哄畬鎴�", $"澶辫触锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}", $"WCS涓婃姤绫诲瀷閿欒锛歿wcsTaskType}");
                         return content.Error($"WCS涓婃姤绫诲瀷閿欒锛歿wcsTaskType}");
                 }
             }
             catch (Exception ex)
             {
                 _unitOfWorkManage.RollbackTran();
+                WriteLog.Write_Log("WCS_鍏ュ簱_涓婃姤瀹屾垚", $"鍫嗗灈鏈哄畬鎴�", $"澶辫触,浠诲姟鍙凤細{task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}", $"WCS浠诲姟瀹屾垚鎺ュ彛鏁呴殰锛屽師鍥狅細{ex.Message}");
                 return content.Error($"WCS浠诲姟瀹屾垚鎺ュ彛鏁呴殰锛屽師鍥狅細{ex.Message}");
             }
         }
@@ -377,7 +403,7 @@
                 switch (wcsTaskType)
                 {
                     case 1:
-                        if(task.TaskStatus == (int)OutTaskStatusEnum.PLC_OutExecuting || task.TaskStatus == (int)OutTaskStatusEnum.OutPLCException)
+                        if (task.TaskStatus == (int)OutTaskStatusEnum.PLC_OutExecuting || task.TaskStatus == (int)OutTaskStatusEnum.OutPLCException)
                         {
                             string Resultplc = MesOutTaskStatusEnum.Finish.GetDescription();
                             //涓婃姤MES浠诲姟瀹屾垚
@@ -386,26 +412,27 @@
                             {
                                 task.TaskStatus = (int)OutTaskStatusEnum.PLC_OutFinish;
                                 BaseDal.DeleteAndMoveIntoHty(task, App.User.UserId == 0 ? OperateTypeEnum.鑷姩瀹屾垚 : OperateTypeEnum.浜哄伐瀹屾垚);
+
+                                WriteLog.Write_Log("WCS_鍑哄簱_涓婃姤瀹屾垚", $"杈撻�佺嚎瀹屾垚",$"鎴愬姛,浠诲姟鍙凤細{task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}", $"宸叉帴鏀跺嚭搴撹緭閫佺嚎瀹屾垚淇℃伅");
                                 return content.OK($"宸叉帴鏀跺嚭搴撹緭閫佺嚎瀹屾垚淇℃伅锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}");
                             }
                             else
                             {
-                                task.NumberSsuances = task.NumberSsuances + 1;
-                                if (task.NumberSsuances == 3)
-                                {
-                                    task.TaskStatus = (int)OutTaskStatusEnum.OutPLCException;
-                                    task.Remark = "鍑哄簱锛岃緭閫佺嚎涓婁紶MES澶辫触锛屽師鍥狅細" + mES_Parameter.ResultMsg;
-                                    BaseDal.UpdateData(task);
-                                }
+                                task.NumberSsuances =3;
+                                task.TaskStatus = (int)OutTaskStatusEnum.OutPLCException;
+                                task.Remark = "鍑哄簱锛岃緭閫佺嚎涓婁紶MES澶辫触锛屽師鍥狅細" + mES_Parameter.ResultMsg;
+                                BaseDal.UpdateData(task);
+                                WriteLog.Write_Log("WCS_鍑哄簱_涓婃姤瀹屾垚", $"杈撻�佺嚎瀹屾垚", $"澶辫触锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}", $"涓婁紶MES澶辫触锛屽師鍥狅細{mES_Parameter.ResultMsg}");
                                 return content.Error("涓婁紶MES澶辫触锛屽師鍥狅細" + mES_Parameter.ResultMsg);
                             }
 
                         }
                         else
                         {
+                            WriteLog.Write_Log("WCS_鍑哄簱_涓婃姤瀹屾垚", $"杈撻�佺嚎瀹屾垚", $"澶辫触锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}", $"涓婃姤澶辫触锛學MS褰撳墠浠诲姟涓嶆槸杈撻�佺嚎鎵ц涓紝WCS涓婃姤瀹屾垚澶辫触");
                             return content.Error($"涓婃姤澶辫触锛學MS褰撳墠浠诲姟涓嶆槸杈撻�佺嚎鎵ц涓紝WCS涓婃姤瀹屾垚澶辫触锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}");
                         }
-                        
+
                     case 2:
 
                         if (task.TaskStatus == (int)OutTaskStatusEnum.SC_OutExecuting || task.TaskStatus == (int)OutTaskStatusEnum.OutSCException)
@@ -430,32 +457,35 @@
                                 _locationInfoService.UpdateData(dt_LocationInfo);
                                 BaseDal.UpdateData(task);
                                 _unitOfWorkManage.CommitTran();
+                                WriteLog.Write_Log("WCS_鍑哄簱_涓婃姤瀹屾垚", $"鍫嗗灈鏈哄畬鎴�",$"鎴愬姛锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}", $"鍒犻櫎鐨勫簱瀛橈細{dt_Stockowc.ToJson()},淇敼鐨勮揣浣嶏細{dt_LocationInfo.ToJson()}");
+
                                 return content.OK($"宸叉帴鏀跺嚭搴撳爢鍨涙満瀹屾垚淇℃伅锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}");
                             }
                             else
                             {
-                                task.NumberSsuances = task.NumberSsuances + 1;
-                                if (task.NumberSsuances == 3)
-                                {
-                                    task.TaskStatus = (int)OutTaskStatusEnum.OutSCException;
-                                    task.Remark = "鍫嗗灈鏈哄嚭搴擄細涓婁紶MES澶辫触锛屽師鍥狅細" + mES_SCParameter.ResultMsg;
-                                    BaseDal.UpdateData(task);
-                                }
+                                task.NumberSsuances = 3;
+                                task.TaskStatus = (int)OutTaskStatusEnum.OutSCException;
+                                task.Remark = "鍫嗗灈鏈哄嚭搴擄細涓婁紶MES澶辫触锛屽師鍥狅細" + mES_SCParameter.ResultMsg;
+                                BaseDal.UpdateData(task);
+                                WriteLog.Write_Log("WCS_鍑哄簱_涓婃姤瀹屾垚", $"鍫嗗灈鏈哄畬鎴�", $"澶辫触锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}", $"涓婁紶MES澶辫触锛屽師鍥狅細{mES_SCParameter.ResultMsg}");
                                 return content.Error("涓婁紶MES澶辫触锛屽師鍥狅細" + mES_SCParameter.ResultMsg);
                             }
                         }
                         else
                         {
+                            WriteLog.Write_Log("WCS_鍑哄簱_涓婃姤瀹屾垚", $"鍫嗗灈鏈哄畬鎴�", $"澶辫触,浠诲姟鍙凤細{task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}", $"涓婃姤澶辫触锛學MS褰撳墠浠诲姟涓嶆槸鍫嗗灈鏈烘墽琛屼腑锛學CS涓婃姤瀹屾垚澶辫触");
                             return content.Error($"涓婃姤澶辫触锛學MS褰撳墠浠诲姟涓嶆槸鍫嗗灈鏈烘墽琛屼腑锛學CS涓婃姤瀹屾垚澶辫触锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}");
                         }
-                        
+
                     default:
+                        WriteLog.Write_Log("WCS_鍑哄簱_涓婃姤瀹屾垚", $"鍫嗗灈鏈哄畬鎴�", $"澶辫触锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}", $"WCS涓婃姤绫诲瀷閿欒锛歿wcsTaskType}");
                         return content.Error($"WCS涓婃姤绫诲瀷閿欒锛歿wcsTaskType}");
                 }
             }
             catch (Exception ex)
             {
                 _unitOfWorkManage.RollbackTran();
+                WriteLog.Write_Log("WCS_鍑哄簱_涓婃姤瀹屾垚", $"鍫嗗灈鏈哄畬鎴�", $"澶辫触锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}", $"WCS浠诲姟瀹屾垚鎺ュ彛鏁呴殰锛屽師鍥狅細{ex.Message}");
                 return content.Error($"WCS浠诲姟瀹屾垚鎺ュ彛鏁呴殰锛屽師鍥狅細{ex.Message}");
             }
         }
@@ -467,7 +497,7 @@
             {
                 if (wcsTaskType == 2)
                 {
-                    if(task.TaskStatus == (int)RelocationTaskStatusEnum.RelocationExecuting)
+                    if (task.TaskStatus == (int)RelocationTaskStatusEnum.RelocationExecuting)
                     {
                         //涓婃姤MES浠诲姟瀹屾垚
                         MES_parameter mES_Parameter = AbnormalStorageLocation(task.PalletCode, task.SourceAddress, task.TargetAddress);
@@ -494,43 +524,149 @@
                             BaseDal.DeleteAndMoveIntoHty(task, App.User.UserId == 0 ? OperateTypeEnum.鑷姩瀹屾垚 : OperateTypeEnum.浜哄伐瀹屾垚);
                             _unitOfWorkManage.CommitTran();
 
+                            WriteLog.Write_Log("WCS_绉诲簱_涓婃姤瀹屾垚", $"鍫嗗灈鏈哄畬鎴�", $"鎴愬姛,浠诲姟鍙凤細{task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}", $"淇敼鐨勮揣浣嶏細{dt_Locations.ToJson()},淇敼鐨勫簱瀛橈細{dt_StockInfo.ToJson()}");
                             return responseContent.OK($"宸叉帴鏀剁Щ搴撳爢鍨涙満瀹屾垚淇℃伅锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}");
                         }
                         else
                         {
-                            task.NumberSsuances = task.NumberSsuances + 1;
-                            if (task.NumberSsuances == 3)
-                            {
-                                task.TaskStatus = (int)RelocationTaskStatusEnum.RelocationException;
-                                task.Remark = "绉诲簱锛屼笂浼燤ES澶辫触锛屽師鍥狅細" + mES_Parameter.ResultMsg;
-                                BaseDal.UpdateData(task);
-                            }
+                            task.NumberSsuances = 3;
+                            task.TaskStatus = (int)RelocationTaskStatusEnum.RelocationException;
+                            task.Remark = "绉诲簱锛屼笂浼燤ES澶辫触锛屽師鍥狅細" + mES_Parameter.ResultMsg;
+                            BaseDal.UpdateData(task);
+                            WriteLog.Write_Log("WCS_绉诲簱_涓婃姤瀹屾垚", $"鍫嗗灈鏈哄畬鎴�", $"澶辫触锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}", $"涓婁紶MES澶辫触锛屽師鍥狅細{mES_Parameter.ResultMsg}");
                             return responseContent.Error("涓婁紶MES澶辫触锛屽師鍥狅細" + mES_Parameter.ResultMsg);
                         }
                     }
                     else
                     {
+                        WriteLog.Write_Log("WCS_绉诲簱_涓婃姤瀹屾垚", $"鍫嗗灈鏈哄畬鎴�", $"澶辫触锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}", $"涓婃姤澶辫触锛學MS褰撳墠浠诲姟涓嶆槸鍫嗗灈鏈烘墽琛屼腑锛學CS涓婃姤瀹屾垚澶辫触");
                         return responseContent.Error($"涓婃姤澶辫触锛學MS褰撳墠浠诲姟涓嶆槸鍫嗗灈鏈烘墽琛屼腑锛學CS涓婃姤瀹屾垚澶辫触锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}");
                     }
-                    
+
                 }
                 else
                 {
+                    WriteLog.Write_Log("WCS_绉诲簱_涓婃姤瀹屾垚", $"鍫嗗灈鏈哄畬鎴�", $"澶辫触锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}", $"WCS涓婃姤绫诲瀷閿欒锛歿wcsTaskType}");
                     return responseContent.Error($"WCS涓婃姤绫诲瀷閿欒锛歿wcsTaskType}");
                 }
             }
             catch (Exception ex)
             {
                 _unitOfWorkManage.RollbackTran();
+                WriteLog.Write_Log("WCS_绉诲簱_涓婃姤瀹屾垚", $"鍫嗗灈鏈哄畬鎴�", $"澶辫触锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}", $"WCS浠诲姟瀹屾垚鎺ュ彛鏁呴殰锛屽師鍥狅細{ex.Message}");
                 return responseContent.Error($"WMS绯荤粺閿欒锛屽師鍥狅細{ex.Message}");
             }
-            
+
+        }
+
+        #endregion
+
+
+
+        //浠诲姟浠诲姟鎭㈠
+        public WebResponseContent WMSTaskRecovery(SaveModel saveModel)
+        {
+            WebResponseContent response = new WebResponseContent();
+            List<Dt_Task> dt_Task = new List<Dt_Task>();
+            try
+            {
+                foreach (var key in saveModel.DelKeys)
+                {
+                    int taskId = int.Parse(key.ToString());
+                    Dt_Task task = BaseDal.QueryFirst(x => x.TaskId == taskId);
+                    if (task == null)
+                            return response.Error("鏈壘鍒颁换鍔′俊鎭�");
+                    task.NumberSsuances = 0;
+                    task.Remark = "";
+                    dt_Task.Add(task);
+                }
+                bool updatetask= BaseDal.UpdateData(dt_Task);
+                if (updatetask)
+                {
+                    WriteLog.Write_Log("WMS_浠诲姟鎭㈠", $"WMS_浠诲姟鎭㈠", "淇敼鎴愬姛", $"淇敼鐨勬暟鎹細{dt_Task.ToJson()}");
+                    return response.OK("鎵�鏈変换鍔″鐞嗘垚鍔�");
+                }
+                else
+                {
+                    WriteLog.Write_Log("WMS_浠诲姟鎭㈠", $"WMS_浠诲姟鎭㈠", "淇敼澶辫触", $"淇敼鐨勬暟鎹細{dt_Task.ToJson()}");
+                    return response.Error("澶勭悊澶辫触锛屼慨鏀逛换鍔″け璐�");
+                }
+
+                
+            }
+            catch (Exception ex)
+            {
+                WriteLog.Write_Log("WMS_浠诲姟鎭㈠", $"WMS_浠诲姟鎭㈠", "淇敼澶辫触", $"淇敼鐨勬暟鎹細{dt_Task.ToJson()}锛屽け璐ュ師鍥狅細{ex.Message}");
+                return response.Error($"WMS浠诲姟鎭㈠閿欒锛歿ex.Message}");
+            }
         }
 
 
+        public virtual WebResponseContent UpdateData(SaveModel saveModel)
+        {
+            try
+            {
+                List<string>? list = UpdateIgnoreColOnExecute?.Invoke(saveModel);
+                if (saveModel == null || saveModel.MainData == null || saveModel.MainData.Count == 0)//鍒ゆ柇鍙傛暟鏄惁浼犲叆
+                {
+                    return WebResponseContent.Instance.Error("浼犲弬閿欒,鍙傛暟涓嶈兘涓虹┖");
+                }
+                string validResult = typeof(Dt_Task).ValidateDicInEntity(saveModel.MainData, false, TProperties, list?.ToArray() ?? null);
 
+                if (!string.IsNullOrEmpty(validResult))
+                {
+                    return WebResponseContent.Instance.Error(validResult);
+                }
 
-        
+                PropertyInfo keyPro = typeof(Dt_Task).GetKeyProperty();
+                if (keyPro == null)
+                {
+                    return WebResponseContent.Instance.Error("璇峰厛璁剧疆涓婚敭");
+                }
 
+                Dt_Task entity = saveModel.MainData.DicToModel<Dt_Task>();
+                Dt_Task Dt_Custask= BaseDal.QueryFirst(x=>x.TaskId==entity.TaskId);
+
+                List<string> listCol = new List<string>();
+                foreach (var item in saveModel.MainData)
+                {
+                    PropertyInfo? propertyInfo = typeof(Dt_Task).GetProperty(item.Key);
+                    if (propertyInfo == null)
+                    {
+                        propertyInfo = typeof(Dt_Task).GetProperty(item.Key.FirstLetterToLower());
+                        if (propertyInfo == null)
+                        {
+                            propertyInfo = typeof(Dt_Task).GetProperty(item.Key.FirstLetterToUpper());
+                        }
+                    }
+
+                    listCol.Add(propertyInfo?.Name);
+                }
+
+                if (saveModel.DetailData == null || saveModel.DetailData.Count == 0)
+                {
+                    if (list != null)
+                        listCol = listCol.Where(x => !list.Contains(x)).ToList();
+                    bool result = BaseDal.UpdateData(entity, listCol, list);
+                    WriteLog.Write_Log("WMS_浠诲姟淇敼", $"浠诲姟淇敼", $"浠诲姟缂栧彿:{entity.TaskId},鎵樼洏鏉$爜锛歿entity.PalletCode},鏄惁鎴愬姛锛歿result}", $"鍘熸潵鏁版嵁锛歿Dt_Custask.ToJson()}======>>>>>>淇敼鍚庣殑鏁版嵁锛歿entity.ToJson()}");
+                    return WebResponseContent.Instance.OK();
+                }
+
+                if (typeof(Dt_Task).GetNavigatePro() == null)
+                {
+                    return WebResponseContent.Instance.Error("鏈厤缃鑸睘鎬�");
+                }
+
+                Type detailType = typeof(Dt_Task).GetDetailType();
+                MethodInfo? methodInfo = GetType().GetMethod("UpdateDataInculdesDetail");
+                methodInfo = methodInfo?.MakeGenericMethod(new Type[] { detailType });
+                object? obj = methodInfo?.Invoke(this, new object[] { entity, detailType, saveModel.DetailData, saveModel.DelKeys });
+                return obj as WebResponseContent;
+            }
+            catch (Exception ex)
+            {
+                return WebResponseContent.Instance.Error(ex.Message);
+            }
+        }
     }
 }

--
Gitblit v1.9.3