14 小时以前 abbb0e6fa913843bd10c5c63c6b5484c88e74e8f
src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java
@@ -92,8 +92,7 @@
    public void addApprove(ApproveProcessVO approveProcessVO) throws Exception {
        SysUser sysUser = sysUserMapper.selectUserById(approveProcessVO.getApproveUser());
        List<Long> approveDeptIds = normalizeDeptIds(approveProcessVO.getApproveDeptIdArray(), approveProcessVO.getApproveDeptId());
        List<SysDept> sysDepts = sysDeptMapper.selectBatchIds(approveDeptIds);
        Map<Long, SysDept> deptMap = sysDepts.stream().collect(Collectors.toMap(SysDept::getDeptId, dept -> dept));
        Map<Long, SysDept> deptMap = loadDepartments(approveDeptIds);
        if (deptMap.size() != approveDeptIds.size()) throw new RuntimeException("部门不存在");
        SysDept sysDept = deptMap.get(approveDeptIds.get(0));
        String[] split = approveProcessVO.getApproveUserIds().split(",");
@@ -398,8 +397,7 @@
        if (approveGetAndUpdateVo.getApproveDeptIdArray() != null || approveGetAndUpdateVo.getApproveDeptId() != null) {
            if (approve.getApproveStatus() == 1) throw new RuntimeException("审核中不可以修改审批部门");
            List<Long> deptIds = normalizeDeptIds(approveGetAndUpdateVo.getApproveDeptIdArray(), approveGetAndUpdateVo.getApproveDeptId());
            List<SysDept> departments = sysDeptMapper.selectBatchIds(deptIds);
            Map<Long, SysDept> deptMap = departments.stream().collect(Collectors.toMap(SysDept::getDeptId, dept -> dept));
            Map<Long, SysDept> deptMap = loadDepartments(deptIds);
            if (deptMap.size() != deptIds.size()) throw new RuntimeException("部门不存在");
            approve.setApproveDeptId(deptIds.get(0));
            approve.setApproveDeptName(deptIds.stream().map(deptMap::get).map(SysDept::getDeptName).collect(Collectors.joining(",")));
@@ -452,6 +450,15 @@
    }
    private Map<Long, SysDept> loadDepartments(List<Long> deptIds) {
        Map<Long, SysDept> deptMap = new java.util.HashMap<>();
        for (Long deptId : deptIds) {
            SysDept dept = sysDeptMapper.selectDeptById(deptId);
            if (dept != null) deptMap.put(deptId, dept);
        }
        return deptMap;
    }
    private List<Long> normalizeDeptIds(List<Long> deptIds, Long deptId) {
        List<Long> ids = deptIds == null || deptIds.isEmpty() ? (deptId == null ? new ArrayList<>() : Arrays.asList(deptId)) : deptIds;
        if (ids.isEmpty()) throw new RuntimeException("请选择审批部门");