|  |  | 
 |  |  | package com.ruoyi.statistical.service.impl; | 
 |  |  |  | 
 |  |  | import com.alibaba.fastjson.JSONObject; | 
 |  |  | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | 
 |  |  | import com.ruoyi.alarm.access.mapper.ArdAlarmAccessMapper; | 
 |  |  | import com.ruoyi.alarm.apponekey.mapper.ArdAlarmApponekeyMapper; | 
 |  |  | import com.ruoyi.alarm.camera.mapper.ArdAlarmCameraMapper; | 
 |  |  | import com.ruoyi.alarm.digitization3.mapper.ArdAlarmDigitization3Mapper; | 
 |  |  | import com.ruoyi.alarm.external.mapper.ArdAlarmExternalMapper; | 
 |  |  | import com.ruoyi.alarm.radar.mapper.ArdAlarmRadarFireMapper; | 
 |  |  | import com.ruoyi.alarm.radar.mapper.ArdAlarmRadarMoveMapper; | 
 |  |  | import com.ruoyi.alarm.radar.mapper.ArdAlarmRadarPumpMapper; | 
 |  |  | import com.ruoyi.alarm.steal.mapper.ArdAlarmStealelecMapper; | 
 |  |  | import com.ruoyi.alarm.tube.mapper.ArdAlarmTubeMapper; | 
 |  |  | import com.ruoyi.alarm.wall.mapper.ArdAlarmWallMapper; | 
 |  |  | import com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWell; | 
 |  |  | import com.ruoyi.alarmpoints.well.mapper.ArdAlarmpointsWellMapper; | 
 |  |  | import com.ruoyi.common.core.domain.entity.SysConfig; | 
 |  |  | import com.ruoyi.common.utils.SecurityUtils; | 
 |  |  | import com.ruoyi.device.camera.domain.ArdCameras; | 
 |  |  | import com.ruoyi.device.camera.mapper.ArdCamerasMapper; | 
 |  |  | import com.ruoyi.device.radar.domain.ArdEquipRadar; | 
 |  |  | import com.ruoyi.device.radar.mapper.ArdEquipRadarMapper; | 
 |  |  | import com.ruoyi.statistical.domain.ArdPumpStatus; | 
 |  |  | import com.ruoyi.statistical.mapper.ArdPumpStatusMapper; | 
 |  |  | import com.ruoyi.statistical.param.ESParam; | 
 |  |  | import com.ruoyi.statistical.param.Para; | 
 |  |  | import com.ruoyi.statistical.service.StatisticalService; | 
 |  |  | import com.ruoyi.statistical.vo.CountVo; | 
 |  |  | import com.ruoyi.statistical.vo.TenVo; | 
 |  |  | import com.ruoyi.statistical.vo.UnitVo; | 
 |  |  | import com.ruoyi.system.mapper.SysConfigMapper; | 
 |  |  | import com.ruoyi.utils.result.Results; | 
 |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
 |  |  | import org.springframework.stereotype.Service; | 
 |  |  |  | 
 |  |  | import java.util.Map; | 
 |  |  | import java.net.Socket; | 
 |  |  | import java.util.*; | 
 |  |  |  | 
 |  |  | /** | 
 |  |  |  * @author Administrator | 
 |  |  | 
 |  |  |     private SysConfigMapper sysConfigMapper; | 
 |  |  |     @Autowired | 
 |  |  |     private ArdAlarmpointsWellMapper wellMapper; | 
 |  |  |     @Autowired | 
 |  |  |     private ArdAlarmStealelecMapper stealelecMapper; | 
 |  |  |     @Autowired | 
 |  |  |     private ArdAlarmCameraMapper cameraMapper; | 
 |  |  |     @Autowired | 
 |  |  |     private ArdAlarmRadarMoveMapper moveMapper; | 
 |  |  |     @Autowired | 
 |  |  |     private ArdAlarmRadarFireMapper fireMapper; | 
 |  |  |     @Autowired | 
 |  |  |     private ArdAlarmExternalMapper externalMapper; | 
 |  |  |     @Autowired | 
 |  |  |     private ArdAlarmAccessMapper accessMapper; | 
 |  |  |     @Autowired | 
 |  |  |     private ArdAlarmApponekeyMapper apponekeyMapper; | 
 |  |  |     @Autowired | 
 |  |  |     private ArdAlarmRadarPumpMapper pumpMapper; | 
 |  |  |     @Autowired | 
 |  |  |     private ArdAlarmWallMapper wallMapper; | 
 |  |  |     @Autowired | 
 |  |  |     private ArdAlarmDigitization3Mapper digitization3Mapper; | 
 |  |  |     @Autowired | 
 |  |  |     private ArdAlarmTubeMapper tubeMapper; | 
 |  |  |     @Autowired | 
 |  |  |     private ArdEquipRadarMapper radarMapper; | 
 |  |  |     @Autowired | 
 |  |  |     private ArdCamerasMapper camerasMapper; | 
 |  |  |     @Autowired | 
 |  |  |     private ArdPumpStatusMapper ardPumpStatusMapper; | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public Results factorySave(Map<String, String> map) { | 
 |  |  | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         //记录well表中oil_production为抽油机的数据有多少条 | 
 |  |  |         QueryWrapper<ArdAlarmpointsWell> queryWrapper = new QueryWrapper<>(); | 
 |  |  |         queryWrapper.eq("oil_production","抽油机"); | 
 |  |  |         int num = wellMapper.selectCount(queryWrapper); | 
 |  |  |         SysConfig sysConfigUpd = sysConfigMapper.checkConfigKeyUnique("well"); | 
 |  |  |         if(sysConfigUpd!=null){ | 
 |  |  |             sysConfigUpd.setConfigValue(String.valueOf(num)); | 
 |  |  |             sysConfigUpd.setUpdateBy(SecurityUtils.getUsername()); | 
 |  |  |             sysConfigMapper.updateConfig(sysConfigUpd); | 
 |  |  |         }else { | 
 |  |  |             SysConfig sysConfig = new SysConfig(); | 
 |  |  |             int randomNum = (int) (Math.random() * (1000 - 1 + 1)) + 1; | 
 |  |  |             sysConfig.setConfigId((long) randomNum); | 
 |  |  |             sysConfig.setConfigType("Y"); | 
 |  |  |             sysConfig.setConfigName("抽水井"); | 
 |  |  |             sysConfig.setConfigKey("well"); | 
 |  |  |             sysConfig.setConfigValue(String.valueOf(num)); | 
 |  |  |             sysConfig.setCreateBy(SecurityUtils.getUsername()); | 
 |  |  |             sysConfigMapper.insertConfig(sysConfig); | 
 |  |  |         } | 
 |  |  |         return Results.succeed("添加成功!"); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public Results factorySelect() { | 
 |  |  |         JSONObject jsonObject = new JSONObject(); | 
 |  |  |         QueryWrapper<SysConfig> queryWrapper = new QueryWrapper<>(); | 
 |  |  |         queryWrapper.in("config_key","area","store","people","well","depot","unit"); | 
 |  |  |         List<SysConfig> list = sysConfigMapper.selectList(queryWrapper); | 
 |  |  |         for (int i = 0; i < list.size(); i++) { | 
 |  |  |             SysConfig sysConfig = list.get(i); | 
 |  |  |             jsonObject.put(sysConfig.getConfigKey(),sysConfig.getConfigValue()); | 
 |  |  |         } | 
 |  |  |         //记录well表中oil_production为抽油机的数据有多少条 | 
 |  |  | //        QueryWrapper<ArdAlarmpointsWell> queryWrapperWell = new QueryWrapper<>(); | 
 |  |  | //        queryWrapperWell.eq("oil_production","抽油机"); | 
 |  |  | //        queryWrapperWell.eq("well_type","1"); | 
 |  |  |         int num = wellMapper.selectCount(null); | 
 |  |  |         jsonObject.put("well",String.valueOf(num)); | 
 |  |  |         return Results.succeed(jsonObject); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public List<CountVo> stealelecYear(ESParam esParam) { | 
 |  |  |         List<CountVo> list = stealelecMapper.stealelecYear(esParam); | 
 |  |  |         return es(list); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public List<CountVo> cameraYear(ESParam esParam) { | 
 |  |  |         List<CountVo> list = cameraMapper.cameraYear(esParam); | 
 |  |  |         return es(list); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public List<CountVo> moveYear(ESParam esParam) { | 
 |  |  |         List<CountVo> list = moveMapper.moveYear(esParam); | 
 |  |  |         return es(list); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public List<CountVo> fireYear(ESParam esParam) { | 
 |  |  |         List<CountVo> list = fireMapper.fileYear(esParam); | 
 |  |  |         return es(list); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public List<CountVo> externalYear(ESParam esParam) { | 
 |  |  |         List<CountVo> list = externalMapper.externalYear(esParam); | 
 |  |  |         return es(list); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public List<CountVo> accessYear(ESParam esParam) { | 
 |  |  |         List<CountVo> list = accessMapper.accessYear(esParam); | 
 |  |  |         return es(list); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public List<CountVo> apponekeyYear(ESParam esParam) { | 
 |  |  |         List<CountVo> list = apponekeyMapper.apponekeyYear(esParam); | 
 |  |  |         return es(list); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public List<CountVo> pumpYear(ESParam esParam) { | 
 |  |  |         List<CountVo> list = pumpMapper.pumpYear(esParam); | 
 |  |  |         return es(list); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public List<CountVo> wallYear(ESParam esParam) { | 
 |  |  |         List<CountVo> list = wallMapper.wallYear(esParam); | 
 |  |  |         return es(list); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public List<CountVo> digitizationYear(ESParam esParam) { | 
 |  |  |         List<CountVo> list = digitization3Mapper.digitizationYear(esParam); | 
 |  |  |         return es(list); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public List<CountVo> tubeYear(ESParam esParam) { | 
 |  |  |         List<CountVo> list = tubeMapper.tubeYear(esParam); | 
 |  |  |         return es(list); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public List<CountVo> stealelecMonth(ESParam esParam) { | 
 |  |  |         List<CountVo> list = stealelecMapper.stealelecMonth(esParam); | 
 |  |  |         return esMonth(list,esParam); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public List<CountVo> cameraMonth(ESParam esParam) { | 
 |  |  |         List<CountVo> list = cameraMapper.cameraMonth(esParam); | 
 |  |  |         return esMonth(list,esParam); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public List<CountVo> moveMonth(ESParam esParam) { | 
 |  |  |         List<CountVo> list = moveMapper.moveMonth(esParam); | 
 |  |  |         return esMonth(list,esParam); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public List<CountVo> fireMonth(ESParam esParam) { | 
 |  |  |         List<CountVo> list = fireMapper.fileMonth(esParam); | 
 |  |  |         return esMonth(list,esParam); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public List<CountVo> externalMonth(ESParam esParam) { | 
 |  |  |         List<CountVo> list = externalMapper.externalMonth(esParam); | 
 |  |  |         return esMonth(list,esParam); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public List<CountVo> accessMonth(ESParam esParam) { | 
 |  |  |         List<CountVo> list = accessMapper.accessMonth(esParam); | 
 |  |  |         return esMonth(list,esParam); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public List<CountVo> apponekeyMonth(ESParam esParam) { | 
 |  |  |         List<CountVo> list = apponekeyMapper.apponekeyMonth(esParam); | 
 |  |  |         return esMonth(list,esParam); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public List<CountVo> pumpMonth(ESParam esParam) { | 
 |  |  |         List<CountVo> list = pumpMapper.pumpMonth(esParam); | 
 |  |  |         return esMonth(list,esParam); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public List<CountVo> wallMonth(ESParam esParam) { | 
 |  |  |         List<CountVo> list = wallMapper.wallMonth(esParam); | 
 |  |  |         return esMonth(list,esParam); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public List<CountVo> digitizationMonth(ESParam esParam) { | 
 |  |  |         List<CountVo> list = digitization3Mapper.digitizationMonth(esParam); | 
 |  |  |         return esMonth(list,esParam); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public List<CountVo> tubeMonth(ESParam esParam) { | 
 |  |  |         List<CountVo> list = tubeMapper.tubeMonth(esParam); | 
 |  |  |         return esMonth(list,esParam); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public UnitVo unit() { | 
 |  |  |         UnitVo unitVo = new UnitVo(); | 
 |  |  |         QueryWrapper<ArdEquipRadar> queryWrapper = new QueryWrapper<>(); | 
 |  |  |         queryWrapper.eq("state","1"); | 
 |  |  |         List<ArdEquipRadar> radarList = radarMapper.selectList(queryWrapper); | 
 |  |  |         unitVo.setRadar(radarList.size()); | 
 |  |  |         QueryWrapper<ArdCameras> queryWrapperC = new QueryWrapper<>(); | 
 |  |  |         queryWrapperC.select("id").eq("gdtype","0").eq("state","1"); | 
 |  |  |         List<ArdCameras> ardCameras = camerasMapper.selectList(queryWrapperC); | 
 |  |  |         unitVo.setCamera(ardCameras.size()); | 
 |  |  | //        //雷达在线数量 | 
 |  |  | //        List<ArdEquipRadar> radarList = radarMapper.selectList(null); | 
 |  |  | //        Timer timer = new Timer(); | 
 |  |  | //        TimerTask timerTask =new TimerTask(){ | 
 |  |  | //            @Override | 
 |  |  | //            public void run(){ | 
 |  |  | //                Para.setI(0); | 
 |  |  | //               for (int i = 0; i < radarList.size(); i++) { | 
 |  |  | //                   ArdEquipRadar radar = radarList.get(i); | 
 |  |  | //                   String host = radar.getIp(); | 
 |  |  | //                   String port = radar.getPort(); | 
 |  |  | //                    Thread thread = new Thread(){ | 
 |  |  | //                        @Override | 
 |  |  | //                        public void run(){ | 
 |  |  | //                            try { | 
 |  |  | //                                Socket socket = new Socket(host,Integer.valueOf(port)); | 
 |  |  | //                            } catch (Exception e) { | 
 |  |  | //                                int num = Para.getI(); | 
 |  |  | //                                num++; | 
 |  |  | //                            } | 
 |  |  | //                        } | 
 |  |  | //                    }; | 
 |  |  | //                    thread.start(); | 
 |  |  | //                } | 
 |  |  | //                int n = Para.getI(); | 
 |  |  | //                Para.setJ(radarList.size() - Para.getI()); | 
 |  |  | //            } | 
 |  |  | //        }; | 
 |  |  | //        Date date = new Date(); | 
 |  |  | //        timer.scheduleAtFixedRate(timerTask,date,5000); | 
 |  |  | //        unitVo.setRadar(Para.getJ()); | 
 |  |  |         return unitVo; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public int stealelecNum() { | 
 |  |  |         return stealelecMapper.selectCount(null); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public int cameraNum() { | 
 |  |  |         return cameraMapper.selectCount(null); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public int moveNum() { | 
 |  |  |         return moveMapper.selectCount(null); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public int fireNum() { | 
 |  |  |         return fireMapper.selectCount(null); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public int externalNum() { | 
 |  |  |         return externalMapper.selectCount(null); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public int accessNum() { | 
 |  |  |         return accessMapper.selectCount(null); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public int apponekeyNum() { | 
 |  |  |         return apponekeyMapper.selectCount(null); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public int pumpNum() { | 
 |  |  |         return pumpMapper.selectCount(null); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public int wallNum() { | 
 |  |  |         return wallMapper.selectCount(null); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public int digitizationNum() { | 
 |  |  |         return digitization3Mapper.selectCount(null); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public int tubeNum() { | 
 |  |  |         return tubeMapper.selectCount(null); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public List<TenVo> ten() { | 
 |  |  |         return moveMapper.ten(); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public List<TenVo> pump() { | 
 |  |  |         List<TenVo> list = new ArrayList<>(); | 
 |  |  |         QueryWrapper<ArdPumpStatus> queryWrapper = new QueryWrapper<>(); | 
 |  |  |         queryWrapper.eq("alarm_type","运行"); | 
 |  |  |         int y = ardPumpStatusMapper.selectCount(queryWrapper); | 
 |  |  |         TenVo tenVo = new TenVo(); | 
 |  |  |         tenVo.setName("运行"); | 
 |  |  |         tenVo.setValue(y); | 
 |  |  |         list.add(tenVo); | 
 |  |  |         QueryWrapper<ArdPumpStatus> queryWrapper1 = new QueryWrapper<>(); | 
 |  |  |         queryWrapper1.eq("alarm_type","停机"); | 
 |  |  |         int t = ardPumpStatusMapper.selectCount(queryWrapper1); | 
 |  |  |         TenVo tenVo1 = new TenVo(); | 
 |  |  |         tenVo1.setName("停机"); | 
 |  |  |         tenVo1.setValue(t); | 
 |  |  |         list.add(tenVo1); | 
 |  |  |         return list; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public void data(String msg) { | 
 |  |  |         JSONObject jsonObject = JSONObject.parseObject(msg); | 
 |  |  |         String alarmTime = jsonObject.getString("alarmTime"); | 
 |  |  |         List<JSONObject> list = (List<JSONObject>) jsonObject.get("ardAlarmRadars"); | 
 |  |  |         if(list.size()>0){ | 
 |  |  |             for (int i = 0; i < list.size(); i++) { | 
 |  |  |                 JSONObject j = list.get(i); | 
 |  |  |                 QueryWrapper<ArdPumpStatus> queryWrapper = new QueryWrapper<>(); | 
 |  |  |                 queryWrapper.eq("target_id",j.getInteger("targetId")).eq("name",j.getString("name")); | 
 |  |  |                 ArdPumpStatus ardPumpStatus1 = ardPumpStatusMapper.selectOne(queryWrapper); | 
 |  |  |                 if(ardPumpStatus1 ==null){ | 
 |  |  |                     ArdPumpStatus ardPumpStatus = new ArdPumpStatus(); | 
 |  |  |                     ardPumpStatus.setTargetId(j.getInteger("targetId")); | 
 |  |  |                     ardPumpStatus.setName(j.getString("name")); | 
 |  |  |                     if(j.containsKey("alarmType")){ | 
 |  |  |                         ardPumpStatus.setAlarmType(j.getString("alarmType")); | 
 |  |  |                     }else if(j.containsKey("alarm")){ | 
 |  |  |                         ardPumpStatus.setAlarmType(j.getString("alarm")); | 
 |  |  |                     } | 
 |  |  |                     ardPumpStatus.setAlarmTime(alarmTime); | 
 |  |  |                     ardPumpStatusMapper.insert(ardPumpStatus); | 
 |  |  |                 }else { | 
 |  |  |                     String alarmType = ardPumpStatus1.getAlarmType(); | 
 |  |  |                     Boolean bo = false; | 
 |  |  |                     if(j.containsKey("alarmType")){ | 
 |  |  |                         if(alarmType.equals(j.getString("alarmType"))){ | 
 |  |  |                             bo = true; | 
 |  |  |                         } | 
 |  |  |                     }else if(j.containsKey("alarm")){ | 
 |  |  |                         if(alarmType.equals(j.getString("alarm"))){ | 
 |  |  |                             bo = true; | 
 |  |  |                         } | 
 |  |  |                     } | 
 |  |  |                     if(!bo){ | 
 |  |  |                         ardPumpStatus1.setAlarmType(j.getString("alarmType")); | 
 |  |  |                         ardPumpStatus1.setAlarmTime(alarmTime); | 
 |  |  |                         ardPumpStatusMapper.updateById(ardPumpStatus1); | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public List<CountVo> es(List<CountVo> list){ | 
 |  |  |         List<CountVo> countVoList = new ArrayList<>(); | 
 |  |  |         for (int i = 1; i <= 12 ; i++) { | 
 |  |  |             CountVo vo = new CountVo(); | 
 |  |  |             String month = i + "月"; | 
 |  |  |             Boolean bo = false; | 
 |  |  |             for (int j = 0; j < list.size(); j++) { | 
 |  |  |                 CountVo countVo = list.get(j); | 
 |  |  |                 String mon = Integer.valueOf(countVo.getDate()) + "月"; | 
 |  |  |                 if(mon.equals(month)){ | 
 |  |  |                     bo = true; | 
 |  |  |                     vo.setDate(mon); | 
 |  |  |                     vo.setCount(countVo.getCount()); | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |             if(!bo){ | 
 |  |  |                 vo.setDate(month); | 
 |  |  |                 vo.setCount(0); | 
 |  |  |             } | 
 |  |  |             countVoList.add(vo); | 
 |  |  |         } | 
 |  |  |         return countVoList; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public List<CountVo> esMonth(List<CountVo> list,ESParam esParam){ | 
 |  |  |         List<CountVo> countVoList = new ArrayList<>(); | 
 |  |  |         Integer day = Integer.valueOf(esParam.getEnd().substring(esParam.getEnd().length() - 2)); | 
 |  |  |         Integer month = esParam.getMonth(); | 
 |  |  |         for (int i = 1; i <= day ; i++) { | 
 |  |  |             CountVo vo = new CountVo(); | 
 |  |  |             String d = month + "-" + i ; | 
 |  |  |             Boolean bo = false; | 
 |  |  |             for (int j = 0; j < list.size(); j++) { | 
 |  |  |                 CountVo countVo = list.get(j); | 
 |  |  |                 String mon = month + "-" + Integer.valueOf(countVo.getDate()); | 
 |  |  |                 if(mon.equals(d)){ | 
 |  |  |                     bo = true; | 
 |  |  |                     vo.setDate(mon); | 
 |  |  |                     vo.setCount(countVo.getCount()); | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |             if(!bo){ | 
 |  |  |                 vo.setDate(d); | 
 |  |  |                 vo.setCount(0); | 
 |  |  |             } | 
 |  |  |             countVoList.add(vo); | 
 |  |  |         } | 
 |  |  |         return countVoList; | 
 |  |  |     } | 
 |  |  | } |