Lius
2025-07-03 1b1942e6b2755ae3fc3b3a5989615c9f8544cf34
维修部门班组调整
已修改3个文件
已删除3个文件
433 ■■■■■ 文件已修改
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/controller/EamBaseRepairDepartController.java 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/entity/EamBaseRepairDepartUser.java 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/mapper/EamBaseRepairDepartUserMapper.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/mapper/xml/EamBaseRepairDepartUserMapper.xml 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/service/IEamBaseRepairDepartService.java 72 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/service/impl/EamBaseRepairDepartImpl.java 235 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/controller/EamBaseRepairDepartController.java
@@ -87,22 +87,22 @@
        return result;
    }
    @AutoLog(value = "维修部门班组-根据用户id获取产线下拉树选项")
    @ApiOperation(value = "维修部门班组-根据用户id获取产线下拉树选项", notes = "维修部门班组-根据用户id获取产线下拉树选项")
    @GetMapping(value = "/loadMaintainDepartTreeOptions")
    public Result<List<RepairDepartIdModel>> loadMaintainDepartTreeOptions() {
        Result<List<RepairDepartIdModel>> result = new Result<>();
        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
        String userId = user.getId();
        try {
            List<RepairDepartIdModel> list = eamBaseRepairDepartService.loadMaintainDepartTreeOptions(userId);
            result.setSuccess(true);
            result.setResult(list);
        } catch (Exception e) {
            log.error(e.getMessage(), e);
        }
        return result;
    }
//    @AutoLog(value = "维修部门班组-根据用户id获取产线下拉树选项")
//    @ApiOperation(value = "维修部门班组-根据用户id获取产线下拉树选项", notes = "维修部门班组-根据用户id获取产线下拉树选项")
//    @GetMapping(value = "/loadMaintainDepartTreeOptions")
//    public Result<List<RepairDepartIdModel>> loadMaintainDepartTreeOptions() {
//        Result<List<RepairDepartIdModel>> result = new Result<>();
//        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
//        String userId = user.getId();
//        try {
//            List<RepairDepartIdModel> list = eamBaseRepairDepartService.loadMaintainDepartTreeOptions(userId);
//            result.setSuccess(true);
//            result.setResult(list);
//        } catch (Exception e) {
//            log.error(e.getMessage(), e);
//        }
//        return result;
//    }
    @AutoLog(value = "维修部门班组-id集合")
    @ApiOperation(value = "维修部门班组-id集合", notes = "维修部门班组-id集合")
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/entity/EamBaseRepairDepartUser.java
ÎļþÒÑɾ³ý
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/mapper/EamBaseRepairDepartUserMapper.java
ÎļþÒÑɾ³ý
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/mapper/xml/EamBaseRepairDepartUserMapper.xml
ÎļþÒÑɾ³ý
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/service/IEamBaseRepairDepartService.java
@@ -53,41 +53,41 @@
     * æ ¹æ®äº§çº¿id批量删除并删除其可能存在的子级产线
     */
    void deleteBatchWithChildren(List<String> ids);
    /**
     * èŽ·å–ä¸‹çº§äº§çº¿
     */
    List<EamBaseRepairDepart> queryRepDepByPid(String pid);
    /**
     * æ ¹æ®ç”¨æˆ·id获取产线下拉树选项
     */
    List<RepairDepartIdModel> loadMaintainDepartTreeOptions(String userId);
    /**
     * é€’归查询所有子节点
     */
    List<String> recursionChildren(String productionId);
    /**
     * æ ¹æ®ç”¨æˆ·id和车间id获取用户拥有的车间id
     *
     * @param userId
     * @param productionId
     * @return
     */
    String findFirstMaintainDepart(String userId, String productionId);
    /**
     * æ ¹æ®ç”¨æˆ·id查询用户工段权限
     */
    String findThreeMaintainDepartId(String userId);
    /**
     *
     * @param equipmentId
     * @return
     */
    EamBaseRepairDepart findMaintainDepartList(String equipmentId);
