StepBasicEntity.cs 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. using Hotline.FlowEngine.Definitions;
  2. using Hotline.Share.Dtos.FlowEngine;
  3. using Hotline.Share.Enums.FlowEngine;
  4. using SqlSugar;
  5. using XF.Domain.Repository;
  6. namespace Hotline.FlowEngine.Workflows;
  7. public class StepBasicEntity : CreationEntity
  8. {
  9. public string WorkflowId { get; set; }
  10. public string Name { get; set; }
  11. /// <summary>
  12. /// 模板内唯一
  13. /// </summary>
  14. public string Code { get; set; }
  15. public EStepType StepType { get; init; }
  16. /// <summary>
  17. /// 办理人类型
  18. /// </summary>
  19. public EHandlerType HandlerType { get; set; }
  20. /// <summary>
  21. /// 审批者分类(或是直接保存处理者)
  22. /// <example>
  23. /// 根据类型可能为:roles, depLevels, depTypes, depCodes, userIds
  24. /// </example>
  25. /// </summary>
  26. [SugarColumn(ColumnDataType = "varchar(1000)", IsJson = true)]
  27. public List<IdName> HandlerClassifies { get; set; } = new();
  28. /// <summary>
  29. /// 当前环节会签模式
  30. /// </summary>
  31. public ECountersignMode CountersignMode { get; set; }
  32. #region 办理参数
  33. /// <summary>
  34. /// (下一节点办理人)根据审批者类型不同,此字段为不同内容
  35. /// <example>
  36. /// 部门等级/分类为:orgCodes, 角色为:userIds
  37. /// </example>
  38. /// </summary>
  39. [SugarColumn(ColumnDataType = "varchar(2000)", IsJson = true)]
  40. public List<IdName> NextHandlers { get; set; } = new();
  41. /// <summary>
  42. /// 下一节点主办,(NextHandlers其中一个, 如果不是会签则只有一个)
  43. /// </summary>
  44. [SugarColumn(IsNullable = true)]
  45. public string? NextMainHandler { get; set; }
  46. /// <summary>
  47. /// 下一节点code
  48. /// </summary>
  49. public string NextStepCode { get; set; }
  50. /// <summary>
  51. /// 是否短信通知
  52. /// </summary>
  53. public bool AcceptSms { get; set; }
  54. /// <summary>
  55. /// 办理意见
  56. /// </summary>
  57. [SugarColumn(Length = 2000)]
  58. public string Opinion { get; set; }
  59. /// <summary>
  60. /// 附件
  61. /// </summary>
  62. [SugarColumn(ColumnDataType = "varchar(1000)", IsJson = true)]
  63. public List<string> Additions { get; set; } = new();
  64. #endregion
  65. #region 办理
  66. /// <summary>
  67. /// 办理人
  68. /// </summary>
  69. [SugarColumn(IsNullable = true)]
  70. public string? UserId { get; set; }
  71. [SugarColumn(IsNullable = true)]
  72. public string? UserName { get; set; }
  73. /// <summary>
  74. /// 办理人部门code
  75. /// </summary>
  76. [SugarColumn(IsNullable = true)]
  77. public string? OrgCode { get; set; }
  78. [SugarColumn(IsNullable = true)]
  79. public string? OrgName { get; set; }
  80. /// <summary>
  81. /// 办理完成时间
  82. /// </summary>
  83. public DateTime? CompleteTime { get; set; }
  84. #endregion
  85. #region 接办
  86. /// <summary>
  87. /// 接办人
  88. /// </summary>
  89. [SugarColumn(IsNullable = true)]
  90. public string? AcceptUserId { get; set; }
  91. [SugarColumn(IsNullable = true)]
  92. public string? AcceptUserName { get; set; }
  93. /// <summary>
  94. /// 接办时间
  95. /// </summary>
  96. public DateTime? AcceptTime { get; set; }
  97. #endregion
  98. }