126 lines
3.3 KiB
C#

using System.ComponentModel;
using DS.Module.Core;
using DS.Module.Core.Data;
using DS.WMS.Core.Op.Entity;
using SqlSugar;
namespace DS.WMS.Core.Flow.Entity;
/// <summary>
/// 工作流实例
/// </summary>
[SugarTable("sys_flow_instance")]
public class FlowInstance : BaseTenantModel<long>
{
/// <summary>
/// 业务Id
/// </summary>
[Description("业务Id")]
public long BusinessId { get; set; }
/// <summary>
/// 业务类型
/// </summary>
[Description("业务类型")]
public BusinessType? BusinessType { get; set; }
/// <summary>
/// 模板Id
/// </summary>
[Description("模板Id")]
public long TemplateId { get; set; }
/// <summary>
/// 引用模板
/// </summary>
[Navigate(NavigateType.OneToOne, nameof(TemplateId))]
public FlowTemplateTenant? Template { get; set; }
/// <summary>
/// 客户自定义名称
/// </summary>
[Description("客户自定义名称")]
public string CustomName { get; set; }
/// <summary>
/// 模块Id
/// </summary>
[Description("模块Id")]
public long PermissionId { get; set; }
/// <summary>
/// 当前节点ID
/// </summary>
[Description("当前节点ID")]
public string ActivityId { get; set; } = "";
/// <summary>
/// 当前节点类型0会签节点
/// </summary>
[Description("当前节点类型0会签节点")]
public int? ActivityType { get; set; }
/// <summary>
/// 当前节点名称
/// </summary>
[Description("当前节点名称")]
public string ActivityName { get; set; }
/// <summary>
/// 前一个ID
/// </summary>
[Description("前一个ID")]
public string PreviousId { get; set; }
/// <summary>
/// 执行人
/// </summary>
[Description("执行人")]
public string MakerList { get; set; }
/// <summary>
/// 工作流状态
/// </summary>
[Description("工作流状态")]
public FlowStatusEnum FlowStatus { get; set; } = FlowStatusEnum.Ready;
/// <summary>
/// 中文视图名;设计方案时,提供中文字段的视图来源
/// </summary>
[Description("中文视图名;设计方案时,提供中文字段的视图来源")]
public string ColumnView { get; set; }
/// <summary>
/// 流程内容
/// </summary>
[SugarColumn(ColumnDescription = "流程内容", IsNullable = true, ColumnDataType = StaticConfig.CodeFirst_BigString)]
public string Content { get; set; }
/// <summary>
/// 工作流类型
/// </summary>
[SugarColumn(ColumnDescription = "工作流类型", IsNullable = true, Length = 50)]
public AuditType? Type { get; set; }
/// <summary>
/// 是否已执行回调
/// </summary>
[SugarColumn(ColumnDescription = "是否已执行回调")]
public bool IsCallbackExecuted { get; set; }
/// <summary>
/// 执行人变更回调地址
/// </summary>
[SugarColumn(IsIgnore = true)]
public string? MarkerNotifyURL { get; set; }
/// <summary>
/// 审批完成回调地址
/// </summary>
[SugarColumn(IsIgnore = true)]
public string? CallbackURL { get; set; }
/// <summary>
/// 工作流是否已完成
/// </summary>
[SugarColumn(IsIgnore = true)]
public bool IsCompleted => string.IsNullOrEmpty(MakerList) || MakerList == "-1" || MakerList == "1";
}