Parcourir la source

Merge branch 'master' of http://110.188.24.182:10023/Fengwo/hotline

xf il y a 1 an
Parent
commit
c8e8a63093

+ 9 - 4
src/Hotline.Api/Controllers/OrderController.cs

@@ -2630,9 +2630,14 @@ public class OrderController : BaseController
             if (prevStep == null)
                 throw UserFriendlyException.SameMessage("未查询到前一节点");
 
-            var applyOrg = _organizeRepository.Get(currentStep.AcceptorOrgId);
+            var sendBack = await _orderSendBackAuditRepository.Queryable().Where(x => x.OrderId == workflow.ExternalId && x.State == ESendBackAuditState.Apply ).AnyAsync();
+            if (sendBack)
+	            throw UserFriendlyException.SameMessage("当前工单已经生成退回记录");
+
+			var applyOrg = _organizeRepository.Get(currentStep.AcceptorOrgId);
             var sendBackOrg = _organizeRepository.Get(prevStep.AcceptorOrgId);
-            if ((twoSendBack && 2.Equals(applyOrg.Level) && 1.Equals(sendBackOrg.Level) && !sendBackOrg.IsCenter) || (oneSendBack && 1.Equals(applyOrg.Level) && sendBackOrg.IsCenter && !applyOrg.IsCenter))
+            if ((twoSendBack && 2.Equals(applyOrg.Level) && 1.Equals(sendBackOrg.Level) && !sendBackOrg.IsCenter) 
+                || (oneSendBack && 1.Equals(applyOrg.Level) && sendBackOrg.IsCenter && !applyOrg.IsCenter))
             {
                 var audit = new OrderSendBackAudit
                 {
@@ -2649,8 +2654,8 @@ public class OrderController : BaseController
                 };
                 await _orderSendBackAuditRepository.AddAsync(audit, HttpContext.RequestAborted);
             }
-            //中心内部流转  不走审批流程
-            if (sendBackOrg.IsCenter && applyOrg.IsCenter)
+            //中心内部流转  不走审批流程  3级部门不走审批 
+            if ((sendBackOrg.IsCenter && applyOrg.IsCenter) || 3.Equals(applyOrg.Level))
             {
                 await _workflowApplication.PreviousAsync(dto, HttpContext.RequestAborted);
                 //发送短信TODO

+ 1 - 2
src/Hotline.Application/Handlers/FlowEngine/WorkflowRecallHandler.cs

@@ -63,8 +63,7 @@ public class WorkflowRecallHandler : INotificationHandler<RecallNotify>
 
                 await _orderRepository.UpdateAsync(order, cancellationToken);
 
-                if (data.FlowDirection.HasValue && data.External.TimeLimit.HasValue &&
-                    data.External.TimeLimitUnit.HasValue)
+                if (data.External.TimeLimit.HasValue && data.External.TimeLimitUnit.HasValue)
                 {
                     var expiredTime = _timeLimitDomainService.CalcEndTime(DateTime.Now,
                         data.External.TimeLimitUnit.Value,