|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Runtime.Serialization;
|
|
|
|
|
using DS.Module.Core.Data;
|
|
|
|
|
using DS.WMS.Core.Info.Entity;
|
|
|
|
|
using SqlSugar;
|
|
|
|
|
|
|
|
|
|
namespace DS.WMS.Core.Application.Entity
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 申请相关业务基类
|
|
|
|
|
/// </summary>
|
|
|
|
|
public abstract class ApplicationBase : BaseOrgModelV2<long>
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 申请单编号
|
|
|
|
|
/// </summary>
|
|
|
|
|
[SugarColumn(ColumnDescription = "申请单编号", Length = 50, IsNullable = false)]
|
|
|
|
|
public string ApplicationNO { get; set; } = string.Empty;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 申请单状态
|
|
|
|
|
/// </summary>
|
|
|
|
|
[SugarColumn(ColumnDescription = "申请单状态", IsNullable = false)]
|
|
|
|
|
public virtual int Status { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 客户ID
|
|
|
|
|
/// </summary>
|
|
|
|
|
[SugarColumn(ColumnDescription = "客户ID", IsNullable = false)]
|
|
|
|
|
public long CustomerId { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 客户
|
|
|
|
|
/// </summary>
|
|
|
|
|
[Navigate(NavigateType.OneToOne, nameof(CustomerId))]
|
|
|
|
|
public InfoClient? Customer { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 客户名称
|
|
|
|
|
/// </summary>
|
|
|
|
|
[SugarColumn(ColumnDescription = "客户名称", Length = 200)]
|
|
|
|
|
public string? CustomerName { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 客户银行账号ID
|
|
|
|
|
/// </summary>
|
|
|
|
|
[SugarColumn(ColumnDescription = "客户银行账号ID", IsNullable = true)]
|
|
|
|
|
public long? CustomerBankId { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 客户银行账号
|
|
|
|
|
/// </summary>
|
|
|
|
|
[Navigate(NavigateType.OneToOne, nameof(CustomerBankId))]
|
|
|
|
|
public InfoClientBank? CustomerBank { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 币别
|
|
|
|
|
/// </summary>
|
|
|
|
|
[SugarColumn(ColumnDescription = "币别", IsNullable = true, Length = 3)]
|
|
|
|
|
public string? Currency { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 所属分部
|
|
|
|
|
/// </summary>
|
|
|
|
|
[SugarColumn(ColumnDescription = "所属分部", IsNullable = true)]
|
|
|
|
|
public long? SaleDeptId { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 费用明细
|
|
|
|
|
/// </summary>
|
|
|
|
|
[Navigate(NavigateType.OneToMany, nameof(ApplicationDetail.ApplicationId))]
|
|
|
|
|
public List<ApplicationDetail> Details { get; set; } = [];
|
|
|
|
|
|
|
|
|
|
///// <summary>
|
|
|
|
|
///// 新增的费用明细
|
|
|
|
|
///// </summary>
|
|
|
|
|
//[IgnoreDataMember, SugarColumn(IsIgnore = true)]
|
|
|
|
|
//public List<ApplicationDetail> NewDetails => Details.FindAll(x => x.Id == 0);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[IgnoreDataMember, SugarColumn(IsIgnore = true)]
|
|
|
|
|
public int DetailCount { get; set; }
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 申请单扩展基类
|
|
|
|
|
/// </summary>
|
|
|
|
|
public class ApplicationForm : ApplicationBase
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 审核人
|
|
|
|
|
/// </summary>
|
|
|
|
|
[SugarColumn(ColumnDescription = "审核人", IsNullable = true)]
|
|
|
|
|
public long? AuditerId { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 审核人名称
|
|
|
|
|
/// </summary>
|
|
|
|
|
[SugarColumn(ColumnDescription = "审核人名称", IsNullable = true)]
|
|
|
|
|
public string? AuditerName { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 审核时间
|
|
|
|
|
/// </summary>
|
|
|
|
|
[SugarColumn(ColumnDescription = "审核时间", IsNullable = true)]
|
|
|
|
|
public DateTime? AuditTime { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 审核备注
|
|
|
|
|
/// </summary>
|
|
|
|
|
[SugarColumn(ColumnDescription = "审核备注", Length = 200, IsNullable = true)]
|
|
|
|
|
public string? AuditRemark { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 驳回原因
|
|
|
|
|
/// </summary>
|
|
|
|
|
[SugarColumn(ColumnDescription = "驳回原因", Length = 200, IsNullable = true)]
|
|
|
|
|
public string? Reason { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 是否已打印
|
|
|
|
|
/// </summary>
|
|
|
|
|
[SugarColumn(ColumnDescription = "是否已打印", DefaultValue = "0")]
|
|
|
|
|
public bool IsPrinted { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 打印次数
|
|
|
|
|
/// </summary>
|
|
|
|
|
[SugarColumn(ColumnDescription = "打印次数", DefaultValue = "0")]
|
|
|
|
|
public int PrintTimes { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 打印人
|
|
|
|
|
/// </summary>
|
|
|
|
|
[SugarColumn(ColumnDescription = "打印人", IsNullable = true)]
|
|
|
|
|
public long? PrinterId { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 打印人名称
|
|
|
|
|
/// </summary>
|
|
|
|
|
[SugarColumn(ColumnDescription = "打印人名称", IsNullable = true)]
|
|
|
|
|
public string? PrinterName { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 打印时间
|
|
|
|
|
/// </summary>
|
|
|
|
|
[SugarColumn(ColumnDescription = "打印时间", IsNullable = true)]
|
|
|
|
|
public DateTime? PrintTime { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 发票号
|
|
|
|
|
/// </summary>
|
|
|
|
|
[SugarColumn(ColumnDescription = "发票号")]
|
|
|
|
|
public string? InvoiceNO { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 发票日期
|
|
|
|
|
/// </summary>
|
|
|
|
|
[SugarColumn(ColumnDescription = "发票日期")]
|
|
|
|
|
public DateTime? InvoiceDate { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 开票金额
|
|
|
|
|
/// </summary>
|
|
|
|
|
[SugarColumn(ColumnDescription = "开票金额")]
|
|
|
|
|
public decimal? InvoiceAmount { get; set; }
|
|
|
|
|
}
|
|
|
|
|
}
|