From a8be8f9371b6fc03b66d212b2902d08f93b087dd Mon Sep 17 00:00:00 2001 From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com> Date: 星期三, 02 七月 2025 13:55:55 +0800 Subject: [PATCH] 新增任务查询方法并优化逻辑在 `ITaskService.cs` 中添加了新的 `QueryExecutingConveyorLineTask` 方法,支持根据托盘号和下一地址查询任务,同时调整了原有方法的参数以保留旧功能。在 `TaskService.cs` 中新增重载方法,允许根据下一地址和条形码查询任务。在 `CommonConveyorLine_GWJob.cs` 中更新了 `ConveyorLineOutFinish` 方法,简化了任务查询逻辑并删除了多余的注释代码。同时,增加了对 `taskNext` 的处理逻辑,确保在任务未找到时的相应处理,并更新在途数据的逻辑,提升数据一致性和准确性。 --- 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