田爽 vor 9 Monaten
Ursprung
Commit
da046a7a8f

+ 0 - 17
src/Hotline.Api/Controllers/OrderController.cs

@@ -2041,23 +2041,6 @@ public class OrderController : BaseController
         }
     }
 
-    /// <summary>
-    /// 甄别流程退回
-    /// </summary>
-    [HttpPost("screen/previous")]
-    public async Task ScreenPrevious([FromBody] PreviousWorkflowDto dto)
-    {
-        var workflow = await _workflowDomainService.GetWorkflowAsync(dto.WorkflowId, withSteps: true,
-            cancellationToken: HttpContext.RequestAborted);
-        var screen = await _orderScreenRepository.Queryable().Where(x => x.WorkflowId == dto.WorkflowId).FirstAsync();
-        if (screen == null)
-            throw UserFriendlyException.SameMessage("甄别信息错误!");
-        screen.SendBackApply = workflow.Steps.Count <= 2;
-        await _workflowApplication.PreviousAsync(dto, HttpContext.RequestAborted);
-        screen.Status = EScreenStatus.SendBack;
-        screen.SendBackNum++;
-        await _orderScreenRepository.UpdateAsync(screen, HttpContext.RequestAborted);
-    }
     /// <summary>
     /// 查询工单甄别流程开启参数
     /// </summary>

+ 6 - 2
src/Hotline.Application/Handlers/FlowEngine/WorkflowPreviousHandler.cs

@@ -167,12 +167,16 @@ namespace Hotline.Application.Handlers.FlowEngine
                         }
                         break;
                     case WorkflowModuleConsts.OrderScreen:
-                        var screen = await _orderScreenRepository.GetAsync(workflow.ExternalId, cancellationToken);
+	                    var workflowSteps = await _workflowDomainService.GetWorkflowAsync(workflow.Id,withSteps: true,cancellationToken:cancellationToken);
+						var screen = await _orderScreenRepository.GetAsync(workflow.ExternalId, cancellationToken);
                         if (screen != null)
                         {
                             screen.Flowed(workflow.FlowedUserIds, workflow.FlowedOrgIds, workflow.HandlerUsers, workflow.HandlerOrgs);
                             screen.SendBackTime = DateTime.Now;
-                            await _orderScreenRepository.UpdateAsync(screen, cancellationToken);
+                            screen.SendBackApply = workflowSteps.Steps.Count <= 2;
+                            screen.Status = EScreenStatus.SendBack;
+                            screen.SendBackNum++;
+							await _orderScreenRepository.UpdateAsync(screen, cancellationToken);
                         }
                         OrderScreenDetail detail = new OrderScreenDetail
                         {