From 1182b8b80bf3859cd962384ee4f01a43b1ecd139 Mon Sep 17 00:00:00 2001 From: lyh <925863403@qq.com> Date: 星期一, 01 九月 2025 16:09:50 +0800 Subject: [PATCH] 设备管理首页新增车间级控制权限 --- lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamReportRepairServiceImpl.java | 130 +++++++++++++++++++++++++++++++++---------- 1 files changed, 99 insertions(+), 31 deletions(-) diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamReportRepairServiceImpl.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamReportRepairServiceImpl.java index a3e0161..7caeb9b 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamReportRepairServiceImpl.java +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamReportRepairServiceImpl.java @@ -54,7 +54,6 @@ @Resource private IEamEquipmentExtendService eamEquipmentExtendService; - @Autowired private IBaseFactoryUserService baseFactoryUserService; @Autowired @@ -359,45 +358,50 @@ return entity; } - public List<EchartsDto> reportRepairList() { + @Override + public List<EchartsDto> reportRepairList(String productionCode) { List<EchartsDto> echartsDtoList = new ArrayList<>(); - - // 鐢ㄦ埛鏁版嵁鏉冮檺妫�鏌� - LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - if (sysUser == null) { - return echartsDtoList; // 杩斿洖绌哄垪琛ㄨ�岄潪null - } - QueryWrapper<EamReportRepairDto> queryWrapper = new QueryWrapper<>(); queryWrapper.eq("wmo.del_flag", CommonConstant.DEL_FLAG_0); - - // 璁惧杩囨护閫昏緫 - if (StringUtils.isNotBlank(sysUser.getEamEquipmentIds())) { - List<String> equipArr = Arrays.asList(sysUser.getEamEquipmentIds().split(",")); - queryWrapper.in("e.equipment_code", equipArr); - } else { - List<BaseFactoryUser> baseFactoryUserList = baseFactoryUserService - .list(new LambdaQueryWrapper<BaseFactoryUser>() - .eq(BaseFactoryUser::getUserId, sysUser.getId())); - - if (CollectionUtils.isEmpty(baseFactoryUserList)) { + if (StrUtil.isEmpty(productionCode)) { + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + if (sysUser == null) { return echartsDtoList; // 杩斿洖绌哄垪琛ㄨ�岄潪null } - - Set<String> factoryIds = baseFactoryUserList.stream() - .map(BaseFactoryUser::getFactoryId) - .collect(Collectors.toSet()); - - Set<String> factoryCodes = baseFactoryService.listByIds(factoryIds) - .stream() - .map(BaseFactory::getOrgCode) - .collect(Collectors.toSet()); - + // 璁惧杩囨护閫昏緫 + if (StringUtils.isNotBlank(sysUser.getEamEquipmentIds())) { + List<String> equipArr = Arrays.asList(sysUser.getEamEquipmentIds().split(",")); + queryWrapper.in("e.equipment_code", equipArr); + } else { + List<BaseFactoryUser> baseFactoryUserList = baseFactoryUserService.list(new LambdaQueryWrapper<BaseFactoryUser>() + .eq(BaseFactoryUser::getUserId, sysUser.getId())); + if (CollectionUtils.isEmpty(baseFactoryUserList)) { + return echartsDtoList; // 杩斿洖绌哄垪琛ㄨ�岄潪null + } + Set<String> factoryIds = baseFactoryUserList.stream().map(BaseFactoryUser::getFactoryId).collect(Collectors.toSet()); + Set<String> factoryCodes = baseFactoryService.listByIds(factoryIds).stream().map(BaseFactory::getOrgCode).collect(Collectors.toSet()); + queryWrapper.in("e.factory_org_code", factoryCodes); + } + }else { + //閫氳繃閫夋嫨鐨勮溅闂磋繃婊ゅ搴斾腑蹇� + List<BaseFactory> baseFactoryList = baseFactoryService.list(new LambdaQueryWrapper<BaseFactory>() + .like(BaseFactory::getRemark, productionCode).eq(BaseFactory::getDelFlag, CommonConstant.DEL_FLAG_0.toString())); + if (CollectionUtils.isEmpty(baseFactoryList)) { + return echartsDtoList; + } + //缁勮EAM鏁版嵁 + Set<String> factoryCodes= new HashSet<>(); + baseFactoryList.forEach(baseFactory -> { + List<BaseFactory> factoryList=baseFactoryService.queryFactoryByPid(baseFactory.getId()); + factoryCodes.addAll(factoryList.stream().map(BaseFactory::getOrgCode).collect(Collectors.toSet())); + }); queryWrapper.in("e.factory_org_code", factoryCodes); } - // 鑾峰彇鍩虹鏁版嵁 List<EamReportRepairDto> baseList = this.baseMapper.queryList(queryWrapper); + if (baseList == null || baseList.isEmpty()) { + return echartsDtoList; + } int totalCount = baseList.size(); // 鑾峰彇鍋滄満鏁伴噺 @@ -457,4 +461,68 @@ dto.setPercentage(percentage); return dto; } + + /** + * 璁惧绠$悊棣栭〉-璁惧鎶ヤ慨鏁呴殰鎯呭喌鍒楄〃 + * @param code + * @param page + * @return + */ + @Override + public IPage<EamReportRepairDto> reportRepairList(String code, String productionCode, Page<EamReportRepairDto> page){ + IPage<EamReportRepairDto> eamReportRepairDtoIPage=new Page<>(); + QueryWrapper<EamReportRepairDto> queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("wmo.del_flag", CommonConstant.DEL_FLAG_0); + if (StrUtil.isEmpty(productionCode)) { + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + if (sysUser == null) { + return eamReportRepairDtoIPage; // 杩斿洖绌哄垪琛ㄨ�岄潪null + } + // 璁惧杩囨护閫昏緫 + if (StringUtils.isNotBlank(sysUser.getEamEquipmentIds())) { + List<String> equipArr = Arrays.asList(sysUser.getEamEquipmentIds().split(",")); + queryWrapper.in("e.equipment_code", equipArr); + } else { + List<BaseFactoryUser> baseFactoryUserList = baseFactoryUserService.list(new LambdaQueryWrapper<BaseFactoryUser>() + .eq(BaseFactoryUser::getUserId, sysUser.getId())); + if (CollectionUtils.isEmpty(baseFactoryUserList)) { + return eamReportRepairDtoIPage; // 杩斿洖绌哄垪琛ㄨ�岄潪null + } + Set<String> factoryIds = baseFactoryUserList.stream().map(BaseFactoryUser::getFactoryId).collect(Collectors.toSet()); + Set<String> factoryCodes = baseFactoryService.listByIds(factoryIds).stream().map(BaseFactory::getOrgCode).collect(Collectors.toSet()); + queryWrapper.in("e.factory_org_code", factoryCodes); + } + }else { + //閫氳繃閫夋嫨鐨勮溅闂磋繃婊ゅ搴斾腑蹇� + List<BaseFactory> baseFactoryList = baseFactoryService.list(new LambdaQueryWrapper<BaseFactory>() + .like(BaseFactory::getRemark, productionCode).eq(BaseFactory::getDelFlag, CommonConstant.DEL_FLAG_0.toString())); + if (CollectionUtils.isEmpty(baseFactoryList)) { + return eamReportRepairDtoIPage; + } + //缁勮EAM鏁版嵁 + Set<String> factoryCodes= new HashSet<>(); + baseFactoryList.forEach(baseFactory -> { + List<BaseFactory> factoryList=baseFactoryService.queryFactoryByPid(baseFactory.getId()); + factoryCodes.addAll(factoryList.stream().map(BaseFactory::getOrgCode).collect(Collectors.toSet())); + }); + queryWrapper.in("e.factory_org_code", factoryCodes); + } + queryWrapper.orderByDesc("wmo.create_time"); + switch (code){ + case "bx": + eamReportRepairDtoIPage=baseMapper.queryPageList(page,queryWrapper); + break; + case "stop": + eamReportRepairDtoIPage=baseMapper.queryPageList(page,queryWrapper.eq("breakdown_flag", "1")); + break; + default: + eamReportRepairDtoIPage=baseMapper.queryPageList(page,queryWrapper.eq("breakdown_flag", "0")); + break; + } + eamReportRepairDtoIPage.getRecords().forEach(eamReportRepairDto -> { + eamReportRepairDto.setTechnologyStatus(eamEquipmentExtendService.getById(eamReportRepairDto.getEquipmentId()).getTechnologyStatus()); + }); + return eamReportRepairDtoIPage; + } + } -- Gitblit v1.9.3