//
//    /**
//     * èŽ·å–ä¸‹çº§äº§çº¿
//     */
//    List<EamBaseRepairDepart> queryRepDepByPid(String pid);
//
//    /**
//     * æ ¹æ®ç”¨æˆ·id获取产线下拉树选项
//     */
//    List<RepairDepartIdModel> loadMaintainDepartTreeOptions(String userId);
//
//    /**
//     * é€’归查询所有子节点
//     */
//    List<String> recursionChildren(String productionId);
//
//    /**
//     * æ ¹æ®ç”¨æˆ·id和车间id获取用户拥有的车间id
//     *
//     * @param userId
//     * @param productionId
//     * @return
//     */
//    String findFirstMaintainDepart(String userId, String productionId);
//
//    /**
//     * æ ¹æ®ç”¨æˆ·id查询用户工段权限
//     */
//    String findThreeMaintainDepartId(String userId);
//
//    /**
//     *
//     * @param equipmentId
//     * @return
//     */
//    EamBaseRepairDepart findMaintainDepartList(String equipmentId);
    
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/service/impl/EamBaseRepairDepartImpl.java
@@ -10,10 +10,7 @@
import org.jeecg.common.util.FillRuleUtil;
import org.jeecg.common.util.oConvertUtils;
import org.jeecg.modules.eam.base.entity.EamBaseRepairDepart;
import org.jeecg.modules.eam.base.entity.EamBaseRepairDepartUser;
import org.jeecg.modules.eam.base.mapper.EamBaseRepairDepartUserMapper;
import org.jeecg.modules.eam.base.service.IEamBaseRepairDepartService;
import org.jeecg.modules.system.entity.*;
import org.jeecg.modules.eam.base.mapper.EamBaseRepairDepartMapper;
import org.jeecg.modules.eam.base.model.EamBaseRepairDepartTreeModel;
import org.jeecg.modules.eam.base.model.RepairDepartIdModel;
@@ -25,7 +22,6 @@
import javax.annotation.Resource;
import java.util.*;
import java.util.stream.Collectors;
/**
 * @Author: Lius
@@ -38,9 +34,6 @@
    @Resource
    private SysUserMapper sysUserMapper;
    @Resource
    private EamBaseRepairDepartUserMapper repairDepartUserMapper;
    /**
     * queryTreeList å¯¹åº” queryTreeList æŸ¥è¯¢æ‰€æœ‰çš„维修部门班组数据,以树结构形式响应给前端
     */
@@ -52,7 +45,7 @@
        query.orderByAsc(EamBaseRepairDepart::getDepartOrder);
        List<EamBaseRepairDepart> list = this.list(query);
        //设置用户id,让前台显示
        this.setUserIdsByProList(list);
//        this.setUserIdsByProList(list);
        //调用wrapTreeDataToTreeList方法生成树状数据
        return FindsRepairDepartsChildrenUtil.wrapTreeDataToTreeList(list);
    }
@@ -157,7 +150,7 @@
        this.checkChildrenExists(id, idList);
        boolean result = this.removeByIds(idList);
        //根据维修部门班组id删除用户与维修部门班组关系
        repairDepartUserMapper.delete(new LambdaQueryWrapper<EamBaseRepairDepartUser>().in(EamBaseRepairDepartUser::getDepartId, idList));
//        repairDepartUserMapper.delete(new LambdaQueryWrapper<EamBaseRepairDepartUser>().in(EamBaseRepairDepartUser::getDepartId, idList));
        //根据维修部门班组id删除维修部门班组与设备关系
//        repairDepartEquipmentMapper.delete(new LambdaQueryWrapper<SysMaintainDepartEquipment>().in(SysMaintainDepartEquipment::getMaintainDepartId, idList));
        return result;
