You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
115 lines
2.7 KiB
115 lines
2.7 KiB
2 years ago
|
using System;
|
||
|
using Win_in.Sfs.Shared.Domain;
|
||
|
using Win_in.Sfs.Wms.DataExchange.Domain.Shared;
|
||
|
|
||
|
namespace Win_in.Sfs.Wms.DataExchange.Domain;
|
||
|
|
||
|
public abstract class WmsDataBase : SfsAggregateRootBase
|
||
|
{
|
||
|
|
||
|
/// <summary>
|
||
|
/// 数据类型
|
||
|
/// </summary>
|
||
|
public string DataType { get; set; }
|
||
|
|
||
|
/// <summary>
|
||
|
/// 数据动作
|
||
|
/// </summary>
|
||
|
public EnumExchangeDataAction DataAction { get; set; } = EnumExchangeDataAction.Add;
|
||
|
|
||
|
/// <summary>
|
||
|
/// 生效日期
|
||
|
/// </summary>
|
||
|
public DateTime EffectiveDate { get; protected internal set; } = DateTime.Today;
|
||
|
|
||
|
/// <summary>
|
||
|
/// 数据状态
|
||
|
/// </summary>
|
||
|
public EnumExchangeDataStatus Status { get; protected internal set; } = EnumExchangeDataStatus.Unread;
|
||
|
|
||
|
/// <summary>
|
||
|
/// 数据识别码
|
||
|
/// </summary>
|
||
|
public string DataIdentityCode { get; set; }
|
||
|
|
||
|
/// <summary>
|
||
|
/// 来源数据内容
|
||
|
/// </summary>
|
||
|
public string DataContent { get; set; }
|
||
|
|
||
|
/// <summary>
|
||
|
/// 来源系统
|
||
|
/// </summary>
|
||
|
public string SourceSystem { get; set; }
|
||
|
|
||
|
/// <summary>
|
||
|
/// 写入时间
|
||
|
/// </summary>
|
||
|
public DateTime WriteTime { get; set; } = DateTime.Now;
|
||
|
|
||
|
/// <summary>
|
||
|
/// 读取时间
|
||
|
/// </summary>
|
||
|
public DateTime? ReadTime { get; set; } = DateTime.Now;
|
||
|
|
||
|
/// <summary>
|
||
|
/// 错误代码
|
||
|
/// </summary>
|
||
|
public EnumExchangeDataErrorCode ErrorCode { get; protected internal set; }
|
||
|
|
||
|
/// <summary>
|
||
|
/// 错误信息
|
||
|
/// </summary>
|
||
|
public string ErrorMessage { get; protected internal set; }
|
||
|
|
||
|
/// <summary>
|
||
|
/// 重试次数
|
||
|
/// </summary>
|
||
|
public int RetryTimes { get; protected internal set; }
|
||
|
|
||
|
public void SetEffectiveDate(DateTime newDate)
|
||
|
{
|
||
|
EffectiveDate = newDate;
|
||
|
}
|
||
|
|
||
|
public void SetError(EnumExchangeDataErrorCode errorCode, string errorMessage, string remark = null)
|
||
|
{
|
||
|
Status = EnumExchangeDataStatus.Error;
|
||
|
ErrorCode = errorCode;
|
||
|
ErrorMessage = errorMessage;
|
||
|
Remark = remark;
|
||
|
RetryTimes++;
|
||
|
|
||
|
}
|
||
|
|
||
|
public void Hold(string remark = null)
|
||
|
{
|
||
|
Status = EnumExchangeDataStatus.Hold;
|
||
|
Remark = remark;
|
||
|
}
|
||
|
|
||
|
public virtual void Reset(string remark = null)
|
||
|
{
|
||
|
Status = EnumExchangeDataStatus.Unread;
|
||
|
ErrorCode = EnumExchangeDataErrorCode.None;
|
||
|
ErrorMessage = "";
|
||
|
Remark = remark;
|
||
|
RetryTimes = 0;
|
||
|
}
|
||
|
|
||
|
public void Take(string remark = null)
|
||
|
{
|
||
|
Status = EnumExchangeDataStatus.Processing;
|
||
|
Remark = remark;
|
||
|
}
|
||
|
|
||
|
public void SetSuccess(string remark = null)
|
||
|
{
|
||
|
Status = EnumExchangeDataStatus.Success;
|
||
|
ErrorCode = EnumExchangeDataErrorCode.None;
|
||
|
ErrorMessage = "";
|
||
|
Remark = remark;
|
||
|
}
|
||
|
|
||
|
}
|