OrderSpecialDto.cs 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264
  1. using Hotline.Share.Dtos.File;
  2. using Hotline.Share.Enums.Order;
  3. using Hotline.Share.Enums.Settings;
  4. using Hotline.Share.Requests;
  5. using System;
  6. using System.Collections.Generic;
  7. using System.Linq;
  8. using System.Text;
  9. using System.Threading.Tasks;
  10. using Hotline.Share.Dtos.FlowEngine.Workflow;
  11. using XF.Utility.EnumExtensions;
  12. using Hotline.Share.Enums.FlowEngine;
  13. namespace Hotline.Share.Dtos.Order
  14. {
  15. public class OrderSpecialAddDto
  16. {
  17. public string OrderId { get; set; }
  18. public string WorkflowId { get; set; }
  19. /// <summary>
  20. /// 下一节点code(defineStep.code)
  21. /// </summary>
  22. public string NextStepCode { get; set; } = string.Empty;
  23. public string NextStepName { get; set; } = string.Empty;
  24. /// <summary>
  25. /// 根据办理者类型不同,此字段为不同内容
  26. /// <example>
  27. /// 部门等级/分类为:depCodes, 角色为:userIds
  28. /// </example>
  29. /// </summary>
  30. public List<Kv> NextHandlers { get; set; } = new();
  31. /// <summary>
  32. /// 特提原因
  33. /// </summary>
  34. public string? Cause { get; set; }
  35. /// <summary>
  36. /// 特提理由
  37. /// </summary>
  38. public string? Reason { get; set; }
  39. /// <summary>
  40. /// 是否审批
  41. /// </summary>
  42. public bool Audit { get; set; } = false;
  43. /// <summary>
  44. /// 办理时间限制(如:24小时、7个工作日)
  45. /// </summary>
  46. public int? TimeLimit { get; set; }
  47. public ETimeType? TimeLimitUnit { get; set; } = ETimeType.WorkDay;
  48. /// <summary>
  49. /// 是否修改期满时间
  50. /// </summary>
  51. public bool AlterTime { get; set; }
  52. /// <summary>
  53. /// 附件列表
  54. /// </summary>
  55. public List<FileDto> Files { get; set; } = new();
  56. }
  57. public class AuditOrderSpecialDto
  58. {
  59. public string Id { get; set; }
  60. public string WorkflowId { get; set; }
  61. /// <summary>
  62. /// 下一节点code(defineStep.code)
  63. /// </summary>
  64. public string NextStepCode { get; set; } = string.Empty;
  65. public string NextStepName { get; set; } = string.Empty;
  66. /// <summary>
  67. /// 根据办理者类型不同,此字段为不同内容
  68. /// <example>
  69. /// 部门等级/分类为:depCodes, 角色为:userIds
  70. /// </example>
  71. /// </summary>
  72. public List<Kv> NextHandlers { get; set; } = new();
  73. //public string? OrgId { get; set; }
  74. //public string? OrgName { get; set; }
  75. /// <summary>
  76. /// 审核结果 0 待审核 1 审核通过 2 审核不通过
  77. /// </summary>
  78. public int State { get; set; }
  79. /// <summary>
  80. /// 办理时间限制(如:24小时、7个工作日)
  81. /// </summary>
  82. public int? TimeLimit { get; set; }
  83. public ETimeType? TimeLimitUnit { get; set; } = ETimeType.WorkDay;
  84. /// <summary>
  85. /// 特提原因
  86. /// </summary>
  87. public string? Cause { get; set; }
  88. /// <summary>
  89. /// 特提意见
  90. /// </summary>
  91. public string? Opinion { get; set; }
  92. /// <summary>
  93. /// 是否修改期满时间
  94. /// </summary>
  95. public bool AlterTime { get; set; }
  96. /// <summary>
  97. /// 附件列表
  98. /// </summary>
  99. public List<FileDto> Files { get; set; } = new();
  100. }
  101. public class OrderSpecialDto : OrderSpecialBaseDto
  102. {
  103. public string OrderId { get; set; }
  104. public string WorkflowId { get; set; }
  105. /// <summary>
  106. /// 下一节点code(defineStep.code)
  107. /// </summary>
  108. public string NextStepCode { get; set; } = string.Empty;
  109. public string NextStepName { get; set; } = string.Empty;
  110. public List<Kv> NextHandlers { get; set; }
  111. /// <summary>
  112. /// 特提原因
  113. /// </summary>
  114. public string? Cause { get; set; }
  115. /// <summary>
  116. /// 特提理由
  117. /// </summary>
  118. public string? Reason { get; set; }
  119. /// <summary>
  120. /// 发送短信
  121. /// </summary>
  122. public bool? AcceptSms { get; set; }
  123. /// <summary>
  124. /// 办理时间限制(如:24小时、7个工作日)
  125. /// </summary>
  126. public int? TimeLimit { get; set; }
  127. public ETimeType? TimeLimitUnit { get; set; } = ETimeType.WorkDay;
  128. public string TimeLimitUnitText => TimeLimitUnit.GetDescription();
  129. /// <summary>
  130. /// 特提意见
  131. /// </summary>
  132. public string? Opinion { get; set; }
  133. /// <summary>
  134. /// 审核结果 0 待审核 1 审核通过 2 审核不通过
  135. /// </summary>
  136. public int State { get; set; }
  137. public string StateText => State == 0 ? "待审核" : State == 1 ? "审核通过" : State == 2 ? "审核不通过" : "-";
  138. public string? OrgId { get; set; }
  139. public string? OrgName { get; set; }
  140. /// <summary>
  141. /// 特提节点
  142. /// </summary>
  143. public WorkflowTraceDto Trace { get; set; }
  144. /// <summary>
  145. /// 工单
  146. /// </summary>
  147. public OrderDto Order { get; set; }
  148. /// <summary>
  149. /// 附件列表
  150. /// </summary>
  151. public List<FileDto> Files { get; set; } = new();
  152. public List<FileJson> FileJson { get; set; } = new();
  153. }
  154. public class OrderSpecialBaseDto
  155. {
  156. public DateTime? LastModificationTime { get; set; }
  157. public bool IsDeleted { get; set; }
  158. /// <summary>
  159. /// 删除时间
  160. /// </summary>
  161. public DateTime? DeletionTime { get; set; }
  162. /// <summary>
  163. /// 创建时间
  164. /// </summary>
  165. public DateTime CreationTime { get; set; }
  166. public string Id { get; set; }
  167. /// <summary>
  168. /// 组织Id
  169. /// </summary>
  170. public string? CreatorOrgId { get; set; }
  171. public string? CreatorOrgName { get; set; }
  172. /// <summary>
  173. /// 创建人
  174. /// </summary>
  175. public string? CreatorId { get; set; }
  176. public string? CreatorName { get; set; }
  177. }
  178. public record OrderSpecialListDto : PagedKeywordRequest
  179. {
  180. public DateTime? StartTime { get; set; }
  181. public DateTime? EndTime { get; set; }
  182. /// <summary>
  183. /// 审核结果 0 待审核 1 审核通过 2 审核不通过
  184. /// </summary>
  185. public int? State { get; set; }
  186. public string? Cause { get; set; }
  187. }
  188. public class OrderSpecialHandleTime
  189. {
  190. public string OrderId { get; set; }
  191. /// <summary>
  192. /// 流转方向
  193. /// </summary>
  194. public EFlowDirection? FlowDirection { get; set; }
  195. }
  196. public class PublishSpecialDto
  197. {
  198. /// <summary>
  199. /// 工单对象
  200. /// </summary>
  201. public OrderDto Order { get; set; }
  202. public OrderSpecialDto Special { get; set; }
  203. }
  204. }