From a95c4e748b01da8bea6ba0f8e6af9c281bc582d7 Mon Sep 17 00:00:00 2001
From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com>
Date: 星期二, 29 七月 2025 09:22:13 +0800
Subject: [PATCH] 优化日志格式并增强库存查询逻辑在 CommonConveyorLineJob.cs和CommonConveyorLine_GWJob.cs文件中,修改了日志输出格式,添加了时间戳以提高可读性和可追溯性。部分代码中的ToJsonString()方法被替换为 Serialize()方法,以统一序列化方式。与此同时,在 Dt_TaskService.cs文件中增加了库存信息查询逻辑,以确保出库时能够正确处理库存条件,增强系统的健壮性。

---
 Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicRepository/Location/LocationStatusChangeRecordRepository.cs |   56 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 55 insertions(+), 1 deletions(-)

diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicRepository/Location/LocationStatusChangeRecordRepository.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicRepository/Location/LocationStatusChangeRecordRepository.cs
index 3221528..c6e503c 100644
--- a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicRepository/Location/LocationStatusChangeRecordRepository.cs
+++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicRepository/Location/LocationStatusChangeRecordRepository.cs
@@ -1,4 +1,6 @@
-锘縰sing WIDESEA_DTO;
+锘縰sing WIDESEA_Core;
+using WIDESEA_DTO;
+using WIDESEA_Model.Models;
 
 namespace WIDESEA_StorageBasicRepository
 {
@@ -27,5 +29,57 @@
             };
             return AddData(dtLocationStatusChangeRecord) > 0;
         }
+        /// <summary>
+        /// 娣诲姞璐т綅鍙樺姩璁板綍
+        /// </summary>
+        /// <param name="locationInfo">鏇存柊瀹炰綋</param>
+        /// <param name="lastStatus">鍙樺姩鍓嶇姸鎬�</param>
+        /// <param name="changeType">鍙樺姩绫诲瀷</param>
+        /// <param name="taskNum">浠诲姟鍙�</param>
+        /// <exception cref="Exception"></exception>
+        public void AddLocationStatusChangeRecord(DtLocationInfo locationInfo, int lastStatus, int changeType, int? taskNum)
+        {
+            DtLocationStatusChangeRecord locationStatusChangeRecord = new DtLocationStatusChangeRecord()
+            {
+                AfterStatus = locationInfo.LocationStatus,
+                BeforeStatus = lastStatus,
+                ChangeType = changeType,
+                LocationCode = locationInfo.LocationCode,
+                LocationId = locationInfo.Id,
+                TaskNum = taskNum,
+                Creater = "System",
+                CreateDate = DateTime.Now,
+            };
+            base.AddData(locationStatusChangeRecord);
+
+        }
+
+        public void AddLocationStatusChangeRecord(List<DtLocationInfo> locationInfos, int newStatus, int changeType, List<int>? taskNums)
+        {
+            try
+            {
+                List<DtLocationStatusChangeRecord> records = new List<DtLocationStatusChangeRecord>();
+                for (int i = 0; i < locationInfos.Count; i++)
+                {
+                    DtLocationInfo locationInfo = locationInfos[i];
+                    int? taskNum = (taskNums != null && taskNums.Count > 0 && taskNums.Count == locationInfos.Count) ? taskNums[i] : null;
+                    DtLocationStatusChangeRecord locationStatusChangeRecord = new DtLocationStatusChangeRecord()
+                    {
+                        AfterStatus = newStatus,
+                        BeforeStatus = locationInfo.LocationStatus,
+                        ChangeType = changeType,
+                        LocationCode = locationInfo.LocationCode,
+                        LocationId = locationInfo.Id,
+                        TaskNum = taskNum,
+                    };
+                    records.Add(locationStatusChangeRecord);
+                }
+                AddData(records);
+            }
+            catch (Exception ex)
+            {
+                throw new Exception($"{ex.Message}");
+            }
+        }
     }
 }
\ No newline at end of file

--
Gitblit v1.9.3