using DS.Module.Core.Enums; using DS.WMS.Core.Info.Entity; using Masuit.Tools.Systems; using SqlSugar; namespace DS.WMS.Core.Application.Entity { /// /// 发票申请单 /// [SugarTable("application_invoice", TableDescription = "发票申请单")] public class InvoiceApplication : ApplicationForm { /// /// 客户银行美元账号ID /// [SugarColumn(ColumnDescription = "客户银行美元账号ID", IsNullable = true)] public long? USDCustomerBankId { get; set; } /// /// 客户银行美元账号 /// [Navigate(NavigateType.OneToOne, nameof(USDCustomerBankId))] public InfoClientBank? USDCustomerBank { get; set; } /// /// 状态 /// [SugarColumn(ColumnDescription = "状态")] public new InvoiceApplicationStatus Status { get; set; } /// /// 状态文本 /// [SugarColumn(IsIgnore = true)] public string StatusText => Status.GetDescription(); /// /// 实际发票号 /// [SugarColumn(ColumnDescription = "实际发票号", Length = 50, IsNullable = true)] public string? AcutalInvoiceNO { get; set; } /// /// 发票抬头 /// [SugarColumn(ColumnDescription = "发票抬头", Length = 200, IsNullable = false)] public string InvoiceHeader { get; set; } /// /// 发票单据号 /// [SugarColumn(ColumnDescription = "发票单据号", Length = 30, IsNullable = true)] public string? InvoiceBillNO { get; set; } /// /// 发票税率 /// [SugarColumn(ColumnDescription = "发票税率", IsNullable = false)] public decimal TaxRate { get; set; } /// /// 纳税人识别号 /// [SugarColumn(ColumnDescription = "纳税人识别号", Length = 60, IsNullable = false)] public string TaxID { get; set; } = string.Empty; /// /// 申请金额 /// [SugarColumn(ColumnDescription = "申请金额")] public decimal ApplyAmount { get; set; } /// /// 申请金额大写 /// [SugarColumn(ColumnDescription = "申请金额大写", Length = 100, IsNullable = true)] public string? AmountUppercase { get; set; } /// /// 客户地址电话 /// [SugarColumn(ColumnDescription = "客户地址电话", Length = 100, IsNullable = true)] public string? CustomerAddTel { get; set; } /// /// 发票类别 /// [SugarColumn(ColumnDescription = "发票类别")] public InvoiceCategory Category { get; set; } /// /// 代开客户 /// [SugarColumn(ColumnDescription = "代开客户", Length = 200, IsNullable = true)] public string? AutualCustomerName { get; set; } /// /// 其他币别金额 /// [SugarColumn(ColumnDescription = "其他币别金额")] public decimal OtherCurrencyAmount { get; set; } /// /// 金额描述 /// [SugarColumn(ColumnDescription = "金额描述", Length = 100, IsNullable = true)] public string? AmountDesc { get; set; } /// /// 推送方式 /// [SugarColumn(ColumnDescription = "推送方式", Length = 10, IsNullable = true)] public string? PushMode { get; set; } /// /// 推送方式值 /// [SugarColumn(IsIgnore = true)] public PushMode[] PushModeValues { get; set; } = []; /// /// 手机号 /// [SugarColumn(ColumnDescription = "手机号", Length = 20, IsNullable = true)] public string? CellPhoneNO { get; set; } /// /// 邮箱 /// [SugarColumn(ColumnDescription = "邮箱", Length = 100, IsNullable = true)] public string? Email { get; set; } /// /// 开票备注 /// [SugarColumn(ColumnDescription = "开票备注", IsNullable = true)] public string? InvoiceRemark { get; set; } /// /// 发票明细 /// [Navigate(NavigateType.OneToMany, nameof(InvoiceDetail.ApplicationId))] public List? InvoiceDetails { get; set; } } }