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.

160 lines
5.1 KiB
C#

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
{
/// <summary>
/// 往来单位费用模板
/// </summary>
[SugarTable("fee_cust_template", "往来单位费用模板")]
public class FeeCustTemplate : SharedOrgModel<long>
{
/// <summary>
/// 业务类型
/// </summary>
[SugarColumn(ColumnDescription = "业务类型")]
public BusinessType BusinessType { get; set; }
/// <summary>
/// 业务类型文本
/// </summary>
[SugarColumn(IsIgnore = true)]
public string BusinessTypeText => BusinessType.GetDescription();
/// <summary>
/// 结算对象Id
/// </summary>
[SugarColumn(ColumnDescription = "结算对象Id")]
public long? CustomerId { get; set; }
/// <summary>
/// 结算对象
/// </summary>
[SugarColumn(ColumnDescription = "结算对象", Length = 100, IsNullable = true)]
public string? CustomerName { get; set; }
/// <summary>
/// 结算对象类型
/// </summary>
[SugarColumn(ColumnDescription = "结算对象类型", IsNullable = true)]
public string? CustomerType { get; set; }
/// <summary>
/// 名称
/// </summary>
[SugarColumn(ColumnDescription = "名称", Length = 50, IsNullable = false)]
public string Name { get; set; } = string.Empty;
/// <summary>
/// 说明
/// </summary>
[SugarColumn(ColumnDescription = "说明", Length = 200, IsNullable = true)]
public string? Description { get; set; }
/// <summary>
/// 判定条件
/// </summary>
[SugarColumn(ColumnDescription = "判定条件", IsNullable = true)]
public string? Condition { get; set; }
/// <summary>
/// 费用类型
/// </summary>
[SugarColumn(ColumnDescription = "费用类型", IsNullable = false)]
public FeeType FeeType { get; set; }
/// <summary>
/// 费用类型文本
/// </summary>
[SugarColumn(IsIgnore = true)]
public string FeeTypeText => FeeType.GetDescription();
/// <summary>
/// 开始时间
/// </summary>
[SugarColumn(ColumnDescription = "开始时间", IsNullable = true)]
public DateTime? StartTime { get; set; }
/// <summary>
/// 结束时间
/// </summary>
[SugarColumn(ColumnDescription = "结束时间", IsNullable = true)]
public DateTime? EndTime { get; set; }
/// <summary>
/// 是否禁用
/// </summary>
[SugarColumn(ColumnDescription = "是否禁用", IsNullable = false)]
public bool IsDisabled { get; set; }
/// <summary>
/// 费用类别ID
/// </summary>
[SugarColumn(ColumnDescription = "费用类别ID", Length = 50, IsNullable = true)]
public string? FeeCategoryId { get; set; }
/// <summary>
/// 费用类别名称
/// </summary>
[SugarColumn(ColumnDescription = "费用类别名称", Length = 50, IsNullable = true)]
public string? FeeCategoryName { get; set; }
/// <summary>
/// 优先级
/// </summary>
[SugarColumn(ColumnDescription = "优先级", IsNullable = false)]
public int Priority { get; set; }
/// <summary>
/// 起运港代码
/// </summary>
[SugarColumn(ColumnDescription = "起运港代码", Length = 5, IsNullable = true)]
public string? POLCode { get; set; }
/// <summary>
/// 卸货港代码
/// </summary>
[SugarColumn(ColumnDescription = "卸货港代码", Length = 5, IsNullable = true)]
public string? PODCode { get; set; }
/// <summary>
/// 航线代码
/// </summary>
[SugarColumn(ColumnDescription = "航线代码", Length = 50, IsNullable = true)]
public long? LaneId { get; set; }
/// <summary>
/// 承运商代码
/// </summary>
[SugarColumn(ColumnDescription = "承运商代码", Length = 50, IsNullable = true)]
public long? CarrierId { get; set; }
/// <summary>
/// 付费方式代码
/// </summary>
[SugarColumn(ColumnDescription = "付费方式代码", Length = 50, IsNullable = true)]
public string? MBLFrtCode { get; set; }
/// <summary>
/// 业务来源ID
/// </summary>
[SugarColumn(ColumnDescription = "业务来源ID", IsNullable = true)]
public long? SourceId { get; set; }
/// <summary>
/// 订舱口ID
/// </summary>
[SugarColumn(ColumnDescription = "订舱口ID", IsNullable = true)]
public long? ForwarderId { get; set; }
/// <summary>
/// 模板明细
/// </summary>
[Navigate(NavigateType.OneToMany, nameof(FeeCustTemplateDetail.TemplateId))]
public List<FeeCustTemplateDetail> Details { get; set; } = [];
}
}