Workflow.cs 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362
  1. using DataTransmission.Entity;
  2. using DataTransmission.Enum;
  3. using SqlSugar;
  4. namespace SnapshotWinFormsApp.Entities.NewHotline;
  5. [SugarTable("workflow")]
  6. public partial class Workflow : CreationEntity
  7. {
  8. public string DefinitionId { get; set; }
  9. /// <summary>
  10. /// 流程类型
  11. /// </summary>
  12. public EFlowType FlowType { get; set; }
  13. /// <summary>
  14. /// 审核结果
  15. /// </summary>
  16. public EReviewResult ReviewResult { get; set; }
  17. #region 业务模块(冗余)
  18. public string? ModuleId { get; set; }
  19. public string? ModuleName { get; set; }
  20. public string? ModuleCode { get; set; }
  21. #endregion
  22. /// <summary>
  23. /// 流程标题
  24. /// </summary>
  25. [SugarColumn(ColumnDataType = "varchar(2000)")]
  26. public string Title { get; set; }
  27. /// <summary>
  28. /// end节点办理完成时间
  29. /// </summary>
  30. public DateTime? EndTime { get; set; }
  31. /// <summary>
  32. /// 流程状态
  33. /// </summary>
  34. public EWorkflowStatus Status { get; set; }
  35. #region 实际办理信息(节点,部门,意见)
  36. /// <summary>
  37. /// 实际办理节点code(会签状态此字段保存最外层会签发起节点code)
  38. /// </summary>
  39. public string? ActualHandleStepCode { get; set; }
  40. /// <summary>
  41. /// 实际办理节点名称(会签状态此字段保存最外层会签发起节点名称)
  42. /// </summary>
  43. public string? ActualHandleStepName { get; set; }
  44. /// <summary>
  45. /// 实际办理节点id
  46. /// </summary>
  47. public string? ActualHandleStepId { get; set; }
  48. /// <summary>
  49. /// 到达实际办理节点时间(stepBox创建时间)
  50. /// </summary>
  51. public DateTime? ActualHandleStepCreateTime { get; set; }
  52. /// <summary>
  53. /// 实际办理节点签收时间
  54. /// </summary>
  55. public DateTime? ActualHandleStepAcceptTime { get; set; }
  56. /// <summary>
  57. /// 实际办理时间
  58. /// </summary>
  59. public DateTime? ActualHandleTime { get; set; }
  60. /// <summary>
  61. /// 实际办理人id
  62. /// </summary>
  63. public string? ActualHandlerId { get; set; }
  64. /// <summary>
  65. /// 实际办理人名称
  66. /// </summary>
  67. public string? ActualHandlerName { get; set; }
  68. /// <summary>
  69. /// 实际办理部门名称
  70. /// </summary>
  71. public string? ActualHandleOrgName { get; set; }
  72. /// <summary>
  73. /// 实际办理部门编码
  74. /// </summary>
  75. public string? ActualHandleOrgCode { get; set; }
  76. /// <summary>
  77. /// 实际办理部门等级
  78. /// </summary>
  79. public int? ActualHandleOrgLevel { get; set; }
  80. /// <summary>
  81. /// 实际办理部门行政区划编码
  82. /// </summary>
  83. public string? ActualHandleOrgAreaCode { get; set; }
  84. /// <summary>
  85. /// 实际办理部门行政区划名称
  86. /// </summary>
  87. public string? ActualHandleOrgAreaName { get; set; }
  88. /// <summary>
  89. /// 实际办理意见(办理中...or 最终办理意见)
  90. /// </summary>
  91. [SugarColumn(ColumnDataType = "text")]
  92. public string ActualOpinion { get; set; } = "办理中...";
  93. ///// <summary>
  94. ///// 真实办理人姓名(手动填写)
  95. ///// </summary>
  96. //public string? RealHandlerName { get; set; }
  97. ///// <summary>
  98. ///// 真实办理人电话(手动填写)
  99. ///// </summary>
  100. //public string? RealHandlerPhone { get; set; }
  101. ///// <summary>
  102. ///// 沟通方式(手动填写)
  103. ///// </summary>
  104. //public ERealCommunicationMode? RealCommunicationMode { get; set; }
  105. ///// <summary>
  106. ///// 沟通时间(手动填写)
  107. ///// </summary>
  108. //public DateTime? RealCommunicationTime { get; set; }
  109. ///// <summary>
  110. ///// 沟通地点(手动填写)
  111. ///// </summary>
  112. //public string? RealCommunicationAddress { get; set; }
  113. ///// <summary>
  114. ///// 已与市民沟通
  115. ///// </summary>
  116. //public bool? RealIsContacted { get; set; }
  117. ///// <summary>
  118. ///// 已与市民现场沟通
  119. ///// </summary>
  120. //public bool? RealContactLocale { get; set; }
  121. #endregion
  122. #region 当前办理节点信息(指派时赋值)
  123. public string? CurrentStepId { get; set; }
  124. /// <summary>
  125. /// 当前办理节点code(非会签:当前被指派节点,会签:会签发起节点)
  126. /// </summary>
  127. public string? CurrentStepCode { get; set; }
  128. /// <summary>
  129. /// 当前节点名称
  130. /// </summary>
  131. public string? CurrentStepName { get; set; }
  132. /// <summary>
  133. /// 到达当前节点时间
  134. /// </summary>
  135. public DateTime? CurrentStepCreateTime { get; set; }
  136. /// <summary>
  137. /// 当前办理节点签收时间
  138. /// </summary>
  139. public DateTime? CurrentStepAcceptTime { get; set; }
  140. /// <summary>
  141. /// 当前办理时间
  142. /// </summary>
  143. public DateTime? CurrentHandleTime { get; set; }
  144. /// <summary>
  145. /// 当前办理人id
  146. /// </summary>
  147. public string? CurrentHandlerId { get; set; }
  148. /// <summary>
  149. /// 当前办理人名称
  150. /// </summary>
  151. public string? CurrentHandlerName { get; set; }
  152. /// <summary>
  153. /// 当前办理部门名称
  154. /// </summary>
  155. public string? CurrentHandleOrgName { get; set; }
  156. /// <summary>
  157. /// 当前办理部门编码
  158. /// </summary>
  159. public string? CurrentHandleOrgId { get; set; }
  160. /// <summary>
  161. /// 当前办理部门等级
  162. /// </summary>
  163. public int? CurrentHandleOrgLevel { get; set; }
  164. /// <summary>
  165. /// 当前办理部门行政区划编码
  166. /// </summary>
  167. public string? CurrentHandleOrgAreaCode { get; set; }
  168. /// <summary>
  169. /// 当前办理部门行政区划名称
  170. /// </summary>
  171. public string? CurrentHandleOrgAreaName { get; set; }
  172. #endregion
  173. #region 会签
  174. /// <summary>
  175. /// 会签类型
  176. /// </summary>
  177. public ECounterSignType? CounterSignType { get; set; }
  178. /// <summary>
  179. /// 当前会签办理节点Id,嵌套会签为最外层会签办理节点Id
  180. /// </summary>
  181. public string? TopCountersignStepId { get; set; }
  182. /// <summary>
  183. /// 流程是否处于会签中(实时)
  184. /// </summary>
  185. public bool IsInCountersign { get; set; }
  186. #endregion
  187. // /// <summary>
  188. // /// 办结时长(分钟)
  189. // /// 办结时间-交办时间
  190. // /// </summary>
  191. // public double HandleDuration { get; set; }
  192. //
  193. // /// <summary>
  194. // /// 办结工作日时长
  195. // /// </summary>
  196. // public double HandleDurationWorkday { get; set; }
  197. /// <summary>
  198. /// 全流程时长(秒)
  199. /// 归档时间-创建时间
  200. /// </summary>
  201. public double AllDuration { get; set; }
  202. /// <summary>
  203. /// 外部业务唯一标识
  204. /// </summary>
  205. public string ExternalId { get; set; }
  206. #region 当前办理对象
  207. /// <summary>
  208. /// 办理人id
  209. /// </summary>
  210. [SugarColumn(ColumnDataType = "json", IsJson = true)]
  211. public List<HandlerGroupItem> HandlerUsers { get; set; } = new();
  212. /// <summary>
  213. /// 办理部门id
  214. /// </summary>
  215. [SugarColumn(ColumnDataType = "json", IsJson = true)]
  216. public List<HandlerGroupItem> HandlerOrgs { get; set; } = new();
  217. #endregion
  218. #region 流经对象
  219. /// <summary>
  220. /// 流经部门
  221. /// </summary>
  222. [SugarColumn(ColumnDataType = "json", IsJson = true)]
  223. public List<string> FlowedOrgIds { get; set; } = new();
  224. /// <summary>
  225. /// 流经办理人
  226. /// </summary>
  227. [SugarColumn(ColumnDataType = "json", IsJson = true)]
  228. public List<string> FlowedUserIds { get; set; } = new();
  229. #endregion
  230. #region 会签实际办理对象
  231. [SugarColumn(ColumnDataType = "json", IsJson = true)]
  232. public List<string>? CsActualHandleOrgIds { get; set; }
  233. [SugarColumn(ColumnDataType = "json", IsJson = true)]
  234. public List<string>? CsActualHandleUserIds { get; set; }
  235. #endregion
  236. #region 一级部门
  237. /// <summary>
  238. /// 一级部门code
  239. /// </summary>
  240. public string? OrgLevelOneCode { get; set; }
  241. /// <summary>
  242. /// 一级部门名称
  243. /// </summary>
  244. public string? OrgLevelOneName { get; set; }
  245. #endregion
  246. #region 受理人(开启流程的话务员)
  247. /// <summary>
  248. /// 受理人id
  249. /// </summary>
  250. public string? AcceptorId { get; set; }
  251. /// <summary>
  252. /// 受理人名称
  253. /// </summary>
  254. public string? AcceptorName { get; set; }
  255. /// <summary>
  256. /// 受理人工号
  257. /// </summary>
  258. public string? AcceptorStaffNo { get; set; }
  259. /// <summary>
  260. /// 受理人部门编码
  261. /// </summary>
  262. public string? AcceptorOrgId { get; set; }
  263. /// <summary>
  264. /// 受理人部门名称
  265. /// </summary>
  266. public string? AcceptorOrgName { get; set; }
  267. /// <summary>
  268. /// 受理人部门行政区划编码
  269. /// </summary>
  270. public string? AcceptorOrgAreaCode { get; set; }
  271. /// <summary>
  272. /// 受理人部门行政区划名称
  273. /// </summary>
  274. public string? AcceptorOrgAreaName { get; set; }
  275. #endregion
  276. [SugarColumn(IsIgnore = true)]
  277. public override string OldId { get => base.OldId; set => base.OldId = value; }
  278. }