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