Procházet zdrojové kódy

Merge branch 'feature/order_current_step' into dev

xf před 9 měsíci
rodič
revize
c8765f2ddd

+ 1 - 10
src/Hotline.Application/FlowEngine/WorkflowApplication.cs

@@ -167,27 +167,18 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
 
         var flowAssignInfo =
             await GetNextStepFlowAssignInfoAsync(workflow, startStep, dto, firstStepDefine, isNextDynamic, cancellationToken);
-
-        //var firstStepHandlers = await GetNextStepHandlersAsync(workflow, firstStepDefine, dto, cancellationToken);
-
+        
         var counterSignType = _workflowDomainService.GetCounterSignType(dto.IsStartCountersign);
 
         //办理开始节点
         await _workflowDomainService.HandleStepAsync(current, startStep, workflow, dto, flowAssignInfo.FlowAssignType,
             counterSignType, expiredTime, cancellationToken);
-        //startStep.Handle(current.RequiredUserId, current.UserName,
-        //    current.RequiredOrgId, current.OrgName,
-        //    current.OrgAreaCode, current.OrgAreaName,
-        //    current.OrgIsCenter, firstStepDefine.Code);
 
         if (dto.Files.Any())
             startStep.FileJson =
                 await _fileRepository.AddFileAsync(dto.Files, workflow.ExternalId, startStep.Id, cancellationToken);
 
         await _workflowStepRepository.AddAsync(startStep, cancellationToken);
-        //await _workflowStepRepository.AddNav(startStep)
-        //    .Include(d => d.StepHandlers)
-        //    .ExecuteCommandAsync();
         workflow.Steps.Add(startStep);
 
         //starttrace

+ 66 - 0
src/Hotline.Share/Dtos/Order/OrderDto.cs

@@ -223,6 +223,72 @@ namespace Hotline.Share.Dtos.Order
 
         #endregion
 
+        #region 当前办理节点信息(指派时赋值)
+
+        public string? CurrentStepId { get; set; }
+
+        /// <summary>
+        /// 当前办理节点code(非会签:当前被指派节点,会签:会签发起节点)
+        /// </summary>
+        public string? CurrentStepCode { get; set; }
+
+        /// <summary>
+        /// 当前节点名称
+        /// </summary>
+        public string? CurrentStepName { get; set; }
+
+        /// <summary>
+        /// 到达当前节点时间
+        /// </summary>
+        public DateTime? CurrentStepCreateTime { get; set; }
+
+        /// <summary>
+        /// 当前办理节点签收时间
+        /// </summary>
+        public DateTime? CurrentHandleStepAcceptTime { get; set; }
+
+        /// <summary>
+        /// 当前办理时间
+        /// </summary>
+        public DateTime? CurrentHandleTime { get; set; }
+
+        /// <summary>
+        /// 当前办理人id
+        /// </summary>
+        public string? CurrentHandlerId { get; set; }
+
+        /// <summary>
+        /// 当前办理人名称
+        /// </summary>
+        public string? CurrentHandlerName { get; set; }
+
+        /// <summary>
+        /// 当前办理部门名称
+        /// </summary>
+        public string? CurrentHandleOrgName { get; set; }
+
+        /// <summary>
+        /// 当前办理部门编码
+        /// </summary>
+        public string? CurrentHandleOrgId { get; set; }
+
+        /// <summary>
+        /// 当前办理部门等级
+        /// </summary>
+        public int? CurrentHandleOrgLevel { get; set; }
+
+        /// <summary>
+        /// 当前办理部门行政区划编码
+        /// </summary>
+        public string? CurrentHandleOrgAreaCode { get; set; }
+
+        /// <summary>
+        /// 当前办理部门行政区划名称
+        /// </summary>
+        public string? CurrentHandleOrgAreaName { get; set; }
+
+        #endregion
+
         #region 一级部门
 
         /// <summary>

+ 122 - 107
src/Hotline/FlowEngine/Workflows/Workflow.cs

@@ -2,6 +2,7 @@
 using Hotline.Orders;
 using Hotline.Settings;
 using Hotline.Share.Dtos;
