From 87a2fe3e6f1472a7e87e02d3fd956eee17b85352 Mon Sep 17 00:00:00 2001 From: aijinhui <aijinhui> Date: 星期四, 12 十月 2023 15:28:33 +0800 Subject: [PATCH] 抽油机状态入库 --- ard-work/src/main/java/com/ruoyi/statistical/service/impl/StatisticalServiceImpl.java | 258 +++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 218 insertions(+), 40 deletions(-) diff --git a/ard-work/src/main/java/com/ruoyi/statistical/service/impl/StatisticalServiceImpl.java b/ard-work/src/main/java/com/ruoyi/statistical/service/impl/StatisticalServiceImpl.java index c65b702..f5b13e3 100644 --- a/ard-work/src/main/java/com/ruoyi/statistical/service/impl/StatisticalServiceImpl.java +++ b/ard-work/src/main/java/com/ruoyi/statistical/service/impl/StatisticalServiceImpl.java @@ -1,6 +1,7 @@ package com.ruoyi.statistical.service.impl; import com.alibaba.fastjson.JSONObject; +import com.alibaba.fastjson2.JSONArray; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ruoyi.alarm.access.mapper.ArdAlarmAccessMapper; import com.ruoyi.alarm.apponekey.mapper.ArdAlarmApponekeyMapper; @@ -17,17 +18,25 @@ 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.PumpStatus; +import com.ruoyi.statistical.mapper.PumpStatusMapper; 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.Calendar; -import java.util.List; -import java.util.Map; +import java.net.Socket; +import java.util.*; /** * @author Administrator @@ -61,6 +70,12 @@ private ArdAlarmDigitization3Mapper digitization3Mapper; @Autowired private ArdAlarmTubeMapper tubeMapper; + @Autowired + private ArdEquipRadarMapper radarMapper; + @Autowired + private ArdCamerasMapper camerasMapper; + @Autowired + private PumpStatusMapper pumpStatusMapper; @Override @@ -198,119 +213,282 @@ @Override public List<CountVo> stealelecMonth(ESParam esParam) { List<CountVo> list = stealelecMapper.stealelecMonth(esParam); - return esMonth(list,esParam.getEnd()); + return esMonth(list,esParam); } @Override public List<CountVo> cameraMonth(ESParam esParam) { List<CountVo> list = cameraMapper.cameraMonth(esParam); - return esMonth(list,esParam.getEnd()); + return esMonth(list,esParam); } @Override public List<CountVo> moveMonth(ESParam esParam) { List<CountVo> list = moveMapper.moveMonth(esParam); - return esMonth(list,esParam.getEnd()); + return esMonth(list,esParam); } @Override public List<CountVo> fireMonth(ESParam esParam) { List<CountVo> list = fireMapper.fileMonth(esParam); - return esMonth(list,esParam.getEnd()); + return esMonth(list,esParam); } @Override public List<CountVo> externalMonth(ESParam esParam) { List<CountVo> list = externalMapper.externalMonth(esParam); - return esMonth(list,esParam.getEnd()); + return esMonth(list,esParam); } @Override public List<CountVo> accessMonth(ESParam esParam) { List<CountVo> list = accessMapper.accessMonth(esParam); - return esMonth(list,esParam.getEnd()); + return esMonth(list,esParam); } @Override public List<CountVo> apponekeyMonth(ESParam esParam) { List<CountVo> list = apponekeyMapper.apponekeyMonth(esParam); - return esMonth(list,esParam.getEnd()); + return esMonth(list,esParam); } @Override public List<CountVo> pumpMonth(ESParam esParam) { List<CountVo> list = pumpMapper.pumpMonth(esParam); - return esMonth(list,esParam.getEnd()); + return esMonth(list,esParam); } @Override public List<CountVo> wallMonth(ESParam esParam) { List<CountVo> list = wallMapper.wallMonth(esParam); - return esMonth(list,esParam.getEnd()); + return esMonth(list,esParam); } @Override public List<CountVo> digitizationMonth(ESParam esParam) { List<CountVo> list = digitization3Mapper.digitizationMonth(esParam); - return esMonth(list,esParam.getEnd()); + return esMonth(list,esParam); } @Override public List<CountVo> tubeMonth(ESParam esParam) { List<CountVo> list = tubeMapper.tubeMonth(esParam); - return esMonth(list,esParam.getEnd()); + return esMonth(list,esParam); + } + + @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); + unitVo.setCamera(ardCameras.size()); + 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<PumpStatus> queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("alarm_type","杩愯"); + int y = pumpStatusMapper.selectCount(queryWrapper); + TenVo tenVo = new TenVo(); + tenVo.setName("杩愯"); + tenVo.setValue(y); + list.add(tenVo); + QueryWrapper<PumpStatus> queryWrapper1 = new QueryWrapper<>(); + queryWrapper1.eq("alarm_type","鍋滄満"); + int t = pumpStatusMapper.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<PumpStatus> queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("target_id",j.getInteger("targetId")).eq("name",j.getString("name")); + PumpStatus pumpStatus1 = pumpStatusMapper.selectOne(queryWrapper); + if(pumpStatus1==null){ + PumpStatus pumpStatus = new PumpStatus(); + pumpStatus.setTargetId(j.getInteger("targetId")); + pumpStatus.setName(j.getString("name")); + if(j.containsKey("alarmType")){ + pumpStatus.setAlarmType(j.getString("alarmType")); + }else if(j.containsKey("alarm")){ + pumpStatus.setAlarmType(j.getString("alarm")); + } + pumpStatus.setAlarmTime(alarmTime); + pumpStatusMapper.insert(pumpStatus); + }else { + String alarmType = pumpStatus1.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){ + pumpStatus1.setAlarmType(j.getString("alarmType")); + pumpStatus1.setAlarmTime(alarmTime); + pumpStatusMapper.updateById(pumpStatus1); + } + } + } + } } public List<CountVo> es(List<CountVo> list){ + List<CountVo> countVoList = new ArrayList<>(); for (int i = 1; i <= 12 ; i++) { - String month; - if(i<=10){ - month = "0"+i; - }else { - month = String.valueOf(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 = countVo.getDate(); + String mon = Integer.valueOf(countVo.getDate()) + "鏈�"; if(mon.equals(month)){ bo = true; + vo.setDate(mon); + vo.setCount(countVo.getCount()); } } if(!bo){ - CountVo countVo = new CountVo(); - countVo.setDate(month); - countVo.setCount(0); - list.add(countVo); + vo.setDate(month); + vo.setCount(0); } + countVoList.add(vo); } - return list; + return countVoList; } - public List<CountVo> esMonth(List<CountVo> list,String end){ - Integer day = Integer.valueOf(end.substring(end.length() - 2)); + 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++) { - String d; - if(i<=10){ - d = "0"+i; - }else { - d = String.valueOf(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 = countVo.getDate(); + String mon = month + "-" + Integer.valueOf(countVo.getDate()); if(mon.equals(d)){ bo = true; + vo.setDate(mon); + vo.setCount(countVo.getCount()); } } if(!bo){ - CountVo countVo = new CountVo(); - countVo.setDate(d); - countVo.setCount(0); - list.add(countVo); + vo.setDate(d); + vo.setCount(0); } + countVoList.add(vo); } - return list; + return countVoList; } } -- Gitblit v1.9.3