| | |
| | | package org.jeecg.modules.eam.service.impl; |
| | | |
| | | import cn.hutool.core.collection.CollectionUtil; |
| | | import cn.hutool.core.util.StrUtil; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | |
| | | if (sysUser == null) { |
| | | return page; |
| | | } |
| | | if (StrUtil.isEmpty(eamEquipment.getProductionCode())){ |
| | | if (StringUtils.isNotBlank(sysUser.getEamEquipmentIds())) { |
| | | //选择了设备,根据设备id过滤设备 |
| | | List<String> equipArr = Arrays.asList(sysUser.getEamEquipmentIds().split(",")); |
| | |
| | | }else { |
| | | return page; |
| | | } |
| | | } |
| | | }else { |
| | | //通过选择的车间过滤对应中心 |
| | | List<BaseFactory> baseFactoryList = baseFactoryService.list(new LambdaQueryWrapper<BaseFactory>() |
| | | .like(BaseFactory::getRemark, eamEquipment.getProductionCode()).eq(BaseFactory::getDelFlag, CommonConstant.DEL_FLAG_0.toString())); |
| | | if (CollectionUtils.isEmpty(baseFactoryList)) { |
| | | return page; |
| | | } |
| | | //组装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); |
| | | } |
| | | //查询条件过滤 |
| | | if (eamEquipment != null) { |
| | |
| | | * @return |
| | | */ |
| | | @Override |
| | | public List<EchartsDto> echartsList(){ |
| | | public List<EchartsDto> echartsList(String productionCode){ |
| | | List<EchartsDto> echartsDtoList = new ArrayList<>(); |
| | | QueryWrapper<EamEquipment> queryWrapper = new QueryWrapper<>(); |
| | | queryWrapper.eq("e.del_flag", CommonConstant.DEL_FLAG_0); |
| | | if (StrUtil.isEmpty(productionCode)) { |
| | | //用户数据权限 |
| | | LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); |
| | | if (sysUser == null) { |
| | |
| | | list(new LambdaQueryWrapper<BaseFactoryUser>().eq(BaseFactoryUser::getUserId,sysUser.getId())); |
| | | if(!CollectionUtils.isEmpty(baseFactoryUserList)){ |
| | | Set<String> factoryIds = baseFactoryUserList.stream().map(BaseFactoryUser::getFactoryId).collect(Collectors.toSet()); |
| | | Set<String> factoryCode= baseFactoryService.listByIds(factoryIds).stream().map(BaseFactory::getOrgCode).collect(Collectors.toSet()); |
| | | queryWrapper.in("e.factory_org_code", factoryCode); |
| | | Set<String> factoryCodes= baseFactoryService.listByIds(factoryIds).stream().map(BaseFactory::getOrgCode).collect(Collectors.toSet()); |
| | | queryWrapper.in("e.factory_org_code", factoryCodes); |
| | | }else { |
| | | return echartsDtoList; |
| | | } |
| | | } |
| | | }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<String> ids=this.baseMapper.queryList(queryWrapper).stream().map(EamEquipment::getId).collect(Collectors.toList()); |
| | | if (ids.isEmpty()) { |
| | | return echartsDtoList; |
| | | } |
| | | echartsDtoList= this.baseMapper.echartsList(ids); |
| | | // 直接使用for循环处理数据 |
| | | if (!echartsDtoList.isEmpty()) { |
| | | for (EchartsDto dto : echartsDtoList) { |
| | | if (dto.getTotal() != null && !"0".equals(dto.getTotal())) { |
| | | try { |
| | |
| | | dto.setPercentage("0.00%"); |
| | | } |
| | | } |
| | | } |
| | | return echartsDtoList; |
| | | } |
| | | |