+using Hotline.Share.Dtos.FlowEngine;
 using Hotline.Share.Enums.FlowEngine;
 using Hotline.Share.Enums.Order;
 using Hotline.Share.Enums.Settings;
@@ -35,36 +36,13 @@ public partial class Workflow : CreationEntity
 
     public string? ModuleCode { get; set; }
 
-	#endregion
-
-	/// <summary>
-	/// 流程标题
-	/// </summary>
-	[SugarColumn(ColumnDataType = "varchar(2000)")]
-	public string Title { get; set; }
-
-    ///// <summary>
-    ///// 到期时间(期满时间)
-    ///// </summary>
-    //public DateTime ExpiredTime { get; set; }
-
-    ///// <summary>
-    ///// 即将超期时间
-    ///// </summary>
-    //public DateTime? NearlyExpiredTime { get; set; }
-
-    //#region 办理时限
-
-    ///// <summary>
-    ///// 办理时间限制(如:24小时、7个工作日)
-    ///// </summary>
-    //public string? TimeLimit { get; set; }
-
-    //public int? TimeLimitCount { get; set; }
-
-    //public ETimeType? TimeLimitUnit { get; set; } = ETimeType.WorkDay;
+    #endregion
 
-    //#endregion
+    /// <summary>
+    /// 流程标题
+    /// </summary>
+    [SugarColumn(ColumnDataType = "varchar(2000)")]
+    public string Title { get; set; }
 
     /// <summary>
     /// end节点办理完成时间
@@ -138,14 +116,6 @@ public partial class Workflow : CreationEntity
     /// </summary>
     public string? ActualHandleOrgAreaName { get; set; }
 
-    ///// <summary>
-    ///// 实际办理对象(会签停留在顶级发起节点)
-    ///// 办理时选择的办理对象,可能是部门也可能是用户
-    ///// </summary>
-    //public string? ActualHandlerValue { get; set; }
-    //public string? ActualHandlerKey { get; set; }
-    //public EHandlerType? ActualHandlerType { get; set; }
-
     /// <summary>
     /// 实际办理意见(办理中...or 最终办理意见)
     /// </summary>
@@ -189,67 +159,69 @@ public partial class Workflow : CreationEntity
 
     #endregion
 
-    #region 当前办理节点信息
+    #region 当前办理节点信息(指派时赋值)
 
-    ///// <summary>
-    ///// 当前办理节点code(非会签:当前被指派节点,会签:会签发起节点)
-    ///// </summary>
-    //public string? CurrentStepCode { get; set; }
+    public string? CurrentStepId { get; set; }
 
-    ///// <summary>
-    ///// 当前节点名称
-    ///// </summary>
-    //public string? CurrentStepName { get; set; }
+    /// <summary>
+    /// 当前办理节点code(非会签:当前被指派节点,会签:会签发起节点)
+    /// </summary>
+    public string? CurrentStepCode { get; set; }
 
-    ///// <summary>
-    ///// 当前节点id
-    ///// </summary>
-    //public string? CurrentStepId { get; set; }
+    /// <summary>
+    /// 当前节点名称
+    /// </summary>
+    public string? CurrentStepName { get; set; }
 
-    ///// <summary>
-    ///// 到达当前节点时间(stepBox创建时间)
-    ///// </summary>
-    //public DateTime? CurrentStepCreateTime { get; set; }
+    /// <summary>
+    /// 到达当前节点时间
+    /// </summary>
+    public DateTime? CurrentStepCreateTime { get; set; }
 
-    ///// <summary>
-    ///// 当前办理节点签收时间
-    ///// </summary>
-    //public DateTime? CurrentHandleStepAcceptTime { get; set; }
+    /// <summary>
+    /// 当前办理节点签收时间
+    /// </summary>
+    public DateTime? CurrentStepAcceptTime { get; set; }
 
-    ///// <summary>
-    ///// 当前办理时间
-    ///// </summary>
-    //public DateTime? CurrentHandleTime { get; set; }
+    /// <summary>
+    /// 当前办理时间
+    /// </summary>
+    public DateTime? CurrentHandleTime { get; set; }
 