@@ -176,71 +169,71 @@
        }
        this.removeByIds(idList);
        //根据维修部门班组id删除用户与维修部门班组关系
        repairDepartUserMapper.delete(new LambdaQueryWrapper<EamBaseRepairDepartUser>().in(EamBaseRepairDepartUser::getDepartId, idList));
//        repairDepartUserMapper.delete(new LambdaQueryWrapper<EamBaseRepairDepartUser>().in(EamBaseRepairDepartUser::getDepartId, idList));
        //根据维修部门班组id删除维修部门班组与设备关系
//        repairDepartEquipmentMapper.delete(new LambdaQueryWrapper<SysMaintainDepartEquipment>().in(SysMaintainDepartEquipment::getMaintainDepartId, idList));
    }
    /**
     * æ ¹æ®id查询下级维修部门班组
     */
    @Override
    public List<EamBaseRepairDepart> queryRepDepByPid(String pid) {
        return this.baseMapper.queryRepDepByPid(pid);
    }
    /**
     * æ ¹æ®ç”¨æˆ·id获取维修部门班组下拉树选项
     */
    @Override
    public List<RepairDepartIdModel> loadMaintainDepartTreeOptions(String userId) {
        //获取所有维修部门班组数据
        List<EamBaseRepairDepart> repairDepartList = this.baseMapper.selectList(new LambdaQueryWrapper<EamBaseRepairDepart>().eq(EamBaseRepairDepart::getDelFlag, CommonConstant.DEL_FLAG_0.toString()).orderByAsc(EamBaseRepairDepart::getDepartOrder));
        //根据用户id获取拥有的维修部门班组信息集合
        List<String> repairDepartIds = repairDepartUserMapper.queryRepairDepartIdsByUserId(userId);
        List<String> allMaintainDepartIds = new ArrayList<>();
        //找到所有维修部门班组id的上级id
        if (repairDepartIds != null && !repairDepartIds.isEmpty()) {
            for (String repairDepartId : repairDepartIds) {
                this.getAllMaintainDepartIds(repairDepartList, repairDepartId, allMaintainDepartIds);
            }
        }
        //过滤维修部门班组数据
        List<EamBaseRepairDepart> list = repairDepartList.stream().filter((EamBaseRepairDepart eamBaseRepairDepart) -> allMaintainDepartIds.contains(eamBaseRepairDepart.getId())).collect(Collectors.toList());
        return FindsRepairDepartsChildrenUtil.wrapTreeDataToMaintainDepartIdTreeList(list);
    }
    /**
     * é€’归查询所有子节点id
     */
    @Override
    public List<String> recursionChildren(String repairDepartId) {
        return this.baseMapper.recursionChildren(repairDepartId);
    }
    /**
     * æ ¹æ®ç”¨æˆ·id和车间id获取用户拥有的车间id
     * @param userId
     * @param repairDepartId
     * @return
     */
    @Override
    public String findFirstMaintainDepart(String userId, String repairDepartId) {
        return this.baseMapper.findFirstMaintain(userId, repairDepartId);
    }
    /**
     * æ ¹æ®ç”¨æˆ·id查询用户维修部门班组权限
     */
    @Override
    public String findThreeMaintainDepartId(String userId) {
        return this.baseMapper.findThreeMaintainId(userId);
    }
    @Override
    public EamBaseRepairDepart findMaintainDepartList(String equipmentId) {
        return this.baseMapper.findMaintainList(equipmentId);
    }
