Bladeren bron

Merge branch 'master' into release/yibin

xf 11 maanden geleden
bovenliggende
commit
48311433c6

+ 13 - 2
src/Hotline.Api/Controllers/TestController.cs

@@ -460,11 +460,22 @@ public class TestController : BaseController
     [HttpPost("t3")]
     public async Task TestExportExcel()
     {
-        var items = await _workflowTraceRepository.Queryable()
-            .Where(d => !SqlFunc.Subqueryable<WorkflowStepHandler>().Where(x => x.WorkflowStepId == d.StepId).Any())
+        // var items = await _workflowTraceRepository.Queryable()
+        //     .Where(d => !SqlFunc.Subqueryable<WorkflowStepHandler>().Where(x => x.WorkflowStepId == d.StepId).Any())
+        //     .ToListAsync(HttpContext.RequestAborted);
+
+        var handlerStepIds = await _workflowStepHandleRepository
+            .Queryable()
+            .Select(d=>d.WorkflowStepId)
             .ToListAsync(HttpContext.RequestAborted);
+        _logger.LogInformation($"handler stepids: {handlerStepIds.Count}");
 
+        var items = await _workflowTraceRepository
+            .Queryable()
+            .Where(d => !handlerStepIds.Distinct().Contains(d.StepId))
+            .ToListAsync(HttpContext.RequestAborted);
         _logger.LogInformation($"traces.count: {items.Count}");
+
         //var items = await _workflowTraceRepository.Queryable()
         //    .LeftJoin<WorkflowStepHandler>((t, h) => t.StepId == h.WorkflowStepId)
         //    .Where((t, h) => h == null)

+ 3 - 2
src/Hotline/FlowEngine/Workflows/WorkflowDomainService.cs

@@ -889,8 +889,6 @@ namespace Hotline.FlowEngine.Workflows
             var isOrgToCenter = await RecallAsync(workflow, dto, flowAssignInfo, targetStepDefine, targetStep,
                 EWorkflowTraceType.Recall, stepHandlers, expiredTime, cancellationToken);
 
-            workflow.ResetHandlers(flowAssignInfo.FlowAssignType, flowAssignInfo.HandlerObjects);
-
             await _workflowRepository.UpdateAsync(workflow, cancellationToken);
 
             await _mediator.Publish(new RecallNotify(workflow, targetStep, dto, isOrgToCenter), cancellationToken);
@@ -1964,6 +1962,9 @@ namespace Hotline.FlowEngine.Workflows
             //更新实际办理节点信息
             workflow.UpdateActualStepWhenAssign(targetStepNew, targetStep.HandlerOrgName, targetStep.HandlerOrgId);
 
+            workflow.Assign(flowAssignInfo.FlowAssignType, flowAssignInfo.GetHandlerIds());
+            workflow.ResetHandlers(flowAssignInfo.FlowAssignType, flowAssignInfo.HandlerObjects);
+
             //calc workflow expired time
             var isOrgToCenter = CheckIfFlowFromOrgToCenter(workflow, targetStep);
 

+ 1 - 0
src/Hotline/Orders/Order.cs

@@ -22,6 +22,7 @@ namespace Hotline.Orders
     /// </summary>
     [Description("工单")]
     [SugarIndex("unique_order_no", nameof(Order.No), OrderByType.Desc, true)]
+    [SugarIndex("index_order_creationtime", nameof(Order.CreationTime), OrderByType.Asc)]
     public partial class Order : PositionWorkflowEntity
     {
         public Order()