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; }
}
///
/// 操作
///
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
}