using DS.Module.Core.Enums;
using DS.WMS.Core.Application.Entity;
using DS.WMS.Core.Code.Entity;
using SqlSugar;
namespace DS.WMS.Core.Settlement.Entity
{
///
/// 结算相关基类
///
public class SettlementBase : ApplicationBase
{
///
/// 结算单号
///
[SugarColumn(ColumnDescription = "结算单号", Length = 50, IsNullable = true)]
public string? SettlementNO { get; set; }
///
/// 结算日期
///
[SugarColumn(ColumnDescription = "结算日期", IsNullable = false)]
public DateTime SettlementDate { get; set; }
///
/// 结算方式
///
[SugarColumn(ColumnDescription = "结算方式", IsNullable = true)]
public long? SettlementTypeId { get; set; }
[Navigate(NavigateType.OneToOne, nameof(SettlementTypeId))]
public CodeStlMode SettlementType { get; set; }
///
/// 结算类型
///
[SugarColumn(ColumnDescription = "结算类型", IsNullable = false)]
public SettlementMode Mode { get; set; }
///
/// 单据类型
///
[SugarColumn(ColumnDescription = "单据类型", IsNullable = false)]
public SettlementBillType BillType { get; set; }
///
/// 结算金额
///
[SugarColumn(ColumnDescription = "结算金额", IsNullable = false)]
public decimal Amount { get; set; }
///
/// 结算银行账户
///
[SugarColumn(ColumnDescription = "结算银行账户", Length = 50, IsNullable = true)]
public string? Account { get; set; }
///
/// 结算业务类别
///
[SugarColumn(ColumnDescription = "结算业务类别", IsNullable = true)]
public SettlementCategory? Category { get; set; }
///
/// 是否锁定
///
[SugarColumn(ColumnDescription = "是否锁定", IsNullable = false, DefaultValue = "0")]
public bool IsLocked { get; set; }
///
/// 锁定用户
///
[SugarColumn(ColumnDescription = "锁定用户", IsNullable = true)]
public long? LockUserId { get; set; }
///
/// 锁定时间
///
[SugarColumn(ColumnDescription = "锁定时间", IsNullable = true)]
public DateTime? LockTime { get; set; }
///
/// 解锁用户
///
[SugarColumn(ColumnDescription = "解锁用户", IsNullable = true)]
public long? UnlockUserId { get; set; }
///
/// 解锁时间
///
[SugarColumn(ColumnDescription = "解锁时间", IsNullable = true)]
public DateTime? UnlockTime { get; set; }
///
/// 所属机构(公司)
///
[SugarColumn(ColumnDescription = "所属机构(公司)", IsNullable = true)]
public long? OrgId { get; set; }
}
}