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.

191 lines
4.6 KiB
C#

using System.Runtime.Serialization;
using DS.Module.Core.Enums;
using Masuit.Tools.Systems;
namespace DS.WMS.Core.Settlement.Dtos
{
/// <summary>
/// 结算相关
/// </summary>
public class SettlementDto
{
/// <summary>
/// ID
/// </summary>
public long Id { get; set; }
/// <summary>
/// 申请单编号
/// </summary>
public string ApplicationNO { get; set; }
/// <summary>
/// 客户/结算单位ID
/// </summary>
public long? CustomerId { get; set; }
/// <summary>
/// 客户名称/结算单位
/// </summary>
public string? CustomerName { get; set; }
/// <summary>
/// 客户银行账号ID
/// </summary>
[IgnoreDataMember]
public long? CustomerBankId { get; set; }
/// <summary>
/// 客户银行
/// </summary>
public string? CustomerBank { get; set; }
/// <summary>
/// 客户结算账户
/// </summary>
public string? CustomerAccount { get; set; }
/// <summary>
/// 币别
/// </summary>
public string? Currency { get; set; }
/// <summary>
/// 结算金额
/// </summary>
public decimal Amount { get; set; }
/// <summary>
/// 原始金额
/// </summary>
public string OriginalAmount => string.Concat(Currency, Amount);
/// <summary>
/// 结算日期
/// </summary>
public DateTime SettlementDate { get; set; }
/// <summary>
/// 结算方式ID
/// </summary>
public long? SettlementTypeId { get; set; }
/// <summary>
/// 结算方式名称
/// </summary>
public string? SettlementTypeName { get; set; }
/// <summary>
/// 结算类型
/// </summary>
public SettlementMode Mode { get; set; }
public string ModeText => Mode.GetDescription();
/// <summary>
/// 单据类型
/// </summary>
public SettlementBillType BillType { get; set; }
public string BillTypeText => BillType.GetDescription();
/// <summary>
/// 结算银行账户
/// </summary>
public string? Account { get; set; }
/// <summary>
/// 结算业务类别
/// </summary>
public SettlementCategory? Category { get; set; }
public string? CategoryText => Category?.GetDescription();
/// <summary>
/// 是否锁定
/// </summary>
public bool IsLocked { get; set; }
[IgnoreDataMember]
public long? LockUserId { get; set; }
/// <summary>
/// 锁定用户
/// </summary>
public string? LockUser { get; set; }
/// <summary>
/// 锁定时间
/// </summary>
public DateTime? LockTime { get; set; }
[IgnoreDataMember]
public long? UnlockUserId { get; set; }
/// <summary>
/// 解锁用户
/// </summary>
public string? UnlockUser { get; set; }
/// <summary>
/// 解锁时间
/// </summary>
public DateTime? UnlockTime { get; set; }
/// <summary>
/// 结算单号
/// </summary>
public string? SettlementNO { get; set; }
/// <summary>
/// 相关号码
/// </summary>
public string? RelativeNO { get; set; }
/// <summary>
/// 所属机构公司ID
/// </summary>
[IgnoreDataMember]
public long? OrgId { get; set; }
/// <summary>
/// 所属机构(公司)名称
/// </summary>
public string? OrgName { get; set; }
/// <summary>
/// 所属分部ID
/// </summary>
[IgnoreDataMember]
public long? SaleDeptId { get; set; }
/// <summary>
/// 所属分部
/// </summary>
public string? SaleDeptName { get; set; }
/// <summary>
/// 备注
/// </summary>
public string? Note { get; set; }
[IgnoreDataMember]
public long CreateBy { get; set; }
/// <summary>
/// 创建人/结算人
/// </summary>
public string? CreateByName { get; set; }
/// <summary>
/// 创建日期
/// </summary>
public DateTime CreateTime { get; set; }
/// <summary>
/// 结算明细
/// </summary>
public List<SettlementDetailDto> Details { get; set; }
}
}