-    ///// <summary>
-    ///// 当前办理人id
-    ///// </summary>
-    //public string? CurrentHandlerId { get; set; }
+    /// <summary>
+    /// 当前办理人id
+    /// </summary>
+    public string? CurrentHandlerId { get; set; }
 
-    ///// <summary>
-    ///// 当前办理人名称
-    ///// </summary>
-    //public string? CurrentHandlerName { get; set; }
+    /// <summary>
+    /// 当前办理人名称
+    /// </summary>
+    public string? CurrentHandlerName { get; set; }
 
-    ///// <summary>
-    ///// 当前办理部门名称
-    ///// </summary>
-    //public string? CurrentHandleOrgName { get; set; }
+    /// <summary>
+    /// 当前办理部门名称
+    /// </summary>
+    public string? CurrentHandleOrgName { get; set; }
 
-    ///// <summary>
-    ///// 当前办理部门编码
-    ///// </summary>
-    //public string? CurrentHandleOrgCode { get; set; }
+    /// <summary>
+    /// 当前办理部门编码
+    /// </summary>
+    public string? CurrentHandleOrgId { get; set; }
 
-    ///// <summary>
-    ///// 当前办理部门行政区划编码
-    ///// </summary>
-    //public string? CurrentHandleOrgAreaCode { get; set; }
+    /// <summary>
+    /// 当前办理部门等级
+    /// </summary>
+    public int? CurrentHandleOrgLevel { get; set; }
 
-    ///// <summary>
-    ///// 当前办理部门行政区划名称
-    ///// </summary>
-    //public string? CurrentHandleOrgAreaName { get; set; }
+    /// <summary>
+    /// 当前办理部门行政区划编码
+    /// </summary>
+    public string? CurrentHandleOrgAreaCode { get; set; }
+
+    /// <summary>
+    /// 当前办理部门行政区划名称
+    /// </summary>
+    public string? CurrentHandleOrgAreaName { get; set; }
 
     #endregion
 
@@ -272,15 +244,6 @@ public partial class Workflow : CreationEntity
 
     #endregion
 
-    // /// <summary>
-    // /// 处理方式(直办、交办)
-    // /// </summary>
-    // public EProcessType ProcessType { get; set; } = EProcessType.Zhiban;
-    //
-    // /// <summary>
-    // /// 交办时间(中心交部门办理时间)
-    // /// </summary>
-    // public DateTime? CenterToOrgTime { get; set; }
 
     // /// <summary>
     // /// 办结时长(分钟)
@@ -521,17 +484,17 @@ public partial class Workflow
     /// </summary>
     public void UpdateActualStepWhenAssign(
         WorkflowStep nextStep,
-        string? actualHandleOrgName = null,
-        string? actualHandleOrgCode = null
+        string? actualHandleOrgCode = null,
+        string? actualHandleOrgName = null
         )
     {
-        ResetActualStepInfo();
+        ResetActualStep();
+        ActualHandleStepId = nextStep.Id;
         ActualHandleStepCode = nextStep.Code;
         ActualHandleStepName = nextStep.Name;
-        ActualHandleStepId = nextStep.Id;
         ActualHandleStepCreateTime = nextStep.CreationTime;
-        ActualHandleOrgName = actualHandleOrgName;
         ActualHandleOrgCode = actualHandleOrgCode;
+        ActualHandleOrgName = actualHandleOrgName;
     }
 
     /// <summary>
