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