QueryOrderDto.cs 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654
  1. using System.ComponentModel;
  2. using Hotline.Share.Dtos.File;
  3. using Hotline.Share.Enums.FlowEngine;
  4. using Hotline.Share.Enums.Order;
  5. using Hotline.Share.Enums.Settings;
  6. using Hotline.Share.Requests;
  7. using XF.Utility.EnumExtensions;
  8. namespace Hotline.Share.Dtos.Order
  9. {
  10. public record QueryOrderDto : PagedKeywordRequest
  11. {
  12. /// <summary>
  13. /// 省本地编号(√)
  14. /// </summary>
  15. public string ProvinceNo { get; set; }
  16. /// <summary>
  17. /// 本地编号(√)
  18. /// </summary>
  19. public string No { get; set; }
  20. /// <summary>
  21. /// 诉求内容
  22. /// </summary>
  23. //public string? Content { get; set; }
  24. /// <summary>
  25. /// 受理类型(√)
  26. /// </summary>
  27. public List<string> AcceptTypes { get; set; } = new();
  28. /// <summary>
  29. /// 来源渠道(√)
  30. /// </summary>
  31. public List<string> Channels { get; set; } = new();
  32. /// <summary>
  33. /// 转接号码(转接来源)(√)
  34. /// </summary>
  35. public string? TransferPhone { get; set; }
  36. /// <summary>
  37. /// 热点分类(√)
  38. /// </summary>
  39. public List<string> HotspotIds { get; set; } = new();
  40. /// <summary>
  41. /// 接办部门(√)
  42. /// </summary>
  43. public List<string> OrgCodes { get; set; } = new();
  44. /// <summary>
  45. /// 受理坐席名字或工号(×)
  46. /// </summary>
  47. public string? NameOrNo { get; set; }
  48. /// <summary>
  49. /// 受理时间(工单创建时间)(√)
  50. /// </summary>
  51. public DateTime? CreationTimeStart { get; set; }
  52. public DateTime? CreationTimeEnd { get; set; }
  53. /// <summary>
  54. /// 紧急程度(√)
  55. /// </summary>
  56. public List<EEmergencyLevel> EmergencyLevels { get; set; } = new();
  57. /// <summary>
  58. /// 来电号码(×)
  59. /// </summary>
  60. public string? FromPhone { get; set; }
  61. /// <summary>
  62. /// 来电或联系电话(√)
  63. /// </summary>
  64. public string? PhoneNo { get; set; }
  65. /// <summary>
  66. /// 推送分类(√)(单选)
  67. /// </summary>
  68. public string? PushTypeCode { get; set; }
  69. /// <summary>
  70. /// 期满时间(√)
  71. /// </summary>
  72. public DateTime? ExpiredTimeStart { get; set; }
  73. public DateTime? ExpiredTimeEnd { get; set; }
  74. /// <summary>
  75. /// 工单状态(√)
  76. /// </summary>
  77. public List<EOrderStatus> Statuses { get; set; } = new();
  78. /// <summary>
  79. /// 接办人(√)
  80. /// </summary>
  81. public string? ActualHandlerName { get; set; }
  82. /// <summary>
  83. /// 是否甄别(√)
  84. /// </summary>
  85. public bool? IsScreen { get; set; }
  86. /// <summary>
  87. /// 当前办理节点(√)(单选)
  88. /// </summary>
  89. public string CurrentStepCode { get; set; }
  90. /// <summary>
  91. /// 办结时间(√)
  92. /// </summary>
  93. public DateTime? ActualHandleTimeStart { get; set; }
  94. public DateTime? ActualHandleTimeEnd { get; set; }
  95. /// <summary>
  96. /// 是否超期(√)
  97. /// </summary>
  98. public bool? IsOverTime { get; set; }
  99. /// <summary>
  100. /// 来电主体(√)(单选)
  101. /// </summary>
  102. public EIdentityType? IdentityType { get; set; }
  103. /// <summary>
  104. /// 来电人姓名(×)
  105. /// </summary>
  106. public string? FromName { get; set; }
  107. /// <summary>
  108. /// 区域(×)(多选)
  109. /// </summary>
  110. public List<string> AreaCodes { get; set; } = new();
  111. /// <summary>
  112. /// 是否省工单(空为全部 true为省工单 false为市工单)
  113. /// </summary>
  114. public bool? IsProvinceOrder { get; set; }
  115. /// <summary>
  116. /// 是否敏感词
  117. /// </summary>
  118. public bool? IsSensitiveWord { get; set; }
  119. /// <summary>
  120. /// 敏感词
  121. /// </summary>
  122. public string? SensitiveWord { get; set; }
  123. /// <summary>
  124. /// 是否紧急
  125. /// </summary>
  126. public bool? IsUrgent { get; set; }
  127. /// <summary>
  128. /// 省来源分类 1:政民互动直派,2:政民互动,3:省12345
  129. /// </summary>
  130. public string? ProvinceChannel { get; set; }
  131. }
  132. public enum FiledType
  133. {
  134. [Description("中心归档")]
  135. CenterFiled = 10,
  136. [Description("部门归档")]
  137. OrgFiled = 20,
  138. }
  139. public record QueryOrderRedoRecordDto : PagedKeywordRequest
  140. {
  141. }
  142. public record CanDelayOrderListDto : PagedKeywordRequest
  143. {
  144. }
  145. public record CancelDelayDto
  146. {
  147. public string Id { get; set; }
  148. }
  149. public record ApplyDelayDto
  150. {
  151. public string OrderId { get; set; }
  152. public int DelayNum { get; set; }
  153. public ETimeType DelayUnit { get; set; }
  154. public string DelayReason { get; set; }
  155. public List<FileDto> Files { get; set; }
  156. }
  157. public record OrderDelayWebDto
  158. {
  159. }
  160. public class PublishOrderDelayDto
  161. {
  162. public string Id { get; set; }
  163. /// <summary>
  164. /// 工单编号(冗余)
  165. /// </summary>
  166. public string No { get; set; }
  167. /// <summary>
  168. /// 工单ID
  169. /// </summary>
  170. public string OrderId { get; set; }
  171. public OrderDto? Order { get; set; }
  172. /// <summary>
  173. /// 延期申请时间
  174. /// </summary>
  175. public DateTime ApplyDelayTime { get; set; }
  176. /// <summary>
  177. /// 申请部门Code
  178. /// </summary>
  179. public string ApplyOrgCode { get; set; }
  180. /// <summary>
  181. /// 申请部门名称
  182. /// </summary>
  183. public string ApplyOrgName { get; set; }
  184. /// <summary>
  185. /// 申请人
  186. /// </summary>
  187. public string EmployeeId { get; set; }
  188. /// <summary>
  189. ///
  190. /// </summary>
  191. public string? EmployeeName { get; set; }
  192. /// <summary>
  193. /// 延期申请时限
  194. /// </summary>
  195. public int DelayNum { get; set; }
  196. /// <summary>
  197. /// 延期申请单位
  198. /// </summary>
  199. public ETimeType DelayUnit { get; set; }
  200. /// <summary>
  201. /// 延期申请理由
  202. /// </summary>
  203. public string DelayReason { get; set; }
  204. /// <summary>
  205. /// 申请前期满时间
  206. /// </summary>
  207. public DateTime? BeforeDelay { get; set; }
  208. /// <summary>
  209. /// 申请后期满时间
  210. /// </summary>
  211. public DateTime? AfterDelay { get; set; }
  212. /// <summary>
  213. /// 审批状态
  214. /// </summary>
  215. public EDelayState DelayState { get; set; }
  216. /// <summary>
  217. /// 是否省延期
  218. /// </summary>
  219. public bool IsProDelay { get; set; }
  220. public List<FileJson> FileJson { get; set; }
  221. }
  222. public record OrderDelayDto
  223. {
  224. /// <summary>
  225. /// 工单编号(冗余)
  226. /// </summary>
  227. public string No { get; set; }
  228. /// <summary>
  229. /// 工单ID
  230. /// </summary>
  231. public string OrderId { get; set; }
  232. public OrderDto? Order { get; set; }
  233. /// <summary>
  234. /// 延期申请时间
  235. /// </summary>
  236. public DateTime ApplyDelayTime { get; set; }
  237. /// <summary>
  238. /// 申请部门Code
  239. /// </summary>
  240. public string ApplyOrgCode { get; set; }
  241. /// <summary>
  242. /// 申请部门名称
  243. /// </summary>
  244. public string ApplyOrgName { get; set; }
  245. /// <summary>
  246. /// 申请人
  247. /// </summary>
  248. public string EmployeeId { get; set; }
  249. /// <summary>
  250. ///
  251. /// </summary>
  252. public string? EmployeeName { get; set; }
  253. /// <summary>
  254. /// 延期申请时限
  255. /// </summary>
  256. public int DelayNum { get; set; }
  257. /// <summary>
  258. /// 延期申请单位
  259. /// </summary>
  260. public ETimeType DelayUnit { get; set; }
  261. public string DelayUnitText => DelayUnit.GetDescription();
  262. /// <summary>
  263. /// 延期申请理由
  264. /// </summary>
  265. public string DelayReason { get; set; }
  266. /// <summary>
  267. /// 申请前期满时间
  268. /// </summary>
  269. public DateTime? BeforeDelay { get; set; }
  270. /// <summary>
  271. /// 申请后期满时间
  272. /// </summary>
  273. public DateTime? AfterDelay { get; set; }
  274. /// <summary>
  275. /// 审批状态
  276. /// </summary>
  277. public EDelayState DelayState { get; set; }
  278. public string DelayStateText => DelayState.GetDescription();
  279. /// <summary>
  280. /// 是否省延期
  281. /// </summary>
  282. public bool IsProDelay { get; set; }
  283. /// <summary>
  284. /// 流程ID
  285. /// </summary>
  286. public string? WorkflowId { get; set; }
  287. public DateTime CreationTime { get; set; }
  288. public string Id { get; set; }
  289. public string? CreatorId { get; set; }
  290. public string? CreatorName { get; set; }
  291. public string? CreatorOrgId { get; set; }
  292. public string? CreatorOrgName { get; set; }
  293. public int CreatorOrgLevel { get; set; }
  294. /// <summary>
  295. /// 一级部门Id
  296. /// </summary>
  297. public string? AreaId { get; set; }
  298. /// <summary>
  299. /// 当前办理节点
  300. /// </summary>
  301. public string? CurrentStepName { get; set; }
  302. /// <summary>
  303. /// 当前办理人
  304. /// </summary>
  305. public string? ActualHandlerName { get; set; }
  306. /// <summary>
  307. /// 是否可办理
  308. /// </summary>
  309. public bool IsCanHandle { get; set; }
  310. public List<FileDto> Files { get; set; }
  311. public List<FileJson> FileJson { get; set; }
  312. /// <summary>
  313. /// 办理 true 审批 false
  314. /// </summary>
  315. public bool Handle { get; set; }
  316. }
  317. public record DelayCalcEndTimeDto
  318. {
  319. public DateTime BeginTime { get; set; }
  320. public int DelayNum { get; set; }
  321. public ETimeType DelayUnit { get; set; }
  322. }
  323. public record DelayListDto : PagedKeywordRequest
  324. {
  325. /// <summary>
  326. /// 是否已办 true:已办 false:待办
  327. /// </summary>
  328. public bool? IsApply { get; set; }
  329. public EDelayState? DelayState { get; set; }
  330. }
  331. public record ApplySuperviseDto
  332. {
  333. public string OrderId { get; set; }
  334. }
  335. public record SuperviseListDto : PagedKeywordRequest
  336. {
  337. /// <summary>
  338. /// 督办回复状态
  339. /// </summary>
  340. public int? SuperviseState { get; set; }
  341. public DateTime? CreationTimeStart { get; set; }
  342. public DateTime? CreationTimeEnd { get; set; }
  343. }
  344. public record ScreenListDto : PagedKeywordRequest
  345. {
  346. /// <summary>
  347. /// 甄别申请状态
  348. /// </summary>
  349. public EScreenStatus? Status { get; set; }
  350. public DateTime? CreationTimeStart { get; set; }
  351. public DateTime? CreationTimeEnd { get; set; }
  352. public string? OrderId { get; set; }
  353. /// <summary>
  354. /// 甄别查询来源 1 甄别待办 2 甄别列表
  355. /// </summary>
  356. public int source { get; set; }
  357. /// <summary>
  358. /// 标题
  359. /// </summary>
  360. public string? Title { get; set; }
  361. /// <summary>
  362. /// 编码
  363. /// </summary>
  364. public string? No { get; set; }
  365. /// <summary>
  366. /// 甄别申请部门
  367. /// </summary>
  368. public string? CreatorOrgName { get; set; }
  369. }
  370. public record MayScreenListDto : PagedKeywordRequest
  371. {
  372. public DateTime? CreationTimeStart { get; set; }
  373. public DateTime? CreationTimeEnd { get; set; }
  374. public bool? IsHomePage { get; set; }
  375. /// <summary>
  376. /// 工单编号
  377. /// </summary>
  378. public string? No { get; set; }
  379. /// <summary>
  380. /// 是否省工单
  381. /// </summary>
  382. public bool? IsProvince { get; set; }
  383. /// <summary>
  384. /// 标题
  385. /// </summary>
  386. public string? Title { get; set; }
  387. /// <summary>
  388. /// 来源渠道(电话、网站、APP等)
  389. /// </summary>
  390. public string? SourceChannel { get; set; }
  391. /// <summary>
  392. /// 受理类型
  393. /// </summary>
  394. public string? AcceptType { get; set; }
  395. /// <summary>
  396. /// 会签类型
  397. /// </summary>
  398. public ECounterSignType? CounterSignType { get; set; }
  399. /// <summary>
  400. /// 一级部门名称
  401. /// </summary>
  402. public string? OrgLevelOneName { get; set; }
  403. /// <summary>
  404. /// 实际办理节点名称(会签状态此字段保存最外层会签发起节点名称)
  405. /// </summary>
  406. public string? ActualHandleOrgName { get; set; }
  407. /// <summary>
  408. /// 实际办理时间
  409. /// </summary>
  410. public DateTime? ActualHandleTime { get; set; }
  411. /// <summary>
  412. /// 实际办理时间
  413. /// </summary>
  414. public DateTime? EndActualHandleTime { get; set; }
  415. /// <summary>
  416. /// 归档时间(暂为流程结束时间,因流程结束自动归档)
  417. /// </summary>
  418. public DateTime? FiledTime { get; set; }
  419. /// <summary>
  420. /// 归档时间(暂为流程结束时间,因流程结束自动归档)
  421. /// </summary>
  422. public DateTime? EndFiledTime { get; set; }
  423. /// <summary>
  424. /// 受理时间
  425. /// </summary>
  426. public DateTime? CreationTime { get; set; }
  427. /// <summary>
  428. /// 受理时间
  429. /// </summary>
  430. public DateTime? EndCreationTime { get; set; }
  431. /// <summary>
  432. /// 回访时间
  433. /// </summary>
  434. public DateTime? VisitTime { get; set; }
  435. /// <summary>
  436. /// 回访时间
  437. /// </summary>
  438. public DateTime? EndVisitTime { get; set; }
  439. /// <summary>
  440. /// 回访部门名称
  441. /// </summary>
  442. public string? VisitOrgName { get; set; }
  443. /// <summary>
  444. /// 部门办件结果
  445. /// </summary>
  446. public string? OrgProcessingResults { get; set; }
  447. /// <summary>
  448. /// 部门办件态度
  449. /// </summary>
  450. public string? OrgHandledAttitude { get; set; }
  451. /// <summary>
  452. /// 不满意原因
  453. /// </summary>
  454. public string? OrgNoSatisfiedReason { get; set; }
  455. /// <summary>
  456. /// 甄别退回 0 全部 1 是 2 否
  457. /// </summary>
  458. public int? ScreenSendBack { get; set; }
  459. }
  460. public record UrgeListDto : PagedKeywordRequest
  461. {
  462. /// <summary>
  463. /// 回复状态
  464. /// </summary>
  465. public int? UrgeState { get; set; }
  466. public DateTime? CreationTimeStart { get; set; }
  467. public DateTime? CreationTimeEnd { get; set; }
  468. }
  469. public class QueryRepeatableEventDto
  470. {
  471. public string? HotspotSpliceName { get; set; }
  472. public string? Address { get; set; }
  473. }
  474. public enum EPublicState
  475. {
  476. /// <summary>
  477. /// 全部
  478. /// </summary>
  479. [Description("全部")]
  480. All = 0,
  481. /// <summary>
  482. /// 公开
  483. /// </summary>
  484. [Description("公开")]
  485. Pub = 1,
  486. /// <summary>
  487. /// 不公开
  488. /// </summary>
  489. [Description("不公开")]
  490. NoPub = 2,
  491. }
  492. public enum EPubState
  493. {
  494. /// <summary>
  495. /// 全部
  496. /// </summary>
  497. [Description("全部")]
  498. All = 0,
  499. /// <summary>
  500. /// 已发布
  501. /// </summary>
  502. [Description("已发布")]
  503. Pub = 1,
  504. /// <summary>
  505. /// 未发布
  506. /// </summary>
  507. [Description("未发布")]
  508. NoPub = 2
  509. }
  510. }