Forráskód Böngészése

WorkflowCountersign.cs ExpiredTime

xf 1 éve
szülő
commit
71470bb944

+ 12 - 1
src/Hotline/FlowEngine/Workflows/WorkflowCountersign.cs

@@ -122,6 +122,16 @@ namespace Hotline.FlowEngine.Workflows
         /// </summary>
         public EFlowAssignType? FlowAssignType { get; set; }
 
+        /// <summary>
+        /// 超期时间(期满时间)
+        /// </summary>
+        public DateTime? ExpiredTime { get; set; }
+
+        /// <summary>
+        /// 是否超期
+        /// </summary>
+        public bool? IsExpired { get; set; }
+
         #region method
 
         /// <summary>
@@ -148,6 +158,7 @@ namespace Hotline.FlowEngine.Workflows
             FinisherOrgAreaCode = orgAreaCode;
             FinisherOrgAreaName = orgAreaName;
             EndTime = DateTime.Now;
+            IsExpired = EndTime.HasValue && ExpiredTime.HasValue && EndTime > ExpiredTime;
         }
 
         public void MemberHandled(string userId, string orgId)
@@ -160,7 +171,7 @@ namespace Hotline.FlowEngine.Workflows
                 throw new UserFriendlyException($"未找到会签办理对象");
             member.IsHandled = true;
         }
-        
+
         #endregion
     }
 }

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

@@ -1112,7 +1112,7 @@ namespace Hotline.FlowEngine.Workflows
         {
             var countersign = await CreateCountersignAsync(
                 workflow.Id, startStep, dto.NextHandlers, flowAssignType,
-                counterSignType, startStep.StepExpiredTime.Value,
+                counterSignType, workflow.ExpiredTime,
                 startStep.CountersignId, cancellationToken);
             startStep.StartCountersign(countersign.Id);
         }
@@ -1202,7 +1202,7 @@ namespace Hotline.FlowEngine.Workflows
 
         private async Task<WorkflowCountersign> CreateCountersignAsync(
             string workflowId, WorkflowStep startStep, List<Kv> handlers, EFlowAssignType? flowAssignType,
-            ECounterSignType? counterSignType, DateTime stepExpiredTime, string? parentId = null,
+            ECounterSignType? counterSignType, DateTime expiredTime, string? parentId = null,
             CancellationToken cancellationToken = default)
         {
             var countersign = new WorkflowCountersign
@@ -1223,6 +1223,7 @@ namespace Hotline.FlowEngine.Workflows
                 Members = _mapper.Map<List<CountersignMember>>(handlers),
                 FlowAssignType = flowAssignType,
                 CounterSignType = counterSignType,
+                ExpiredTime = expiredTime,
             };
             await _workflowCountersignRepository.AddAsync(countersign, cancellationToken);
             return countersign;