using System; using System.Collections.Generic; using System.Text; namespace RoadFlow.Model.FlowRunModel { /// /// 步骤基本设置 /// public class StepBase { /// ///流转类型 ///0 根据条件判断(无后续步骤时提示) ///1 单选一个步骤 ///2 多选几个步骤(默认选中第一个) ///3 多选几个步骤(默认全部选中) ///4 多选几个步骤(默认全部选中不能取消) ///5 根据条件判断(无后续步骤时完成) /// public int FlowType { get; set; } /// /// 运行时选择 0不允许 1允许 /// public int RunSelect { get; set; } /// /// 处理者类型 0所有成员 1部门 2岗位 3工作组 4人员 5发起者 6前一步骤处理者 7某一步骤处理者 8字段值 9发起者主管 10发起者分管领导 11当前处理者主管 12当前处理者分管领导 /// public string HandlerType { get; set; } /// /// 选择范围 /// public string SelectRange { get; set; } /// /// 将默认处理者作为限定选择范围 0默认处理者选中 1默认处理者不选中 /// public int SelectRangeForDefaultHandler { get; set; } /// /// 当处理者类型为 7某一步骤处理者 时的处理者步骤 /// public Guid? HandlerStepId { get; set; } /// /// 当处理者类型为 8字段值 时的字段 /// public string ValueField { get; set; } /// /// 没有找到处理者的时,是否取上一次的处理人作为默认处理者 0否 1是 /// public int LastHadler { get; set; } /// /// 默认处理者 /// public string DefaultHandler { get; set; } /// /// 退回策略 0不能退回 1根据处理策略退回 2一人退回全部退回 3所有人退回才退回 4独立退回 /// public int BackModel { get; set; } /// /// 处理策略 0所有人必须处理 1一人同意即可 2依据人数比例 3独立处理 4 按选择人员顺序处理 /// public int HanlderModel { get; set; } /// /// 处理策略分组 0不分组 1按发送人分组 2按接收人分组 /// public int HanlderModelGroup { get; set; } /// /// 退回类型 0退回前一步 1退回第一步 2退回某一步 /// public int BackType { get; set; } /// /// 是否可以在退回时选择接收人(默认是退回给上一步的发送人) /// public int BackSelectUser { get; set; } /// /// 策略百分比 /// public decimal Percentage { get; set; } /// /// 退回步骤ID 当退回类型为 2退回某一步时 /// public Guid? BackStepId { get; set; } /// /// 会签策略 0 不会签 1 所有步骤同意 2 一个步骤同意即可 3 依据比例 /// public int Countersignature { get; set; } /// /// 步骤会签的起点步骤Id /// public Guid? CountersignatureStartStepId { get; set; } /// /// 会签策略是依据比例时设置的百分比 /// public decimal CountersignaturePercentage { get; set; } /// /// 子流程处理策略 0 子流程完成后才能提交 1 子流程发起即可提交 /// public int SubFlowStrategy { get; set; } /// /// 并发控制 0不控制 1控制 /// public int ConcurrentModel { get; set; } /// /// 默认处理者SQL或方法 /// public string DefaultHandlerSqlOrMethod { get; set; } /// /// 后续步骤有默认处理人直接发送(不需要点确定) /// public int AutoConfirm { get; set; } /// /// 发送人和接收人是同一人时跳过 /// public int SkipIdenticalUser { get; set; } /// /// 根据方法跳过(方法返回1或true时跳过) /// public string SkipMethod { get; set; } /// /// 发送到退回步骤 /// public int SendToBackStep { get; set; } public override string ToString() { return Newtonsoft.Json.JsonConvert.SerializeObject(this); } } }