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);
}
}
}