java用根据月份、类型汇总求和并修改

public int sumByList(){
    List<EnergyNaturalGas> list = energyNaturalGasMapper.selectEnergyNaturalGasList2();
     Map<String, Map<String, BigDecimal>> groupByResult = list.stream()
            .collect(
                    Collectors.groupingBy(
                            EnergyNaturalGas::getTime,
                            Collectors.groupingBy(
                                    EnergyNaturalGas::getProvideType,
                                    Collectors.reducing(
                                            BigDecimal.ZERO,
                                            EnergyNaturalGas::getEnergyNumber,
                                            BigDecimal::add
                                    )
                            )
                    )
            );

    groupByResult.forEach((time, provideTypeMap) -> {
            provideTypeMap.forEach((provideType, sumTotal) -> {
                EnergyNaturalGas provider = new EnergyNaturalGas();
                provider.setTime(time);
                provider.setProvideType(provideType);
                provider.setMonthlySummary(sumTotal);
                energyNaturalGasMapper.updateEnergyNaturalGasByParm(provider);
            });
        });
    return 1;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值