QueryOrderDto.cs 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. using Hotline.Share.Dtos.File;
  8. using Hotline.Share.Dtos.Users;
  9. using Hotline.Share.Enums.Order;
  10. using Hotline.Share.Enums.Settings;
  11. using Hotline.Share.Requests;
  12. using XF.Utility.EnumExtensions;
  13. namespace Hotline.Share.Dtos.Order
  14. {
  15. public record QueryOrderDto : PagedKeywordRequest
  16. {
  17. /// <summary>
  18. /// 诉求内容
  19. /// </summary>
  20. public string? Content { get; set; }
  21. /// <summary>
  22. /// 受理类型
  23. /// </summary>
  24. public List<string> AcceptTypes { get; set; } = new();
  25. /// <summary>
  26. /// 来源渠道
  27. /// </summary>
  28. public List<string> Channels { get; set; } = new();
  29. /// <summary>
  30. /// 转接号码(转接来源)
  31. /// </summary>
  32. public string? TransferPhone { get; set; }
  33. /// <summary>
  34. /// 热点分类
  35. /// </summary>
  36. public List<string> HotspotIds { get; set; } = new();
  37. /// <summary>
  38. /// 接办部门
  39. /// </summary>
  40. public List<string> OrgCodes { get; set; } = new();
  41. /// <summary>
  42. /// 受理坐席名字或工号
  43. /// </summary>
  44. public string? NameOrNo { get; set; }
  45. /// <summary>
  46. /// 受理时间(工单创建时间)
  47. /// </summary>
  48. public DateTime? CreationTimeStart { get; set; }
  49. public DateTime? CreationTimeEnd { get; set; }
  50. /// <summary>
  51. /// 紧急程度
  52. /// </summary>
  53. public List<EEmergencyLevel> EmergencyLevels { get; set; } = new();
  54. /// <summary>
  55. /// 来电或联系电话
  56. /// </summary>
  57. public string? PhoneNo { get; set; }
  58. /// <summary>
  59. /// 推送分类
  60. /// </summary>
  61. public string? PushTypeCode { get; set; }
  62. /// <summary>
  63. /// 过期时间
  64. /// </summary>
  65. public DateTime? ExpiredTimeStart { get; set; }
  66. public DateTime? ExpiredTimeEnd { get; set; }
  67. /// <summary>
  68. /// 工单状态
  69. /// </summary>
  70. public List<EOrderStatus> Statuses { get; set; } = new();
  71. }
  72. public record QueryOrderPublishDto : PagedKeywordRequest
  73. {
  74. /// <summary>
  75. /// 发布状态
  76. /// </summary>
  77. public EPubState? PubState { get; set; }
  78. /// <summary>
  79. /// 归档方式
  80. /// </summary>
  81. public FiledType? FiledType { get; set; }
  82. /// <summary>
  83. /// 工单标题
  84. /// </summary>
  85. public string? OrderTitle { get; set; }
  86. /// <summary>
  87. /// 发布人
  88. /// </summary>
  89. public string? PubMan { get; set; }
  90. /// <summary>
  91. /// 发布范围
  92. /// </summary>
  93. public EPublicState? PubRange { get; set; }
  94. /// <summary>
  95. /// 受理类型
  96. /// </summary>
  97. public List<string>? AcceptTypes { get; set; } = new();
  98. /// <summary>
  99. /// 热点分类
  100. /// </summary>
  101. public List<string>? HotspotIds { get; set; } = new();
  102. /// <summary>
  103. /// 受理时间(工单创建时间)
  104. /// </summary>
  105. public DateTime? CreationTimeStart { get; set; }
  106. public DateTime? CreationTimeEnd { get; set; }
  107. /// <summary>
  108. /// 归档时间
  109. /// </summary>
  110. public DateTime? FiledTimeStart { get; set; }
  111. public DateTime? FiledTimeEnd { get; set; }
  112. /// <summary>
  113. /// 是否会签
  114. /// </summary>
  115. public bool? IsCountersign { get; set; }
  116. }
  117. public enum FiledType
  118. {
  119. [Description("中心归档")]
  120. CenterFiled = 10,
  121. [Description("部门归档")]
  122. OrgFiled = 20,
  123. }
  124. public record QueryOrderRedoRecordDto: PagedKeywordRequest
  125. {
  126. }
  127. public record CanDelayOrderListDto : PagedKeywordRequest
  128. {
  129. }
  130. public record ApplyDelayDto
  131. {
  132. public string OrderId { get; set; }
  133. public int DelayNum { get; set; }
  134. public ETimeType DelayUnit { get; set; }
  135. public string DelayReason { get; set; }
  136. public List<FileDto> Files { get; set; }
  137. }
  138. public class PublishOrderDelayDto
  139. {
  140. public string Id { get; set; }
  141. /// <summary>
  142. /// 工单编号(冗余)
  143. /// </summary>
  144. public string No { get; set; }
  145. /// <summary>
  146. /// 工单ID
  147. /// </summary>
  148. public string OrderId { get; set; }
  149. public OrderDto? Order { get; set; }
  150. /// <summary>
  151. /// 延期申请时间
  152. /// </summary>
  153. public DateTime ApplyDelayTime { get; set; }
  154. /// <summary>
  155. /// 申请部门Code
  156. /// </summary>
  157. public string ApplyOrgCode { get; set; }
  158. /// <summary>
  159. /// 申请部门名称
  160. /// </summary>
  161. public string ApplyOrgName { get; set; }
  162. /// <summary>
  163. /// 申请人
  164. /// </summary>
  165. public string EmployeeId { get; set; }
  166. /// <summary>
  167. ///
  168. /// </summary>
  169. public string? EmployeeName { get; set; }
  170. /// <summary>
  171. /// 延期申请时限
  172. /// </summary>
  173. public int DelayNum { get; set; }
  174. /// <summary>
  175. /// 延期申请单位
  176. /// </summary>
  177. public ETimeType DelayUnit { get; set; }
  178. /// <summary>
  179. /// 延期申请理由
  180. /// </summary>
  181. public string DelayReason { get; set; }
  182. /// <summary>
  183. /// 申请前期满时间
  184. /// </summary>
  185. public DateTime? BeforeDelay { get; set; }
  186. /// <summary>
  187. /// 申请后期满时间
  188. /// </summary>
  189. public DateTime? AfterDelay { get; set; }
  190. /// <summary>
  191. /// 审批状态
  192. /// </summary>
  193. public EDelayState DelayState { get; set; }
  194. /// <summary>
  195. /// 是否省延期
  196. /// </summary>
  197. public bool IsProDelay { get; set; }
  198. public List<FileJson> FileJson { get; set; }
  199. }
  200. public record OrderDelayDto
  201. {
  202. /// <summary>
  203. /// 工单编号(冗余)
  204. /// </summary>
  205. public string No { get; set; }
  206. /// <summary>
  207. /// 工单ID
  208. /// </summary>
  209. public string OrderId { get; set; }
  210. public OrderDto? Order { get; set; }
  211. /// <summary>
  212. /// 延期申请时间
  213. /// </summary>
  214. public DateTime ApplyDelayTime { get; set; }
  215. /// <summary>
  216. /// 申请部门Code
  217. /// </summary>
  218. public string ApplyOrgCode { get; set; }
  219. /// <summary>
  220. /// 申请部门名称
  221. /// </summary>
  222. public string ApplyOrgName { get; set; }
  223. /// <summary>
  224. /// 申请人
  225. /// </summary>
  226. public string EmployeeId { get; set; }
  227. /// <summary>
  228. ///
  229. /// </summary>
  230. public string? EmployeeName { get; set; }
  231. /// <summary>
  232. /// 延期申请时限
  233. /// </summary>
  234. public int DelayNum { get; set; }
  235. /// <summary>
  236. /// 延期申请单位
  237. /// </summary>
  238. public ETimeType DelayUnit { get; set; }
  239. public string DelayUnitText => DelayUnit.GetDescription();
  240. /// <summary>
  241. /// 延期申请理由
  242. /// </summary>
  243. public string DelayReason { get; set; }
  244. /// <summary>
  245. /// 申请前期满时间
  246. /// </summary>
  247. public DateTime? BeforeDelay { get; set; }
  248. /// <summary>
  249. /// 申请后期满时间
  250. /// </summary>
  251. public DateTime? AfterDelay { get; set; }
  252. /// <summary>
  253. /// 审批状态
  254. /// </summary>
  255. public EDelayState DelayState { get; set; }
  256. public string DelayStateText => DelayState.GetDescription();
  257. /// <summary>
  258. /// 是否省延期
  259. /// </summary>
  260. public bool IsProDelay { get; set; }
  261. /// <summary>
  262. /// 流程ID
  263. /// </summary>
  264. public string? WorkflowId { get; set; }
  265. public DateTime CreationTime { get; set; }
  266. public string Id { get; set; }
  267. public string? CreatorId { get; set; }
  268. public string? CreatorName { get; set; }
  269. public string? CreatorOrgId { get; set; }
  270. public string? CreatorOrgName { get; set; }
  271. public int CreatorOrgLevel { get; set; }
  272. /// <summary>
  273. /// 一级部门Id
  274. /// </summary>
  275. public string? AreaId { get; set; }
  276. /// <summary>
  277. /// 当前办理节点
  278. /// </summary>
  279. public string? CurrentStepName { get; set; }
  280. /// <summary>
  281. /// 当前办理人
  282. /// </summary>
  283. public string? ActualHandlerName { get; set; }
  284. /// <summary>
  285. /// 是否可办理
  286. /// </summary>
  287. public bool IsCanHandle { get; set; }
  288. public List<FileDto> Files { get; set; }
  289. public List<FileJson> FileJson { get; set; }
  290. }
  291. public record DelayCalcEndTimeDto
  292. {
  293. public DateTime BeginTime { get; set; }
  294. public int DelayNum { get; set; }
  295. public ETimeType DelayUnit { get; set; }
  296. }
  297. public record DelayListDto : PagedKeywordRequest
  298. {
  299. /// <summary>
  300. /// 是否已办 true:已办 false:待办
  301. /// </summary>
  302. public bool? IsApply { get; set; }
  303. public EDelayState? DelayState { get; set; }
  304. }
  305. public record ApplySuperviseDto
  306. {
  307. public string OrderId { get; set; }
  308. }
  309. public record SuperviseListDto : PagedKeywordRequest
  310. {
  311. /// <summary>
  312. /// 督办回复状态
  313. /// </summary>
  314. public int? SuperviseState { get; set; }
  315. public DateTime? CreationTimeStart { get; set; }
  316. public DateTime? CreationTimeEnd { get; set; }
  317. }
  318. public record ScreenListDto : PagedKeywordRequest
  319. {
  320. /// <summary>
  321. /// 甄别申请状态
  322. /// </summary>
  323. public EScreenStatus? Status { get; set; }
  324. public DateTime? CreationTimeStart { get; set; }
  325. public DateTime? CreationTimeEnd { get; set; }
  326. public string? OrderId { get; set; }
  327. }
  328. public record MayScreenListDto : PagedKeywordRequest
  329. {
  330. /// <summary>
  331. /// 部门编号
  332. /// </summary>
  333. public string VisitOrgCode { get; set; }
  334. public DateTime? CreationTimeStart { get; set; }
  335. public DateTime? CreationTimeEnd { get; set; }
  336. }
  337. public record UrgeListDto : PagedKeywordRequest
  338. {
  339. /// <summary>
  340. /// 回复状态
  341. /// </summary>
  342. public int? UrgeState { get; set; }
  343. public DateTime? CreationTimeStart { get; set; }
  344. public DateTime? CreationTimeEnd { get; set; }
  345. }
  346. public class QueryRepeatableEventDto {
  347. public string? HotspotSpliceName { get; set; }
  348. public string? Address { get; set; }
  349. }
  350. public enum EPublicState
  351. {
  352. /// <summary>
  353. /// 全部
  354. /// </summary>
  355. [Description("全部")]
  356. All = 0,
  357. /// <summary>
  358. /// 公开
  359. /// </summary>
  360. [Description("公开")]
  361. Pub = 1,
  362. /// <summary>
  363. /// 不公开
  364. /// </summary>
  365. [Description("不公开")]
  366. NoPub = 2,
  367. }
  368. public enum EPubState
  369. {
  370. /// <summary>
  371. /// 全部
  372. /// </summary>
  373. [Description("全部")]
  374. All = 0,
  375. /// <summary>
  376. /// 已发布
  377. /// </summary>
  378. [Description("已发布")]
  379. Pub = 1,
  380. /// <summary>
  381. /// 未发布
  382. /// </summary>
  383. [Description("未发布")]
  384. NoPub = 2
  385. }
  386. }