You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

340 lines
7.3 KiB
C#

11 months ago
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; }
11 months ago
/// <summary>
/// 指定用户
/// </summary>
public List<string> Users { get; set; }
/// <summary>
/// 指定角色
/// </summary>
public List<string> Roles { get; set; }
}
11 months ago
/// <summary>
/// 工作流节点
/// </summary>
public class FlowChild
{
11 months ago
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";
11 months ago
/// <summary>
/// 节点Id
/// </summary>
public string Id { get; set; } = string.Empty;
11 months ago
/// <summary>
/// 上级Id
/// </summary>
public string? Pid { get; set; }
11 months ago
/// <summary>
/// 节点类型 start end condition exclusive
/// </summary>
public string Type { get; set; } = string.Empty;
11 months ago
/// <summary>
/// 节点名称
/// </summary>
public string Name { get; set; }
/// <summary>
/// 子节点
/// </summary>
public FlowChild? Child { get; set; }
11 months ago
/// <summary>
/// 子节点列表
/// </summary>
public List<FlowChild>? Children { get; set; }
11 months ago
/// <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-或签
11 months ago
/// </summary>
public string Multi { get; set; }
/// <summary>
/// 审批人为空时 pass 自动通过 reject 自动拒绝
11 months ago
/// </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>
3 months ago
public FlowGroupConditions? Conditions { get; set; }
/// <summary>
/// 是否使用SQL语句条件默认为否
3 months ago
/// </summary>
public bool UseSQL { get; set; }
/// <summary>
/// SQL查询语句
/// </summary>
public string? SQLText { get; set; }
/// <summary>
/// 获取执行人的SQL查询语句
/// </summary>
public string? MarkerSQLText { get; set; }
11 months ago
}
/// <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>
11 months ago
public class FlowGroupConditions
11 months ago
{
/// <summary>
/// 逻辑操作符
/// </summary>
public string LogicalOperator { get; set; }
/// <summary>
/// 条件组
/// </summary>
public List<FlowConditions> Conditions { get; set; }
11 months ago
/// <summary>
/// 分组
/// </summary>
11 months ago
public List<FlowGroupConditions> Groups { get; set; }
11 months ago
}
11 months ago
public class FlowConditions
11 months ago
{
/// <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; }
}
11 months ago
/// <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
11 months ago
}