using DS.Module.Core;
using DS.Module.Core.Data;
using DS.WMS.Core.Op.Entity;
using Masuit.Tools.Systems;
using SqlSugar;
namespace DS.WMS.Core.Fee.Entity
{
///
/// 往来单位费用模板
///
[SugarTable("fee_cust_template", "往来单位费用模板")]
public class FeeCustTemplate : SharedOrgModel
{
///
/// 结算对象Id
///
[SugarColumn(ColumnDescription = "结算对象Id")]
public long CustomerId { get; set; }
///
/// 结算对象
///
[SugarColumn(ColumnDescription = "结算对象", Length = 100, IsNullable = true)]
public string? CustomerName { get; set; }
///
/// 结算对象类型
///
[SugarColumn(ColumnDescription = "结算对象类型", IsNullable = true)]
public CustomerTypeEnum? CustomerType { get; set; }
///
/// 业务类型
///
[SugarColumn(ColumnDescription = "业务类型")]
public BusinessType BusinessType { get; set; }
///
/// 业务类型文本
///
[SugarColumn(IsIgnore = true)]
public string BusinessTypeText => BusinessType.GetDescription();
///
/// 费用类型
///
[SugarColumn(ColumnDescription = "费用类型")]
public FeeType FeeType { get; set; }
///
/// 费用类型文本
///
[SugarColumn(IsIgnore = true)]
public string FeeTypeText => FeeType.GetDescription();
///
/// 名称
///
[SugarColumn(ColumnDescription = "名称", Length = 50, IsNullable = false)]
public string Name { get; set; } = string.Empty;
///
/// 说明
///
[SugarColumn(ColumnDescription = "说明", Length = 200, IsNullable = true)]
public string? Description { get; set; }
///
/// 判定条件
///
[SugarColumn(ColumnDescription = "判定条件", IsNullable = true)]
public string? Condition { get; set; }
///
/// 模板明细
///
[Navigate(NavigateType.OneToMany, nameof(FeeCustTemplateDetail.TemplateId))]
public List Details { get; set; } = [];
}
}