| | |
| | | import org.jeecg.common.util.oConvertUtils; |
| | | import org.jeecg.modules.eam.aspect.annotation.EquipmentHistoryLog; |
| | | import org.jeecg.modules.eam.constant.*; |
| | | import org.jeecg.modules.eam.dto.EchartsDto; |
| | | import org.jeecg.modules.eam.entity.EamEquipment; |
| | | import org.jeecg.modules.eam.entity.EamEquipmentExtend; |
| | | import org.jeecg.modules.eam.mapper.EamEquipmentMapper; |
| | |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.math.BigDecimal; |
| | | import java.math.RoundingMode; |
| | | import java.text.DecimalFormat; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | |
| | | queryWrapper.like("e.asset_status", eamEquipment.getAssetStatus()); |
| | | } |
| | | if (StringUtils.isNotBlank(eamEquipment.getTechnologyStatus())) { |
| | | queryWrapper.like("e.technology_status", eamEquipment.getTechnologyStatus()); |
| | | queryWrapper.like("ext.technology_status", eamEquipment.getTechnologyStatus()); |
| | | } |
| | | if (StringUtils.isNotBlank(eamEquipment.getOperationSystem())) { |
| | | queryWrapper.like("e.operation_system", eamEquipment.getOperationSystem()); |
| | |
| | | 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()); |
| | | Set<String> factoryCode = baseFactoryService.listByIds(factoryIds).stream().map(BaseFactory::getOrgCode).collect(Collectors.toSet()); |
| | | queryWrapper.in("e.factory_org_code", factoryCode); |
| | | } else { |
| | | return Collections.emptyList(); |
| | |
| | | queryWrapper.or().like("e.equipment_name", keyword); |
| | | } |
| | | if(StringUtils.isNotBlank(factoryOrgCode)){ |
| | | queryWrapper.eq("e.factory_org_code", factoryOrgCode); |
| | | queryWrapper.likeRight("e.factory_org_code", factoryOrgCode); |
| | | } |
| | | queryWrapper.eq("e.del_flag", CommonConstant.DEL_FLAG_0); |
| | | IPage<EamEquipment> pageResult = eamEquipmentMapper.queryPageList(page, queryWrapper); |
| | |
| | | queryWrapper.like("e.asset_status", eamEquipment.getAssetStatus()); |
| | | } |
| | | if (StringUtils.isNotBlank(eamEquipment.getTechnologyStatus())) { |
| | | queryWrapper.like("e.technology_status", eamEquipment.getTechnologyStatus()); |
| | | queryWrapper.like("ext.technology_status", eamEquipment.getTechnologyStatus()); |
| | | } |
| | | if (StringUtils.isNotBlank(eamEquipment.getOperationSystem())) { |
| | | queryWrapper.like("e.operation_system", eamEquipment.getOperationSystem()); |
| | |
| | | return this.getBaseMapper().selectTechnicalEquipmentList(queryWrapper); |
| | | } |
| | | |
| | | @Override |
| | | public List<EamEquipment> selectThreeMaintenanceEquipmentList() { |
| | | QueryWrapper<EamEquipment> queryWrapper = new QueryWrapper<>(); |
| | | queryWrapper.eq("e.del_flag", CommonConstant.DEL_FLAG_0); |
| | | queryWrapper.ne("ext.maintenance_status", MaintenanceStatusEnum.PROHIBITED.name()); |
| | | queryWrapper.isNotNull("ext.third_maintenance_period"); |
| | | queryWrapper.isNotNull("ext.next_third_maintenance"); |
| | | return this.getBaseMapper().selectThreeMaintenanceEquipmentList(queryWrapper); |
| | | } |
| | | |
| | | /** |
| | | * 设备管理首页-技术状态 |
| | | * @return |
| | | */ |
| | | @Override |
| | | public List<EchartsDto> echartsList(){ |
| | | List<EchartsDto> echartsDtoList = new ArrayList<>(); |
| | | QueryWrapper<EamEquipment> queryWrapper = new QueryWrapper<>(); |
| | | queryWrapper.eq("e.del_flag", CommonConstant.DEL_FLAG_0); |
| | | //用户数据权限 |
| | | LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); |
| | | if (sysUser == null) { |
| | | return echartsDtoList; |
| | | } |
| | | if (StringUtils.isNotBlank(sysUser.getEamEquipmentIds())) { |
| | | //选择了设备,根据设备id过滤设备 |
| | | 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)){ |
| | | 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); |
| | | }else { |
| | | return echartsDtoList; |
| | | } |
| | | } |
| | | List<String> ids=this.baseMapper.queryList(queryWrapper).stream().map(EamEquipment::getId).collect(Collectors.toList()); |
| | | echartsDtoList= this.baseMapper.echartsList(ids); |
| | | // 直接使用for循环处理数据 |
| | | for (EchartsDto dto : echartsDtoList) { |
| | | if (dto.getTotal() != null && !"0".equals(dto.getTotal())) { |
| | | try { |
| | | int value = Integer.parseInt(dto.getValue()); |
| | | int total = Integer.parseInt(dto.getTotal()); |
| | | double percentage = (value * 100.0) / total; |
| | | DecimalFormat df = new DecimalFormat("0.00"); |
| | | dto.setPercentage(df.format(percentage) + "%"); |
| | | } catch (NumberFormatException e) { |
| | | dto.setPercentage("0.00%"); |
| | | } |
| | | } else { |
| | | dto.setPercentage("0.00%"); |
| | | } |
| | | } |
| | | return echartsDtoList; |
| | | } |
| | | |
| | | /** |
| | | * 获取所有的产线id(包含所有上级) |
| | | */ |