Эх сурвалжийг харах

fixed: jump uncompleted traces complete

xf 1 жил өмнө
parent
commit
1ce7222deb

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

@@ -561,9 +561,6 @@ namespace Hotline.FlowEngine.Workflows
                 flowAssignMode.FlowAssignType, flowAssignMode.HandlerObjects);
             await _workflowRepository.UpdateAsync(workflow, cancellationToken);
 
-            //update uncompleted traces
-            await JumpTraceAsync(workflow.Id, dto, cancellationToken);
-
             await _mediator.Publish(new JumpNotify(workflow, dto), cancellationToken);
         }
 
@@ -703,7 +700,8 @@ namespace Hotline.FlowEngine.Workflows
                     _sessionContext.RequiredUserId,
                     _sessionContext.UserName,
                     _sessionContext.RequiredOrgCode,
-                    _sessionContext.OrgName);
+                    _sessionContext.OrgName,
+                    dto.Opinion);
             }
 
             await _workflowTraceRepository.UpdateRangeAsync(uncompleteTraces, cancellationToken);

+ 13 - 1
src/Hotline/FlowEngine/Workflows/WorkflowTrace.cs

@@ -47,8 +47,20 @@ public class WorkflowTrace : StepBasicEntity
     public void Recall(string userId, string userName, string orgCode, string orgName) =>
         Complete(userId, userName, orgCode, orgName, EWorkflowTraceStatus.Recall);
 
-    public void Jump(string userId, string userName, string orgCode, string orgName) =>
+    public void Jump(string userId, string userName, string orgCode, string orgName, string opinion)
+    {
+        if (string.IsNullOrEmpty(AcceptUserId))
+        {
+            //未接办
+            AcceptUserId = userId;
+            AcceptUserName = userName;
+            AcceptOrgCode = orgCode;
+            AcceptOrgName = orgName;
+            AcceptTime = DateTime.Now;
+        }
         Complete(userId, userName, orgCode, orgName, EWorkflowTraceStatus.Jump);
+        Opinion = opinion;
+    }
 
     public void Complete(string userId, string userName, string orgCode, string orgName, EWorkflowTraceStatus status = EWorkflowTraceStatus.Normal)
     {