@@ -547,10 +510,10 @@ public partial class Workflow
         string? handleOrgAreaName,
         int handlerOrgLevel)
     {
-        ActualHandleStepCode = step.Code;
-        ActualHandleStepName = step.Name;
-        ActualHandleStepId = step.Id;
-        ActualHandleStepCreateTime = step.CreationTime;
+        // ActualHandleStepCode = step.Code;
+        // ActualHandleStepName = step.Name;
+        // ActualHandleStepId = step.Id;
+        // ActualHandleStepCreateTime = step.CreationTime;
         ActualHandleStepAcceptTime = step.AcceptTime;
         ActualHandleTime = step.HandleTime;
         ActualHandlerId = handlerId;
@@ -560,12 +523,52 @@ public partial class Workflow
         ActualHandleOrgAreaCode = handleOrgAreaCode;
         ActualHandleOrgAreaName = handleOrgAreaName;
 
+        ////实际办理部门为一级部门时记录
+        //if (handlerOrgLevel == 1)
+        //    UpdateLevelOneOrg(handleOrgId, handleOrgName);
+    }
+
+    /// <summary>
+    /// 指派、未办理时调用
+    /// </summary>
+    public void UpdateCurrentStepWhenAssign(WorkflowStep nextStep, FlowStepHandler nextStepHandler)
+    {
+        ResetCurrentStep();
+        CurrentStepId = nextStep.Id;
+        CurrentStepCode = nextStep.Code;
+        CurrentStepName = nextStep.Name;
+        CurrentStepCreateTime = nextStep.CreationTime;
+        CurrentHandlerId = nextStepHandler.UserId;
+        CurrentHandlerName = nextStepHandler.Username;
+        CurrentHandleOrgId = nextStepHandler.OrgId;
+        CurrentHandleOrgName = nextStepHandler.OrgName;
+        if (!string.IsNullOrEmpty(CurrentHandleOrgId))
+            CurrentHandleOrgLevel = CurrentHandleOrgId.CalcOrgLevel();
+
         //实际办理部门为一级部门时记录
-        if (handlerOrgLevel == 1)
-            UpdateLevelOneOrg(handleOrgId, handleOrgName);
+        if (CurrentHandleOrgLevel.HasValue && CurrentHandleOrgLevel == 1)
+            UpdateLevelOneOrg(CurrentHandleOrgId, CurrentHandleOrgName);
+    }
+
+    public void UpdateCurrentStepAcceptTime(DateTime acceptTime) => CurrentStepAcceptTime = acceptTime;
+
+    /// <summary>
+    /// 办理时调用
+    /// </summary>
+    public void UpdateCurrentStepWhenHandle(
+        WorkflowStep step,
+        string? handleOrgAreaCode,
+        string? handleOrgAreaName,
+        int handlerOrgLevel)
+    {
+        CurrentStepAcceptTime = step.AcceptTime;
+        CurrentHandleTime = step.HandleTime;
+        CurrentHandleOrgLevel ??= handlerOrgLevel;
+        CurrentHandleOrgAreaCode = handleOrgAreaCode;
+        CurrentHandleOrgAreaName = handleOrgAreaName;
     }
 
-    private void ResetActualStepInfo()
+    private void ResetActualStep()
     {
         ActualHandleStepAcceptTime = null;
         ActualHandleTime = null;
@@ -577,6 +580,18 @@ public partial class Workflow
         ActualHandleOrgAreaName = null;
     }
 
+    private void ResetCurrentStep()
+    {
+        //CurrentStepAcceptTime = null;
+        //CurrentHandleTime = null;
+        //CurrentHandlerId = null;
+        //CurrentHandlerName = null;
+        //CurrentHandleOrgId = null;
+        //CurrentHandleOrgName = null;
+        //CurrentHandleOrgAreaCode = null;
+        //CurrentHandleOrgAreaName = null;
+    }
+
     /// <summary>
     /// 检查会签是否结束
     /// </summary>

+ 37 - 15
src/Hotline/FlowEngine/Workflows/WorkflowDomainService.cs

