From 675f3f475a61dd0ad8ffb76e183baa9b78f14f45 Mon Sep 17 00:00:00 2001
From: renmingwang <renmingwang@hnkhzn.com>
Date: 星期一, 30 三月 2026 16:46:31 +0800
Subject: [PATCH] 修改任务下发

---
 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskHtyService.cs |   91 ++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 77 insertions(+), 14 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskHtyService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskHtyService.cs"
index 6b0cf4d..80f4848 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskHtyService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskHtyService.cs"
@@ -52,26 +52,47 @@
                     return false;
                 }
 
-                // 浣跨敤AutoMapper灏嗕换鍔″璞℃槧灏勫埌鍘嗗彶瀵硅薄
-                var historyTask = _mapper.Map<Dt_Task_Hty>(task);
-                
-                // 璁剧疆鍘嗗彶璁板綍鐗规湁鐨勫瓧娈�
-                historyTask.TaskId = 0; // 閲嶇疆涓婚敭锛岃鏁版嵁搴撹嚜鍔ㄧ敓鎴�
-                historyTask.SourceId = task.TaskId; // 璁剧疆婧愯褰旾D
-                historyTask.OperateType = operateType; // 璁剧疆鎿嶄綔绫诲瀷
-                historyTask.CreateDate = DateTime.Now;
-                historyTask.Creater = "System";
-                historyTask.ModifyDate = DateTime.Now;
-                historyTask.Modifier = "System";
+                var task_hty = new Dt_Task_Hty
+                {
+                    // 涓婚敭TaskId鍦ㄥ巻鍙茶〃涓槸鑷鐨勶紝鎵�浠ヤ笉闇�瑕佽祴鍊�
+                    TaskNum = task.TaskNum,
+                    PalletCode = task.PalletCode,
+                    PalletType = task.PalletType,
+                    DeviceCode = task.Roadway,
+                    Roadway = task.Roadway,
+                    TaskType = task.TaskType,
+                    TaskState = task.TaskState,
+                    SourceAddress = task.SourceAddress,
+                    TargetAddress = task.TargetAddress,
+                    CurrentAddress = task.CurrentAddress,
+                    NextAddress = task.NextAddress,
+                    ExceptionMessage = task.ExceptionMessage,
+                    Grade = task.Grade,
+                    WMSId = task.WMSId,
+                    Dispatchertime = task.Dispatchertime,
+                    Remark = task.Remark,
+                    Depth = task.Depth,
+
+                    // 婧愯褰旾D璁剧疆涓哄師浠诲姟鐨凾askId
+                    SourceId = task.TaskId,
+
+                    // 鎿嶄綔绫诲瀷浣跨敤浼犲叆鐨勫弬鏁�
+                    OperateType = operateType,
+
+                    // 鍩虹瀹炰綋瀛楁锛堝鏋滄湁鐨勮瘽锛�
+                    CreateDate = DateTime.Now,
+                    Creater = task.Creater,
+
+                };
 
                 // 鎻掑叆鍘嗗彶璁板綍
-                int result = BaseDal.AddData(historyTask);
+                int result = BaseDal.AddData(task_hty);
                 return result > 0;
             }
             catch (Exception ex)
             {
                 // 璁板綍寮傚父鏃ュ織
-                Console.WriteLine($"娣诲姞浠诲姟鍘嗗彶璁板綍澶辫触: {ex.Message}");
+                //Console.WriteLine($"娣诲姞浠诲姟鍘嗗彶璁板綍澶辫触: {ex.Message}");
                 return false;
             }
         }
@@ -95,5 +116,47 @@
         {
             return BaseDal.QueryData(x => x.TaskNum == taskNum).OrderByDescending(x => x.CreateDate).ToList();
         }
+
+        /// <summary>
+        /// 鍒犻櫎鎸囧畾鏃ユ湡涔嬪墠鐨勫巻鍙蹭换鍔℃暟鎹�
+        /// </summary>
+        /// <param name="keepMonths">淇濈暀鐨勬湀鏁帮紝榛樿涓�3涓湀锛堟湰鏈�+鍚庝袱涓湀锛�</param>
+        /// <returns>鍒犻櫎鐨勮褰曟暟</returns>
+        public int DeleteOldTaskHistory(int keepMonths = 3)
+        {
+            try
+            {
+                // 璁$畻淇濈暀鏃ユ湡锛氬綋鍓嶆棩鏈熷噺鍘籯eepMonths涓湀
+                DateTime keepDate = DateTime.Now.AddMonths(-keepMonths);
+                
+                // 鍏堟煡璇㈠嚭瑕佸垹闄ょ殑鏁版嵁
+                List<Dt_Task_Hty> tasksToDelete = BaseDal.QueryData().Where(x => x.CreateDate < keepDate).ToList();
+                
+                // 濡傛灉娌℃湁瑕佸垹闄ょ殑鏁版嵁锛岀洿鎺ヨ繑鍥�0
+                if (tasksToDelete.Count == 0)
+                {
+                    return 0;
+                }
+                
+                // 鍒犻櫎鏌ヨ鍑虹殑鍘嗗彶璁板綍
+                bool result = BaseDal.DeleteData(tasksToDelete);
+                return result ? tasksToDelete.Count : 0;
+            }
+            catch (Exception ex)
+            {
+                // 璁板綍寮傚父鏃ュ織
+                //Console.WriteLine($"鍒犻櫎鍘嗗彶浠诲姟璁板綍澶辫触: {ex.Message}");
+                return 0;
+            }
+        }
+
+        /// <summary>
+        /// 瀹氭椂浠诲姟璋冪敤鐨勫巻鍙蹭换鍔″垹闄ゆ柟娉�
+        /// </summary>
+        public void Task_Hty_Job()
+        {
+            // 鍒犻櫎3涓湀涔嬪墠鐨勫巻鍙蹭换鍔℃暟鎹紝淇濈暀鏈湀鍜屽悗涓や釜鏈堢殑鏁版嵁
+            DeleteOldTaskHistory(3);
+        }
     }
-}
+}
\ No newline at end of file

--
Gitblit v1.9.3