VVT789
2025-02-07 e272db0112367bbdbe4e78b49e1cdb0cc5ec0672
综合能耗分析 过滤统计点位
已修改1个文件
23 ■■■■ 文件已修改
zhitan-system/src/main/java/com/zhitan/consumptionanalysis/service/impl/ConsumptionAnalysisServiceImpl.java 23 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-system/src/main/java/com/zhitan/consumptionanalysis/service/impl/ConsumptionAnalysisServiceImpl.java
@@ -318,7 +318,6 @@
        });
        
        nodeIndexMap.forEach((nodeId,indexList)->{
            indexList.forEach(index->{
                final String energyId = index.getEnergyId();
@@ -398,7 +397,8 @@
//            return consumptionAnalysisVO;
//        }
        //修改过滤统计点位
        final List<String> eneryIdList = nodeIndexInforList.stream().filter(x->x.getIndexType().equals("STATISTIC")).map(ModelNodeIndexInfor::getEnergyId).distinct().collect(Collectors.toList());
        nodeIndexInforList = nodeIndexInforList.stream().filter(x -> "STATISTIC".equals(x.getIndexType())).collect(Collectors.toList());
        final List<String> eneryIdList = nodeIndexInforList.stream().filter(x -> "STATISTIC".equals(x.getIndexType())).map(ModelNodeIndexInfor::getEnergyId).distinct().collect(Collectors.toList());
        final LambdaQueryWrapper<SysEnergy> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.in(CollectionUtils.isNotEmpty(eneryIdList),SysEnergy::getEnersno,eneryIdList);
        final List<SysEnergy> sysEnergies = sysEnergyMapper.selectList(queryWrapper);
@@ -533,7 +533,8 @@
                        throw new RuntimeException("能源类型" + energyId + "没有配置折标系数,无法计算");
                    }
                    
                    sum = sum.add(new BigDecimal(dataItem.getValue()).multiply(coefficient)).setScale(2, RoundingMode.HALF_UP);;
                    sum = sum.add(new BigDecimal(dataItem.getValue()).multiply(coefficient)).setScale(2, RoundingMode.HALF_UP);
                    ;
//                    if(energyProportionMap.containsKey(energyId)) {
//                        energyProportionMap.put(energyId,energyProportionMap.get(energyId) + sum.doubleValue());
//                    }else {
@@ -554,7 +555,8 @@
                        throw new RuntimeException("能源类型" + energyId + "没有配置折标系数,无法计算");
                    }
                    lastSum = lastSum.add(new BigDecimal(dataItem.getValue()).multiply(coefficient)).setScale(2, RoundingMode.HALF_UP);;
                    lastSum = lastSum.add(new BigDecimal(dataItem.getValue()).multiply(coefficient)).setScale(2, RoundingMode.HALF_UP);
                    ;
                }
            }
            data.setCurrentValue(sum.doubleValue());
@@ -717,8 +719,8 @@
//        if (CollectionUtils.isEmpty(nodeIndexInforList)) {
//            return consumptionAnalysisVO;
//        }
        final List<String> eneryIdList = nodeIndexInforList.stream().map(ModelNodeIndexInfor::getEnergyId).distinct().collect(Collectors.toList());
        nodeIndexInforList = nodeIndexInforList.stream().filter(x -> "STATISTIC".equals(x.getIndexType())).collect(Collectors.toList());
        final List<String> eneryIdList = nodeIndexInforList.stream().filter(x -> "STATISTIC".equals(x.getIndexType())).map(ModelNodeIndexInfor::getEnergyId).distinct().collect(Collectors.toList());
        final LambdaQueryWrapper<SysEnergy> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.in(CollectionUtils.isNotEmpty(eneryIdList),SysEnergy::getEnersno,eneryIdList);
        final List<SysEnergy> sysEnergies = sysEnergyMapper.selectList(queryWrapper);
@@ -780,7 +782,8 @@
                        throw new RuntimeException("能源类型" + energyId + "没有配置折标系数,无法计算");
                    }
                    sum = sum.add(new BigDecimal(dataItem.getValue()).multiply(coefficient)).setScale(2, RoundingMode.HALF_UP);;
                    sum = sum.add(new BigDecimal(dataItem.getValue()).multiply(coefficient)).setScale(2, RoundingMode.HALF_UP);
                    ;
//                    if(energyProportionMap.containsKey(energyId)) {
//                        energyProportionMap.put(energyId,energyProportionMap.get(energyId) + sum.doubleValue());
//                    }else {
@@ -802,8 +805,6 @@
                    break;
            }
        }
        
        Map<String, List<DataItem>> indexDataItemMap = dataItemList.stream().collect(Collectors.groupingBy(DataItem::getIndexId));
@@ -1034,7 +1035,6 @@
        }
        
        
        // 根据indexId查询dataItem
        List<DataItem> dataItemList = new ArrayList<>();
        if(CollectionUtils.isNotEmpty(indexIds)) {
@@ -1068,7 +1068,8 @@
                        throw new RuntimeException("能源类型" + energyId + "没有配置折标系数,无法计算");
                    }
                    sum = sum.add(new BigDecimal(dataItem.getValue()).multiply(coefficient)).setScale(2, RoundingMode.HALF_UP);;
                    sum = sum.add(new BigDecimal(dataItem.getValue()).multiply(coefficient)).setScale(2, RoundingMode.HALF_UP);
                    ;
                }
            }