@@ -102,11 +102,10 @@ namespace Hotline.FlowEngine.Workflows
             ECounterSignType? counterSignType, DateTime? expiredTime,
             ISessionContext current, CancellationToken cancellationToken)
         {
-            //1. 创建first节点 (和trace)2.办理开始节点 
-
             if (firstStepDefine.StepType is EStepType.End)
             {
-                await _mediator.Publish(new StartWorkflowNotify(workflow, dto, flowAssignInfo, startStep.WorkflowTrace),
+                await _mediator.Publish(
+                    new StartWorkflowNotify(workflow, dto, flowAssignInfo, startStep.WorkflowTrace),
                     cancellationToken);
 
                 //firstStep是否为end,t: 实际办理节点为startStep, 并且handlerId赋值 f: 实际办理节点为firstStep, handlerId未赋值
@@ -116,8 +115,8 @@ namespace Hotline.FlowEngine.Workflows
                     current.OrgAreaCode, current.OrgAreaName,
                     current.OrgLevel);
 
-                var endTrace = await EndAsync(workflow, dto, firstStepDefine, startStep, current, expiredTime,
-                    cancellationToken);
+                var endTrace = await EndAsync(workflow, dto, firstStepDefine,
+                    startStep, current, expiredTime, cancellationToken);
                 return;
             }
 
@@ -153,6 +152,8 @@ namespace Hotline.FlowEngine.Workflows
             //指派实际办理节点
             UpdateActualStep(workflow, dto, firstStepDefine, firstSteps);
 
+            //更新实际办理节点
+            UpdateCurrentStep(workflow, dto, firstSteps);
 
             //发起会签时记录顶层会签节点(必须在update currentStep之后)
             if (dto.IsStartCountersign && !workflow.IsInCountersign)
@@ -235,7 +236,7 @@ namespace Hotline.FlowEngine.Workflows
         /// 查询工作流包含当前用户结束会签权限(是否可结束)
         /// </summary>
         public async Task<(Workflow Workflow, string? CountersignId, bool CanHandle, bool CanPrevious, WorkflowTrace?
-		        Trace)>
+                Trace)>
             GetWorkflowHandlePermissionAsync(
                 string workflowId, string userId, string orgId, string[] roleIds,
                 CancellationToken cancellationToken = default)
@@ -256,14 +257,14 @@ namespace Hotline.FlowEngine.Workflows
             }
 
             var unhandlePreviousTrace = workflow.Traces.FirstOrDefault(d =>
-                d.Status is not EWorkflowStepStatus.Handled 
+                d.Status is not EWorkflowStepStatus.Handled
                 //&& d.TraceType is EWorkflowTraceType.Previous
                 );
             //var previousOpinion = unhandlePreviousTrace?.Opinion ?? null;
 
             var unCompletedCountersign = workflow.Countersigns
                 .FirstOrDefault(d => !d.IsCompleted() && d.StarterOrgId == orgId);
-            if (unCompletedCountersign is null) 
+            if (unCompletedCountersign is null)
                 return (workflow, null, canHandle, canPrevious, unhandlePreviousTrace);
 
             //var existCountersignEndStep = workflow.Steps.Exists(d =>
@@ -477,6 +478,12 @@ namespace Hotline.FlowEngine.Workflows
                     current.OrgLevel);
             }
 
