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.

282 lines
6.0 KiB
C#

10 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; }
/// <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>
/// 节点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 string Name { get; set; }
/// <summary>
/// 子节点
/// </summary>
public FlowChild Child { get; set; }
/// <summary>
/// 子节点列表
/// </summary>
public List<FlowChild> Childen { 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>
/// 多人审批方式
/// </summary>
public string Multi { get; set; }
/// <summary>
///
/// </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 Conditions Conditions { 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 Conditions
{
/// <summary>
/// 逻辑操作符
/// </summary>
public string LogicalOperator { get; set; }
/// <summary>
/// 条件组
/// </summary>
public List<ConditionsItem> ConditionsItems { get; set; }
/// <summary>
/// 分组
/// </summary>
public List<string> Groups { get; set; }
}
public class ConditionsItem
{
/// <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; }
}