//    /**
//     * æ ¹æ®id查询下级维修部门班组
//     */
//    @Override
//    public List<EamBaseRepairDepart> queryRepDepByPid(String pid) {
//        return this.baseMapper.queryRepDepByPid(pid);
//    }
//
//    /**
//     * æ ¹æ®ç”¨æˆ·id获取维修部门班组下拉树选项
//     */
//    @Override
//    public List<RepairDepartIdModel> loadMaintainDepartTreeOptions(String userId) {
//        //获取所有维修部门班组数据
//        List<EamBaseRepairDepart> repairDepartList = this.baseMapper.selectList(new LambdaQueryWrapper<EamBaseRepairDepart>().eq(EamBaseRepairDepart::getDelFlag, CommonConstant.DEL_FLAG_0.toString()).orderByAsc(EamBaseRepairDepart::getDepartOrder));
//        //根据用户id获取拥有的维修部门班组信息集合
//        List<String> repairDepartIds = repairDepartUserMapper.queryRepairDepartIdsByUserId(userId);
//        List<String> allMaintainDepartIds = new ArrayList<>();
//        //找到所有维修部门班组id的上级id
//        if (repairDepartIds != null && !repairDepartIds.isEmpty()) {
//            for (String repairDepartId : repairDepartIds) {
//                this.getAllMaintainDepartIds(repairDepartList, repairDepartId, allMaintainDepartIds);
//            }
//        }
//        //过滤维修部门班组数据
//        List<EamBaseRepairDepart> list = repairDepartList.stream().filter((EamBaseRepairDepart eamBaseRepairDepart) -> allMaintainDepartIds.contains(eamBaseRepairDepart.getId())).collect(Collectors.toList());
//        return FindsRepairDepartsChildrenUtil.wrapTreeDataToMaintainDepartIdTreeList(list);
//    }
//
//    /**
//     * é€’归查询所有子节点id
//     */
//    @Override
//    public List<String> recursionChildren(String repairDepartId) {
//        return this.baseMapper.recursionChildren(repairDepartId);
//    }
//
//    /**
//     * æ ¹æ®ç”¨æˆ·id和车间id获取用户拥有的车间id
//     * @param userId
//     * @param repairDepartId
//     * @return
//     */
//    @Override
//    public String findFirstMaintainDepart(String userId, String repairDepartId) {
//        return this.baseMapper.findFirstMaintain(userId, repairDepartId);
//    }
//
//    /**
//     * æ ¹æ®ç”¨æˆ·id查询用户维修部门班组权限
//     */
//    @Override
//    public String findThreeMaintainDepartId(String userId) {
//        return this.baseMapper.findThreeMaintainId(userId);
//    }
//
//    @Override
//    public EamBaseRepairDepart findMaintainDepartList(String equipmentId) {
//        return this.baseMapper.findMaintainList(equipmentId);
//    }
    /**
     * delete æ–¹æ³•调用 é€’归查找子集id
@@ -257,56 +250,56 @@
        }
    }
    /**
     * èŽ·å–æ‰€æœ‰çš„ç»´ä¿®éƒ¨é—¨ç­ç»„id(包含所有上级)
     */
    private void getAllMaintainDepartIds(List<EamBaseRepairDepart> repairDepartList, String repairDepartId, List<String> allMaintainDepartIds) {
        if (!allMaintainDepartIds.contains(repairDepartId)) {
            allMaintainDepartIds.add(repairDepartId);
        }
        for (EamBaseRepairDepart eamBaseRepairDepart : repairDepartList) {
            if (StringUtils.isEmpty(eamBaseRepairDepart.getParentId())) {
                continue;
            }
            if (repairDepartId.equals(eamBaseRepairDepart.getId())) {
                if (!allMaintainDepartIds.contains(eamBaseRepairDepart.getParentId())) {
                    allMaintainDepartIds.add(eamBaseRepairDepart.getParentId());
                    getAllMaintainDepartIds(repairDepartList, eamBaseRepairDepart.getParentId(), allMaintainDepartIds);
                }
            }
        }
    }
    /**
     * é€šè¿‡ç»´ä¿®éƒ¨é—¨ç­ç»„集合为维修部门班组设置用户id,用于前台展示
     */
    private void setUserIdsByProList(List<EamBaseRepairDepart> repairDepartList) {
        //查询负责部门不为空的情况
        LambdaQueryWrapper<SysUser> query = new LambdaQueryWrapper<>();
        query.isNotNull(SysUser::getDepartIds);
        List<SysUser> users = sysUserMapper.selectList(query);
        Map<String, Object> map = new HashMap(5);
        //先循环一遍找到不同的负责维修部门班组id
        for (SysUser user : users) {
            String repairDepartIds = user.getRepairDepartIds();
            if (StringUtils.isNotBlank(repairDepartIds)) {
                String[] repairDepartIdArray = repairDepartIds.split(",");
                for (String repairDepartId : repairDepartIdArray) {
                    if (map.containsKey(repairDepartId)) {
                        String userIds = map.get(repairDepartId) + "," + user.getId();
                        map.put(repairDepartId, userIds);
                    } else {
                        map.put(repairDepartId, user.getId());
                    }
                }
            }
        }
        //循环维修部门班组集合找到维修部门班组id对应的负责用户
        for (EamBaseRepairDepart eamBaseRepairDepart : repairDepartList) {
            if (map.containsKey(eamBaseRepairDepart.getId())) {
                eamBaseRepairDepart.setDirectorUserIds(map.get(eamBaseRepairDepart.getId()).toString());
            }
        }
    }
