Browse Source

WorkflowCountersign.ExternalId

xf 1 year ago
parent
commit
c9baf8f7f6

+ 5 - 0
src/Hotline/FlowEngine/Workflows/WorkflowCountersign.cs

@@ -133,6 +133,11 @@ namespace Hotline.FlowEngine.Workflows
         public bool? IsExpired { get; set; }
 
 
+        /// <summary>
+        /// 外部业务唯一标识
+        /// </summary>
+        public string ExternalId { get; set; }
+
         [SugarColumn(IsIgnore = true)]
         public List<WorkflowCountersign> Children { get; set; }
 

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

@@ -1292,7 +1292,7 @@ namespace Hotline.FlowEngine.Workflows
             EFlowAssignType? flowAssignType, ECounterSignType? counterSignType, CancellationToken cancellationToken)
         {
             var countersign = await CreateCountersignAsync(
-                workflow.Id, startStep, dto.NextHandlers, flowAssignType,
+                workflow, startStep, dto.NextHandlers, flowAssignType,
                 counterSignType, workflow.ExpiredTime,
                 startStep.CountersignId, cancellationToken);
             startStep.StartCountersign(countersign.Id);
@@ -1383,7 +1383,7 @@ namespace Hotline.FlowEngine.Workflows
         }
 
         private async Task<WorkflowCountersign> CreateCountersignAsync(
-            string workflowId, WorkflowStep startStep, List<Kv> handlers, EFlowAssignType? flowAssignType,
+            Workflow workflow, WorkflowStep startStep, List<Kv> handlers, EFlowAssignType? flowAssignType,
             ECounterSignType? counterSignType, DateTime expiredTime, string? parentId = null,
             CancellationToken cancellationToken = default)
         {
@@ -1396,7 +1396,7 @@ namespace Hotline.FlowEngine.Workflows
 
             var countersign = new WorkflowCountersign
             {
-                WorkflowId = workflowId,
+                WorkflowId = workflow.Id,
                 StartStepId = startStep.Id,
                 StartStepCode = startStep.Code,
                 StartStepBusiType = startStep.BusinessType,
@@ -1413,6 +1413,7 @@ namespace Hotline.FlowEngine.Workflows
                 FlowAssignType = flowAssignType,
                 CounterSignType = counterSignType,
                 ExpiredTime = expiredTime,
+                ExternalId = workflow.ExternalId,
             };
             //await _workflowCountersignRepository.AddAsync(countersign, cancellationToken);