using DS.Module.Core; using Masuit.Tools.Systems; using SqlSugar; namespace DS.WMS.Core.Fee.Entity { /// /// 往来单位费用模板明细 /// [SugarTable("fee_cust_template_detail", "往来单位费用模板明细")] public class FeeCustTemplateDetail { /// /// 模板ID /// [SugarColumn(ColumnDescription = "模板ID", IsNullable = false)] public long TemplateId { get; set; } /// /// 所属模板 /// [Navigate(NavigateType.OneToOne, nameof(TemplateId))] public FeeCustTemplate? Template { get; set; } /// /// 主键ID /// [SugarColumn(IsPrimaryKey = true)] public long Id { get; set; } /// /// 结算对象Id /// [SugarColumn(ColumnDescription = "结算对象Id", IsNullable = false)] public long CustomerId { get; set; } /// /// 结算对象 /// [SugarColumn(ColumnDescription = "结算对象", Length = 100, IsNullable = false)] public string CustomerName { get; set; } = string.Empty; /// /// 结算对象类型 /// [SugarColumn(ColumnDescription = "结算对象类型", IsNullable = true)] public string? CustomerType { get; set; } /// /// 费用Id /// [SugarColumn(ColumnDescription = "费用Id")] public long FeeId { get; set; } /// /// 费用代码 录入费用是作为检索 /// [SugarColumn(ColumnDescription = "费用代码", Length = 50, IsNullable = true)] public string? FeeCode { get; set; } /// /// 费用名称 /// [SugarColumn(ColumnDescription = "费用名称", Length = 100, IsNullable = false)] public string FeeName { get; set; } = string.Empty; /// /// 费用类型 /// [SugarColumn(ColumnDescription = "费用类型", IsNullable = false)] public FeeType FeeType { get; set; } /// /// 费用类型文本 /// [SugarColumn(IsIgnore = true)] public string FeeTypeText => FeeType.GetDescription(); /// /// 费用标准 /// [SugarColumn(ColumnDescription = "费用标准", Length = 20, IsNullable = true)] public string? Unit { get; set; } /// /// 是否箱型 /// [SugarColumn(ColumnDescription = "是否箱型", DefaultValue = "0")] public bool IsCtn { get; set; } /// /// 币别 /// [SugarColumn(ColumnDescription = "币别", Length = 100, IsNullable = false)] public string Currency { get; set; } = string.Empty; /// /// 单价 /// [SugarColumn(ColumnDescription = "单价", IsNullable = true, Length = 18, DecimalDigits = 2, DefaultValue = "0")] public decimal? UnitPrice { get; set; } /// /// 汇率,为空时取默认汇率 /// [SugarColumn(ColumnDescription = "汇率", IsNullable = true, Length = 18, DecimalDigits = 4)] public decimal? ExchangeRate { get; set; } /// /// 费用默认税率 /// [SugarColumn(ColumnDescription = "费用默认税率", IsNullable = true, Length = 18, DecimalDigits = 4, DefaultValue = "0")] public decimal? TaxRate { get; set; } /// /// 财务税率 /// [SugarColumn(ColumnDescription = "财务税率", IsNullable = true, Length = 18, DecimalDigits = 4, DefaultValue = "0")] public decimal? AccTaxRate { get; set; } /// /// 税额 /// [SugarColumn(ColumnDescription = "税额", IsNullable = true, Length = 18, DecimalDigits = 4, DefaultValue = "0")] public decimal? Tax { get; set; } /// /// 含税单价 /// [SugarColumn(ColumnDescription = "含税单价", IsNullable = true, Length = 18, DecimalDigits = 2, DefaultValue = "0")] public decimal? TaxUnitPrice { get; set; } /// /// 是否开票 /// [SugarColumn(ColumnDescription = "是否开票", DefaultValue = "0")] public bool IsInvoice { get; set; } /// /// 是否垫付费用 /// [SugarColumn(ColumnDescription = "是否垫付费用", DefaultValue = "0")] public bool IsAdvancedPay { get; set; } /// /// 创建时间 /// [SugarColumn(ColumnDescription = "创建时间", IsNullable = false)] public DateTime CreateTime { get; set; } /// /// 创建人 /// [SugarColumn(ColumnDescription = "创建人", IsNullable = false)] public long CreateBy { get; set; } } }