+            if(workflow.CurrentStepId == currentStep.Id)
+            {
+                workflow.UpdateCurrentStepWhenHandle(currentStep,
+                    current.OrgAreaCode, current.OrgAreaName, current.OrgLevel);
+            }
+
             //检查是否流转到流程终点
             if (nextStepDefine.StepType is EStepType.End)
             {
@@ -509,6 +516,9 @@ namespace Hotline.FlowEngine.Workflows
             //指派实际办理节点
             UpdateActualStep(workflow, dto, nextStepDefine, nextSteps);
 
+            //更新实际办理节点
+            UpdateCurrentStep(workflow, dto, nextSteps);
+
             //发起会签时记录顶层会签节点
             if (dto.IsStartCountersign && !workflow.IsInCountersign)
                 workflow.StartCountersign(currentStep.Id, counterSignType);
@@ -631,7 +641,7 @@ namespace Hotline.FlowEngine.Workflows
                 workflow.SetStatusRunnable();
 
             //更新实际办理节点信息
-            workflow.UpdateActualStepWhenAssign(newPrevStep, prevStep.HandlerOrgName, prevStep.HandlerOrgId);
+            workflow.UpdateActualStepWhenAssign(newPrevStep, prevStep.HandlerOrgId, prevStep.HandlerOrgName);
 
             //更新流程可办理对象
             workflow.UpdatePreviousHandlers(applicantId, applicantOrgId, prevStep);
@@ -1065,7 +1075,7 @@ namespace Hotline.FlowEngine.Workflows
             //    _sessionContext.RequiredOrgId, _sessionContext.OrgName,
             //    _sessionContext.OrgAreaCode, _sessionContext.OrgAreaName,
             //    nextStep: newStartStep);
-            workflow.UpdateActualStepWhenAssign(startStep, startStep.HandlerOrgName, startStep.HandlerOrgId);
+            workflow.UpdateActualStepWhenAssign(startStep, startStep.HandlerOrgId, startStep.HandlerOrgName);
 
             var isOrgToCenter = CheckIfFlowFromOrgToCenter(workflow, startStep);
 
@@ -1480,6 +1490,15 @@ namespace Hotline.FlowEngine.Workflows
 
         #region private method
 
+        private static void UpdateCurrentStep(Workflow workflow, BasicWorkflowDto dto, List<WorkflowStep> nextSteps)
+        {
+            if (dto.IsStartCountersign) return;
+            if (workflow.IsInCountersign) return;
+
+            var nextHandler = dto.NextHandlers.First();
+            workflow.UpdateCurrentStepWhenAssign(nextSteps.First(), nextHandler);
+        }
+
         private static void UpdateActualStep(Workflow workflow, BasicWorkflowDto dto, StepDefine nextStepDefine,
             List<WorkflowStep> nextSteps)
         {
@@ -1489,14 +1508,16 @@ namespace Hotline.FlowEngine.Workflows
 
             if (nextStepDefine.BusinessType is EBusinessType.Center or EBusinessType.Send)
             {
-                workflow.UpdateActualStepWhenAssign(nextSteps.First(), actualHandleOrgCode: OrgSeedData.CenterId,
+                workflow.UpdateActualStepWhenAssign(nextSteps.First(),
+                    actualHandleOrgCode: OrgSeedData.CenterId,
                     actualHandleOrgName: "市民热线服务中心");
             }
             else
             {
                 var nextHandler = dto.NextHandlers.First();
                 workflow.UpdateActualStepWhenAssign(nextSteps.First(),
-                    actualHandleOrgCode: nextHandler.Key, actualHandleOrgName: nextHandler.Value);
+                    actualHandleOrgCode: nextHandler.Key,
+                    actualHandleOrgName: nextHandler.Value);
             }
 
             //if ( /*workflow.FlowType is EFlowType.Handle &&*/
@@ -2164,7 +2185,7 @@ namespace Hotline.FlowEngine.Workflows
                     null, expiredTime, cancellationToken: cancellationToken)).First();
 
             //更新实际办理节点信息
-            workflow.UpdateActualStepWhenAssign(targetStepNew, targetStep.HandlerOrgName, targetStep.HandlerOrgId);
+            workflow.UpdateActualStepWhenAssign(targetStepNew, targetStep.HandlerOrgId, targetStep.HandlerOrgName);
 
             workflow.Assign(flowAssignInfo.FlowAssignType, flowAssignInfo.GetHandlerIds());
             workflow.ResetHandlers(flowAssignInfo.FlowAssignType, flowAssignInfo.HandlerObjects);
@@ -2459,8 +2480,9 @@ namespace Hotline.FlowEngine.Workflows
 
                 //当topcsStep结束cs时,实际办理节点应该更新为newStep
                 if (startCountersignStep.Id == workflow.TopCountersignStepId)
-                    workflow.UpdateActualStepWhenAssign(newStep, startCountersignStep.HandlerOrgName,
-                        startCountersignStep.HandlerOrgId);
+                    workflow.UpdateActualStepWhenAssign(newStep,
+                        startCountersignStep.HandlerOrgId,
+                        startCountersignStep.HandlerOrgName);
 
                 //csEndStep又开启了cs,在结束会签时,如果该节点是topcs的end节点, workflow.topcsStep应该更新为前一cs开启stepId
                 if (startCountersignStep.IsTopCountersignEndStep(workflow.TopCountersignStepId))

+ 52 - 45
src/Hotline/Orders/Order.cs

@@ -515,62 +515,69 @@ namespace Hotline.Orders
 
         #endregion
 
-        #region 当前办理节点信息
+        #region 当前办理节点信息(指派时赋值)
 
-        ///// <summary>
-        ///// 当前办理节点code(非会签:当前被指派节点,会签:会签发起节点)
-        ///// </summary>
-        //public string? CurrentStepCode { get; set; }
+        public string? CurrentStepId { get; set; }
+        
+        /// <summary>
+        /// 当前办理节点code(非会签:当前被指派节点,会签:会签发起节点)
+        /// </summary>
+        public string? CurrentStepCode { get; set; }
 
