liurunyu
2024-12-12 74a55ea167e15526ea65c9bec39edc29f3399461
pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/loss/LossSv.java
@@ -50,10 +50,83 @@
            }else{
                String json = JSON.toJSONString(list) ;
                params.put("intakesJson", json);
                rsVo.obj = rmLossDayMapper.selectLossAmountOfDay(params);
                List<VoDayLoss> list01_05 = rmLossDayMapper.selectLossAmountOfDay01_05(params);
                if(list01_05 != null && list01_05.size() > 0){
                    //下面1到31号分了6个查询,原因是入一个查询中,非常慢,不知道什么原因,也许是子查询太多的原因
                    List<VoDayLoss> list06_10 = rmLossDayMapper.selectLossAmountOfDay06_10(params);
                    List<VoDayLoss> list11_15 = rmLossDayMapper.selectLossAmountOfDay11_15(params);
                    List<VoDayLoss> list16_20 = rmLossDayMapper.selectLossAmountOfDay16_20(params);
                    List<VoDayLoss> list21_25 = rmLossDayMapper.selectLossAmountOfDay21_25(params);
                    List<VoDayLoss> list26_31 = rmLossDayMapper.selectLossAmountOfDay26_31(params);
                    this.merge(list01_05, list06_10, list11_15, list16_20, list21_25, list26_31);
                }
                rsVo.obj = list01_05 ;
            }
        }
        return rsVo ;
    }
    private void merge(List<VoDayLoss> list01_05,
                       List<VoDayLoss> list06_10,
                       List<VoDayLoss> list11_15,
                       List<VoDayLoss> list16_20,
                       List<VoDayLoss> list21_25,
                       List<VoDayLoss> list26_31){
        for(VoDayLoss vo01_05 : list01_05){
            for(VoDayLoss vo06_10 : list06_10){
                if(vo01_05.intakeId.longValue() == vo06_10.intakeId.longValue()){
                    vo01_05.lossAmount6 = vo06_10.lossAmount6 ;
                    vo01_05.lossAmount7 = vo06_10.lossAmount7 ;
                    vo01_05.lossAmount8 = vo06_10.lossAmount8 ;
                    vo01_05.lossAmount9 = vo06_10.lossAmount9 ;
                    vo01_05.lossAmount10 = vo06_10.lossAmount10 ;
                    break ;
                }
            }
            for(VoDayLoss vo11_15 : list11_15){
                if(vo01_05.intakeId.longValue() == vo11_15.intakeId.longValue()){
                    vo01_05.lossAmount11 = vo11_15.lossAmount11 ;
                    vo01_05.lossAmount12 = vo11_15.lossAmount12 ;
                    vo01_05.lossAmount13 = vo11_15.lossAmount13 ;
                    vo01_05.lossAmount14 = vo11_15.lossAmount14 ;
                    vo01_05.lossAmount15 = vo11_15.lossAmount15 ;
                    break ;
                }
            }
            for(VoDayLoss vo16_20 : list16_20){
                if(vo01_05.intakeId.longValue() == vo16_20.intakeId.longValue()){
                    vo01_05.lossAmount16 = vo16_20.lossAmount16 ;
                    vo01_05.lossAmount17 = vo16_20.lossAmount17 ;
                    vo01_05.lossAmount18 = vo16_20.lossAmount18 ;
                    vo01_05.lossAmount19 = vo16_20.lossAmount19 ;
                    vo01_05.lossAmount20 = vo16_20.lossAmount20 ;
                    break ;
                }
            }
            for(VoDayLoss vo21_25 : list21_25){
                if(vo01_05.intakeId.longValue() == vo21_25.intakeId.longValue()){
                    vo01_05.lossAmount21 = vo21_25.lossAmount21 ;
                    vo01_05.lossAmount22 = vo21_25.lossAmount22 ;
                    vo01_05.lossAmount23 = vo21_25.lossAmount23 ;
                    vo01_05.lossAmount24 = vo21_25.lossAmount24 ;
                    vo01_05.lossAmount25 = vo21_25.lossAmount25 ;
                    break ;
                }
            }
            for(VoDayLoss vo26_31 : list26_31){
                if(vo01_05.intakeId.longValue() == vo26_31.intakeId.longValue()){
                    vo01_05.lossAmount26 = vo26_31.lossAmount26 ;
                    vo01_05.lossAmount27 = vo26_31.lossAmount27 ;
                    vo01_05.lossAmount28 = vo26_31.lossAmount28 ;
                    vo01_05.lossAmount29 = vo26_31.lossAmount29 ;
                    vo01_05.lossAmount30 = vo26_31.lossAmount30 ;
                    vo01_05.lossAmount31 = vo26_31.lossAmount31 ;
                    break ;
                }
            }
        }
    }
}