namespace DS.WMS.Core.Flow.Dtos; /// /// 工作流根节点 /// public class FlowRoot { /// /// 节点Id /// public string Id { get; set; } /// /// 上级Id /// public string Pid { get; set; } /// /// 节点类型 start end condition exclusive /// public string Type { get; set; } /// /// /// public bool Def { get; set; } /// /// 节点名称 /// public string Name { get; set; } /// /// 子节点 /// public FlowChild Child { get; set; } /// /// 审批类型 指定user role /// public string? AssigneeType { get; set; } /// /// 指定用户 /// public List Users { get; set; } /// /// 指定角色 /// public List Roles { get; set; } } /// /// 工作流节点 /// public class FlowChild { public const string START = "start"; public const string END = "end"; public const string Approval = "approval";//审批人 public const string Copy = "cc";//抄送人 public const string Condition = "condition";//条件 public const string Exclusive = "exclusive";//互斥条件 public const string FORK = "fork"; //会签开始节点 public const string JOIN = "join"; //会签结束节点 /// /// 动态节点 /// public const string Dynamic = "dynamic"; /// /// 节点Id /// public string Id { get; set; } = string.Empty; /// /// 上级Id /// public string? Pid { get; set; } /// /// 节点类型 start end condition exclusive /// public string Type { get; set; } = string.Empty; /// /// 节点名称 /// public string Name { get; set; } /// /// 子节点 /// public FlowChild? Child { get; set; } /// /// 子节点列表 /// public List? Children { get; set; } /// /// 审批类型 指定user role /// public string AssigneeType { get; set; } /// /// 表单用户 /// public string FormUser { get; set; } /// /// 表单角色 /// public string FormRole { get; set; } /// /// 用户 /// public List Users { get; set; } /// /// 角色 /// public List Roles { get; set; } /// /// 上级 /// public int Leader { get; set; } /// /// /// public bool Choice { get; set; } /// /// /// public bool Self { get; set; } /// /// 多人审批方式 sequential-依次审批 joint-会签 single-或签 /// public string Multi { get; set; } /// /// 审批人为空时 pass 自动通过 reject 自动拒绝 /// public string Nobody { get; set; } /// /// 节点的附加数据项 /// /// The set information. public Setinfo SetInfo { get; set; } /// /// /// public Operations Operations { get; set; } /// /// 条件 /// public FlowGroupConditions? Conditions { get; set; } /// /// 是否使用SQL语句条件(默认为否) /// public bool UseSQL { get; set; } /// /// SQL查询语句 /// public string? SQLText { get; set; } /// /// 获取执行人的SQL查询语句 /// public string? MarkerSQLText { get; set; } } /// /// 操作 /// public class Operations { /// /// /// public bool Complete { get; set; } /// /// /// public bool Refuse { get; set; } /// /// /// public bool Save { get; set; } /// /// /// public bool Transfer { get; set; } /// /// /// public bool AddMulti { get; set; } /// /// /// public bool MinusMulti { get; set; } } /// /// 条件 /// public class FlowGroupConditions { /// /// 逻辑操作符 /// public string LogicalOperator { get; set; } /// /// 条件组 /// public List Conditions { get; set; } /// /// 分组 /// public List Groups { get; set; } } public class FlowConditions { /// /// 字段 /// public string Field { get; set; } /// /// 操作符 /// public string Operator { get; set; } /// /// 值 /// public string Value { get; set; } /// /// 表单 /// public string Tables { get; set; } } /// /// 节点附加信息 /// public class Setinfo { public const string ALL_USER = "ALL_USER"; //所有用户 public const string SPECIAL_ROLE = "SPECIAL_ROLE"; //指定角色 public const string SPECIAL_USER = "SPECIAL_USER"; //指定用户 public const string RUNTIME_SPECIAL_ROLE = "RUNTIME_SPECIAL_ROLE"; //运行时指定角色 public const string RUNTIME_SPECIAL_USER = "RUNTIME_SPECIAL_USER"; //运行时指定用户 /// /// 节点执行权限类型 /// public string NodeDesignate { get; set; } /// /// 驳回节点0"前一步"1"第一步"2"某一步" 3"不处理" /// public string NodeRejectType { get; set; } public int? Taged { get; set; } public string UserName { get; set; } public string UserId { get; set; } public string Description { get; set; } public string TagedTime { get; set; } //节点会签方式, //all/空:默认为全部通过 //one :至少有一个通过 public string NodeConfluenceType { get; set; } /// /// 会签通过的个数 /// public int? ConfluenceOk { get; set; } /// /// 会签拒绝的个数 /// public int? ConfluenceNo { get; set; } } /// /// 节点执行结果标签 /// public class FlowTag { /// /// 1: 通过 /// 2:不通过 /// 3:驳回 /// public int Taged { get; set; } public string UserId { get; set; } public string UserName { get; set; } public string Description { get; set; } public string TagedTime { get; set; } } /// /// 1: 通过 /// 2:不通过 /// 3:驳回 /// public enum TagState { /// /// 通过 /// Ok = 1, /// /// 不通过 /// No = 2, /// /// 驳回 /// Reject = 3 }