using System.Runtime.Serialization; using DS.Module.Core.Enums; using DS.WMS.Core.Application.Entity; using Masuit.Tools.Systems; namespace DS.WMS.Core.Application.Dtos { /// /// 发票申请单 /// public class InvoiceApplicationDto : ApplicationDto { public List SummaryItems { get; set; } /// /// 状态 /// public InvoiceApplicationStatus Status { get; set; } public string StatusText => Status.GetDescription(); /// /// 发票抬头 /// public string InvoiceHeader { get; set; } /// /// 纳税人识别号 /// public string TaxID { get; set; } /// /// 税率 /// public decimal TaxRate { get; set; } /// /// 申请金额 /// public decimal ApplyAmount { get; set; } /// /// 申请金额大写 /// public string? AmountUppercase { get; set; } /// /// 所属机构(公司)ID /// [IgnoreDataMember] public long? OrgId { get; set; } /// /// 所属机构(公司) /// [IgnoreDataMember] public string? OrgName { get; set; } /// /// 客户地址电话 /// public string? CustomerAddTel { get; set; } /// /// 发票类别 /// public InvoiceCategory Category { get; set; } public string CategoryText => Category.GetDescription(); /// /// 代开客户 /// public string? AutualCustomerName { get; set; } /// /// 其他币别金额 /// public decimal OtherCurrencyAmount { get; set; } /// /// 发票单据号 /// public string? InvoiceBillNO { get; set; } /// /// 开票币别 /// public string InvoiceCurrency { get; set; } /// /// 金额描述 /// public string? AmountDesc { get; set; } /// /// 推送方式 /// public PushMode PushMode { get; set; } public string PushModeText => PushMode.GetDescription(); /// /// 手机号 /// public string? CellPhoneNO { get; set; } /// /// 邮箱 /// public string? Email { get; set; } /// /// 开票备注 /// public string? InvoiceRemark { get; set; } /// /// 创建人ID /// public long CreateBy { get; set; } public string CreateByName { get; set; } /// /// 创建时间 /// public DateTime CreateTime { get; set; } /// /// 申请开票日期 /// public DateTime ApplyDate => CreateTime.Date; /// /// 发票申请明细 /// public List? Details { get; set; } /// /// 发票明细 /// public List? InvoiceDetails { get; set; } [IgnoreDataMember] public List? OriginalAmountList { get; set; } /// /// 原币金额 /// public string OriginalAmount => OriginalAmountList == null ? string.Empty : string.Join(" ", OriginalAmountList); [IgnoreDataMember] public List? UnsettledList { get; set; } /// /// 未结算金额 /// public string UnsettledAmount => UnsettledList == null ? string.Empty : string.Join(" ", UnsettledList); /// /// 是否已审核(仅用于查询) /// public bool? IsAudited { get; set; } } public class CurrencyAmount { public string Currency { get; set; } public decimal Amount { get; set; } public override string ToString() { return Currency + Amount; } } }