| | |
| | | namespace WIDESEA_StorageBasicRepository |
| | | using 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) |
| | | { |
| | | 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}"); |
| | | } |
| | | } |
| | | } |
| | | } |