xf 10 月之前
父節點
當前提交
ad0209f2db
共有 1 個文件被更改,包括 32 次插入18 次删除
  1. 32 18
      src/Hotline/FlowEngine/Workflows/StepBasicEntity.cs

+ 32 - 18
src/Hotline/FlowEngine/Workflows/StepBasicEntity.cs

@@ -94,12 +94,12 @@ public abstract class StepBasicEntity : CreationEntity
     [SugarColumn(ColumnDescription = "备注", ColumnDataType = "varchar(5000)")]
     public string? Remark { get; set; }
 
-	#region 会签
+    #region 会签
 
-	/// <summary>
-	/// 会签id(或外层会签的id)
-	/// </summary>
-	public string? CountersignId { get; set; }
+    /// <summary>
+    /// 会签id(或外层会签的id)
+    /// </summary>
+    public string? CountersignId { get; set; }
 
     /// <summary>
     /// 节点处于会签流程中的位置(区别直接办理会签和会签内非会签节点)
@@ -373,12 +373,19 @@ public abstract class StepBasicEntity : CreationEntity
         string orgId, string? orgName,
         string? orgAreaCode, string? orgAreaName)
     {
-        AcceptorId = userId;
-        AcceptorName = userName;
-        AcceptorOrgId = orgId;
-        AcceptorOrgName = orgName;
-        AcceptorOrgAreaCode = orgAreaCode;
-        AcceptorOrgAreaName = orgAreaName;
+        if (string.IsNullOrEmpty(AcceptorId))
+        {
+            AcceptorId = userId;
+            AcceptorName = userName;
+        }
+
+        if (string.IsNullOrEmpty(AcceptorOrgId))
+        {
+            AcceptorOrgId = orgId;
+            AcceptorOrgName = orgName;
+            AcceptorOrgAreaCode = orgAreaCode;
+            AcceptorOrgAreaName = orgAreaName;
+        }
         AcceptTime = DateTime.Now;
         Status = EWorkflowStepStatus.WaitForHandle;
     }
@@ -394,13 +401,20 @@ public abstract class StepBasicEntity : CreationEntity
             Accept(userId, userName, orgId, orgName, orgAreaCode, orgAreaName);
 
         Status = EWorkflowStepStatus.Handled;
-        HandlerId = userId;
-        HandlerName = userName;
-        HandlerOrgId = orgId;
-        HandlerOrgName = orgName;
-        HandlerOrgAreaCode = orgAreaCode;
-        HandlerOrgAreaName = orgAreaName;
-        HandlerOrgIsCenter = orgIsCenter;
+        if (string.IsNullOrEmpty(HandlerId))
+        {
+            HandlerId = userId;
+            HandlerName = userName;
+        }
+
+        if (string.IsNullOrEmpty(HandlerOrgId))
+        {
+            HandlerOrgId = orgId;
+            HandlerOrgName = orgName;
+            HandlerOrgAreaCode = orgAreaCode;
+            HandlerOrgAreaName = orgAreaName;
+            HandlerOrgIsCenter = orgIsCenter;
+        }
         HandleTime = DateTime.Now;
 
         if (!string.IsNullOrEmpty(opinion))