using WIDESEA_Common.LocationEnum; using WIDESEA_Core.BaseRepository; using WIDESEA_Core.BaseServices; using WIDESEA_IRecordService; using WIDESEA_Model.Models; namespace WIDESEA_RecordService { /// /// 货位状态变更记录服务实现类 /// public partial class LocationStatusChangeRecordService : ServiceBase>, ILocationStatusChangeRecordService { /// /// 构造函数 /// public LocationStatusChangeRecordService(IRepository baseDal) : base(baseDal) { } /// /// 获取货位状态变更记录仓储接口 /// public IRepository Repository => BaseDal; /// /// 记录货位状态变更。 /// public async Task AddChangeRecordAsync( Dt_LocationInfo beforeLocation, Dt_LocationInfo afterLocation, LocationChangeType changeType, int? taskNum = null, string? orderNo = null, int? orderId = null, string? remark = null) { if (beforeLocation == null || afterLocation == null) return false; if (beforeLocation.LocationStatus == afterLocation.LocationStatus) return true; Dt_LocationStatusChangeRecord record = new Dt_LocationStatusChangeRecord { LocationId = afterLocation.Id, LocationCode = afterLocation.LocationCode, BeforeStatus = beforeLocation.LocationStatus, AfterStatus = afterLocation.LocationStatus, ChangeType = (int)changeType, OrderId = orderId, OrderNo = orderNo, TaskNum = taskNum, Remark = remark }; return await BaseDal.AddDataAsync(record) > 0; } } }