aijinhui
2023-10-12 87a2fe3e6f1472a7e87e02d3fd956eee17b85352
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;
@@ -21,10 +22,13 @@
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;
@@ -70,6 +74,8 @@
    private ArdEquipRadarMapper radarMapper;
    @Autowired
    private ArdCamerasMapper camerasMapper;
    @Autowired
    private PumpStatusMapper pumpStatusMapper;
    @Override
@@ -207,67 +213,67 @@
    @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
@@ -312,56 +318,177 @@
        return unitVo;
    }
    public List<CountVo> es(List<CountVo> list){
        for (int i = 1; i <= 12 ; i++) {
            String month;
            if(i<=10){
                month = "0"+i;
            }else {
                month = String.valueOf(i);
            }
            Boolean bo = false;
            for (int j = 0; j < list.size(); j++) {
                CountVo countVo = list.get(j);
                String mon = countVo.getDate();
                if(mon.equals(month)){
                    bo = true;
                }
            }
            if(!bo){
                CountVo countVo = new CountVo();
                countVo.setDate(month);
                countVo.setCount(0);
                list.add(countVo);
            }
        }
    @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;
    }
    public List<CountVo> esMonth(List<CountVo> list,String end){
        Integer day = Integer.valueOf(end.substring(end.length() - 2));
        for (int i = 1; i <= day ; i++) {
            String d;
            if(i<=10){
                d = "0"+i;
            }else {
                d = String.valueOf(i);
    @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 = countVo.getDate();
                if(mon.equals(d)){
                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(d);
                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,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;
    }
}