-        ///// <summary>
-        ///// 当前节点名称
-        ///// </summary>
-        //public string? CurrentStepName { get; set; }
+        /// <summary>
+        /// 当前节点名称
+        /// </summary>
+        public string? CurrentStepName { get; set; }
 
-        ///// <summary>
-        ///// 到达当前节点时间
-        ///// </summary>
-        //public DateTime? CurrentStepCreateTime { get; set; }
+        /// <summary>
+        /// 到达当前节点时间
+        /// </summary>
+        public DateTime? CurrentStepCreateTime { get; set; }
 
-        ///// <summary>
-        ///// 当前办理节点签收时间
-        ///// </summary>
-        //public DateTime? CurrentHandleStepAcceptTime { get; set; }
+        /// <summary>
+        /// 当前办理节点签收时间
+        /// </summary>
+        public DateTime? CurrentHandleStepAcceptTime { get; set; }
 
-        ///// <summary>
-        ///// 当前办理时间
-        ///// </summary>
-        //public DateTime? CurrentHandleTime { get; set; }
+        /// <summary>
+        /// 当前办理时间
+        /// </summary>
+        public DateTime? CurrentHandleTime { get; set; }
 
-        ///// <summary>
-        ///// 当前办理人id
-        ///// </summary>
-        //public string? CurrentHandlerId { get; set; }
+        /// <summary>
+        /// 当前办理人id
+        /// </summary>
+        public string? CurrentHandlerId { get; set; }
 
-        ///// <summary>
-        ///// 当前办理人名称
-        ///// </summary>
-        //public string? CurrentHandlerName { get; set; }
+        /// <summary>
+        /// 当前办理人名称
+        /// </summary>
+        public string? CurrentHandlerName { get; set; }
 
-        ///// <summary>
-        ///// 当前办理部门名称
-        ///// </summary>
-        //public string? CurrentHandleOrgName { get; set; }
+        /// <summary>
+        /// 当前办理部门名称
+        /// </summary>
+        public string? CurrentHandleOrgName { get; set; }
 
-        ///// <summary>
-        ///// 当前办理部门编码
-        ///// </summary>
-        //public string? CurrentHandleOrgCode { get; set; }
+        /// <summary>
+        /// 当前办理部门编码
+        /// </summary>
+        public string? CurrentHandleOrgId { get; set; }
 
-        ///// <summary>
-        ///// 当前办理部门行政区划编码
-        ///// </summary>
-        //public string? CurrentHandleOrgAreaCode { get; set; }
+        /// <summary>
+        /// 当前办理部门等级
+        /// </summary>
+        public int? CurrentHandleOrgLevel { get; set; }
 
-        ///// <summary>
-        ///// 当前办理部门行政区划名称
-        ///// </summary>
-        //public string? CurrentHandleOrgAreaName { get; set; }
+        /// <summary>
+        /// 当前办理部门行政区划编码
+        /// </summary>
+        public string? CurrentHandleOrgAreaCode { get; set; }
+
+        /// <summary>
+        /// 当前办理部门行政区划名称
+        /// </summary>
+        public string? CurrentHandleOrgAreaName { get; set; }
 
         #endregion
 

+ 2 - 3
src/Hotline/SeedData/OrgSeedData.cs

@@ -6,8 +6,8 @@ namespace Hotline.SeedData
 {
     public class OrgSeedData : ISeedData<SystemOrganize>
     {
-        //public static readonly string CenterId = "08dac6ae-3096-4156-828e-b34e9c1fb5da";
         public static readonly string CenterId = "001";
+        public static readonly string CenterName = "市民热线服务中心";//12345政务服务便民热线
 
         public IEnumerable<SystemOrganize> HasData() =>
             new[]
@@ -15,8 +15,7 @@ namespace Hotline.SeedData
                 new SystemOrganize
                 {
                     Id = CenterId,
-                    //Code = CenterCode,
-                    Name = "12345政务服务便民热线",
+                    Name = CenterName,
                     ShortName = "12345中心",
                     Level = 1,
                     IsCenter = true,