JudicialManagementAddOrderDto.cs 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300
  1. using Hotline.Share.Dtos.File;
  2. using Hotline.Share.Enums.JudicialManagement;
  3. using Hotline.Share.Enums.Order;
  4. using Hotline.Share.Enums.Settings;
  5. using System.ComponentModel;
  6. using XF.Utility.EnumExtensions;
  7. namespace Hotline.Share.Dtos.JudicialManagement
  8. {
  9. /// <summary>
  10. /// 修改
  11. /// </summary>
  12. public class JudicialManagementAddOrderDto : Position
  13. {
  14. /// <summary>
  15. /// 来源渠道(电话、网站、APP等)
  16. /// </summary>
  17. public string? SourceChannel { get; set; }
  18. public string? SourceChannelCode { get; set; }
  19. /// <summary>
  20. /// 来电号码
  21. /// </summary>
  22. public string? FromPhone { get; set; }
  23. /// <summary>
  24. /// 转接号码(转接来源)
  25. /// </summary>
  26. public string? TransferPhone { get; set; }
  27. /// <summary>
  28. /// 来电/信人姓名
  29. /// </summary>
  30. public string? FromName { get; set; }
  31. /// <summary>
  32. /// 来电/信人性别
  33. /// </summary>
  34. public EGender FromGender { get; set; }
  35. /// <summary>
  36. /// 来电/信人身份
  37. /// </summary>
  38. public EIdentityType? IdentityType { get; set; }
  39. /// <summary>
  40. /// 联系电话
  41. /// </summary>
  42. public string? Contact { get; set; }
  43. public string? ContactMask { get; set; }
  44. /// <summary>
  45. /// 受理类型
  46. /// </summary>
  47. public string? AcceptType { get; set; }
  48. public string? AcceptTypeCode { get; set; }
  49. public string Title { get; set; }
  50. /// <summary>
  51. /// 热点
  52. /// </summary>
  53. public string? HotspotId { get; set; }
  54. public string? HotspotName { get; set; }
  55. public string? HotspotSpliceName { get; set; }
  56. /// <summary>
  57. /// 外部数据(为前端提供级联功能)
  58. /// </summary>
  59. public string? HotspotExternal { get; set; }
  60. /// <summary>
  61. /// 附件列表
  62. /// </summary>
  63. public List<FileDto> Files { get; set; } = new();
  64. /// <summary>
  65. /// 诉求内容
  66. /// </summary>
  67. public string Content { get; set; }
  68. /// <summary>
  69. /// 工单来源
  70. /// </summary>
  71. public EOrderSoure? OrderSoure { get; set; }
  72. /// <summary>
  73. /// 是否行政执法类
  74. /// </summary>
  75. public bool? IsEnforcementOrder { get; set; }
  76. /// <summary>
  77. /// 执法部门
  78. /// </summary>
  79. public List<Kv> EnforcementOrdersHandler { get; set; }
  80. public string EnforcementOrdersHandlerText => GetText();
  81. public string GetText()
  82. {
  83. string strOrgName = "";
  84. if (EnforcementOrdersHandler != null && EnforcementOrdersHandler.Count > 0)
  85. {
  86. foreach (var item in EnforcementOrdersHandler)
  87. {
  88. strOrgName += item.Key + ",";
  89. }
  90. if (!string.IsNullOrEmpty(strOrgName))
  91. strOrgName = strOrgName.Substring(0, strOrgName.Length - 1);
  92. }
  93. return strOrgName;
  94. }
  95. }
  96. /// <summary>
  97. /// 编辑
  98. /// </summary>
  99. public class JudicialManagementUpdateOrderDto : JudicialManagementAddOrderDto
  100. {
  101. public string Id { get; set; }
  102. }
  103. public class JudicialManagementOrderDto : JudicialManagementUpdateOrderDto
  104. {
  105. /// <summary>
  106. /// 工单编码(20220101000001)
  107. /// </summary>
  108. public string No { get; set; }
  109. /// <summary>
  110. /// 是否推诿
  111. /// </summary>
  112. public bool IsPassTheBuckOrder { get; set; }
  113. /// <summary>
  114. /// 线索是否属实
  115. /// </summary>
  116. public bool? IsTheClueTrue { get; set; }
  117. /// <summary>
  118. /// 诉事项类型ID
  119. /// </summary>
  120. public string? EventTypeId { get; set; }
  121. /// <summary>
  122. /// 诉事项类型名称
  123. /// </summary>
  124. public string? EventTypeName { get; set; }
  125. /// <summary>
  126. /// 诉事项类型名称
  127. /// </summary>
  128. public string? EventTypeSpliceName { get; set; }
  129. /// <summary>
  130. /// 诉事项类型一级Id
  131. /// </summary>
  132. public string? EventTypeOneLevelId { get; set; }
  133. /// <summary>
  134. /// 同步省工单编号和省上传下来的工单都用这个字段
  135. /// </summary>
  136. public string? ProvinceNo { get; set; }
  137. /// <summary>
  138. /// 市民查询密码
  139. /// </summary>
  140. public string? Password { get; set; }
  141. /// <summary>
  142. /// 受理人id
  143. /// </summary>
  144. public string? AcceptorId { get; set; }
  145. /// <summary>
  146. /// 受理人名称
  147. /// </summary>
  148. public string? AcceptorName { get; set; }
  149. /// <summary>
  150. /// 受理人工号
  151. /// </summary>
  152. public string? AcceptorStaffNo { get; set; }
  153. /// <summary>
  154. /// 受理人部门编码
  155. /// </summary>
  156. public string? AcceptorOrgCode { get; set; }
  157. /// <summary>
  158. /// 受理人部门名称
  159. /// </summary>
  160. public string? AcceptorOrgName { get; set; }
  161. /// <summary>
  162. /// 附件
  163. /// </summary>
  164. public List<FileDto>? Additions { get; set; } = new();
  165. public List<FileJson>? FileJson { get; set; }
  166. /// <summary>
  167. /// 创建时间
  168. /// </summary>
  169. public DateTime CreationTime { get; set; }
  170. /// <summary>
  171. /// 省市区
  172. /// </summary>
  173. public string IncidentAddressText => IncidentAddress();
  174. /// <summary>
  175. /// 交办时间
  176. /// </summary>
  177. public DateTime? CenterToOrgTime { get; set; }
  178. /// <summary>
  179. /// 接办部门
  180. /// </summary>
  181. public string? ActualHandleOrgName { get; set; }
  182. /// <summary>
  183. /// 接办时间
  184. /// </summary>
  185. public DateTime? ActualHandleTime { get; set; }
  186. /// <summary>
  187. /// 办理时间限制(如:24小时、7个工作日)
  188. /// </summary>
  189. public string? TimeLimit { get; set; }
  190. public int? TimeLimitCount { get; set; }
  191. public ETimeType? TimeLimitUnit { get; set; }
  192. /// <summary>
  193. /// 工单期满时间
  194. /// </summary>
  195. public DateTime? ExpiredTime { get; set; }
  196. /// <summary>
  197. /// 部门是否解决
  198. /// </summary>
  199. public bool IsResolved { get; set; }
  200. /// <summary>
  201. /// 部门处理结果
  202. /// </summary>
  203. public string IsResolvedText => IsResolved ? "已解决" : "未解决";
  204. /// <summary>
  205. /// 中心意见
  206. /// </summary>
  207. public string? CenterOpinion { get; set; }
  208. /// <summary>
  209. /// 承办意见
  210. /// </summary>
  211. public string? FileOpinion { get; set; }
  212. /// <summary>
  213. /// 组装省市区
  214. /// </summary>
  215. /// <returns></returns>
  216. public string IncidentAddress()
  217. {
  218. return $"{Province}{City}{County}{Town}";
  219. }
  220. /// <summary>
  221. /// 个案类型
  222. /// </summary>
  223. public ECaseType? CaseType { get; set; }
  224. /// <summary>
  225. /// 个案类型
  226. /// </summary>
  227. public string CaseTypeDesc
  228. {
  229. get
  230. {
  231. return CaseType?.GetDescription() ?? string.Empty;
  232. }
  233. }
  234. }
  235. public class AssociatedLawEnforcementAgenciesDto
  236. {
  237. public string Id { get; set; }
  238. /// <summary>
  239. /// 执法部门
  240. /// </summary>
  241. public List<Kv> LawEnforcementAgencies { get; set; }
  242. }
  243. }