using System.ComponentModel;
using Masuit.Tools.Systems;
using SqlSugar;
namespace DS.WMS.Core.Info.Entity
{
///
/// 往来单位干系人
///
[SugarTable("info_client_stakeholder", "往来单位干系人")]
public class InfoClientStakeholder
{
///
/// 主键ID
///
[SugarColumn(IsPrimaryKey = true)]
public long Id { get; set; }
///
/// 客户ID
///
[SugarColumn(ColumnDescription = "客户ID", IsNullable = false)]
public long ClientId { get; set; }
///
/// 客户简称
///
[SugarColumn(IsIgnore = true)]
public string? ClientShortName { get; set; }
///
/// 干系人ID
///
[SugarColumn(ColumnDescription = "干系人ID", IsNullable = false)]
public long UserId { get; set; }
///
/// 干系人姓名
///
[SugarColumn(ColumnDescription = "干系人姓名", Length = 200, IsNullable = true)]
public string? UserName { get; set; }
///
/// 生效日期
///
[SugarColumn(ColumnDescription = "生效日期", IsNullable = false)]
public DateTime StartDate { get; set; }
///
/// 失效日期
///
[SugarColumn(ColumnDescription = "失效日期", IsNullable = false)]
public DateTime EndDate { get; set; }
///
/// 干系人状态
///
[SugarColumn(ColumnDescription = "干系人状态", IsNullable = false)]
public StakeholderStatus Status { get; set; }
///
/// 干系人状态文本
///
[SugarColumn(IsIgnore = true)]
public string StatusText => Status.GetDescription();
///
/// 备注
///
[SugarColumn(ColumnDescription = "备注", Length = 200, IsNullable = true)]
public string? Remark { get; set; }
///
/// 创建人ID
///
[SugarColumn(ColumnDescription = "创建人ID", IsNullable = false)]
public long CreateBy { get; set; }
///
/// 创建人姓名
///
[SugarColumn(ColumnDescription = "创建人姓名", Length = 200, IsNullable = true)]
public string? CreateByName { get; set; }
///
/// 创建时间
///
[SugarColumn(ColumnDescription = "创建时间", IsNullable = false)]
public DateTime CreateTime { get; set; }
}
///
/// 干系人状态
///
public enum StakeholderStatus
{
///
/// 未提交
///
[Description("未提交")]
Uncommitted = 0,
///
/// 待审批
///
[Description("待审批")]
Pending = 1,
///
/// 审核通过
///
[Description("审核通过")]
Approved = 2,
///
/// 审核驳回
///
[Description("审核驳回")]
Rejected = 3
}
}