Commit bf051abbe5a06612ddc2a1f3525fd9dc9a16fe38
1 parent
4e0c6402
养护组长 变为角色多人审批模式
Showing
7 changed files
with
50 additions
and
10 deletions
urbanops-module-bpm/src/main/java/com/zteits/urbanops/module/bpm/service/task/BpmTaskServiceImpl.java
| @@ -286,7 +286,14 @@ public class BpmTaskServiceImpl implements BpmTaskService { | @@ -286,7 +286,14 @@ public class BpmTaskServiceImpl implements BpmTaskService { | ||
| 286 | || task.getCreateTime().before(DateUtils.of(pageVO.getCreateTime()[0])) | 286 | || task.getCreateTime().before(DateUtils.of(pageVO.getCreateTime()[0])) |
| 287 | || task.getCreateTime().after(DateUtils.of(pageVO.getCreateTime()[1]))); | 287 | || task.getCreateTime().after(DateUtils.of(pageVO.getCreateTime()[1]))); |
| 288 | } | 288 | } |
| 289 | - return new PageResult<>(tasks, count); | 289 | + |
| 290 | + // 过滤掉所有deleteReason = MI_END的任务,再进行遍历 解决管理端 或签任务展示 系统自动取消的问题 | ||
| 291 | + List<HistoricTaskInstance> nonMIEndTaskList = tasks.stream() | ||
| 292 | + .filter(task -> !"MI_END".equals(task.getDeleteReason())) | ||
| 293 | + .collect(Collectors.toList()); | ||
| 294 | + | ||
| 295 | + | ||
| 296 | + return new PageResult<>(nonMIEndTaskList, count); | ||
| 290 | } | 297 | } |
| 291 | 298 | ||
| 292 | @Override | 299 | @Override |
urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/service/garden/BpmAIServiceImpl.java
| @@ -213,7 +213,9 @@ public class BpmAIServiceImpl implements BpmAIService{ | @@ -213,7 +213,9 @@ public class BpmAIServiceImpl implements BpmAIService{ | ||
| 213 | .map(AdminUserRespDTO::getId) | 213 | .map(AdminUserRespDTO::getId) |
| 214 | // 收集结果到List | 214 | // 收集结果到List |
| 215 | .collect(Collectors.toList()); | 215 | .collect(Collectors.toList()); |
| 216 | - processInstanceVariables.put(BPM_COMMON_PROD_LEADERID, idList.get(0)); | 216 | + //processInstanceVariables.put(BPM_COMMON_PROD_LEADERID, idList.get(0)); |
| 217 | + //养护组张角色多人模式 | ||
| 218 | + RoleListUtils.teamLeaderByRoleAssign(userList,processInstanceVariables); | ||
| 217 | } | 219 | } |
| 218 | 220 | ||
| 219 | String processInstanceId = processInstanceApi.createProcessInstance(userId, | 221 | String processInstanceId = processInstanceApi.createProcessInstance(userId, |
| @@ -260,7 +262,9 @@ public class BpmAIServiceImpl implements BpmAIService{ | @@ -260,7 +262,9 @@ public class BpmAIServiceImpl implements BpmAIService{ | ||
| 260 | .map(AdminUserRespDTO::getId) | 262 | .map(AdminUserRespDTO::getId) |
| 261 | // 收集结果到List | 263 | // 收集结果到List |
| 262 | .collect(Collectors.toList()); | 264 | .collect(Collectors.toList()); |
| 263 | - processInstanceVariables.put(BPM_COMMON_PROD_LEADERID, idList.get(0));//养护组长分配 | 265 | + //processInstanceVariables.put(BPM_COMMON_PROD_LEADERID, idList.get(0));//养护组长分配 |
| 266 | + //养护组张角色多人模式 | ||
| 267 | + RoleListUtils.teamLeaderByRoleAssign(userList,processInstanceVariables); | ||
| 264 | //流程变量重新赋值 | 268 | //流程变量重新赋值 |
| 265 | runtimeService.setVariables(instanceId,processInstanceVariables); | 269 | runtimeService.setVariables(instanceId,processInstanceVariables); |
| 266 | 270 | ||
| @@ -316,7 +320,9 @@ public class BpmAIServiceImpl implements BpmAIService{ | @@ -316,7 +320,9 @@ public class BpmAIServiceImpl implements BpmAIService{ | ||
| 316 | .map(AdminUserRespDTO::getId) | 320 | .map(AdminUserRespDTO::getId) |
| 317 | // 收集结果到List | 321 | // 收集结果到List |
| 318 | .collect(Collectors.toList()); | 322 | .collect(Collectors.toList()); |
| 319 | - processInstanceVariables.put(BPM_COMMON_PROD_LEADERID, idList.get(0));//养护组长分配 | 323 | + //processInstanceVariables.put(BPM_COMMON_PROD_LEADERID, idList.get(0));//养护组长分配 |
| 324 | + //养护组张角色多人模式 | ||
| 325 | + RoleListUtils.teamLeaderByRoleAssign(userList,processInstanceVariables); | ||
| 320 | //流程变量重新赋值 | 326 | //流程变量重新赋值 |
| 321 | runtimeService.setVariables(instanceId,processInstanceVariables); | 327 | runtimeService.setVariables(instanceId,processInstanceVariables); |
| 322 | } | 328 | } |
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; | @@ -53,6 +53,7 @@ import com.zteits.urbanops.module.workorder.dto.AppGardenWorkOrderRespVO; | ||
| 53 | import com.zteits.urbanops.module.workorder.enums.BusiLineTeamLeaderRoleCodeEnum; | 53 | import com.zteits.urbanops.module.workorder.enums.BusiLineTeamLeaderRoleCodeEnum; |
| 54 | import com.zteits.urbanops.module.workorder.enums.BusiLineWorkerRoleCodeEnum; | 54 | import com.zteits.urbanops.module.workorder.enums.BusiLineWorkerRoleCodeEnum; |
| 55 | import com.zteits.urbanops.module.workorder.enums.EventSourceEnum; | 55 | import com.zteits.urbanops.module.workorder.enums.EventSourceEnum; |
| 56 | +import com.zteits.urbanops.module.workorder.util.RoleListUtils; | ||
| 56 | import com.zteits.urbanops.module.workorder.util.TaskNodeUtils; | 57 | import com.zteits.urbanops.module.workorder.util.TaskNodeUtils; |
| 57 | import jakarta.annotation.Resource; | 58 | import jakarta.annotation.Resource; |
| 58 | import jodd.util.StringUtil; | 59 | import jodd.util.StringUtil; |
| @@ -647,7 +648,10 @@ public class BpmGardenServiceImpl implements BpmGardenService{ | @@ -647,7 +648,10 @@ public class BpmGardenServiceImpl implements BpmGardenService{ | ||
| 647 | .map(AdminUserRespDTO::getId) | 648 | .map(AdminUserRespDTO::getId) |
| 648 | // 收集结果到List | 649 | // 收集结果到List |
| 649 | .collect(Collectors.toList()); | 650 | .collect(Collectors.toList()); |
| 650 | - processInstanceVariables.put(BPM_COMMON_PROD_LEADERID, idList.get(0)); | 651 | + |
| 652 | + //processInstanceVariables.put(BPM_COMMON_PROD_LEADERID, idList.get(0)); | ||
| 653 | + //养护组张角色多人模式 | ||
| 654 | + RoleListUtils.teamLeaderByRoleAssign(userList,processInstanceVariables); | ||
| 651 | String processInstanceId = processInstanceApi.createProcessInstance(userId, | 655 | String processInstanceId = processInstanceApi.createProcessInstance(userId, |
| 652 | // new BpmProcessInstanceCreateReqDTO().setProcessDefinitionKey(BpmCommonConstant.BPM_GARDEN_INSPECT_WO) | 656 | // new BpmProcessInstanceCreateReqDTO().setProcessDefinitionKey(BpmCommonConstant.BPM_GARDEN_INSPECT_WO) |
| 653 | new BpmProcessInstanceCreateReqDTO().setProcessDefinitionKey(BpmCommonConstant.BPM_WORKORDER_COMMON_PROD) | 657 | new BpmProcessInstanceCreateReqDTO().setProcessDefinitionKey(BpmCommonConstant.BPM_WORKORDER_COMMON_PROD) |
urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/service/garden/BpmInspectorServiceImpl.java
| @@ -205,7 +205,9 @@ public class BpmInspectorServiceImpl implements BpmInspectorService{ | @@ -205,7 +205,9 @@ public class BpmInspectorServiceImpl implements BpmInspectorService{ | ||
| 205 | .map(AdminUserRespDTO::getId) | 205 | .map(AdminUserRespDTO::getId) |
| 206 | // 收集结果到List | 206 | // 收集结果到List |
| 207 | .collect(Collectors.toList()); | 207 | .collect(Collectors.toList()); |
| 208 | - processInstanceVariables.put(BPM_COMMON_PROD_LEADERID, idList.get(0)); | 208 | + //processInstanceVariables.put(BPM_COMMON_PROD_LEADERID, idList.get(0)); |
| 209 | + //养护组张角色多人模式 | ||
| 210 | + RoleListUtils.teamLeaderByRoleAssign(userList,processInstanceVariables); | ||
| 209 | } | 211 | } |
| 210 | 212 | ||
| 211 | String processInstanceId = processInstanceApi.createProcessInstance(userId, | 213 | String processInstanceId = processInstanceApi.createProcessInstance(userId, |
| @@ -252,7 +254,9 @@ public class BpmInspectorServiceImpl implements BpmInspectorService{ | @@ -252,7 +254,9 @@ public class BpmInspectorServiceImpl implements BpmInspectorService{ | ||
| 252 | .map(AdminUserRespDTO::getId) | 254 | .map(AdminUserRespDTO::getId) |
| 253 | // 收集结果到List | 255 | // 收集结果到List |
| 254 | .collect(Collectors.toList()); | 256 | .collect(Collectors.toList()); |
| 255 | - processInstanceVariables.put(BPM_COMMON_PROD_LEADERID, idList.get(0));//养护组长分配 | 257 | + //processInstanceVariables.put(BPM_COMMON_PROD_LEADERID, idList.get(0));//养护组长分配 |
| 258 | + //养护组张角色多人模式 | ||
| 259 | + RoleListUtils.teamLeaderByRoleAssign(userList,processInstanceVariables); | ||
| 256 | //流程变量重新赋值 | 260 | //流程变量重新赋值 |
| 257 | runtimeService.setVariables(instanceId,processInstanceVariables); | 261 | runtimeService.setVariables(instanceId,processInstanceVariables); |
| 258 | 262 | ||
| @@ -308,7 +312,9 @@ public class BpmInspectorServiceImpl implements BpmInspectorService{ | @@ -308,7 +312,9 @@ public class BpmInspectorServiceImpl implements BpmInspectorService{ | ||
| 308 | .map(AdminUserRespDTO::getId) | 312 | .map(AdminUserRespDTO::getId) |
| 309 | // 收集结果到List | 313 | // 收集结果到List |
| 310 | .collect(Collectors.toList()); | 314 | .collect(Collectors.toList()); |
| 311 | - processInstanceVariables.put(BPM_COMMON_PROD_LEADERID, idList.get(0));//养护组长分配 | 315 | + //processInstanceVariables.put(BPM_COMMON_PROD_LEADERID, idList.get(0));//养护组长分配 |
| 316 | + //养护组张角色多人模式 | ||
| 317 | + RoleListUtils.teamLeaderByRoleAssign(userList,processInstanceVariables); | ||
| 312 | //流程变量重新赋值 | 318 | //流程变量重新赋值 |
| 313 | runtimeService.setVariables(instanceId,processInstanceVariables); | 319 | runtimeService.setVariables(instanceId,processInstanceVariables); |
| 314 | } | 320 | } |
urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/service/garden/BpmRegionMgrServiceImpl.java
| @@ -187,7 +187,9 @@ public class BpmRegionMgrServiceImpl implements BpmRegionMgrService{ | @@ -187,7 +187,9 @@ public class BpmRegionMgrServiceImpl implements BpmRegionMgrService{ | ||
| 187 | .map(AdminUserRespDTO::getId) | 187 | .map(AdminUserRespDTO::getId) |
| 188 | // 收集结果到List | 188 | // 收集结果到List |
| 189 | .collect(Collectors.toList()); | 189 | .collect(Collectors.toList()); |
| 190 | - processInstanceVariables.put(BPM_COMMON_PROD_LEADERID, idList.get(0)); | 190 | + //processInstanceVariables.put(BPM_COMMON_PROD_LEADERID, idList.get(0)); |
| 191 | + //养护组张角色多人模式 | ||
| 192 | + RoleListUtils.teamLeaderByRoleAssign(userList,processInstanceVariables); | ||
| 191 | String processInstanceId = processInstanceApi.createProcessInstance(userId, | 193 | String processInstanceId = processInstanceApi.createProcessInstance(userId, |
| 192 | // new BpmProcessInstanceCreateReqDTO().setProcessDefinitionKey(BpmCommonConstant.BPM_GARDEN_INSPECT_WO) | 194 | // new BpmProcessInstanceCreateReqDTO().setProcessDefinitionKey(BpmCommonConstant.BPM_GARDEN_INSPECT_WO) |
| 193 | new BpmProcessInstanceCreateReqDTO().setProcessDefinitionKey(BpmCommonConstant.BPM_REGION_MGR_WO) | 195 | new BpmProcessInstanceCreateReqDTO().setProcessDefinitionKey(BpmCommonConstant.BPM_REGION_MGR_WO) |
urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/service/garden/BpmUniversalServiceImpl.java
| @@ -214,7 +214,9 @@ public class BpmUniversalServiceImpl implements BpmUniversalService{ | @@ -214,7 +214,9 @@ public class BpmUniversalServiceImpl implements BpmUniversalService{ | ||
| 214 | .map(AdminUserRespDTO::getId) | 214 | .map(AdminUserRespDTO::getId) |
| 215 | // 收集结果到List | 215 | // 收集结果到List |
| 216 | .collect(Collectors.toList()); | 216 | .collect(Collectors.toList()); |
| 217 | - processInstanceVariables.put(BPM_COMMON_PROD_LEADERID, idList.get(0));//养护组长分配 | 217 | + //processInstanceVariables.put(BPM_COMMON_PROD_LEADERID, idList.get(0));//养护组长分配 |
| 218 | + //养护组张角色多人模式 | ||
| 219 | + RoleListUtils.teamLeaderByRoleAssign(userList,processInstanceVariables); | ||
| 218 | //流程变量重新赋值 | 220 | //流程变量重新赋值 |
| 219 | runtimeService.setVariables(instanceId,processInstanceVariables); | 221 | runtimeService.setVariables(instanceId,processInstanceVariables); |
| 220 | 222 |
urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/util/RoleListUtils.java
| 1 | package com.zteits.urbanops.module.workorder.util; | 1 | package com.zteits.urbanops.module.workorder.util; |
| 2 | 2 | ||
| 3 | +import com.zteits.urbanops.module.system.api.user.dto.AdminUserRespDTO; | ||
| 3 | import com.zteits.urbanops.module.system.controller.admin.permission.vo.role.RoleRespVO; | 4 | import com.zteits.urbanops.module.system.controller.admin.permission.vo.role.RoleRespVO; |
| 4 | 5 | ||
| 5 | import java.util.List; | 6 | import java.util.List; |
| 7 | +import java.util.Map; | ||
| 6 | import java.util.Objects; | 8 | import java.util.Objects; |
| 7 | import java.util.Set; | 9 | import java.util.Set; |
| 8 | import java.util.stream.Collectors; | 10 | import java.util.stream.Collectors; |
| 9 | 11 | ||
| 12 | +import static com.zteits.urbanops.module.workorder.api.constant.BpmCommonConstant.BPM_COMMON_PROD_LEADERID; | ||
| 13 | + | ||
| 10 | /** | 14 | /** |
| 11 | * 类描述:判断角色包含关系工具类 | 15 | * 类描述:判断角色包含关系工具类 |
| 12 | * 创建人:yanhuiqing | 16 | * 创建人:yanhuiqing |
| @@ -77,4 +81,13 @@ public class RoleListUtils { | @@ -77,4 +81,13 @@ public class RoleListUtils { | ||
| 77 | 81 | ||
| 78 | return containsCode1 && containsCode2; | 82 | return containsCode1 && containsCode2; |
| 79 | } | 83 | } |
| 84 | + | ||
| 85 | + public static void teamLeaderByRoleAssign(List<AdminUserRespDTO> userList, Map<String, Object> processInstanceVariables){ | ||
| 86 | + //养护组长指派为多人 | ||
| 87 | + String assigneeIdStr = userList.stream() | ||
| 88 | + .map(AdminUserRespDTO::getId) // 取Long类型ID | ||
| 89 | + .map(String::valueOf) // 转String | ||
| 90 | + .collect(Collectors.joining(",")); // 拼接成1001,1002,1003 | ||
| 91 | + processInstanceVariables.put(BPM_COMMON_PROD_LEADERID, assigneeIdStr); | ||
| 92 | + } | ||
| 80 | } | 93 | } |
| 81 | \ No newline at end of file | 94 | \ No newline at end of file |