From 1e72052f14083ce772bc7664aea606d86325150f Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期四, 02 一月 2025 18:23:47 +0800 Subject: [PATCH] 流程日志代码、流程推进详情页查询中的处理人、处理单位数据结构调整 --- business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java | 291 +++++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 189 insertions(+), 102 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 61d4bc3..77e0ac6 100644 --- a/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java +++ b/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java @@ -12,19 +12,23 @@ import com.ycl.common.core.domain.entity.SysRole; import com.ycl.common.core.domain.entity.SysUser; import com.ycl.common.enums.FlowComment; +import com.ycl.common.enums.business.FlowLogEventTypeEnum; import com.ycl.common.enums.business.HandlerTypeEnum; import com.ycl.common.enums.business.TaskStatusEnum; import com.ycl.common.utils.SecurityUtils; import com.ycl.constant.TaskTypeConstant; import com.ycl.domain.dto.FlowTaskDto; +import com.ycl.domain.entity.FlowLog; import com.ycl.domain.entity.ProjectInfo; import com.ycl.domain.entity.ProjectProcess; import com.ycl.domain.form.RejectTaskForm; import com.ycl.domain.form.TaskDelegationForm; +import com.ycl.domain.json.TaskDelegateData; import com.ycl.domain.vo.CustomerTaskVO; import com.ycl.domain.vo.ProjectProcessDetailVO; import com.ycl.mapper.ProjectInfoMapper; import com.ycl.mapper.ProjectProcessMapper; +import com.ycl.service.FlowLogService; import com.ycl.service.ProjectProcessService; import com.ycl.common.base.Result; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -83,6 +87,7 @@ private final ISysRoleService sysRoleService; private final ISysDeptService sysDeptService; private final TaskCommonService taskCommonService; + private final FlowLogService flowLogService; /** * 鍒嗛〉鏌ヨ @@ -99,6 +104,7 @@ ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionId(vo.getProcessDefId()).singleResult(); if (Objects.nonNull(processDefinition)) { vo.setSuspended(processDefinition.isSuspended()); + vo.setFlowableProcessName(processDefinition.getName()); } } } @@ -286,6 +292,12 @@ // 娴佺▼鍙戣捣浜轰俊鎭� this.setPromoterInfo(taskVO); + // 涓�涓换鍔″彲鑳芥湁澶氫釜鍊欓�変汉/缁勶紝鎵�浠ラ渶瑕佷娇鐢╨ist + List<Long> handlerIds = new ArrayList<>(2); + List<String> handlerNames = new ArrayList<>(2); + List<Long> handlerUnitIds = new ArrayList<>(2); + List<String> handlerUnitNames = new ArrayList<>(2); + // 娴佺▼澶勭悊浜轰俊鎭� List<? extends IdentityLinkInfo> identityLinks = task.getIdentityLinks(); for (IdentityLinkInfo identityLink : identityLinks) { @@ -294,12 +306,12 @@ taskVO.setHandlerType(HandlerTypeEnum.USER); SysUser sysUser = sysUserService.selectUserById(Long.parseLong(identityLink.getUserId())); if (Objects.nonNull(sysUser)) { - taskVO.setHandlerId(sysUser.getUserId()); + handlerIds.add(sysUser.getUserId()); + handlerNames.add(sysUser.getNickName()); if (Objects.nonNull(sysUser.getDept())) { - taskVO.setHandlerUnitId(sysUser.getDept().getDeptId()); - taskVO.setHandlerUnitName(sysUser.getDept().getDeptName()); + handlerUnitIds.add(sysUser.getDept().getDeptId()); + handlerUnitNames.add(sysUser.getDept().getDeptName()); } - taskVO.setHandlerName(sysUser.getNickName()); } // 缁戝畾鐨勬槸瑙掕壊鎴栬�呴儴闂� } else if (StringUtils.isNotBlank(identityLink.getGroupId())) { @@ -310,20 +322,16 @@ // 閮ㄩ棬 SysDept dept = sysDeptService.selectDeptById(Long.parseLong(split[1])); if (Objects.nonNull(dept)) { - taskVO.setHandlerUnitId(dept.getDeptId()); - taskVO.setHandlerUnitName(dept.getDeptName()); - taskVO.setHandlerName("鏆傛湭澶勭悊"); - taskVO.setHandlerId(null); + handlerUnitIds.add(dept.getDeptId()); + handlerUnitNames.add(dept.getDeptName()); } } } else { taskVO.setHandlerType(HandlerTypeEnum.ROLE); SysRole role = sysRoleService.selectRoleById(Long.parseLong(identityLink.getGroupId())); if (Objects.nonNull(role)) { - taskVO.setHandlerUnitId(Long.parseLong(identityLink.getGroupId())); - taskVO.setHandlerUnitName("鐢辨嫢鏈夎鑹诧細銆�" + role.getRoleName() + "銆戠殑浜哄鐞�"); - taskVO.setHandlerName("鏆傛湭澶勭悊"); - taskVO.setHandlerId(null); + handlerUnitIds.add(role.getRoleId()); + handlerUnitNames.add(role.getRoleName()); } } } @@ -368,29 +376,74 @@ if (Objects.isNull(task)) { throw new RuntimeException("鏈湪杩愯浠诲姟涓壘鍒拌浠诲姟锛屾棤娉曟墽琛岃浆鍔炴搷浣�"); } + // 杞姙涔嬪墠鐨勫鐞嗕汉 + List<String> beforeHandlerIds = new ArrayList<>(2); + // 杞姙涔嬪墠鐨勫鐞嗕汉绫诲瀷 + HandlerTypeEnum beforeHandlerType = null; // 闇�瑕佸厛绉婚櫎涔嬪墠鐨勫鐞嗕汉 for (IdentityLinkInfo identityLink : task.getIdentityLinks()) { if (StringUtils.isNotBlank(identityLink.getUserId())) { + beforeHandlerIds.add(identityLink.getUserId()); + beforeHandlerType = HandlerTypeEnum.USER; taskService.deleteCandidateUser(task.getId(), identityLink.getUserId()); } else if (StringUtils.isNotBlank(identityLink.getGroupId())) { + beforeHandlerIds.add(identityLink.getGroupId()); + if (identityLink.getGroupId().contains("dept")) { + beforeHandlerType = HandlerTypeEnum.DEPT; + } else { + beforeHandlerType = HandlerTypeEnum.ROLE; + } + // 浠庡�欓�夌粍涓垹闄よ繖涓粍锛屼究涓嶈兘鐢抽鎵ц浠诲姟浜� taskService.deleteCandidateGroup(task.getId(), identityLink.getGroupId()); } } + TaskDelegateData jsonData = new TaskDelegateData(); + jsonData.setBeforeHandlerIds(beforeHandlerIds); + jsonData.setBeforeHandlerType(beforeHandlerType); + + List<String> afterHandlerIds = new ArrayList<>(2); // 鍐嶆柊澧炲鐞嗕汉 switch (form.getPeopleType()) { case FIX_USER: // 鎸囧畾鐢ㄦ埛鐨勮瘽锛屽彧鑳介�変竴涓敤鎴� - taskService.delegateTask(task.getId(), form.getTargetId()); + taskService.setAssignee(task.getId(), form.getTargetId()); + afterHandlerIds.add(form.getTargetId()); break; case USER: - // 鐢ㄦ埛缁勭殑璇濓紝鍙互閫夊涓敤鎴凤紝涓ユ牸鏉ヨ杩欓噷鐨勭敤鎴风粍骞朵笉鏄痜lowable涓殑缁勭殑姒傚康锛屽彧鏄紑婧愭鏋舵湁杩欎釜瀹氫箟 + // 鐢ㄦ埛缁勭殑璇濓紝鍙互閫夊涓敤鎴� + String[] userList = form.getTargetId().split(","); + for (String userId : userList) { + taskService.addCandidateUser(task.getId(), userId); + } + afterHandlerIds.addAll(List.of(userList)); break; case DEPT: - taskService.addCandidateGroup(task.getId(), form.getTargetId()); + String[] deptList = form.getTargetId().split(","); + for (String deptId : deptList) { + // 娣诲姞鍊欓�夌粍锛屼究鍙互鐢抽鎵ц浠诲姟浜� + taskService.addCandidateGroup(task.getId(), deptId); + } + List<String> deptIds = Arrays.stream(deptList).map(id -> { + // 鍥犱负閮ㄩ棬鐨刬d鏄姞浜� dept:鍓嶇紑鐨勶紝鐢ㄤ簬鍖哄垎閮ㄩ棬鍜岃鑹茶繖涓や釜缁勭殑姒傚康 + String[] split = id.split(":"); + return split[1]; + }).collect(Collectors.toList()); + afterHandlerIds.addAll(deptIds); + break; + case ROLE: + String[] roleList = form.getTargetId().split(","); + for (String roleId : roleList) { + taskService.addCandidateGroup(task.getId(), roleId); + } + afterHandlerIds.addAll(List.of(roleList)); break; default: break; } + jsonData.setAfterHandlerIds(afterHandlerIds); + jsonData.setAfterHandlerType(form.getPeopleType()); + // 娣诲姞鏃ュ織 + flowLogService.add(task.getId(), form.getProcessInsId(), FlowLogEventTypeEnum.DELEGATE, form.getProjectId(), JSON.toJSONString(jsonData)); return Result.ok("杞姙鎴愬姛"); } @@ -438,6 +491,12 @@ // 娴佺▼鍙戣捣浜轰俊鎭� this.setPromoterInfo(taskVO); + // 涓�涓换鍔″彲鑳芥湁澶氫釜鍊欓�変汉/缁勶紝鎵�浠ラ渶瑕佷娇鐢╨ist + List<Long> handlerIds = new ArrayList<>(2); + List<String> handlerNames = new ArrayList<>(2); + List<Long> handlerUnitIds = new ArrayList<>(2); + List<String> handlerUnitNames = new ArrayList<>(2); + // 娴佺▼澶勭悊浜轰俊鎭� List<IdentityLink> identityLinksForTask = taskService.getIdentityLinksForTask(task.getId()); for (IdentityLink identityLink : identityLinksForTask) { @@ -446,12 +505,12 @@ taskVO.setHandlerType(HandlerTypeEnum.USER); SysUser sysUser = sysUserService.selectUserById(Long.parseLong(identityLink.getUserId())); if (Objects.nonNull(sysUser)) { - taskVO.setHandlerId(sysUser.getUserId()); + handlerIds.add(sysUser.getUserId()); + handlerNames.add(sysUser.getNickName()); if (Objects.nonNull(sysUser.getDept())) { - taskVO.setHandlerUnitId(sysUser.getDept().getDeptId()); - taskVO.setHandlerUnitName(sysUser.getDept().getDeptName()); + handlerUnitIds.add(sysUser.getDept().getDeptId()); + handlerUnitNames.add(sysUser.getDept().getDeptName()); } - taskVO.setHandlerName(sysUser.getNickName()); } // 缁戝畾鐨勬槸瑙掕壊鎴栬�呴儴闂� } else if (StringUtils.isNotBlank(identityLink.getGroupId())) { @@ -462,23 +521,22 @@ // 閮ㄩ棬 SysDept dept = sysDeptService.selectDeptById(Long.parseLong(split[1])); if (Objects.nonNull(dept)) { - taskVO.setHandlerUnitId(dept.getDeptId()); - taskVO.setHandlerUnitName(dept.getDeptName()); - taskVO.setHandlerName("鏆傛湭澶勭悊"); - taskVO.setHandlerId(null); + handlerUnitIds.add(dept.getDeptId()); + handlerUnitNames.add(dept.getDeptName()); } } } else { taskVO.setHandlerType(HandlerTypeEnum.ROLE); SysRole role = sysRoleService.selectRoleById(Long.parseLong(identityLink.getGroupId())); if (Objects.nonNull(role)) { - taskVO.setHandlerUnitId(Long.parseLong(identityLink.getGroupId())); - taskVO.setHandlerUnitName("鐢辨嫢鏈夎鑹诧細銆�" + role.getRoleName() + "銆戠殑浜哄鐞�"); - taskVO.setHandlerName("鏆傛湭澶勭悊"); - taskVO.setHandlerId(null); + handlerUnitIds.add(Long.parseLong(identityLink.getGroupId())); } } } + taskVO.setHandlerId(handlerIds); + taskVO.setHandlerName(handlerNames); + taskVO.setHandlerUnitId(handlerUnitIds); + taskVO.setHandlerUnitName(handlerUnitNames); } vos.add(taskVO); } @@ -527,6 +585,13 @@ vo.setTaskName(userTask.getName()); vo.setProcessName(process.getProcessDefinitionName()); Task task = taskService.createTaskQuery().processInstanceId(process.getId()).taskDefinitionKey(userTask.getId()).singleResult(); + + // 涓�涓换鍔″彲鑳芥湁澶氫釜鍊欓�変汉/缁勶紝鎵�浠ラ渶瑕佷娇鐢╨ist + List<Long> handlerIds = new ArrayList<>(2); + List<String> handlerNames = new ArrayList<>(2); + List<Long> handlerUnitIds = new ArrayList<>(2); + List<String> handlerUnitNames = new ArrayList<>(2); + if (Objects.isNull(task)) { // 濡傛灉浠诲姟鍦ㄨ繍琛屾椂娌℃壘鍒帮紝閭d箞鍙兘涓烘湭寮�濮嬫垨鑰呭凡瀹屾垚锛岄渶瑕佷粠鍘嗗彶浠诲姟涓啀鎵句竴涓� List<HistoricTaskInstance> historicTasks = historyService.createHistoricTaskInstanceQuery() @@ -544,34 +609,35 @@ vo.setHandlerType(HandlerTypeEnum.USER); SysUser sysUser = sysUserService.selectUserById(Long.parseLong(userTask.getAssignee())); if (Objects.nonNull(sysUser)) { - vo.setHandlerId(sysUser.getUserId()); - vo.setHandlerName(sysUser.getNickName()); - vo.setHandlerUnitId(Objects.nonNull(sysUser.getDept()) ? sysUser.getDept().getDeptId() : null); - vo.setHandlerUnitName(Objects.nonNull(sysUser.getDept()) ? sysUser.getDept().getDeptName() : null); + handlerIds.add(sysUser.getUserId()); + handlerNames.add(sysUser.getNickName()); + if (Objects.nonNull(sysUser.getDept())) { + handlerUnitIds.add(sysUser.getDept().getDeptId()); + handlerUnitNames.add(sysUser.getDept().getDeptName()); + } } } else if (CollectionUtil.isNotEmpty(userTask.getCandidateGroups())) { - String groupId = userTask.getCandidateGroups().get(0); - if (groupId.startsWith("dept")) { // 閮ㄩ棬鐨刬d鏄姞浜嗗墠缂�鐨勫锛歞ept:1 - vo.setHandlerType(HandlerTypeEnum.DEPT); - String[] split = groupId.split(":"); - if (split.length > 1) { - // 閮ㄩ棬 - SysDept dept = sysDeptService.selectDeptById(Long.parseLong(split[1])); - if (Objects.nonNull(dept)) { - vo.setHandlerUnitId(dept.getDeptId()); - vo.setHandlerUnitName(dept.getDeptName()); - vo.setHandlerName("鏈紑濮�"); - vo.setHandlerId(null); + List<String> groupIds = userTask.getCandidateGroups(); + for (String groupId : groupIds) { + if (groupId.startsWith("dept")) { // 閮ㄩ棬鐨刬d鏄姞浜嗗墠缂�鐨勫锛歞ept:1 + vo.setHandlerType(HandlerTypeEnum.DEPT); + String[] split = groupId.split(":"); + if (split.length > 1) { + // 閮ㄩ棬 + SysDept dept = sysDeptService.selectDeptById(Long.parseLong(split[1])); + if (Objects.nonNull(dept)) { + handlerUnitIds.add(dept.getDeptId()); + handlerUnitNames.add(dept.getDeptName()); + + } } - } - } else { - vo.setHandlerType(HandlerTypeEnum.ROLE); - SysRole role = sysRoleService.selectRoleById(Long.parseLong(groupId)); - if (Objects.nonNull(role)) { - vo.setHandlerUnitId(Long.parseLong(groupId)); - vo.setHandlerUnitName("鐢辨嫢鏈夎鑹诧細銆�" + role.getRoleName() + "銆戠殑浜哄鐞�"); - vo.setHandlerName("鏈紑濮�"); - vo.setHandlerId(null); + } else { + vo.setHandlerType(HandlerTypeEnum.ROLE); + SysRole role = sysRoleService.selectRoleById(Long.parseLong(groupId)); + if (Objects.nonNull(role)) { + handlerUnitIds.add(role.getRoleId()); + handlerUnitNames.add(role.getRoleName()); + } } } } @@ -586,8 +652,8 @@ long handlerUserId = Long.parseLong(historicTasks.get(0).getAssignee()); SysUser handlerUser = sysUserService.selectUserById(handlerUserId); if (Objects.nonNull(handlerUser)) { - vo.setHandlerId(handlerUserId); - vo.setHandlerName(handlerUser.getNickName()); + handlerIds.add(handlerUserId); + handlerNames.add(handlerUser.getNickName()); } vo.setTaskDefinitionKey(historicTasks.get(0).getTaskDefinitionKey()); this.setPromoterAndHandler(vo, historicTasks.get(0).getIdentityLinks()); @@ -601,6 +667,10 @@ this.setPromoterAndHandler(vo, null); } + vo.setHandlerId(handlerIds); + vo.setHandlerName(handlerNames); + vo.setHandlerUnitId(handlerUnitIds); + vo.setHandlerUnitName(handlerUnitNames); return vo; }).collect(Collectors.toList()); result.data(vos); @@ -642,8 +712,9 @@ long handlerUserId = Long.parseLong(hisTaskList.get(0).getAssignee()); SysUser handlerUser = sysUserService.selectUserById(handlerUserId); if (Objects.nonNull(handlerUser)) { - vo.setHandlerId(handlerUserId); - vo.setHandlerName(handlerUser.getNickName()); + + vo.setHandlerId(Arrays.asList(handlerUserId)); + vo.setHandlerName(Arrays.asList(handlerUser.getNickName())); } vo.setTaskDefinitionKey(hisTaskList.get(0).getTaskDefinitionKey()); this.setPromoterAndHandler(vo, hisTaskList.get(0).getIdentityLinks()); @@ -688,6 +759,13 @@ result.data(vos); return vos; } + + // 涓�涓换鍔″彲鑳芥湁澶氫釜鍊欓�変汉/缁勶紝鎵�浠ラ渶瑕佷娇鐢╨ist + List<Long> handlerIds = new ArrayList<>(2); + List<String> handlerNames = new ArrayList<>(2); + List<Long> handlerUnitIds = new ArrayList<>(2); + List<String> handlerUnitNames = new ArrayList<>(2); + // 鍒ゆ柇浠诲姟鐘舵�� List<CustomerTaskVO> vos = userTasks.stream().map(userTask -> { CustomerTaskVO vo = new CustomerTaskVO(); @@ -712,38 +790,43 @@ vo.setHandlerType(HandlerTypeEnum.USER); SysUser sysUser = sysUserService.selectUserById(Long.parseLong(userTask.getAssignee())); if (Objects.nonNull(sysUser)) { - vo.setHandlerId(sysUser.getUserId()); - vo.setHandlerName(sysUser.getNickName()); - vo.setHandlerUnitId(Objects.nonNull(sysUser.getDept()) ? sysUser.getDept().getDeptId() : null); - vo.setHandlerUnitName(Objects.nonNull(sysUser.getDept()) ? sysUser.getDept().getDeptName() : null); + handlerIds.add(sysUser.getUserId()); + handlerNames.add(sysUser.getNickName()); + if (Objects.nonNull(sysUser.getDept())) { + handlerUnitIds.add(sysUser.getDept().getDeptId()); + handlerUnitNames.add(sysUser.getDept().getDeptName()); + } } } else if (CollectionUtil.isNotEmpty(userTask.getCandidateGroups())) { - String groupId = userTask.getCandidateGroups().get(0); - if (groupId.startsWith("dept")) { // 閮ㄩ棬鐨刬d鏄姞浜嗗墠缂�鐨勫锛歞ept:1 - vo.setHandlerType(HandlerTypeEnum.DEPT); - String[] split = groupId.split(":"); - if (split.length > 1) { - // 閮ㄩ棬 - SysDept dept = sysDeptService.selectDeptById(Long.parseLong(split[1])); - if (Objects.nonNull(dept)) { - vo.setHandlerUnitId(dept.getDeptId()); - vo.setHandlerUnitName(dept.getDeptName()); - vo.setHandlerName("鏈紑濮�"); - vo.setHandlerId(null); + List<String> groupIds = userTask.getCandidateGroups(); + for (String groupId : groupIds) { + if (groupId.startsWith("dept")) { // 閮ㄩ棬鐨刬d鏄姞浜嗗墠缂�鐨勫锛歞ept:1 + vo.setHandlerType(HandlerTypeEnum.DEPT); + String[] split = groupId.split(":"); + if (split.length > 1) { + // 閮ㄩ棬 + SysDept dept = sysDeptService.selectDeptById(Long.parseLong(split[1])); + if (Objects.nonNull(dept)) { + handlerUnitIds.add(dept.getDeptId()); + handlerUnitNames.add(dept.getDeptName()); + + } } - } - } else { - vo.setHandlerType(HandlerTypeEnum.ROLE); - SysRole role = sysRoleService.selectRoleById(Long.parseLong(groupId)); - if (Objects.nonNull(role)) { - vo.setHandlerUnitId(Long.parseLong(groupId)); - vo.setHandlerUnitName("鐢辨嫢鏈夎鑹诧細銆�" + role.getRoleName() + "銆戠殑浜哄鐞�"); - vo.setHandlerName("鏈紑濮�"); - vo.setHandlerId(null); + } 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.setTaskStatus(TaskStatusEnum.NOT_START); + vo.setHandlerId(handlerIds); + vo.setHandlerName(handlerNames); + vo.setHandlerUnitId(handlerUnitIds); + vo.setHandlerUnitName(handlerUnitNames); return vo; } else { return null; @@ -802,6 +885,13 @@ */ private void setPromoterAndHandler(CustomerTaskVO taskVO, List<? extends IdentityLinkInfo> identityLinkInfos) { this.setPromoterInfo(taskVO); + + // 涓�涓换鍔″彲鑳芥湁澶氫釜鍊欓�変汉/缁勶紝鎵�浠ラ渶瑕佷娇鐢╨ist + List<Long> handlerIds = new ArrayList<>(2); + List<String> handlerNames = new ArrayList<>(2); + List<Long> handlerUnitIds = new ArrayList<>(2); + List<String> handlerUnitNames = new ArrayList<>(2); + // 娴佺▼澶勭悊浜轰俊鎭� if (TaskStatusEnum.TODO.equals(taskVO.getTaskStatus())) { List<IdentityLink> identityLinksForTask = taskService.getIdentityLinksForTask(taskVO.getTaskId()); @@ -811,12 +901,12 @@ SysUser sysUser = sysUserService.selectUserById(Long.parseLong(identityLink.getUserId())); if (Objects.nonNull(sysUser)) { taskVO.setHandlerType(HandlerTypeEnum.USER); - taskVO.setHandlerId(sysUser.getUserId()); + handlerIds.add(sysUser.getUserId()); + handlerNames.add(sysUser.getNickName()); if (Objects.nonNull(sysUser.getDept())) { - taskVO.setHandlerUnitId(sysUser.getDept().getDeptId()); - taskVO.setHandlerUnitName(sysUser.getDept().getDeptName()); + handlerUnitIds.add(sysUser.getDept().getDeptId()); + handlerUnitNames.add(sysUser.getDept().getDeptName()); } - taskVO.setHandlerName(sysUser.getNickName()); } // 缁戝畾鐨勬槸瑙掕壊鎴栬�呮槸閮ㄩ棬锛岄渶瑕佹牴鎹甶d鍒ゆ柇 } else if (StringUtils.isNotBlank(identityLink.getGroupId())) { @@ -827,20 +917,16 @@ // 閮ㄩ棬 SysDept dept = sysDeptService.selectDeptById(Long.parseLong(split[1])); if (Objects.nonNull(dept)) { - taskVO.setHandlerUnitId(dept.getDeptId()); - taskVO.setHandlerUnitName(dept.getDeptName()); - taskVO.setHandlerName("鏆傛湭澶勭悊"); - taskVO.setHandlerId(null); + handlerUnitIds.add(dept.getDeptId()); + handlerUnitNames.add(dept.getDeptName()); } } } else { taskVO.setHandlerType(HandlerTypeEnum.ROLE); SysRole role = sysRoleService.selectRoleById(Long.parseLong(identityLink.getGroupId())); if (Objects.nonNull(role)) { - taskVO.setHandlerUnitId(Long.parseLong(identityLink.getGroupId())); - taskVO.setHandlerUnitName("鐢辨嫢鏈夎鑹诧細銆�" + role.getRoleName() + "銆戠殑浜哄鐞�"); - taskVO.setHandlerName("鏆傛湭澶勭悊"); - taskVO.setHandlerId(null); + handlerUnitIds.add(role.getRoleId()); + handlerUnitNames.add(role.getRoleName()); } } } @@ -854,8 +940,8 @@ if (Objects.nonNull(sysUser)) { // taskVO.setHandlerId(sysUser.getUserId()); if (Objects.nonNull(sysUser.getDept())) { - taskVO.setHandlerUnitId(sysUser.getDept().getDeptId()); - taskVO.setHandlerUnitName(sysUser.getDept().getDeptName()); + handlerUnitIds.add(sysUser.getDept().getDeptId()); + handlerUnitNames.add(sysUser.getDept().getDeptName()); } // taskVO.setHandlerName(sysUser.getNickName()); } @@ -868,24 +954,25 @@ // 閮ㄩ棬 SysDept dept = sysDeptService.selectDeptById(Long.parseLong(split[1])); if (Objects.nonNull(dept)) { - taskVO.setHandlerUnitId(dept.getDeptId()); - taskVO.setHandlerUnitName(dept.getDeptName()); + handlerUnitIds.add(dept.getDeptId()); + handlerUnitNames.add(dept.getDeptName()); } } } else { taskVO.setHandlerType(HandlerTypeEnum.ROLE); SysRole role = sysRoleService.selectRoleById(Long.parseLong(identityLink.getGroupId())); if (Objects.nonNull(role)) { - taskVO.setHandlerUnitId(Long.parseLong(identityLink.getGroupId())); - taskVO.setHandlerUnitName("鐢辨嫢鏈夎鑹诧細銆�" + role.getRoleName() + "銆戠殑浜哄鐞�"); -// taskVO.setHandlerName(role.getRoleName()); -// taskVO.setHandlerId(null); + handlerUnitIds.add(role.getRoleId()); + handlerUnitNames.add(role.getRoleName()); } } } } } - + taskVO.setHandlerId(handlerIds); + taskVO.setHandlerName(handlerNames); + taskVO.setHandlerUnitId(handlerUnitIds); + taskVO.setHandlerUnitName(handlerUnitNames); } /** -- Gitblit v1.8.0