Explorar el Código

fixed: 特提回中心,指派给角色从流程模板配置上取角色信息

xf hace 16 horas
padre
commit
735e92b8a8
Se han modificado 1 ficheros con 45 adiciones y 45 borrados
  1. 45 45
      src/Hotline/FlowEngine/Workflows/WorkflowDomainService.cs

+ 45 - 45
src/Hotline/FlowEngine/Workflows/WorkflowDomainService.cs

@@ -402,15 +402,15 @@ namespace Hotline.FlowEngine.Workflows
                     }
                     else
                     {
-                        var orgid = nextStepDefine.BusinessType ==  EBusinessType.Seat ||
-									nextStepDefine.BusinessType == EBusinessType.Send ||
-									nextStepDefine.BusinessType == EBusinessType.CenterMonitor ||
-									nextStepDefine.BusinessType == EBusinessType.CenterLeader
-							? OrgSeedData.CenterId
-							: null;
-						//todo 指派给配置的角色
-						//dto.FlowAssignType = EFlowAssignType.Role;
-						dto.NextHandlers.Add(new StepAssignInfo
+                        var orgid = nextStepDefine.BusinessType == EBusinessType.Seat ||
+                                    nextStepDefine.BusinessType == EBusinessType.Send ||
+                                    nextStepDefine.BusinessType == EBusinessType.CenterMonitor ||
+                                    nextStepDefine.BusinessType == EBusinessType.CenterLeader
+                            ? OrgSeedData.CenterId
+                            : null;
+                        //todo 指派给配置的角色
+                        //dto.FlowAssignType = EFlowAssignType.Role;
+                        dto.NextHandlers.Add(new StepAssignInfo
                         {
                             Key = handler.Key,
                             Value = handler.Value,
@@ -419,7 +419,7 @@ namespace Hotline.FlowEngine.Workflows
                             OrgId = orgid,
                             FlowAssignType = EFlowAssignType.Role
                         });
-                       
+
                     }
                 }
             }
@@ -1206,39 +1206,39 @@ namespace Hotline.FlowEngine.Workflows
                 .ToListAsync(cancellationToken);
         }
 
-		// <summary>
-		/// 查询归属多个用户的所有流程节点
-		/// </summary>
-		public async Task<List<WorkflowStep>> GetStepsBelongsToAsync(List<string> userIds, CancellationToken cancellationToken)
-		{
+        // <summary>
+        /// 查询归属多个用户的所有流程节点
+        /// </summary>
+        public async Task<List<WorkflowStep>> GetStepsBelongsToAsync(List<string> userIds, CancellationToken cancellationToken)
+        {
+            return await _workflowStepRepository.Queryable()
+                .Includes(d => d.WorkflowTrace)
+                .Where(d => d.Status != EWorkflowStepStatus.Handled)
+                //.Where(d => d.HandlerId == userId)
+                .In(d => d.HandlerId, userIds)
+                .OrderBy(d => d.CreationTime)
+                .ToListAsync(cancellationToken);
+        }
+
+        // <summary>
+        /// 查询归属多个用户的所有流程节点 当天
+        /// </summary>
+        public async Task<List<WorkflowStep>> GetStepsBelongsDayToAsync(List<string> userIds, DateTime time, CancellationToken cancellationToken)
+        {
             return await _workflowStepRepository.Queryable()
                 .Includes(d => d.WorkflowTrace)
-                .Where(d=> d.Status != EWorkflowStepStatus.Handled)
+                .Where(d => d.Status != EWorkflowStepStatus.Handled)
+                .Where(d => d.CreationTime >= time && d.CreationTime < time.AddDays(1))
                 //.Where(d => d.HandlerId == userId)
                 .In(d => d.HandlerId, userIds)
                 .OrderBy(d => d.CreationTime)
                 .ToListAsync(cancellationToken);
-		}
-
-		// <summary>
-		/// 查询归属多个用户的所有流程节点 当天
-		/// </summary>
-		public async Task<List<WorkflowStep>> GetStepsBelongsDayToAsync(List<string> userIds,DateTime time, CancellationToken cancellationToken)
-		{
-			return await _workflowStepRepository.Queryable()
-				.Includes(d => d.WorkflowTrace)
-				.Where(d => d.Status != EWorkflowStepStatus.Handled)
-                .Where(d => d.CreationTime >= time  && d.CreationTime < time.AddDays(1))
-				//.Where(d => d.HandlerId == userId)
-				.In(d => d.HandlerId, userIds)
-				.OrderBy(d => d.CreationTime)
-				.ToListAsync(cancellationToken);
-		}
-
-		/// <summary>
-		/// 批量修改工单办理对象
-		/// </summary>
-		public async Task ChangeHandlerBatchAsync(
+        }
+
+        /// <summary>
+        /// 批量修改工单办理对象
+        /// </summary>
+        public async Task ChangeHandlerBatchAsync(
             IReadOnlyList<(string userId, string username, string orgId, string orgName, string? roleId, string? roleName, ICollection<WorkflowStep>
                 steps)> handlers,
             CancellationToken cancellationToken)
@@ -1923,10 +1923,10 @@ namespace Hotline.FlowEngine.Workflows
                 },
                 EFlowAssignType.Role => new StepAssignInfo
                 {
-                    Key = startStep.RoleId,
-                    Value = startStep.RoleName,
-                    RoleId = startStep.RoleId,
-                    RoleName = startStep.RoleName,
+                    Key = startStep.RoleName ?? startStepDefine.HandlerTypeItems.FirstOrDefault()?.Key,
+                    Value = startStep.RoleName ?? startStepDefine.HandlerTypeItems.FirstOrDefault()?.Value,
+                    RoleId = startStep.RoleName ?? startStepDefine.HandlerTypeItems.FirstOrDefault()?.Key,
+                    RoleName = startStep.RoleName ?? startStepDefine.HandlerTypeItems.FirstOrDefault()?.Value,
                     UserId = startStep.HandlerId,
                     Username = startStep.HandlerName,
                     OrgId = startStep.HandlerOrgId,
@@ -2007,10 +2007,10 @@ namespace Hotline.FlowEngine.Workflows
                         }
                         : new()
                         {
-                            Key = sendStep.RoleId,
-                            Value = sendStep.RoleName,
-                            RoleId = sendStep.RoleId,
-                            RoleName = sendStep.RoleName,
+                            Key = sendStep.RoleId?? sendStepDefine.HandlerTypeItems.FirstOrDefault()?.Key,
+                            Value = sendStep.RoleName?? sendStepDefine.HandlerTypeItems.FirstOrDefault()?.Value,
+                            RoleId = sendStep.RoleId?? sendStepDefine.HandlerTypeItems.FirstOrDefault()?.Key,
+                            RoleName = sendStep.RoleName?? sendStepDefine.HandlerTypeItems.FirstOrDefault()?.Value,
                             UserId = sendStep.HandlerId,
                             Username = sendStep.HandlerName,
                             OrgId = sendStep.HandlerOrgId,