//    /**
//     * èŽ·å–æ‰€æœ‰çš„ç»´ä¿®éƒ¨é—¨ç­ç»„id(包含所有上级)
//     */
//    private void getAllMaintainDepartIds(List<EamBaseRepairDepart> repairDepartList, String repairDepartId, List<String> allMaintainDepartIds) {
//        if (!allMaintainDepartIds.contains(repairDepartId)) {
//            allMaintainDepartIds.add(repairDepartId);
//        }
//        for (EamBaseRepairDepart eamBaseRepairDepart : repairDepartList) {
//            if (StringUtils.isEmpty(eamBaseRepairDepart.getParentId())) {
//                continue;
//            }
//            if (repairDepartId.equals(eamBaseRepairDepart.getId())) {
//                if (!allMaintainDepartIds.contains(eamBaseRepairDepart.getParentId())) {
//                    allMaintainDepartIds.add(eamBaseRepairDepart.getParentId());
//                    getAllMaintainDepartIds(repairDepartList, eamBaseRepairDepart.getParentId(), allMaintainDepartIds);
//                }
//            }
//        }
//    }
//
//    /**
//     * é€šè¿‡ç»´ä¿®éƒ¨é—¨ç­ç»„集合为维修部门班组设置用户id,用于前台展示
//     */
//    private void setUserIdsByProList(List<EamBaseRepairDepart> repairDepartList) {
//        //查询负责部门不为空的情况
//        LambdaQueryWrapper<SysUser> query = new LambdaQueryWrapper<>();
//        query.isNotNull(SysUser::getDepartIds);
//        List<SysUser> users = sysUserMapper.selectList(query);
//        Map<String, Object> map = new HashMap(5);
//        //先循环一遍找到不同的负责维修部门班组id
//        for (SysUser user : users) {
//            String repairDepartIds = user.getRepairDepartIds();
//            if (StringUtils.isNotBlank(repairDepartIds)) {
//                String[] repairDepartIdArray = repairDepartIds.split(",");
//                for (String repairDepartId : repairDepartIdArray) {
//                    if (map.containsKey(repairDepartId)) {
//                        String userIds = map.get(repairDepartId) + "," + user.getId();
//                        map.put(repairDepartId, userIds);
//                    } else {
//                        map.put(repairDepartId, user.getId());
//                    }
//                }
//            }
//        }
//        //循环维修部门班组集合找到维修部门班组id对应的负责用户
//        for (EamBaseRepairDepart eamBaseRepairDepart : repairDepartList) {
//            if (map.containsKey(eamBaseRepairDepart.getId())) {
//                eamBaseRepairDepart.setDirectorUserIds(map.get(eamBaseRepairDepart.getId()).toString());
//            }
//        }
//    }
}