田爽 5 hónapja
szülő
commit
b4dafde4a4

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

@@ -68,6 +68,7 @@ using Hotline.Authentications;
 using Microsoft.AspNetCore.Components;
 using Quartz.Simpl;
 using static Lucene.Net.Util.Fst.Util;
+using DocumentFormat.OpenXml.Spreadsheet;
 
 namespace Hotline.Api.Controllers;
 
@@ -1647,7 +1648,17 @@ public class OrderController : BaseController
     [HttpGet("delay/{workflowId}/nextsteps")]
     public async Task<NextStepsDto> OrderDelayNextsteps(string workflowId)
     {
-        var workflow = await _workflowRepository.GetAsync(workflowId, HttpContext.RequestAborted);
+        //var workflow = await _workflowRepository.GetAsync(workflowId, HttpContext.RequestAborted);
+        var workflow = await _workflowDomainService.GetWorkflowAsync(workflowId, withDefine: true, withSteps: true,
+	        cancellationToken: HttpContext.RequestAborted);
+        var currentStep = workflow.Steps.FirstOrDefault(d => d.Status == EWorkflowStepStatus.WaitForAccept || d.Status == EWorkflowStepStatus.WaitForHandle);
+        if (!_sessionContext.OrgIsCenter && currentStep.Name != "中心初审")
+        {
+	        if (result.Steps.Any(x => x.Value == "中心终审"))
+	        {
+		        result.Steps.Remove(result.Steps.First(x => x.Value == "中心终审"));
+	        }
+		}
         if (workflow != null)
         {
             var orderDelay = await _orderDelayRepository.Queryable().Includes(x => x.Order).Where(x => x.Id == workflow.ExternalId)
@@ -1833,11 +1844,17 @@ public class OrderController : BaseController
             HttpContext.RequestAborted);
         if (_sessionContext.OrgIsCenter)
         {
-	        if (result.Steps.Any(x => x.Value == "中心初审"))
+            if (result.Steps.Any(x => x.Value == "中心初审"))
+            {
+                result.Steps.Remove(result.Steps.First(x => x.Value == "中心初审"));
+            }
+        }
+        else {
+	        if (result.Steps.Any(x => x.Value == "中心终审"))
 	        {
-		        result.Steps.Remove(result.Steps.First(x => x.Value == "中心初审"));
+		        result.Steps.Remove(result.Steps.First(x => x.Value == "中心审"));
 	        }
-        }
+		}
         return result;
 	}
 

+ 2 - 1
src/Hotline.Share/Dtos/FlowEngine/NextStepOption.cs

@@ -1,4 +1,5 @@
-using Hotline.Share.Enums.FlowEngine;
+using Hotline.Share.Dtos.FlowEngine.Workflow;
+using Hotline.Share.Enums.FlowEngine;
 
 namespace Hotline.Share.Dtos.FlowEngine;