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.

147 lines
4.7 KiB
C#

using DS.Module.Core.Enums;
using DS.WMS.Core.Info.Entity;
using Masuit.Tools.Systems;
using SqlSugar;
namespace DS.WMS.Core.Application.Entity
{
/// <summary>
/// 发票申请单
/// </summary>
[SugarTable("application_invoice", TableDescription = "发票申请单")]
public class InvoiceApplication : ApplicationForm
{
/// <summary>
/// 客户银行美元账号ID
/// </summary>
[SugarColumn(ColumnDescription = "客户银行美元账号ID", IsNullable = true)]
public long? USDCustomerBankId { get; set; }
/// <summary>
/// 客户银行美元账号
/// </summary>
[Navigate(NavigateType.OneToOne, nameof(USDCustomerBankId))]
public InfoClientBank? USDCustomerBank { get; set; }
/// <summary>
/// 状态
/// </summary>
[SugarColumn(ColumnDescription = "状态")]
public new InvoiceApplicationStatus Status { get; set; }
/// <summary>
/// 状态文本
/// </summary>
[SugarColumn(IsIgnore = true)]
public string StatusText => Status.GetDescription();
/// <summary>
/// 实际发票号
/// </summary>
[SugarColumn(ColumnDescription = "实际发票号", Length = 50, IsNullable = true)]
public string? AcutalInvoiceNO { get; set; }
/// <summary>
/// 发票抬头
/// </summary>
[SugarColumn(ColumnDescription = "发票抬头", Length = 200, IsNullable = false)]
public string InvoiceHeader { get; set; }
/// <summary>
/// 发票单据号
/// </summary>
[SugarColumn(ColumnDescription = "发票单据号", Length = 30, IsNullable = true)]
public string? InvoiceBillNO { get; set; }
/// <summary>
/// 发票税率
/// </summary>
[SugarColumn(ColumnDescription = "发票税率", IsNullable = false)]
public decimal TaxRate { get; set; }
/// <summary>
/// 纳税人识别号
/// </summary>
[SugarColumn(ColumnDescription = "纳税人识别号", Length = 60, IsNullable = false)]
public string TaxID { get; set; } = string.Empty;
/// <summary>
/// 申请金额
/// </summary>
[SugarColumn(ColumnDescription = "申请金额")]
public decimal ApplyAmount { get; set; }
/// <summary>
/// 申请金额大写
/// </summary>
[SugarColumn(ColumnDescription = "申请金额大写", Length = 100, IsNullable = true)]
public string? AmountUppercase { get; set; }
/// <summary>
/// 客户地址电话
/// </summary>
[SugarColumn(ColumnDescription = "客户地址电话", Length = 100, IsNullable = true)]
public string? CustomerAddTel { get; set; }
/// <summary>
/// 发票类别
/// </summary>
[SugarColumn(ColumnDescription = "发票类别")]
public InvoiceCategory Category { get; set; }
/// <summary>
/// 代开客户
/// </summary>
[SugarColumn(ColumnDescription = "代开客户", Length = 200, IsNullable = true)]
public string? AutualCustomerName { get; set; }
/// <summary>
/// 其他币别金额
/// </summary>
[SugarColumn(ColumnDescription = "其他币别金额")]
public decimal OtherCurrencyAmount { get; set; }
/// <summary>
/// 金额描述
/// </summary>
[SugarColumn(ColumnDescription = "金额描述", Length = 100, IsNullable = true)]
public string? AmountDesc { get; set; }
/// <summary>
/// 推送方式
/// </summary>
[SugarColumn(ColumnDescription = "推送方式", Length = 10, IsNullable = true)]
public string? PushMode { get; set; }
/// <summary>
/// 推送方式值
/// </summary>
[SugarColumn(IsIgnore = true)]
public PushMode[] PushModeValues { get; set; } = [];
/// <summary>
/// 手机号
/// </summary>
[SugarColumn(ColumnDescription = "手机号", Length = 20, IsNullable = true)]
public string? CellPhoneNO { get; set; }
/// <summary>
/// 邮箱
/// </summary>
[SugarColumn(ColumnDescription = "邮箱", Length = 100, IsNullable = true)]
public string? Email { get; set; }
/// <summary>
/// 开票备注
/// </summary>
[SugarColumn(ColumnDescription = "开票备注", IsNullable = true)]
public string? InvoiceRemark { get; set; }
/// <summary>
/// 发票明细
/// </summary>
[Navigate(NavigateType.OneToMany, nameof(InvoiceDetail.ApplicationId))]
public List<InvoiceDetail>? InvoiceDetails { get; set; }
}
}