zss
7 小时以前 9c685df2670f9536d1adf9dfb1c0e95a7d5f9c53
src/main/java/com/ruoyi/energy/service/impl/EnergyConsumptionDetailServiceImpl.java
@@ -24,6 +24,7 @@
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@@ -123,7 +124,19 @@
        List<EnergyConsumptionTypeDto> energyConsumptionTypeDtos=energyConsumptionDetailMapper.energyConsumptionTypeProportion(energyStatisticsVo);
        energyStatisticsDto.setEnergyConsumptionTypeProportion(energyConsumptionTypeDtos);
        //能耗明细
        List<EnergyCostDto> energyCostDtos=energyConsumptionDetailMapper.energyCostDtos(energyStatisticsVo);
        List<EnergyCostDto> energyCostDtos=new ArrayList<>();
        //判断日/月/年
        switch (energyStatisticsVo.getState()){
            case "日":
                energyCostDtos=energyConsumptionDetailMapper.energyCostDtos1(energyStatisticsVo);
                break;
            case "月":
                energyCostDtos=energyConsumptionDetailMapper.energyCostDtos2(energyStatisticsVo);
                break;
            case "年":
                energyCostDtos=energyConsumptionDetailMapper.energyCostDtos3(energyStatisticsVo);
                break;
        }
        energyStatisticsDto.setEnergyCostDtos(energyCostDtos);
        return energyStatisticsDto;
    }
@@ -143,15 +156,48 @@
        energyStatisticsVo.setType(null);//恢复查询全部
        //平均成本
        energyAccountDto.setAverageEnergyCost(energyAccountDto.getTotalEnergyCost().divide(new BigDecimal(energyStatisticsVo.getDays()),2, RoundingMode.HALF_UP));
        //能耗成本趋势
        List<EnergyAccountTypeDto> energyAccountTypeDtos=energyConsumptionDetailMapper.energyAccountTypeDtos(energyStatisticsVo);
        energyAccountDto.setEnergyAccountTypeDtos(energyAccountTypeDtos);
        //能耗类型成本占比
        List<EnergyConsumptionTypeDto> energyConsumptionTypeDtos=energyConsumptionDetailMapper.energyConsumptionTypeProportion(energyStatisticsVo);
        energyAccountDto.setEnergyConsumptionTypeProportion(energyConsumptionTypeDtos);
        //能耗类型明细
        List<EnergyConsumptionDetailDto> energyConsumptionDetailDtoList=energyConsumptionDetailMapper.energyConsumptionDetailDtos(energyStatisticsVo);
        List<EnergyConsumptionDetailDto> energyConsumptionDetailDtoList = new ArrayList<>();
        //判断日/月/年
        switch (energyStatisticsVo.getState()){
            case "日":
                energyConsumptionDetailDtoList=energyConsumptionDetailMapper.energyConsumptionDetailDtos1(energyStatisticsVo);
                break;
            case "月":
                energyConsumptionDetailDtoList=energyConsumptionDetailMapper.energyConsumptionDetailDtos2(energyStatisticsVo);
                break;
            case "年":
                energyConsumptionDetailDtoList=energyConsumptionDetailMapper.energyConsumptionDetailDtos3(energyStatisticsVo);
                break;
        }
        energyAccountDto.setEnergyConsumptionDetailDtoList(energyConsumptionDetailDtoList);
        return energyAccountDto;
    }
    @Override
    public EnergyCollectDto collectEnergy(EnergyStatisticsVo energyStatisticsVo) {
        EnergyCollectDto energyCollectDto = new EnergyCollectDto();
        //能耗单耗数据
        List<EnergyConsumptionTypeDto> energyConsumptionTypeDtos=energyConsumptionDetailMapper.energyConsumptionTypeProportion(energyStatisticsVo);
        energyCollectDto.setEnergyConsumptionTypeProportion(energyConsumptionTypeDtos);
        //能耗单耗趋势
        List<EnergyCostDto> energyCostDtos=new ArrayList<>();
        //判断日/月/年
        switch (energyStatisticsVo.getState()){
            case "日":
                energyCostDtos=energyConsumptionDetailMapper.energyCostDtos1(energyStatisticsVo);
                break;
            case "月":
                energyCostDtos=energyConsumptionDetailMapper.energyCostDtos2(energyStatisticsVo);
                break;
            case "年":
                energyCostDtos=energyConsumptionDetailMapper.energyCostDtos3(energyStatisticsVo);
                break;
        }
        energyCollectDto.setEnergyCostDtos(energyCostDtos);
        return energyCollectDto;
    }
}