using DS.Module.Core.Data;
using DS.Module.Core.Enums;
using SqlSugar;
namespace DS.WMS.Core.Fee.Entity
{
///
/// 申请单基类
///
public abstract class ApplicationBase : BaseModelV2
{
///
/// 申请单编号
///
[SugarColumn(ColumnDescription = "申请单编号", Length = 20)]
public string ApplicationNO { get; set; }
///
/// 申请单状态
///
[SugarColumn(ColumnDescription = "申请状态")]
public ApplicationStatus Status { get; set; }
///
/// 人民币申请金额
///
[SugarColumn(ColumnDescription = "人民币申请金额", IsNullable = true)]
public decimal? AmountRMB { get; set; }
///
/// 美元申请金额
///
[SugarColumn(ColumnDescription = "美元申请金额", IsNullable = true)]
public decimal? AmountUSD { get; set; }
///
/// 其他币别申请金额
///
[SugarColumn(ColumnDescription = "其他币别申请金额", IsNullable = true)]
public decimal? AmountOther { get; set; }
///
/// 申请币别
///
[SugarColumn(ColumnDescription = "申请币别", IsNullable = true, Length = 3)]
public string? Currency { get; set; }
///
/// 折算汇率
///
[SugarColumn(ColumnDescription = "折算汇率", IsNullable = true)]
public decimal? ExchangeRate { get; set; }
///
/// 审核人
///
[SugarColumn(ColumnDescription = "审核人", IsNullable = true)]
public long? AuditerId { get; set; }
///
/// 审核人名称
///
[SugarColumn(ColumnDescription = "审核人名称", IsNullable = true)]
public string? AuditerName { get; set; }
///
/// 审核时间
///
[SugarColumn(ColumnDescription = "审核时间", IsNullable = true)]
public DateTime? AuditTime { get; set; }
///
/// 审核备注
///
[SugarColumn(ColumnDescription = "审核备注", Length = 200, IsNullable = true)]
public string? AuditRemark { get; set; }
///
/// 是否已打印
///
[SugarColumn(ColumnDescription = "是否已打印", DefaultValue = "0")]
public bool IsPrinted { get; set; }
///
/// 打印次数
///
[SugarColumn(ColumnDescription = "打印次数", DefaultValue = "0")]
public int PrintTimes { get; set; }
///
/// 打印人
///
[SugarColumn(ColumnDescription = "打印人", IsNullable = true)]
public long? PrinterId { get; set; }
///
/// 打印人名称
///
[SugarColumn(ColumnDescription = "打印人名称", IsNullable = true)]
public string? PrinterName { get; set; }
///
/// 打印时间
///
[SugarColumn(ColumnDescription = "打印时间", IsNullable = true)]
public DateTime? PrintTime { get; set; }
///
/// 驳回原因
///
[SugarColumn(ColumnDescription = "驳回原因", Length = 200, IsNullable = true)]
public string? Reason { get; set; }
///
/// 工作流ID
///
[SugarColumn(ColumnDescription = "工作流ID", IsNullable = true)]
public long? FlowId { get; set; }
///
/// 费用明细
///
[Navigate(NavigateType.OneToMany, nameof(FeeApplicationDetail.ApplicationId))]
public List? Details { get; set; }
}
}