|
@@ -1,5 +1,5 @@
|
|
|
-using System.ComponentModel;
|
|
|
-using Hotline.Share.Dtos.FlowEngine;
|
|
|
+using Hotline.Share.Dtos.FlowEngine;
|
|
|
+using Hotline.Share.Dtos.FlowEngine.Definition;
|
|
|
using Hotline.Share.Enums.FlowEngine;
|
|
|
using XF.Domain.Entities;
|
|
|
|
|
@@ -8,75 +8,75 @@ namespace Hotline.FlowEngine.Definitions;
|
|
|
/// <summary>
|
|
|
/// 模板定义节点
|
|
|
/// </summary>
|
|
|
-public class StepDefine
|
|
|
+public class StepDefine : StepDefineBasic
|
|
|
{
|
|
|
- public string Name { get; set; }
|
|
|
-
|
|
|
- /// <summary>
|
|
|
- /// 模板内唯一
|
|
|
- /// </summary>
|
|
|
- public string Code { get; set; }
|
|
|
-
|
|
|
- /// <summary>
|
|
|
- /// 办理/汇总、开始/结束
|
|
|
- /// </summary>
|
|
|
- public EStepType StepType { get; init; }
|
|
|
-
|
|
|
- /// <summary>
|
|
|
- /// 业务属性
|
|
|
- /// </summary>
|
|
|
- public EBusinessProperty BusinessProperty { get; set; }
|
|
|
-
|
|
|
- /// <summary>
|
|
|
- /// 办理者类型
|
|
|
- /// </summary>
|
|
|
- public EHandlerType HandlerType { get; set; }
|
|
|
-
|
|
|
- /// <summary>
|
|
|
- /// 办理者类型下的配置(或是直接保存办理者)
|
|
|
- /// <example>
|
|
|
- /// 根据类型可能为:roles, orgLevels, orgTypes, orgCodes, userIds
|
|
|
- /// </example>
|
|
|
- /// </summary>
|
|
|
- public List<KeyValuePair<string, string>> HandlerTypeItems { get; set; } = new();
|
|
|
-
|
|
|
- /// <summary>
|
|
|
- /// 是否支持发起会签
|
|
|
- /// </summary>
|
|
|
- public bool CanStartCountersign { get; set; }
|
|
|
-
|
|
|
- /// <summary>
|
|
|
- /// 执行模式(自动与否)
|
|
|
- /// </summary>
|
|
|
- public EExecuteMode ExecuteMode { get; set; }
|
|
|
-
|
|
|
- /// <summary>
|
|
|
- /// 实例化模式
|
|
|
- /// </summary>
|
|
|
- public EInstanceMode InstanceMode { get; set; }
|
|
|
-
|
|
|
- /// <summary>
|
|
|
- /// 循环策略
|
|
|
- /// </summary>
|
|
|
- public ELoopPolicy? LoopPolicy { get; set; }
|
|
|
-
|
|
|
- /// <summary>
|
|
|
- /// 终止loop目标
|
|
|
- /// <remarks>
|
|
|
- /// 按直属部门循环既保存orgId
|
|
|
- /// </remarks>
|
|
|
- /// </summary>
|
|
|
- public string? TerminalLoopDestination{ get; set; }
|
|
|
-
|
|
|
- /// <summary>
|
|
|
- /// 标签
|
|
|
- /// </summary>
|
|
|
- public string? Tag { get; set; }
|
|
|
-
|
|
|
- /// <summary>
|
|
|
- /// 可跳转节点
|
|
|
- /// </summary>
|
|
|
- public List<StepDefineSimple> NextSteps { get; set; }
|
|
|
+ //public string Name { get; set; }
|
|
|
+
|
|
|
+ ///// <summary>
|
|
|
+ ///// 模板内唯一
|
|
|
+ ///// </summary>
|
|
|
+ //public string Code { get; set; }
|
|
|
+
|
|
|
+ ///// <summary>
|
|
|
+ ///// 办理/汇总、开始/结束
|
|
|
+ ///// </summary>
|
|
|
+ //public EStepType StepType { get; init; }
|
|
|
+
|
|
|
+ ///// <summary>
|
|
|
+ ///// 业务属性
|
|
|
+ ///// </summary>
|
|
|
+ //public EBusinessProperty BusinessProperty { get; set; }
|
|
|
+
|
|
|
+ ///// <summary>
|
|
|
+ ///// 办理者类型
|
|
|
+ ///// </summary>
|
|
|
+ //public EHandlerType HandlerType { get; set; }
|
|
|
+
|
|
|
+ ///// <summary>
|
|
|
+ ///// 办理者类型下的配置(或是直接保存办理者)
|
|
|
+ ///// <example>
|
|
|
+ ///// 根据类型可能为:roles, orgLevels, orgTypes, orgCodes, userIds
|
|
|
+ ///// </example>
|
|
|
+ ///// </summary>
|
|
|
+ //public List<KeyValuePair<string, string>> HandlerTypeItems { get; set; } = new();
|
|
|
+
|
|
|
+ ///// <summary>
|
|
|
+ ///// 是否支持发起会签
|
|
|
+ ///// </summary>
|
|
|
+ //public bool CanStartCountersign { get; set; }
|
|
|
+
|
|
|
+ ///// <summary>
|
|
|
+ ///// 执行模式(自动与否)
|
|
|
+ ///// </summary>
|
|
|
+ //public EExecuteMode ExecuteMode { get; set; }
|
|
|
+
|
|
|
+ ///// <summary>
|
|
|
+ ///// 实例化模式
|
|
|
+ ///// </summary>
|
|
|
+ //public EInstanceMode InstanceMode { get; set; }
|
|
|
+
|
|
|
+ ///// <summary>
|
|
|
+ ///// 循环策略(loop才有)
|
|
|
+ ///// </summary>
|
|
|
+ //public ELoopPolicy? LoopPolicy { get; set; }
|
|
|
+
|
|
|
+ ///// <summary>
|
|
|
+ ///// 到此标记loop终止(loop才有)
|
|
|
+ ///// <remarks>
|
|
|
+ ///// 按直属部门循环既保存orgId
|
|
|
+ ///// </remarks>
|
|
|
+ ///// </summary>
|
|
|
+ //public string? TerminalLoopTag { get; set; }
|
|
|
+
|
|
|
+ ///// <summary>
|
|
|
+ ///// 标签
|
|
|
+ ///// </summary>
|
|
|
+ //public string? Tag { get; set; }
|
|
|
+
|
|
|
+ ///// <summary>
|
|
|
+ ///// 可跳转节点
|
|
|
+ ///// </summary>
|
|
|
+ //public List<StepDefineSimple> NextSteps { get; set; }
|
|
|
|
|
|
#region method
|
|
|
|
|
@@ -85,55 +85,4 @@ public class StepDefine
|
|
|
public bool IsOrg() => BusinessProperty is EBusinessProperty.Department;
|
|
|
|
|
|
#endregion
|
|
|
-}
|
|
|
-
|
|
|
-/// <summary>
|
|
|
-/// 执行模式
|
|
|
-/// </summary>
|
|
|
-public enum EExecuteMode
|
|
|
-{
|
|
|
- [Description("人工审批")]
|
|
|
- Manual = 0,
|
|
|
-
|
|
|
- [Description("自动通过")]
|
|
|
- AutoPass = 1,
|
|
|
-
|
|
|
- [Description("自动拒绝")]
|
|
|
- AutoReject = 2,
|
|
|
-}
|
|
|
-
|
|
|
-/// <summary>
|
|
|
-/// 实例化循环策略
|
|
|
-/// </summary>
|
|
|
-public enum ELoopPolicy
|
|
|
-{
|
|
|
- /// <summary>
|
|
|
- /// 直属上级(中心看作一级部门上级)
|
|
|
- /// </summary>
|
|
|
- [Description("直属上级(中心看作一级部门上级)")]
|
|
|
- OrgLevelUpToCenter,
|
|
|
-
|
|
|
- /// <summary>
|
|
|
- /// 直属上级
|
|
|
- /// </summary>
|
|
|
- [Description("直属上级")]
|
|
|
- OrgLevelUp,
|
|
|
-
|
|
|
- /// <summary>
|
|
|
- /// 直属下级
|
|
|
- /// </summary>
|
|
|
- [Description("直属下级")]
|
|
|
- OrgLevelDown,
|
|
|
-}
|
|
|
-
|
|
|
-/// <summary>
|
|
|
-/// 实例化模式(依据模板实例化step的模式)
|
|
|
-/// </summary>
|
|
|
-public enum EInstanceMode
|
|
|
-{
|
|
|
- [Description("单次")]
|
|
|
- Single = 0,
|
|
|
-
|
|
|
- [Description("循环")]
|
|
|
- Loop = 1
|
|
|
}
|