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 |  442 ++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 421 insertions(+), 21 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 7b0e13a..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,17 +1,42 @@
 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;
+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.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.Map;
+import java.net.Socket;
+import java.util.*;
 
 /**
  * @author Administrator
@@ -23,6 +48,35 @@
     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 PumpStatusMapper pumpStatusMapper;
+
 
     @Override
     public Results factorySave(Map<String, String> map) {
@@ -69,26 +123,372 @@
                 }
             }
         }
-        //璁板綍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","鎶芥补鏈�");
+        int num = wellMapper.selectCount(queryWrapperWell);
+        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();
+        //闆疯揪鍦ㄧ嚎鏁伴噺
+        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++) {
+            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;
+    }
 }

--
Gitblit v1.9.3