浏览代码

Merge branch 'release' of http://110.188.24.182:10023/Fengwo/hotline into release

田爽 6 月之前
父节点
当前提交
882e1d5a2e

+ 2 - 1
src/Hotline.Api/Controllers/OrderController.cs

@@ -3691,7 +3691,8 @@ public class OrderController : BaseController
                         nextflowDto.StepId = unhandleStep.Id;
                         nextflowDto.IsStartCountersign = lowerLevelHandlers.Count > 1;
                         nextflowDto.NextHandlers = lowerLevelHandlers;
-                        nextflowDto.Opinion = "跨级派单,自动办理";
+                        if(unhandleStep.Id != startStep.Id)
+                          nextflowDto.Opinion = "跨级派单,自动办理";
 
                         var operater = new FakeSessionContext
                         {

+ 4 - 3
src/Hotline.Application/Orders/OrderApplication.cs

@@ -2690,9 +2690,9 @@ public class OrderApplication : IOrderApplication, IScopeDependency
 
         return query
             // 交办件:已派单其他节点的工单,该选项卡下工单若办结就不显示
-            .WhereIF(dto.TypeCode.HasValue && dto.TypeCode == 1, d => d.ProcessType == EProcessType.Jiaoban && d.Status < EOrderStatus.Filed)
+            .WhereIF(dto.TypeCode.HasValue == true && dto.TypeCode == 1, d => d.ProcessType == EProcessType.Jiaoban && d.Status < EOrderStatus.Filed)
             // 办结件:当前登录坐席作为最初受理人已办结的工单
-            .WhereIF(dto.TypeCode.HasValue && dto.TypeCode == 2, d=> d.Status >= EOrderStatus.Filed && d.AcceptorId == _sessionContextProvider.SessionContext.RequiredUserId)
+            .WhereIF(dto.TypeCode.HasValue == true && dto.TypeCode == 2, d=> d.Status >= EOrderStatus.Filed && d.AcceptorId == _sessionContextProvider.SessionContext.RequiredUserId)
             .WhereIF(dto.IsProvince.HasValue, d => d.IsProvince == dto.IsProvince) 
             .WhereIF(dto.IsHandled.HasValue, d => handleStatuses.Contains(d.Status)) 
             .WhereIF(!string.IsNullOrEmpty(dto.Keyword), d => d.Title.StartsWith(dto.Keyword!)) 
@@ -2711,7 +2711,8 @@ public class OrderApplication : IOrderApplication, IScopeDependency
            //.Where(d => string.IsNullOrEmpty(d.SignerId) || d.SignerId == _sessionContext.RequiredUserId)
             .WhereIF(dto.IsUrgent.HasValue, d => d.IsUrgent == dto.IsUrgent.Value)
             .Where(x => x.Source < ESource.MLSQ || x.Source > ESource.WZSC)
-            .Where(x => x.Status != EOrderStatus.BackToProvince && x.Status < EOrderStatus.Filed)
+            .Where(x => x.Status != EOrderStatus.BackToProvince)
+            .WhereIF(dto.TypeCode.HasValue == false, m => m.Status < EOrderStatus.Filed)
             .OrderBy(d => d.Status)
             .OrderByIF(dto.IsHandled == true, d => d.StartTime, OrderByType.Desc)
             .OrderByIF(dto.IsHandled == false, d => new { IsUrgent = d.IsUrgent, CreationTime = d.CreationTime }, OrderByType.Desc)

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

@@ -198,6 +198,8 @@ namespace Hotline.FlowEngine.Workflows
                 _sessionContext.RequiredUserId, _sessionContext.RequiredOrgId,
                 externalId, cancellationToken);
 
+            //todo 重构为流程开放策略参数,业务决定
+            var defineHandler = startStepDefine.HandlerTypeItems.First();
             var startStep = CreateStartStep(workflow, startStepDefine, dto,
                 new FlowStepHandler
                 {
@@ -207,8 +209,8 @@ namespace Hotline.FlowEngine.Workflows
                     Username = _sessionContext.UserName,
                     OrgId = _sessionContext.RequiredOrgId,
                     OrgName = _sessionContext.OrgName,
-                    // RoleId = defineHandler.Key,
-                    // RoleName = defineHandler.Value,
+                    RoleId = defineHandler.Key,
+                    RoleName = defineHandler.Value,
                 }, expiredTime);
 
             if (dto.Files.Any())
@@ -2385,7 +2387,7 @@ namespace Hotline.FlowEngine.Workflows
             {
                 //newStep.FlowAssignType = EFlowAssignType.User;
                 // 是否中心  临时紧急修改 后续在流程模版定义是否原办理人退回类型 来实现流程 禅道200
-                newStep.FlowAssignType = step.HandlerOrgIsCenter!.Value
+                newStep.FlowAssignType = step.BusinessType is EBusinessType.Seat or EBusinessType.Send
                     ? step.BusinessType is EBusinessType.Send ? EFlowAssignType.User : EFlowAssignType.Role
                     : EFlowAssignType.Org;
                 //if (newStep is { FlowAssignType: EFlowAssignType.Role, BusinessType: EBusinessType.Send })