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.net.Socket;
|
import java.util.*;
|
|
/**
|
* @author Administrator
|
*/
|
@Service
|
public class StatisticalServiceImpl implements StatisticalService {
|
|
@Autowired
|
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) {
|
for (Map.Entry<String, String> entry : map.entrySet()) {
|
//如果存在修改
|
SysConfig sysConfigUpd = sysConfigMapper.checkConfigKeyUnique(entry.getKey());
|
if(sysConfigUpd != null){
|
sysConfigUpd.setConfigValue(entry.getValue());
|
sysConfigUpd.setUpdateBy(SecurityUtils.getUsername());
|
sysConfigMapper.updateConfig(sysConfigUpd);
|
}else {
|
//否则新增
|
SysConfig sysConfig = new SysConfig();
|
int randomNum = (int) (Math.random() * (1000 - 100 + 1)) + 100;
|
sysConfig.setConfigId((long) randomNum);
|
sysConfig.setConfigType("Y");
|
sysConfig.setCreateBy(SecurityUtils.getUsername());
|
sysConfig.setRemark("厂区介绍");
|
if ("area".equals(entry.getKey())) {
|
sysConfig.setConfigName("占地面积");
|
sysConfig.setConfigKey(entry.getKey());
|
sysConfig.setConfigValue(entry.getValue());
|
sysConfigMapper.insertConfig(sysConfig);
|
} else if ("store".equals(entry.getKey())) {
|
sysConfig.setConfigName("原始地质储量");
|
sysConfig.setConfigKey(entry.getKey());
|
sysConfig.setConfigValue(entry.getValue());
|
sysConfigMapper.insertConfig(sysConfig);
|
}else if ("people".equals(entry.getKey())) {
|
sysConfig.setConfigName("员工");
|
sysConfig.setConfigKey(entry.getKey());
|
sysConfig.setConfigValue(entry.getValue());
|
sysConfigMapper.insertConfig(sysConfig);
|
}else if ("depot".equals(entry.getKey())) {
|
sysConfig.setConfigName("各类站库");
|
sysConfig.setConfigKey(entry.getKey());
|
sysConfig.setConfigValue(entry.getValue());
|
sysConfigMapper.insertConfig(sysConfig);
|
}else if ("unit".equals(entry.getKey())) {
|
sysConfig.setConfigName("下设单位");
|
sysConfig.setConfigKey(entry.getKey());
|
sysConfig.setConfigValue(entry.getValue());
|
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();
|
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;
|
}
|
}
|