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 | 78 ++++++++++++++++++++++++++++++++++++++ 1 files changed, 77 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 ec5bbe8..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,9 +1,85 @@ -锘縩amespace WIDESEA_StorageBasicRepository +锘縰sing WIDESEA_Core; +using WIDESEA_DTO; +using WIDESEA_Model.Models; + +namespace WIDESEA_StorageBasicRepository { public class LocationStatusChangeRecordRepository : RepositoryBase<DtLocationStatusChangeRecord>, ILocationStatusChangeRecordRepository { public LocationStatusChangeRecordRepository(IUnitOfWorkManage unitOfWorkManage) : base(unitOfWorkManage) { } + + /// <summary> + /// 娣诲姞璐т綅鍙樺姩璁板綍 + /// </summary> + /// <param name="changeRecordDto">鏁版嵁妯″瀷</param> + /// <returns></returns> + public bool AddStatusChangeRecord(LocationChangeRecordDto changeRecordDto) + { + DtLocationStatusChangeRecord dtLocationStatusChangeRecord = new DtLocationStatusChangeRecord() + { + ChangeType = changeRecordDto.ChangeType, + LocationCode = changeRecordDto.LocationCode, + LocationId = changeRecordDto.LocationId, + Creater = "System", + TaskNum = changeRecordDto.TaskNum, + AfterStatus = changeRecordDto.AfterStatus, + BeforeStatus = changeRecordDto.BeforeStatus, + }; + 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