|
|
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
|
|
|
{
|
|
|
/// <summary>
|
|
|
/// 发票申请单
|
|
|
/// </summary>
|
|
|
public class InvoiceApplicationDto : ApplicationDto
|
|
|
{
|
|
|
/// <summary>
|
|
|
/// RMB开票金额
|
|
|
/// </summary>
|
|
|
public decimal? AmountRMB { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// USD开票金额
|
|
|
/// </summary>
|
|
|
public decimal? AmountUSD { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 其他币别开票金额
|
|
|
/// </summary>
|
|
|
public decimal? AmountOther { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 汇总统计
|
|
|
/// </summary>
|
|
|
public List<SummaryItem>? SummaryItems { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 状态
|
|
|
/// </summary>
|
|
|
public InvoiceApplicationStatus Status { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 状态文本
|
|
|
/// </summary>
|
|
|
public string StatusText => Status.GetDescription();
|
|
|
|
|
|
/// <summary>
|
|
|
/// 发票抬头
|
|
|
/// </summary>
|
|
|
public string InvoiceHeader { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 纳税人识别号
|
|
|
/// </summary>
|
|
|
public string TaxID { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 税率
|
|
|
/// </summary>
|
|
|
public decimal TaxRate { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 申请金额
|
|
|
/// </summary>
|
|
|
public decimal ApplyAmount { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 申请金额大写
|
|
|
/// </summary>
|
|
|
public string? AmountUppercase { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 所属机构(公司)ID
|
|
|
/// </summary>
|
|
|
[IgnoreDataMember]
|
|
|
public long? OrgId { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 所属机构(公司)
|
|
|
/// </summary>
|
|
|
[IgnoreDataMember]
|
|
|
public string? OrgName { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 客户地址电话
|
|
|
/// </summary>
|
|
|
public string? CustomerAddTel { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 发票类别
|
|
|
/// </summary>
|
|
|
public InvoiceCategory Category { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 发票类别名
|
|
|
/// </summary>
|
|
|
public string CategoryText => Category.GetDescription();
|
|
|
|
|
|
/// <summary>
|
|
|
/// 代开客户
|
|
|
/// </summary>
|
|
|
public string? AutualCustomerName { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 实际发票号
|
|
|
/// </summary>
|
|
|
public string? AcutalInvoiceNO { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 其他币别金额
|
|
|
/// </summary>
|
|
|
public decimal OtherCurrencyAmount { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 发票单据号
|
|
|
/// </summary>
|
|
|
public string? InvoiceBillNO { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 金额描述
|
|
|
/// </summary>
|
|
|
public string? AmountDesc { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 推送方式
|
|
|
/// </summary>
|
|
|
[IgnoreDataMember]
|
|
|
public string? PushMode { get; set; }
|
|
|
|
|
|
public PushMode[]? PushModeValues { get; set; }
|
|
|
|
|
|
public string PushModeText => PushModeValues == null ? string.Empty :
|
|
|
string.Join(",", PushModeValues.Select(x => x.GetDescription()));
|
|
|
|
|
|
/// <summary>
|
|
|
/// 手机号
|
|
|
/// </summary>
|
|
|
public string? CellPhoneNO { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 邮箱
|
|
|
/// </summary>
|
|
|
public string? Email { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 开票备注
|
|
|
/// </summary>
|
|
|
public string? InvoiceRemark { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// USD客户银行ID
|
|
|
/// </summary>
|
|
|
public long? USDCustomerBankId { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// USD银行名称
|
|
|
/// </summary>
|
|
|
public string? USDCustomerBankName { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// USD银行账号
|
|
|
/// </summary>
|
|
|
public string? USDCustomerAccount { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 创建人ID
|
|
|
/// </summary>
|
|
|
public long CreateBy { get; set; }
|
|
|
|
|
|
public string CreateByName { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 创建时间
|
|
|
/// </summary>
|
|
|
public DateTime CreateTime { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 发票申请明细
|
|
|
/// </summary>
|
|
|
public List<InvoiceApplicationDetailDto>? Details { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 发票明细
|
|
|
/// </summary>
|
|
|
public List<InvoiceDetail>? InvoiceDetails { get; set; }
|
|
|
|
|
|
[IgnoreDataMember]
|
|
|
public List<CurrencyAmount>? OriginalAmountList { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 原币金额
|
|
|
/// </summary>
|
|
|
public string OriginalAmount => OriginalAmountList == null ? string.Empty : string.Join(" ", OriginalAmountList);
|
|
|
|
|
|
[IgnoreDataMember]
|
|
|
public List<CurrencyAmount>? UnsettledList { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 未结算金额
|
|
|
/// </summary>
|
|
|
public string UnsettledAmount => UnsettledList == null ? string.Empty : string.Join(" ", UnsettledList);
|
|
|
}
|
|
|
|
|
|
public class CurrencyAmount
|
|
|
{
|
|
|
public string Currency { get; set; }
|
|
|
|
|
|
public decimal Amount { get; set; }
|
|
|
|
|
|
public override string ToString()
|
|
|
{
|
|
|
return Currency + Amount;
|
|
|
}
|
|
|
}
|
|
|
}
|