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;
}
}
}