From 8330291df8b7b7ce051b7f3a0c68fc2dc5f70bc7 Mon Sep 17 00:00:00 2001
From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com>
Date: 星期四, 26 十二月 2024 16:54:14 +0800
Subject: [PATCH] 更新货位变动信息记录,WCS堆垛机入库执行中下一步

---
 Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicRepository/Location/LocationStatusChangeRecordRepository.cs |   63 +++++++++++++++++++++++++++++++
 1 files changed, 62 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..f91b37d 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,64 @@
             };
             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)
+        {
+            try
+            {
+                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);
+            }
+            catch (Exception ex)
+            {
+                throw new Exception($"{ex.Message}");
+            }
+        }
+
+        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