浏览代码

接收工单处理结果 判断是否存在拓展信息
省12345平台退回信件,不显示特提,显示“省12315平台退回

田爽 2 月之前
父节点
当前提交
52ce3efbdd
共有 1 个文件被更改,包括 6 次插入3 次删除
  1. 6 3
      src/Hotline.Application/Subscribers/DatasharingSubscriber.cs

+ 6 - 3
src/Hotline.Application/Subscribers/DatasharingSubscriber.cs

@@ -820,7 +820,7 @@ namespace Hotline.Application.Subscribers
         public async Task RecOrderResultAsync(OrderResultDto dto, CancellationToken cancellationToken)
         {
             SessionContextCreator.CreateSessionContext(_sessionContextProvider, dto.Source);
-            var order = await _orderRepository.GetAsync(dto.OrderId, cancellationToken);
+            var order = await _orderRepository.Queryable().Includes(x=>x.OrderExtension).FirstAsync(x=>x.Id == dto.OrderId, cancellationToken);
             if (order is null)
                 throw new UserFriendlyException($"无效工单编号, orderId: {dto.OrderId}");
             if (string.IsNullOrEmpty(order.WorkflowId))
@@ -858,13 +858,16 @@ namespace Hotline.Application.Subscribers
                     //退回:撤回至发起人
                     //await _workflowDomainService.RecallToStartStepAsync(order.WorkflowId, dto.Opinion, order.Status >= EOrderStatus.Filed,
                     //    order.ExpiredTime, cancellationToken); //todo think是否需要保存附件至省平台办理节点?
-                    
+
                     //var (isPaiDan, workflow) = await _workflowDomainService.RecallToCenterFirstToSendAsync(
                     //    order.WorkflowId, dto.Opinion, order.Status >= EOrderStatus.Filed, 
                     //    order.ExpiredTime, null, EHandleMode.Recall, cancellationToken);
 
                     // var reverseFlowStepAssignInfo = new ReverseFlowStepAssignInfo(EReverseFlowStepCreationPolicy.OriginStep);
-                    var (isPaiDan, workflow) = await _workflowDomainService.RecallToCenterFirstToSendAsync(order.WorkflowId, dto.Opinion, 
+
+                    var handleMode = order.OrderExtension is null ? EHandleMode.Recall : EHandleMode.ProvinceHandlePrevious;
+
+					var (isPaiDan, workflow) = await _workflowDomainService.RecallToCenterFirstToSendAsync(order.WorkflowId, dto.Opinion, 
                         order.Status >= EOrderStatus.Filed, order.ExpiredTime, EHandleMode.ProvinceHandlePrevious, cancellationToken: cancellationToken);
 
                     order.Status = isPaiDan ? EOrderStatus.Special : EOrderStatus.WaitForAccept;