فهرست منبع

fixed: 跨级退回时,不属于当前人可以办理的节点抛异常

xf 2 ماه پیش
والد
کامیت
68b87db7dc
1فایلهای تغییر یافته به همراه8 افزوده شده و 2 حذف شده
  1. 8 2
      src/Hotline.Application/Orders/OrderApplication.cs

+ 8 - 2
src/Hotline.Application/Orders/OrderApplication.cs

@@ -5193,10 +5193,14 @@ public class OrderApplication : IOrderApplication, IScopeDependency
         var handleMode = EHandleMode.Previous;
         WorkflowStep? currentStep, prevStep, newStep, startStep = null;
         EFlowDirection flowDirection;
+        var userId = _sessionContextProvider.SessionContext.RequiredUserId;
+        var orgId = _sessionContextProvider.SessionContext.RequiredOrgId;
+        var roles = _sessionContextProvider.SessionContext.Roles;
         do
         {
             (_, currentStep, _, prevStep, newStep, flowDirection) =
-                await _workflowApplication.PreviousAsync(sendBack.SendBackData, handleMode,
+                await _workflowApplication.PreviousAsync(sendBack.SendBackData,
+                    userId, orgId, roles, handleMode,
                     async (workflow1, currentStep1, prevStepDefine, prevStep1, newStep) =>
                     {
                         var stepAssignInfo =
@@ -5211,7 +5215,9 @@ public class OrderApplication : IOrderApplication, IScopeDependency
                     cancellationToken);
 
             startStep ??= currentStep;
-
+            userId = prevStep.HandlerId;
+            orgId = prevStep.HandlerOrgId;
+            roles = [prevStep.RoleId];
         } while (sendBack.AssignStepId != prevStep.Id && prevStep.StepType is not EStepType.Start && !prevStep.IsOrigin);
 
         sendBack.ApplyOrgId = currentStep.AcceptorOrgId;