aijinhui
2024-03-27 de8081cc012993d350cf2f06457527b76750c34d
ard-work/src/main/java/com/ruoyi/statistical/service/impl/StatisticalServiceImpl.java
@@ -21,8 +21,8 @@
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.PumpStatus;
import com.ruoyi.statistical.mapper.PumpStatusMapper;
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;
@@ -74,7 +74,7 @@
    @Autowired
    private ArdCamerasMapper camerasMapper;
    @Autowired
    private PumpStatusMapper pumpStatusMapper;
    private ArdPumpStatusMapper ardPumpStatusMapper;
    @Override
@@ -278,42 +278,45 @@
    @Override
    public UnitVo unit() {
        UnitVo unitVo = new UnitVo();
        //雷达在线数量
        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());
        //光电数量
        QueryWrapper<ArdCameras> queryWrapper = new QueryWrapper<>();
        queryWrapper.select("id").eq("gdtype","0").eq("state","1");
        List<ArdCameras> ardCameras = camerasMapper.selectList(queryWrapper);
        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;
    }
@@ -380,16 +383,16 @@
    @Override
    public List<TenVo> pump() {
        List<TenVo> list = new ArrayList<>();
        QueryWrapper<PumpStatus> queryWrapper = new QueryWrapper<>();
        QueryWrapper<ArdPumpStatus> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("alarm_type","运行");
        int y = pumpStatusMapper.selectCount(queryWrapper);
        int y = ardPumpStatusMapper.selectCount(queryWrapper);
        TenVo tenVo = new TenVo();
        tenVo.setName("运行");
        tenVo.setValue(y);
        list.add(tenVo);
        QueryWrapper<PumpStatus> queryWrapper1 = new QueryWrapper<>();
        QueryWrapper<ArdPumpStatus> queryWrapper1 = new QueryWrapper<>();
        queryWrapper1.eq("alarm_type","停机");
        int t = pumpStatusMapper.selectCount(queryWrapper1);
        int t = ardPumpStatusMapper.selectCount(queryWrapper1);
        TenVo tenVo1 = new TenVo();
        tenVo1.setName("停机");
        tenVo1.setValue(t);
@@ -397,6 +400,50 @@
        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++) {