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.

179 lines
4.5 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
{
public List<SummaryItem> SummaryItems { get; set; }
/// <summary>
/// 状态
/// </summary>
public InvoiceApplicationStatus Status { get; set; }
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; }
public string CategoryText => Category.GetDescription();
/// <summary>
/// 代开客户
/// </summary>
public string? AutualCustomerName { get; set; }
/// <summary>
/// 其他币别金额
/// </summary>
public decimal OtherCurrencyAmount { get; set; }
/// <summary>
/// 发票单据号
/// </summary>
public string? InvoiceBillNO { get; set; }
/// <summary>
/// 开票币别
/// </summary>
public string InvoiceCurrency { get; set; }
/// <summary>
/// 金额描述
/// </summary>
public string? AmountDesc { get; set; }
/// <summary>
/// 推送方式
/// </summary>
public PushMode PushMode { get; set; }
public string PushModeText => PushMode.GetDescription();
/// <summary>
/// 手机号
/// </summary>
public string? CellPhoneNO { get; set; }
/// <summary>
/// 邮箱
/// </summary>
public string? Email { get; set; }
/// <summary>
/// 开票备注
/// </summary>
public string? InvoiceRemark { 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 DateTime ApplyDate => CreateTime.Date;
/// <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);
/// <summary>
/// 是否已审核(仅用于查询)
/// </summary>
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;
}
}
}