|
|
|
|
namespace DS.WMS.Core.Flow.Dtos;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 工作流根节点
|
|
|
|
|
/// </summary>
|
|
|
|
|
public class FlowRoot
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 节点Id
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string Id { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 上级Id
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string Pid { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 节点类型 start end condition exclusive
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string Type { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
///
|
|
|
|
|
/// </summary>
|
|
|
|
|
public bool Def { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 节点名称
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string Name { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 子节点
|
|
|
|
|
/// </summary>
|
|
|
|
|
public FlowChild Child { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 审批类型 指定user role
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string AssigneeType { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 指定用户
|
|
|
|
|
/// </summary>
|
|
|
|
|
public List<string> Users { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 指定角色
|
|
|
|
|
/// </summary>
|
|
|
|
|
public List<string> Roles { get; set; }
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 工作流节点
|
|
|
|
|
/// </summary>
|
|
|
|
|
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"; //会签结束节点
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 动态节点
|
|
|
|
|
/// </summary>
|
|
|
|
|
public const string Dynamic = "dynamic";
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 节点Id
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string Id { get; set; } = string.Empty;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 上级Id
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string? Pid { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 节点类型 start end condition exclusive
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string Type { get; set; } = string.Empty;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 节点名称
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string Name { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 子节点
|
|
|
|
|
/// </summary>
|
|
|
|
|
public FlowChild? Child { get; set; }
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 子节点列表
|
|
|
|
|
/// </summary>
|
|
|
|
|
public List<FlowChild>? Children { get; set; }
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 审批类型 指定user role
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string AssigneeType { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 表单用户
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string FormUser { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 表单角色
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string FormRole { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 用户
|
|
|
|
|
/// </summary>
|
|
|
|
|
public List<string> Users { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 角色
|
|
|
|
|
/// </summary>
|
|
|
|
|
public List<string> Roles { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 上级
|
|
|
|
|
/// </summary>
|
|
|
|
|
public int Leader { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
///
|
|
|
|
|
/// </summary>
|
|
|
|
|
public bool Choice { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
///
|
|
|
|
|
/// </summary>
|
|
|
|
|
public bool Self { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 多人审批方式 sequential-依次审批 joint-会签 single-或签
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string Multi { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 审批人为空时 pass 自动通过 reject 自动拒绝
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string Nobody { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 节点的附加数据项
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <value>The set information.</value>
|
|
|
|
|
public Setinfo SetInfo { get; set; }
|
|
|
|
|
/// <summary>
|
|
|
|
|
///
|
|
|
|
|
/// </summary>
|
|
|
|
|
public Operations Operations { get; set; }
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 条件
|
|
|
|
|
/// </summary>
|
|
|
|
|
public FlowGroupConditions? Conditions { get; set; }
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 是否使用SQL语句条件(默认为否)
|
|
|
|
|
/// </summary>
|
|
|
|
|
public bool UseSQL { get; set; }
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// SQL查询语句
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string? SQLText { get; set; }
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 操作
|
|
|
|
|
/// </summary>
|
|
|
|
|
public class Operations
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
///
|
|
|
|
|
/// </summary>
|
|
|
|
|
public bool Complete { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
///
|
|
|
|
|
/// </summary>
|
|
|
|
|
public bool Refuse { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
///
|
|
|
|
|
/// </summary>
|
|
|
|
|
public bool Save { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
///
|
|
|
|
|
/// </summary>
|
|
|
|
|
public bool Transfer { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
///
|
|
|
|
|
/// </summary>
|
|
|
|
|
public bool AddMulti { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
///
|
|
|
|
|
/// </summary>
|
|
|
|
|
public bool MinusMulti { get; set; }
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 条件
|
|
|
|
|
/// </summary>
|
|
|
|
|
public class FlowGroupConditions
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 逻辑操作符
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string LogicalOperator { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 条件组
|
|
|
|
|
/// </summary>
|
|
|
|
|
public List<FlowConditions> Conditions { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 分组
|
|
|
|
|
/// </summary>
|
|
|
|
|
public List<FlowGroupConditions> Groups { get; set; }
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public class FlowConditions
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 字段
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string Field { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 操作符
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string Operator { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 值
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string Value { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 表单
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string Tables { get; set; }
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 节点附加信息
|
|
|
|
|
/// </summary>
|
|
|
|
|
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"; //运行时指定用户
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 节点执行权限类型
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string NodeDesignate { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 驳回节点0"前一步"1"第一步"2"某一步" 3"不处理"
|
|
|
|
|
/// </summary>
|
|
|
|
|
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; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 会签通过的个数
|
|
|
|
|
/// </summary>
|
|
|
|
|
public int? ConfluenceOk { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 会签拒绝的个数
|
|
|
|
|
/// </summary>
|
|
|
|
|
public int? ConfluenceNo { get; set; }
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 节点执行结果标签
|
|
|
|
|
/// </summary>
|
|
|
|
|
public class FlowTag
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 1: 通过
|
|
|
|
|
/// 2:不通过
|
|
|
|
|
/// 3:驳回
|
|
|
|
|
/// </summary>
|
|
|
|
|
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; }
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 1: 通过
|
|
|
|
|
/// 2:不通过
|
|
|
|
|
/// 3:驳回
|
|
|
|
|
/// </summary>
|
|
|
|
|
public enum TagState
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 通过
|
|
|
|
|
/// </summary>
|
|
|
|
|
Ok = 1,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 不通过
|
|
|
|
|
/// </summary>
|
|
|
|
|
No = 2,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 驳回
|
|
|
|
|
/// </summary>
|
|
|
|
|
Reject = 3
|
|
|
|
|
}
|