瀏覽代碼

特提问题处理

田爽 5 月之前
父節點
當前提交
d49ff6b2f1
共有 1 個文件被更改,包括 28 次插入13 次删除
  1. 28 13
      src/Hotline.Api/Controllers/OrderController.cs

+ 28 - 13
src/Hotline.Api/Controllers/OrderController.cs

@@ -5102,9 +5102,12 @@ public class OrderController : BaseController
             var orderDto = _mapper.Map<OrderDto>(order);
             await _capPublisher.PublishAsync(Hotline.Share.Mq.EventNames.HotlineOrderExpiredTimeUpdate, orderDto,
                 cancellationToken: HttpContext.RequestAborted);
-            var flowStepHandler = recall.NextHandlers.FirstOrDefault();
-            await _orderRepository.Updateable().SetColumns(o => new Orders.Order() { CenterToOrgHandlerId = flowStepHandler.UserId, CenterToOrgHandlerName = flowStepHandler.Username })
-                .Where(o => o.Id == order.Id).ExecuteCommandAsync(HttpContext.RequestAborted);
+            if (dto.BusinessType == EBusinessType.Send && recall.NextHandlers.Any())
+            {
+				var flowStepHandler = recall.NextHandlers.FirstOrDefault();
+				await _orderRepository.Updateable().SetColumns(o => new Orders.Order() { CenterToOrgHandlerId = flowStepHandler.UserId, CenterToOrgHandlerName = flowStepHandler.Username })
+					.Where(o => o.Id == order.Id).ExecuteCommandAsync(HttpContext.RequestAborted);
+			}
             //}
             await _workflowApplication.RecallAsync(recall, expiredTime.ExpiredTime, order.Status >= EOrderStatus.Filed, EWorkflowTraceType.Recall,
                 HttpContext.RequestAborted);
@@ -5290,9 +5293,14 @@ public class OrderController : BaseController
             var processType = dto.FlowDirection is EFlowDirection.OrgToCenter or EFlowDirection.CenterToCenter or EFlowDirection.FiledToCenter
                 ? EProcessType.Zhiban
                 : EProcessType.Jiaoban;
-            var flowStepHandler = recall.NextHandlers.FirstOrDefault();
-            await _orderRepository.Updateable().SetColumns(o => new Orders.Order() { CenterToOrgHandlerId = flowStepHandler.UserId, CenterToOrgHandlerName = flowStepHandler.Username })
-                .Where(o => o.Id == order.Id).ExecuteCommandAsync(HttpContext.RequestAborted);
+
+            if (dto.BusinessType == EBusinessType.Send && recall.NextHandlers.Any())
+            {
+				var flowStepHandler = recall.NextHandlers.FirstOrDefault();
+				await _orderRepository.Updateable().SetColumns(o => new Orders.Order() { CenterToOrgHandlerId = flowStepHandler.UserId, CenterToOrgHandlerName = flowStepHandler.Username })
+					.Where(o => o.Id == order.Id).ExecuteCommandAsync(HttpContext.RequestAborted);
+			}
+
             await _workflowApplication.RecallAsync(recall, endTime, order.Status >= EOrderStatus.Filed, EWorkflowTraceType.Redo,
                 HttpContext.RequestAborted);
             //var publish = await _orderPublishRepository.GetAsync(x => x.OrderId == dto.OrderId);
@@ -5436,9 +5444,13 @@ public class OrderController : BaseController
             await _capPublisher.PublishAsync(Hotline.Share.Mq.EventNames.HotlineOrderExpiredTimeUpdate, orderDto,
                 cancellationToken: HttpContext.RequestAborted);
             //}
-            var flowStepHandler = recall.NextHandlers.FirstOrDefault();
-            await _orderRepository.Updateable().SetColumns(o => new Orders.Order() { CenterToOrgHandlerId = flowStepHandler.UserId, CenterToOrgHandlerName = flowStepHandler.Username })
-                .Where(o => o.Id == order.Id).ExecuteCommandAsync(HttpContext.RequestAborted);
+            if (special.BusinessType == EBusinessType.Send && recall.NextHandlers.Any())
+            {
+				var flowStepHandler = recall.NextHandlers.FirstOrDefault();
+				await _orderRepository.Updateable().SetColumns(o => new Orders.Order() { CenterToOrgHandlerId = flowStepHandler.UserId, CenterToOrgHandlerName = flowStepHandler.Username })
+					.Where(o => o.Id == order.Id).ExecuteCommandAsync(HttpContext.RequestAborted);
+			}
+          
             //todo 特提重办,按审批通过时间依据中心派至部门的规则计算期满时间,更新order
 
             await _workflowApplication.RecallAsync(recall, expiredTime.ExpiredTime, order.Status >= EOrderStatus.Filed, EWorkflowTraceType.Recall,
@@ -5585,10 +5597,13 @@ public class OrderController : BaseController
                 var orderDto = _mapper.Map<OrderDto>(order);
                 await _capPublisher.PublishAsync(Hotline.Share.Mq.EventNames.HotlineOrderExpiredTimeUpdate, orderDto,
                     cancellationToken: HttpContext.RequestAborted);
-                //}
-                var flowStepHandler = recall.NextHandlers.FirstOrDefault();
-                await _orderRepository.Updateable().SetColumns(o => new Orders.Order() { CenterToOrgHandlerId = flowStepHandler.UserId, CenterToOrgHandlerName = flowStepHandler.Username })
-                    .Where(o => o.Id == order.Id).ExecuteCommandAsync(HttpContext.RequestAborted);
+				//}
+				if (special.BusinessType == EBusinessType.Send && recall.NextHandlers.Any())
+				{
+					var flowStepHandler = recall.NextHandlers.FirstOrDefault();
+					await _orderRepository.Updateable().SetColumns(o => new Orders.Order() { CenterToOrgHandlerId = flowStepHandler.UserId, CenterToOrgHandlerName = flowStepHandler.Username })
+						.Where(o => o.Id == order.Id).ExecuteCommandAsync(HttpContext.RequestAborted);
+				}
                 //todo 特提重办,按审批通过时间依据中心派至部门的规则计算期满时间,更新order
 
                 await _workflowApplication.RecallAsync(recall, expiredTime.ExpiredTime, order.Status >= EOrderStatus.Filed, EWorkflowTraceType.Recall,