IOrderDomainService.cs 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. using Hotline.Schedulings;
  2. using Hotline.Share.Dtos;
  3. using Hotline.Share.Dtos.FlowEngine.Workflow;
  4. using Hotline.Share.Dtos.Order;
  5. namespace Hotline.Orders
  6. {
  7. public interface IOrderDomainService
  8. {
  9. #region OrderHandle
  10. Task<Order> GetOrderAsync(string? orderId, bool withHotspot = false, bool withAcceptor = false,
  11. bool withExtension = false, CancellationToken cancellationToken = default);
  12. Task<string> AddAsync(Order order, bool autoAccept = false, CancellationToken cancellationToken = default);
  13. /// <summary>
  14. /// 撤回或跳转前处理数据及校验
  15. /// <remarks>
  16. ///工单撤回时需校验工单当前是否存在待发布记录、待回访记录,若存在需删除对应记录(跳转同理)
  17. ///工单撤回时需校验工单是否存在甄别中记录,若存在不允许撤回当前工单(跳转同理)
  18. /// </remarks>
  19. /// </summary>
  20. Task ReadyToRecallAsync(string orderId, CancellationToken cancellationToken);
  21. ///// <summary>
  22. ///// 计算并赋值order的几个时长字段
  23. ///// </summary>
  24. ///// <returns></returns>
  25. //Task CalculateAndSetOrderDuration(bool setHandleDuration, bool setFileDuration, bool allDuration);
  26. #endregion
  27. #region OrderRedo
  28. Task<string> AddOrderRedoAsync(OrderRedo orderRedo, CancellationToken cancellationToken);
  29. Task RemoveOrderRedoAsync(string id, CancellationToken cancellationToken);
  30. Task UpdateOrderRedoAsync(OrderRedo orderRedo, CancellationToken cancellationToken);
  31. #endregion
  32. #region 扩展信息
  33. Task<OrderExtension?> GetOrderExtensionsAsync(string provinceNo, CancellationToken cancellationToken);
  34. Task UpdateExtensionAsync(OrderExtension orderExtension, CancellationToken cancellationToken);
  35. /// <summary>
  36. /// 新增工单扩展信息
  37. /// </summary>
  38. Task AddExtensionAsync(OrderExtension extension, CancellationToken cancellationToken);
  39. #endregion
  40. #region OrderComplement
  41. /// <summary>
  42. /// 新增工单补充信息
  43. /// </summary>
  44. Task<string> AddOrderComplementAsync(AddOrderComplementDto dto, CancellationToken cancellationToken);
  45. #endregion
  46. #region 平均派单
  47. /// <summary>
  48. /// 获取是否上班
  49. /// </summary>
  50. /// <param name="UserId"></param>
  51. /// <returns></returns>
  52. Task<bool> SchedulingAtWork(string UserId);
  53. /// <summary>
  54. /// 平均派单
  55. /// </summary>
  56. /// <returns></returns>
  57. Task<StepAssignInfo> AverageOrder(CancellationToken cancellationToken);
  58. /// <summary>
  59. /// 登录平均派单
  60. /// </summary>
  61. /// <param name="userId"></param>
  62. /// <returns></returns>
  63. Task LogAverageOrder(string userId, Scheduling scheduling, CancellationToken cancellationToken);
  64. /// <summary>
  65. /// 触发平均派单
  66. /// </summary>
  67. /// <returns></returns>
  68. Task TriggerAverageOrder(CancellationToken cancellationToken);
  69. /// <summary>
  70. /// 提前触发平均派单
  71. /// </summary>
  72. /// <param name="cancellationToken"></param>
  73. /// <returns></returns>
  74. Task AdvancedTriggerAverageOrder(CancellationToken cancellationToken);
  75. #endregion
  76. #region 工单校验- 交通类工单
  77. /// <summary>
  78. /// 工单校验 - 交通类工单
  79. /// </summary>
  80. /// <returns></returns>
  81. Task<OrderValidation> OrderValidation(AddOrderDto dto, CancellationToken cancellationToken);
  82. #endregion
  83. /// <summary>
  84. /// 验证是否是管理员
  85. /// </summary>
  86. /// <returns></returns>
  87. bool IsCheckAdmin();
  88. /// <summary>
  89. /// 推送即将超期和超期短信
  90. /// </summary>
  91. /// <returns></returns>
  92. Task SendOverTimeSms(CancellationToken cancellationToken);
  93. Task OrderPublishAsync(Order order, CancellationToken cancellationToken);
  94. Task OrderAutomaticPublishAsync(Order order, CancellationToken cancellationToken);
  95. /// <summary>
  96. /// 重办和退回工单时如果有取消发布的工单, 清除回访待办和回访列表中的数据
  97. /// </summary>
  98. /// <param name="orderId"></param>
  99. /// <param name="cancellationToken"></param>
  100. /// <returns></returns>
  101. Task VisitNoneByCancelPublishAsync(string orderId, CancellationToken cancellationToken);
  102. /// <summary>
  103. /// 计算甄别申请截至日期
  104. /// </summary>
  105. /// <returns></returns>
  106. Task<DateTime> GetScreenByEndTime();
  107. /// <summary>
  108. /// 查询中心最后一次会签的所有一级部门
  109. /// </summary>
  110. /// <param name="workFlowId"></param>
  111. /// <returns></returns>
  112. Task<List<Kv>> GetCountersignOneOrg(string workFlowId);
  113. }
  114. }