You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

212 lines
5.3 KiB
C#

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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;
}
}
}