diff --git a/urbanops-module-bpm/src/main/java/com/zteits/urbanops/module/bpm/service/task/BpmTaskServiceImpl.java b/urbanops-module-bpm/src/main/java/com/zteits/urbanops/module/bpm/service/task/BpmTaskServiceImpl.java index b8978e0..b416243 100644 --- a/urbanops-module-bpm/src/main/java/com/zteits/urbanops/module/bpm/service/task/BpmTaskServiceImpl.java +++ b/urbanops-module-bpm/src/main/java/com/zteits/urbanops/module/bpm/service/task/BpmTaskServiceImpl.java @@ -286,7 +286,14 @@ public class BpmTaskServiceImpl implements BpmTaskService { || task.getCreateTime().before(DateUtils.of(pageVO.getCreateTime()[0])) || task.getCreateTime().after(DateUtils.of(pageVO.getCreateTime()[1]))); } - return new PageResult<>(tasks, count); + + // 过滤掉所有deleteReason = MI_END的任务,再进行遍历 解决管理端 或签任务展示 系统自动取消的问题 + List nonMIEndTaskList = tasks.stream() + .filter(task -> !"MI_END".equals(task.getDeleteReason())) + .collect(Collectors.toList()); + + + return new PageResult<>(nonMIEndTaskList, count); } @Override diff --git a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/service/garden/BpmAIServiceImpl.java b/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/service/garden/BpmAIServiceImpl.java index 2f9fade..dcb3bde 100644 --- a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/service/garden/BpmAIServiceImpl.java +++ b/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/service/garden/BpmAIServiceImpl.java @@ -213,7 +213,9 @@ public class BpmAIServiceImpl implements BpmAIService{ .map(AdminUserRespDTO::getId) // 收集结果到List .collect(Collectors.toList()); - processInstanceVariables.put(BPM_COMMON_PROD_LEADERID, idList.get(0)); + //processInstanceVariables.put(BPM_COMMON_PROD_LEADERID, idList.get(0)); + //养护组张角色多人模式 + RoleListUtils.teamLeaderByRoleAssign(userList,processInstanceVariables); } String processInstanceId = processInstanceApi.createProcessInstance(userId, @@ -260,7 +262,9 @@ public class BpmAIServiceImpl implements BpmAIService{ .map(AdminUserRespDTO::getId) // 收集结果到List .collect(Collectors.toList()); - processInstanceVariables.put(BPM_COMMON_PROD_LEADERID, idList.get(0));//养护组长分配 + //processInstanceVariables.put(BPM_COMMON_PROD_LEADERID, idList.get(0));//养护组长分配 + //养护组张角色多人模式 + RoleListUtils.teamLeaderByRoleAssign(userList,processInstanceVariables); //流程变量重新赋值 runtimeService.setVariables(instanceId,processInstanceVariables); @@ -316,7 +320,9 @@ public class BpmAIServiceImpl implements BpmAIService{ .map(AdminUserRespDTO::getId) // 收集结果到List .collect(Collectors.toList()); - processInstanceVariables.put(BPM_COMMON_PROD_LEADERID, idList.get(0));//养护组长分配 + //processInstanceVariables.put(BPM_COMMON_PROD_LEADERID, idList.get(0));//养护组长分配 + //养护组张角色多人模式 + RoleListUtils.teamLeaderByRoleAssign(userList,processInstanceVariables); //流程变量重新赋值 runtimeService.setVariables(instanceId,processInstanceVariables); } diff --git a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/service/garden/BpmGardenServiceImpl.java b/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/service/garden/BpmGardenServiceImpl.java index 65c8060..e094401 100644 --- a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/service/garden/BpmGardenServiceImpl.java +++ b/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/service/garden/BpmGardenServiceImpl.java @@ -53,6 +53,7 @@ import com.zteits.urbanops.module.workorder.dto.AppGardenWorkOrderRespVO; import com.zteits.urbanops.module.workorder.enums.BusiLineTeamLeaderRoleCodeEnum; import com.zteits.urbanops.module.workorder.enums.BusiLineWorkerRoleCodeEnum; import com.zteits.urbanops.module.workorder.enums.EventSourceEnum; +import com.zteits.urbanops.module.workorder.util.RoleListUtils; import com.zteits.urbanops.module.workorder.util.TaskNodeUtils; import jakarta.annotation.Resource; import jodd.util.StringUtil; @@ -647,7 +648,10 @@ public class BpmGardenServiceImpl implements BpmGardenService{ .map(AdminUserRespDTO::getId) // 收集结果到List .collect(Collectors.toList()); - processInstanceVariables.put(BPM_COMMON_PROD_LEADERID, idList.get(0)); + + //processInstanceVariables.put(BPM_COMMON_PROD_LEADERID, idList.get(0)); + //养护组张角色多人模式 + RoleListUtils.teamLeaderByRoleAssign(userList,processInstanceVariables); String processInstanceId = processInstanceApi.createProcessInstance(userId, // new BpmProcessInstanceCreateReqDTO().setProcessDefinitionKey(BpmCommonConstant.BPM_GARDEN_INSPECT_WO) new BpmProcessInstanceCreateReqDTO().setProcessDefinitionKey(BpmCommonConstant.BPM_WORKORDER_COMMON_PROD) diff --git a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/service/garden/BpmInspectorServiceImpl.java b/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/service/garden/BpmInspectorServiceImpl.java index 49c8020..6ad467a 100644 --- a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/service/garden/BpmInspectorServiceImpl.java +++ b/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/service/garden/BpmInspectorServiceImpl.java @@ -205,7 +205,9 @@ public class BpmInspectorServiceImpl implements BpmInspectorService{ .map(AdminUserRespDTO::getId) // 收集结果到List .collect(Collectors.toList()); - processInstanceVariables.put(BPM_COMMON_PROD_LEADERID, idList.get(0)); + //processInstanceVariables.put(BPM_COMMON_PROD_LEADERID, idList.get(0)); + //养护组张角色多人模式 + RoleListUtils.teamLeaderByRoleAssign(userList,processInstanceVariables); } String processInstanceId = processInstanceApi.createProcessInstance(userId, @@ -252,7 +254,9 @@ public class BpmInspectorServiceImpl implements BpmInspectorService{ .map(AdminUserRespDTO::getId) // 收集结果到List .collect(Collectors.toList()); - processInstanceVariables.put(BPM_COMMON_PROD_LEADERID, idList.get(0));//养护组长分配 + //processInstanceVariables.put(BPM_COMMON_PROD_LEADERID, idList.get(0));//养护组长分配 + //养护组张角色多人模式 + RoleListUtils.teamLeaderByRoleAssign(userList,processInstanceVariables); //流程变量重新赋值 runtimeService.setVariables(instanceId,processInstanceVariables); @@ -308,7 +312,9 @@ public class BpmInspectorServiceImpl implements BpmInspectorService{ .map(AdminUserRespDTO::getId) // 收集结果到List .collect(Collectors.toList()); - processInstanceVariables.put(BPM_COMMON_PROD_LEADERID, idList.get(0));//养护组长分配 + //processInstanceVariables.put(BPM_COMMON_PROD_LEADERID, idList.get(0));//养护组长分配 + //养护组张角色多人模式 + RoleListUtils.teamLeaderByRoleAssign(userList,processInstanceVariables); //流程变量重新赋值 runtimeService.setVariables(instanceId,processInstanceVariables); } diff --git a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/service/garden/BpmRegionMgrServiceImpl.java b/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/service/garden/BpmRegionMgrServiceImpl.java index 926c727..7c9d296 100644 --- a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/service/garden/BpmRegionMgrServiceImpl.java +++ b/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/service/garden/BpmRegionMgrServiceImpl.java @@ -187,7 +187,9 @@ public class BpmRegionMgrServiceImpl implements BpmRegionMgrService{ .map(AdminUserRespDTO::getId) // 收集结果到List .collect(Collectors.toList()); - processInstanceVariables.put(BPM_COMMON_PROD_LEADERID, idList.get(0)); + //processInstanceVariables.put(BPM_COMMON_PROD_LEADERID, idList.get(0)); + //养护组张角色多人模式 + RoleListUtils.teamLeaderByRoleAssign(userList,processInstanceVariables); String processInstanceId = processInstanceApi.createProcessInstance(userId, // new BpmProcessInstanceCreateReqDTO().setProcessDefinitionKey(BpmCommonConstant.BPM_GARDEN_INSPECT_WO) new BpmProcessInstanceCreateReqDTO().setProcessDefinitionKey(BpmCommonConstant.BPM_REGION_MGR_WO) diff --git a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/service/garden/BpmUniversalServiceImpl.java b/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/service/garden/BpmUniversalServiceImpl.java index 1f5a0da..61e799c 100644 --- a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/service/garden/BpmUniversalServiceImpl.java +++ b/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/service/garden/BpmUniversalServiceImpl.java @@ -214,7 +214,9 @@ public class BpmUniversalServiceImpl implements BpmUniversalService{ .map(AdminUserRespDTO::getId) // 收集结果到List .collect(Collectors.toList()); - processInstanceVariables.put(BPM_COMMON_PROD_LEADERID, idList.get(0));//养护组长分配 + //processInstanceVariables.put(BPM_COMMON_PROD_LEADERID, idList.get(0));//养护组长分配 + //养护组张角色多人模式 + RoleListUtils.teamLeaderByRoleAssign(userList,processInstanceVariables); //流程变量重新赋值 runtimeService.setVariables(instanceId,processInstanceVariables); diff --git a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/util/RoleListUtils.java b/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/util/RoleListUtils.java index 742347c..d8e4b7d 100644 --- a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/util/RoleListUtils.java +++ b/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/util/RoleListUtils.java @@ -1,12 +1,16 @@ package com.zteits.urbanops.module.workorder.util; +import com.zteits.urbanops.module.system.api.user.dto.AdminUserRespDTO; import com.zteits.urbanops.module.system.controller.admin.permission.vo.role.RoleRespVO; import java.util.List; +import java.util.Map; import java.util.Objects; import java.util.Set; import java.util.stream.Collectors; +import static com.zteits.urbanops.module.workorder.api.constant.BpmCommonConstant.BPM_COMMON_PROD_LEADERID; + /** * 类描述:判断角色包含关系工具类 * 创建人:yanhuiqing @@ -77,4 +81,13 @@ public class RoleListUtils { return containsCode1 && containsCode2; } + + public static void teamLeaderByRoleAssign(List userList, Map processInstanceVariables){ + //养护组长指派为多人 + String assigneeIdStr = userList.stream() + .map(AdminUserRespDTO::getId) // 取Long类型ID + .map(String::valueOf) // 转String + .collect(Collectors.joining(",")); // 拼接成1001,1002,1003 + processInstanceVariables.put(BPM_COMMON_PROD_LEADERID, assigneeIdStr); + } } \ No newline at end of file