From 4cb27d670be4437d5cbfbf6676e1f8387cd1e5d2 Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期二, 11 二月 2025 14:02:43 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java | 312 ++++++++++++++++++++++++++++++--------------------- 1 files changed, 185 insertions(+), 127 deletions(-) diff --git a/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java b/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java index 68e9f43..dab2ebe 100644 --- a/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java +++ b/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java @@ -159,6 +159,7 @@ .set(ProjectProcess::getProcessInsId, processInsId) .set(ProjectProcess::getDataLaunch, project.getCreateBy()) .update(); + return Result.ok("娴佺▼鍙樻洿鎴愬姛"); } @@ -207,7 +208,8 @@ SysUser sysUser = SecurityUtils.getLoginUser().getUser(); identityService.setAuthenticatedUserId(sysUser.getUserId().toString()); variables.put(ProcessConstants.PROCESS_INITIATOR, sysUser.getUserId()); - + //娴嬭瘯瀹圭己 + variables.put("miss",true); // 灏嗚椤圭洰鐨勭敵璇蜂汉锛堜笟涓绘柟锛変綔涓烘祦绋嬩腑鏌愪簺鐜妭鐨勫鐞嗕汉 variables.put(ProcessConstants.DATA_LAUNCH, createBy); ProcessInstance processInstance = runtimeService.startProcessInstanceById(processDefId, projectId + "", variables); @@ -649,7 +651,8 @@ .active() .processInstanceId(processInsId) .includeProcessVariables() - .orderByTaskCreateTime().desc(); + .orderByTaskCreateTime() + .desc(); if (StringUtils.isNotBlank(taskName)) { taskQuery.processDefinitionNameLike(taskName); @@ -921,11 +924,11 @@ taskVO.setHandlerType(HandlerTypeEnum.USER); SysUser sysUser = sysUserService.selectUserById(Long.parseLong(identityLink.getUserId())); if (Objects.nonNull(sysUser)) { - handlerIds.add(sysUser.getUserId()); - handlerNames.add(sysUser.getNickName()); + taskVO.getHandlerId().add(sysUser.getUserId()); + taskVO.getHandlerName().add(sysUser.getNickName()); if (Objects.nonNull(sysUser.getDept())) { - handlerUnitIds.add(sysUser.getDept().getDeptId()); - handlerUnitNames.add(sysUser.getDept().getDeptName()); + taskVO.getHandlerUnitId().add(sysUser.getDept().getDeptId()); + taskVO.getHandlerUnitName().add(sysUser.getDept().getDeptName()); } } // 缁戝畾鐨勬槸瑙掕壊鎴栬�呴儴闂� @@ -937,16 +940,16 @@ // 閮ㄩ棬 SysDept dept = sysDeptService.selectDeptById(Long.parseLong(split[1])); if (Objects.nonNull(dept)) { - handlerUnitIds.add(dept.getDeptId()); - handlerUnitNames.add(dept.getDeptName()); + taskVO.getHandlerUnitId().add(dept.getDeptId()); + taskVO.getHandlerUnitName().add(dept.getDeptName()); } } } else { taskVO.setHandlerType(HandlerTypeEnum.ROLE); SysRole role = sysRoleService.selectRoleById(Long.parseLong(identityLink.getGroupId())); if (Objects.nonNull(role)) { - handlerUnitIds.add(Long.parseLong(identityLink.getGroupId())); - handlerUnitNames.add(role.getRoleName()); + taskVO.getHandlerUnitId().add(Long.parseLong(identityLink.getGroupId())); + taskVO.getHandlerUnitName().add(role.getRoleName()); } } } @@ -962,24 +965,36 @@ * @return */ private Long getTimelyTaskNum(String processInsId) { - // 鏌ュ嚭鏃堕棿姝e父鐨勪换鍔d - List<String> taskKeyList = new LambdaQueryChainWrapper<>(processCodingService.getBaseMapper()) - .select(ProcessCoding::getTaskDefKey) - .eq(ProcessCoding::getProcessInsId, processInsId) - .eq(ProcessCoding::getOvertimeStatus, ProcessOverTimeConstants.NORMAL) - .list() - .stream() - .map(ProcessCoding::getTaskDefKey) - .collect(Collectors.toList()); - if (CollectionUtils.isEmpty(taskKeyList)) { - return 0L; - } - // 鏌ュ嚭鎵�鏈夊凡瀹屾垚鐨勪换鍔� - return historyService.createHistoricTaskInstanceQuery() + // 鏌ュ嚭宸插畬鎴愮殑浠诲姟key + List<HistoricTaskInstance> hisTaskList = historyService.createHistoricTaskInstanceQuery() .processInstanceId(processInsId) .finished() - .caseDefinitionKeyIn(taskKeyList) - .count(); + .includeIdentityLinks() + .list(); + if (CollectionUtils.isEmpty(hisTaskList)) { + return 0L; + } + + List<String> hisTaskKeys = hisTaskList.stream().map(HistoricTaskInstance::getTaskDefinitionKey).distinct().collect(Collectors.toList()); + Map<String, HistoricTaskInstance> hisTaskMap = hisTaskList.stream().collect(Collectors.toMap(HistoricTaskInstance::getTaskDefinitionKey, his -> his)); + // 鏌ュ嚭鏃堕棿姝e父鐨勪换鍔ey + List<ProcessCoding> taskList = new LambdaQueryChainWrapper<>(processCodingService.getBaseMapper()) + .eq(ProcessCoding::getProcessInsId, processInsId) + .in(ProcessCoding::getTaskDefKey, hisTaskKeys) + .list(); + Map<String, ProcessCoding> codingMap = taskList.stream().collect(Collectors.toMap(ProcessCoding::getTaskDefKey, pro -> pro)); + List<HistoricTaskInstance> finishedTaskList = new ArrayList<>(); + // 鍒ゆ柇 + for (String key : hisTaskMap.keySet()) { + ProcessCoding processCoding = codingMap.get(key); + // 濡傛灉宸插畬鎴愮殑浠诲姟娌′粠鏁版嵁搴撴煡鎵惧嚭鏉ワ紝璇存槑璇ヤ换鍔℃病閰嶇疆璧嬬爜绛夋椂闂达紝鐩存帴璁剧疆涓烘寜鏃跺畬鎴� + if (Objects.isNull(processCoding)) { + finishedTaskList.add(hisTaskMap.get(key)); + } else if (ProcessOverTimeConstants.NORMAL.equals(processCoding.getOvertimeStatus()) || StringUtils.isBlank(processCoding.getOvertimeStatus())) { + finishedTaskList.add(hisTaskMap.get(key)); + } + } + return Long.valueOf(finishedTaskList.size()); } /** @@ -997,26 +1012,38 @@ int startNum = pageSize * (pageNum - 1); int endNum = startNum + pageSize; - // 鏌ュ嚭鏃堕棿姝e父鐨勪换鍔d - List<String> taskKeyList = new LambdaQueryChainWrapper<>(processCodingService.getBaseMapper()) - .select(ProcessCoding::getTaskDefKey) - .eq(ProcessCoding::getProcessInsId, processInsId) - .eq(ProcessCoding::getOvertimeStatus, ProcessOverTimeConstants.NORMAL) - .list() - .stream() - .map(ProcessCoding::getTaskDefKey) - .collect(Collectors.toList()); + // 鏌ュ嚭宸插畬鎴愮殑浠诲姟key + List<HistoricTaskInstance> hisTaskList = historyService.createHistoricTaskInstanceQuery() + .processInstanceId(processInsId) + .finished() + .taskNameLike(taskName) + .includeIdentityLinks() + .orderByTaskCreateTime() + .desc() + .list(); + if (CollectionUtils.isEmpty(hisTaskList)) { + result.total(0); + return new ArrayList<>(); + } + List<String> hisTaskKeys = hisTaskList.stream().map(HistoricTaskInstance::getTaskDefinitionKey).distinct().collect(Collectors.toList()); + Map<String, HistoricTaskInstance> hisTaskMap = hisTaskList.stream().collect(Collectors.toMap(HistoricTaskInstance::getTaskDefinitionKey, his -> his)); + // 鏌ュ嚭鏃堕棿姝e父鐨勪换鍔ey + List<ProcessCoding> taskList = new LambdaQueryChainWrapper<>(processCodingService.getBaseMapper()) + .eq(ProcessCoding::getProcessInsId, processInsId) + .in(ProcessCoding::getTaskDefKey, hisTaskKeys) + .list(); + Map<String, ProcessCoding> codingMap = taskList.stream().collect(Collectors.toMap(ProcessCoding::getTaskDefKey, pro -> pro)); List<HistoricTaskInstance> finishedTaskList = new ArrayList<>(); - if (! CollectionUtils.isEmpty(taskKeyList)) { - // 鏌ュ嚭鎵�鏈夊凡瀹屾垚鐨勪换鍔� - finishedTaskList = historyService.createHistoricTaskInstanceQuery() - .processInstanceId(processInsId) - .finished() - .taskNameLike(taskName) - .caseDefinitionKeyIn(taskKeyList) - .includeIdentityLinks() - .list(); + // 鍒ゆ柇 + for (String key : hisTaskMap.keySet()) { + ProcessCoding processCoding = codingMap.get(key); + // 濡傛灉宸插畬鎴愮殑浠诲姟娌′粠鏁版嵁搴撴煡鎵惧嚭鏉ワ紝璇存槑璇ヤ换鍔℃病閰嶇疆璧嬬爜绛夋椂闂达紝鐩存帴璁剧疆涓烘寜鏃跺畬鎴� + if (Objects.isNull(processCoding)) { + finishedTaskList.add(hisTaskMap.get(key)); + } else if (ProcessOverTimeConstants.NORMAL.equals(processCoding.getOvertimeStatus()) || StringUtils.isBlank(processCoding.getOvertimeStatus())) { + finishedTaskList.add(hisTaskMap.get(key)); + } } if (startNum >= finishedTaskList.size()) { @@ -1077,8 +1104,8 @@ long handlerUserId = Long.parseLong(hisTask.getAssignee()); SysUser handlerUser = sysUserService.selectUserById(handlerUserId); if (Objects.nonNull(handlerUser)) { - handlerIds.add(handlerUserId); - handlerNames.add(handlerUser.getNickName()); + vo.getHandlerId().add(handlerUserId); + vo.getHandlerName().add(handlerUser.getNickName()); vo.setActualHandlerUserId(hisTask.getAssignee()); vo.setActualHandlerUserName(handlerUser.getNickName()); } @@ -1101,23 +1128,31 @@ * @return */ private Long getOvertimeTaskNum(String processInsId) { - // 鏌ュ嚭鏃堕棿姝e父鐨勪换鍔d - List<String> taskKeyList = new LambdaQueryChainWrapper<>(processCodingService.getBaseMapper()) - .select(ProcessCoding::getTaskDefKey) - .eq(ProcessCoding::getProcessInsId, processInsId) - .eq(ProcessCoding::getOvertimeStatus, ProcessOverTimeConstants.OVERTIME) - .list() - .stream() - .map(ProcessCoding::getTaskDefKey) - .collect(Collectors.toList()); - if (CollectionUtils.isEmpty(taskKeyList)) { + // 鏌ュ嚭杩愯鍦ㄧ殑浠诲姟key + List<Task> taskList = taskService.createTaskQuery().processInstanceId(processInsId).list(); + + if (CollectionUtils.isEmpty(taskList)) { return 0L; } - // 鏌ュ嚭鎵�鏈夊凡瀹屾垚鐨勪换鍔� - return taskService.createTaskQuery() - .processInstanceId(processInsId) - .caseDefinitionKeyIn(taskKeyList) - .count(); + List<String> taskKeys = taskList.stream().map(Task::getTaskDefinitionKey).distinct().collect(Collectors.toList()); + Map<String, Task> taskMap = taskList.stream().collect(Collectors.toMap(Task::getTaskDefinitionKey, his -> his)); + // 鏌ュ嚭鏁版嵁搴撶殑浠诲姟key + List<ProcessCoding> databaseTaskList = new LambdaQueryChainWrapper<>(processCodingService.getBaseMapper()) + .eq(ProcessCoding::getProcessInsId, processInsId) + .in(ProcessCoding::getTaskDefKey, taskKeys) + .list(); + Map<String, ProcessCoding> codingMap = databaseTaskList.stream().collect(Collectors.toMap(ProcessCoding::getTaskDefKey, pro -> pro)); + List<Task> tList = new ArrayList<>(); + // 鍒ゆ柇 + for (String key : taskMap.keySet()) { + ProcessCoding processCoding = codingMap.get(key); + // 濡傛灉杩愯涓殑浠诲姟娌′粠鏁版嵁搴撴煡鎵惧嚭鏉ワ紝璇存槑璇ヤ换鍔℃病閰嶇疆璧嬬爜绛夋椂闂达紝涓嶇畻瓒呮椂 + if (Objects.nonNull(processCoding) && ProcessOverTimeConstants.OVERTIME.equals(processCoding.getOvertimeStatus())) { + tList.add(taskMap.get(key)); + } + } + + return Long.valueOf(taskList.size()); } /** @@ -1136,33 +1171,42 @@ int startNum = pageSize * (pageNum - 1); int endNum = startNum + pageSize; - // 鏌ュ嚭鍗冲皢瓒呮椂鐨勪换鍔� - List<String> taskKeyList = new LambdaQueryChainWrapper<>(processCodingService.getBaseMapper()) - .select(ProcessCoding::getTaskDefKey) + // 鏌ュ嚭杩愯鍦ㄧ殑浠诲姟key + List<Task> taskList = new ArrayList<>(12); + if (StringUtils.isNotBlank(taskName)) { + taskList = taskService.createTaskQuery().processInstanceId(processInsId).taskNameLike(taskName).orderByTaskCreateTime().desc().list(); + } else { + taskList = taskService.createTaskQuery().processInstanceId(processInsId).orderByTaskCreateTime().desc().list(); + } + if (CollectionUtils.isEmpty(taskList)) { + result.total(0); + return new ArrayList<>(); + } + List<String> taskKeys = taskList.stream().map(Task::getTaskDefinitionKey).distinct().collect(Collectors.toList()); + Map<String, Task> taskMap = taskList.stream().collect(Collectors.toMap(Task::getTaskDefinitionKey, his -> his)); + // 鏌ュ嚭鏁版嵁搴撶殑浠诲姟key + List<ProcessCoding> databaseTaskList = new LambdaQueryChainWrapper<>(processCodingService.getBaseMapper()) .eq(ProcessCoding::getProcessInsId, processInsId) - .eq(ProcessCoding::getOvertimeStatus, ProcessOverTimeConstants.OVERTIME) - .list() - .stream() - .map(ProcessCoding::getTaskDefKey) - .collect(Collectors.toList()); - - List<Task> taskList = new ArrayList<>(); - // 鏌ュ嚭鎵�鏈夋鍦ㄥ鐞�(杩愯鏃�)鐨勪换鍔� - if (! CollectionUtils.isEmpty(taskKeyList)) { - taskList = taskService.createTaskQuery() - .processInstanceId(processInsId) - .taskNameLike(taskName) - .caseDefinitionKeyIn(taskKeyList) - .list(); + .in(ProcessCoding::getTaskDefKey, taskKeys) + .list(); + Map<String, ProcessCoding> codingMap = databaseTaskList.stream().collect(Collectors.toMap(ProcessCoding::getTaskDefKey, pro -> pro)); + List<Task> tList = new ArrayList<>(); + // 鍒ゆ柇 + for (String key : taskMap.keySet()) { + ProcessCoding processCoding = codingMap.get(key); + // 濡傛灉杩愯涓殑浠诲姟娌′粠鏁版嵁搴撴煡鎵惧嚭鏉ワ紝璇存槑璇ヤ换鍔℃病閰嶇疆璧嬬爜绛夋椂闂达紝涓嶇畻瓒呮椂 + if (Objects.nonNull(processCoding) && ProcessOverTimeConstants.OVERTIME.equals(processCoding.getOvertimeStatus())) { + tList.add(taskMap.get(key)); + } } - if (startNum >= taskList.size()) { + if (startNum >= tList.size()) { // 濡傛灉璧峰绱㈠紩瓒呭嚭浜嗗垪琛ㄧ殑澶у皬锛岃繑鍥炰竴涓┖鍒楄〃 return new ArrayList<>(); } - result.total(taskList.size()); - int end = Math.min(endNum, taskList.size()); - List<Task> pageTaskList = taskList.subList(startNum, end); + result.total(tList.size()); + int end = Math.min(endNum, tList.size()); + List<Task> pageTaskList = tList.subList(startNum, end); List<String> taskDefs = pageTaskList.stream().map(Task::getTaskDefinitionKey).collect(Collectors.toList()); Map<String, Task> keyMap = pageTaskList.stream().collect(Collectors.toMap(Task::getTaskDefinitionKey, his -> his)); @@ -1187,23 +1231,29 @@ * @return */ private Long getWillOvertimeTaskNum(String processInsId) { - // 鏌ュ嚭鏃堕棿姝e父鐨勪换鍔d - List<String> taskKeyList = new LambdaQueryChainWrapper<>(processCodingService.getBaseMapper()) - .select(ProcessCoding::getTaskDefKey) - .eq(ProcessCoding::getProcessInsId, processInsId) - .eq(ProcessCoding::getOvertimeStatus, ProcessOverTimeConstants.WILLOVERTIME) - .list() - .stream() - .map(ProcessCoding::getTaskDefKey) - .collect(Collectors.toList()); - if (CollectionUtils.isEmpty(taskKeyList)) { + // 鏌ュ嚭杩愯鍦ㄧ殑浠诲姟key + List<Task> taskList = taskService.createTaskQuery().processInstanceId(processInsId).list(); + if (CollectionUtils.isEmpty(taskList)) { return 0L; } - // 鏌ュ嚭鎵�鏈夊凡瀹屾垚鐨勪换鍔� - return taskService.createTaskQuery() - .processInstanceId(processInsId) - .caseDefinitionKeyIn(taskKeyList) - .count(); + List<String> taskKeys = taskList.stream().map(Task::getTaskDefinitionKey).distinct().collect(Collectors.toList()); + Map<String, Task> taskMap = taskList.stream().collect(Collectors.toMap(Task::getTaskDefinitionKey, his -> his)); + // 鏌ュ嚭鏁版嵁搴撶殑浠诲姟key + List<ProcessCoding> databaseTaskList = new LambdaQueryChainWrapper<>(processCodingService.getBaseMapper()) + .eq(ProcessCoding::getProcessInsId, processInsId) + .in(ProcessCoding::getTaskDefKey, taskKeys) + .list(); + Map<String, ProcessCoding> codingMap = databaseTaskList.stream().collect(Collectors.toMap(ProcessCoding::getTaskDefKey, pro -> pro)); + List<Task> tList = new ArrayList<>(); + // 鍒ゆ柇 + for (String key : taskMap.keySet()) { + ProcessCoding processCoding = codingMap.get(key); + // 濡傛灉杩愯涓殑浠诲姟娌′粠鏁版嵁搴撴煡鎵惧嚭鏉ワ紝璇存槑璇ヤ换鍔℃病閰嶇疆璧嬬爜绛夋椂闂达紝涓嶇畻鍗冲皢瓒呮椂 + if (Objects.nonNull(processCoding) && ProcessOverTimeConstants.WILLOVERTIME.equals(processCoding.getOvertimeStatus())) { + tList.add(taskMap.get(key)); + } + } + return Long.valueOf(tList.size()); } /** @@ -1222,33 +1272,42 @@ int startNum = pageSize * (pageNum - 1); int endNum = startNum + pageSize; - // 鏌ュ嚭鍗冲皢瓒呮椂鐨勪换鍔� - List<String> taskKeyList = new LambdaQueryChainWrapper<>(processCodingService.getBaseMapper()) - .select(ProcessCoding::getTaskDefKey) + // 鏌ュ嚭杩愯鍦ㄧ殑浠诲姟key + List<Task> taskList = new ArrayList<>(12); + if (StringUtils.isNotBlank(taskName)) { + taskList = taskService.createTaskQuery().processInstanceId(processInsId).taskNameLike(taskName).orderByTaskCreateTime().desc().list(); + } else { + taskList = taskService.createTaskQuery().processInstanceId(processInsId).orderByTaskCreateTime().desc().list(); + } + if (CollectionUtils.isEmpty(taskList)) { + result.total(0); + return new ArrayList<>(); + } + List<String> taskKeys = taskList.stream().map(Task::getTaskDefinitionKey).distinct().collect(Collectors.toList()); + Map<String, Task> taskMap = taskList.stream().collect(Collectors.toMap(Task::getTaskDefinitionKey, his -> his)); + // 鏌ュ嚭鏁版嵁搴撶殑浠诲姟key + List<ProcessCoding> databaseTaskList = new LambdaQueryChainWrapper<>(processCodingService.getBaseMapper()) .eq(ProcessCoding::getProcessInsId, processInsId) - .eq(ProcessCoding::getOvertimeStatus, ProcessOverTimeConstants.WILLOVERTIME) - .list() - .stream() - .map(ProcessCoding::getTaskDefKey) - .collect(Collectors.toList()); - - List<Task> taskList = new ArrayList<>(); - // 鏌ュ嚭鎵�鏈夋鍦ㄥ鐞�(杩愯鏃�)鐨勪换鍔� - if (! CollectionUtils.isEmpty(taskKeyList)) { - taskList = taskService.createTaskQuery() - .processInstanceId(processInsId) - .taskNameLike(taskName) - .caseDefinitionKeyIn(taskKeyList) - .list(); + .in(ProcessCoding::getTaskDefKey, taskKeys) + .list(); + Map<String, ProcessCoding> codingMap = databaseTaskList.stream().collect(Collectors.toMap(ProcessCoding::getTaskDefKey, pro -> pro)); + List<Task> tList = new ArrayList<>(); + // 鍒ゆ柇 + for (String key : taskMap.keySet()) { + ProcessCoding processCoding = codingMap.get(key); + // 濡傛灉杩愯涓殑浠诲姟娌′粠鏁版嵁搴撴煡鎵惧嚭鏉ワ紝璇存槑璇ヤ换鍔℃病閰嶇疆璧嬬爜绛夋椂闂达紝涓嶇畻鍗冲皢瓒呮椂 + if (Objects.nonNull(processCoding) && ProcessOverTimeConstants.WILLOVERTIME.equals(processCoding.getOvertimeStatus())) { + tList.add(taskMap.get(key)); + } } - if (startNum >= taskList.size()) { + if (startNum >= tList.size()) { // 濡傛灉璧峰绱㈠紩瓒呭嚭浜嗗垪琛ㄧ殑澶у皬锛岃繑鍥炰竴涓┖鍒楄〃 return new ArrayList<>(); } - result.total(taskList.size()); - int end = Math.min(endNum, taskList.size()); - List<Task> pageTaskList = taskList.subList(startNum, end); + result.total(tList.size()); + int end = Math.min(endNum, tList.size()); + List<Task> pageTaskList = tList.subList(startNum, end); List<String> taskDefs = pageTaskList.stream().map(Task::getTaskDefinitionKey).collect(Collectors.toList()); Map<String, Task> keyMap = pageTaskList.stream().collect(Collectors.toMap(Task::getTaskDefinitionKey, his -> his)); @@ -1348,11 +1407,11 @@ } SysUser sysUser = sysUserService.selectUserById(Long.parseLong(userTask.getAssignee())); if (Objects.nonNull(sysUser)) { - handlerIds.add(sysUser.getUserId()); - handlerNames.add(sysUser.getNickName()); + vo.getHandlerId().add(sysUser.getUserId()); + vo.getHandlerName().add(sysUser.getNickName()); if (Objects.nonNull(sysUser.getDept())) { - handlerUnitIds.add(sysUser.getDept().getDeptId()); - handlerUnitNames.add(sysUser.getDept().getDeptName()); + vo.getHandlerUnitId().add(sysUser.getDept().getDeptId()); + vo.getHandlerUnitName().add(sysUser.getDept().getDeptName()); } } } else if (CollectionUtil.isNotEmpty(userTask.getCandidateGroups())) { @@ -1365,17 +1424,16 @@ // 閮ㄩ棬 SysDept dept = sysDeptService.selectDeptById(Long.parseLong(split[1])); if (Objects.nonNull(dept)) { - handlerUnitIds.add(dept.getDeptId()); - handlerUnitNames.add(dept.getDeptName()); - + vo.getHandlerUnitId().add(dept.getDeptId()); + vo.getHandlerUnitName().add(dept.getDeptName()); } } } else { vo.setHandlerType(HandlerTypeEnum.ROLE); SysRole role = sysRoleService.selectRoleById(Long.parseLong(groupId)); if (Objects.nonNull(role)) { - handlerUnitIds.add(role.getRoleId()); - handlerUnitNames.add(role.getRoleName()); + vo.getHandlerUnitId().add(role.getRoleId()); + vo.getHandlerUnitName().add(role.getRoleName()); } } } -- Gitblit v1.8.0