|
@@ -1,25 +1,20 @@
|
|
|
package com.bizmatics.service.impl;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.bizmatics.common.core.exception.BusinessException;
|
|
|
import com.bizmatics.common.mvc.base.AbstractCrudService;
|
|
|
-import com.bizmatics.model.BulletinCruxConfig;
|
|
|
-import com.bizmatics.model.Device;
|
|
|
-import com.bizmatics.model.DeviceAnalogVariableList;
|
|
|
-import com.bizmatics.model.DeviceStatus;
|
|
|
+import com.bizmatics.model.*;
|
|
|
import com.bizmatics.model.system.SysUser;
|
|
|
-import com.bizmatics.model.vo.BulletinCruxConfigVo;
|
|
|
-import com.bizmatics.model.vo.RtData;
|
|
|
-import com.bizmatics.model.vo.SiteData;
|
|
|
+import com.bizmatics.model.vo.*;
|
|
|
import com.bizmatics.persistence.mapper.BulletinCruxConfigMapper;
|
|
|
-import com.bizmatics.service.BulletinCruxConfigService;
|
|
|
-import com.bizmatics.service.DeviceAnalogVariableListService;
|
|
|
-import com.bizmatics.service.DeviceService;
|
|
|
-import com.bizmatics.service.DeviceStatusService;
|
|
|
+import com.bizmatics.service.*;
|
|
|
import com.bizmatics.service.util.SecurityUtils;
|
|
|
+import org.apache.commons.collections.ExtendedProperties;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.time.LocalDateTime;
|
|
@@ -36,20 +31,97 @@ public class BulletinCruxConfigServiceImpl extends AbstractCrudService<BulletinC
|
|
|
|
|
|
@Autowired
|
|
|
private DeviceAnalogVariableListService deviceAnalogVariableListService;
|
|
|
-
|
|
|
@Autowired
|
|
|
private DeviceService deviceService;
|
|
|
@Autowired
|
|
|
private DeviceStatusService deviceStatusService;
|
|
|
+ @Autowired
|
|
|
+ private BulletinHistoricalConfigService bulletinHistoricalConfigService;
|
|
|
+ @Autowired
|
|
|
+ private BulletinHistoricalRelationService bulletinHistoricalRelationService;
|
|
|
+ @Autowired
|
|
|
+ private BulletinAlarmConfigService bulletinAlarmConfigService;
|
|
|
|
|
|
/**
|
|
|
- * 数据看板-数据配置查询1
|
|
|
+ * 数据看板-数据配置查询
|
|
|
*
|
|
|
* @param siteId 站点ID
|
|
|
* @param id 配置ID
|
|
|
* @return
|
|
|
*/
|
|
|
- public List<Object> getBulletinCruxConfigList(Integer siteId, Integer id) {
|
|
|
+ @Override
|
|
|
+ public List<Object> getBulletinCruxConfigList(Integer siteId, Integer id, String colorType) {
|
|
|
+ List<Object> list2 = new ArrayList<>();
|
|
|
+ if (id != 0 && colorType.equals("iconText")) {
|
|
|
+ //配置数据查询1
|
|
|
+ List<BulletinCruxConfigVo> lsit1 = this.getbulletinCruxConfig(siteId, id);
|
|
|
+ if (lsit1.size() > 0) {
|
|
|
+ for (int i = 0; i < lsit1.size(); i++) {
|
|
|
+ lsit1.get(i).setIdx("" + (list2.size() + 1));
|
|
|
+ list2.add(lsit1.get(i));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else if (id != 0 && colorType.equals("echarts")) {
|
|
|
+ //配置数据查询2
|
|
|
+ List<BulletinCruxConfigVo> lsit3 = this.getBulletinHistoricalConfig(siteId,id);
|
|
|
+ if (lsit3.size() > 0) {
|
|
|
+ for (int i = 0; i < lsit3.size(); i++) {
|
|
|
+ lsit3.get(i).setColorType("echarts");
|
|
|
+ lsit3.get(i).setIdx("" + (list2.size() + 1));
|
|
|
+ list2.add(lsit3.get(i));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else if (id != 0 && colorType.equals("tabls")) {
|
|
|
+ //配置数据查询3
|
|
|
+ List<BulletinCruxConfigVo> lsit4 = this.getBulletinAlarmConfig(siteId,id);
|
|
|
+ if (lsit4.size() > 0) {
|
|
|
+ for (int i = 0; i < lsit4.size(); i++) {
|
|
|
+ lsit4.get(i).setIdx("" + (list2.size() + 1));
|
|
|
+ list2.add(lsit4.get(i));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ //配置数据查询1
|
|
|
+ List<BulletinCruxConfigVo> lsit1 = this.getbulletinCruxConfig(siteId, id);
|
|
|
+ if (lsit1.size() > 0) {
|
|
|
+ for (int i = 0; i < lsit1.size(); i++) {
|
|
|
+ lsit1.get(i).setIdx("" + (list2.size() + 1));
|
|
|
+ list2.add(lsit1.get(i));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //配置数据查询2
|
|
|
+ List<BulletinCruxConfigVo> lsit3 = this.getBulletinHistoricalConfig(siteId,id);
|
|
|
+ if (lsit3.size() > 0) {
|
|
|
+ for (int i = 0; i < lsit3.size(); i++) {
|
|
|
+ lsit3.get(i).setColorType("echarts");
|
|
|
+ lsit3.get(i).setIdx("" + (list2.size() + 1));
|
|
|
+ list2.add(lsit3.get(i));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //配置数据查询3
|
|
|
+ List<BulletinCruxConfigVo> lsit4 = this.getBulletinAlarmConfig(siteId,id);
|
|
|
+ if (lsit4.size() > 0) {
|
|
|
+ for (int i = 0; i < lsit4.size(); i++) {
|
|
|
+ lsit4.get(i).setIdx("" + (list2.size() + 1));
|
|
|
+ list2.add(lsit4.get(i));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return list2;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 配置数据查询1
|
|
|
+ *
|
|
|
+ * @param siteId
|
|
|
+ * @param id
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public List<BulletinCruxConfigVo> getbulletinCruxConfig(Integer siteId, Integer id) {
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
SimpleDateFormat sdfa = new SimpleDateFormat("yyyy");
|
|
|
//配置数据查询1
|
|
@@ -59,8 +131,7 @@ public class BulletinCruxConfigServiceImpl extends AbstractCrudService<BulletinC
|
|
|
queryWrapper.eq(BulletinCruxConfig::getId, id);
|
|
|
}
|
|
|
List<BulletinCruxConfig> list = this.list(queryWrapper);
|
|
|
-// List<BulletinCruxConfigVo> list1 = new ArrayList<>();
|
|
|
- List<Object> list2 = new ArrayList<>();
|
|
|
+ List<BulletinCruxConfigVo> list1 = new ArrayList<>();
|
|
|
if (list.size() > 0) {
|
|
|
for (int i = 0; i < list.size(); i++) {
|
|
|
BulletinCruxConfigVo bulletinCruxConfigVo = new BulletinCruxConfigVo();
|
|
@@ -77,7 +148,12 @@ public class BulletinCruxConfigServiceImpl extends AbstractCrudService<BulletinC
|
|
|
bulletinCruxConfigVo.setCreateBy(list.get(i).getCreateBy());
|
|
|
bulletinCruxConfigVo.setCreateTime(list.get(i).getCreateTime());
|
|
|
bulletinCruxConfigVo.setSiteId(list.get(i).getSiteId());
|
|
|
- bulletinCruxConfigVo.setIdx(""+(list2.size()+1));
|
|
|
+ bulletinCruxConfigVo.setCoordinatex(list.get(i).getCoordinatex());
|
|
|
+ bulletinCruxConfigVo.setCoordinatey(list.get(i).getCoordinatey());
|
|
|
+ bulletinCruxConfigVo.setWide(list.get(i).getWide());
|
|
|
+ bulletinCruxConfigVo.setHigh(list.get(i).getHigh());
|
|
|
+// bulletinCruxConfigVo.setIdx(""+(list2.size()+1));
|
|
|
+ bulletinCruxConfigVo.setColorType("iconText");
|
|
|
if (list.get(i).getDataType() == 1) {//普通文本
|
|
|
|
|
|
} else if (list.get(i).getDataType() == 2) {//站点管理信息
|
|
@@ -168,33 +244,131 @@ public class BulletinCruxConfigServiceImpl extends AbstractCrudService<BulletinC
|
|
|
} else if (list.get(i).getDataType() == 4) {//站点告警状态
|
|
|
Integer alarCount = baseMapper.getAlarmCount(siteId);
|
|
|
bulletinCruxConfigVo.setTextValue("无告警");
|
|
|
- if (alarCount>0){
|
|
|
+ if (alarCount > 0) {
|
|
|
bulletinCruxConfigVo.setTextValue("告警");
|
|
|
}
|
|
|
} else if (list.get(i).getDataType() == 5) {//站点通信状态
|
|
|
LambdaQueryWrapper<DeviceStatus> queryWrapper1 = Wrappers.lambdaQuery();
|
|
|
queryWrapper1.eq(DeviceStatus::getSiteId, siteId);
|
|
|
List<DeviceStatus> deviceStatusList = deviceStatusService.list(queryWrapper1);
|
|
|
- if (deviceStatusList.size()>0){
|
|
|
+ if (deviceStatusList.size() > 0) {
|
|
|
for (int j = 0; j < deviceStatusList.size(); j++) {
|
|
|
bulletinCruxConfigVo.setTextValue("在线");
|
|
|
- if (deviceStatusList.get(j).getDeviceStatus()==1){
|
|
|
+ if (deviceStatusList.get(j).getDeviceStatus() == 1) {
|
|
|
bulletinCruxConfigVo.setTextValue("离线");
|
|
|
}
|
|
|
}
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
bulletinCruxConfigVo.setTextValue("离线");
|
|
|
}
|
|
|
}
|
|
|
- list2.add(bulletinCruxConfigVo);
|
|
|
+ list1.add(bulletinCruxConfigVo);
|
|
|
}
|
|
|
}
|
|
|
+ return list1;
|
|
|
+ }
|
|
|
|
|
|
- //配置数据查询1
|
|
|
|
|
|
+ /**
|
|
|
+ * 配置数据查询2
|
|
|
+ *
|
|
|
+ * @param siteId
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public List<BulletinCruxConfigVo> getBulletinHistoricalConfig(Integer siteId,Integer id) {
|
|
|
+ List<BulletinCruxConfigVo> bulletinCruxConfigVoList = baseMapper.getBulletinHistoricalConfig(siteId,id);
|
|
|
+ List<BulletinHistoricalRelationVo> bulletinHistoricalRelationList = this.getBulletinHistoricalRelationVo(siteId);
|
|
|
+ if (bulletinCruxConfigVoList.size() > 0) {
|
|
|
+ for (int i = 0; i < bulletinCruxConfigVoList.size(); i++) {
|
|
|
+ List<Object> bulletinHistoricalRelationList1 = new ArrayList<>();
|
|
|
+ for (int j = 0; j < bulletinHistoricalRelationList.size(); j++) {
|
|
|
+ if (bulletinCruxConfigVoList.get(i).getId() == bulletinHistoricalRelationList.get(j).getHistoricalId()) {
|
|
|
+ bulletinHistoricalRelationList1.add(bulletinHistoricalRelationList.get(j));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ bulletinCruxConfigVoList.get(i).setRelationData(bulletinHistoricalRelationList1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return bulletinCruxConfigVoList;
|
|
|
+ }
|
|
|
|
|
|
+ /**
|
|
|
+ * 配置2变量数据
|
|
|
+ *
|
|
|
+ * @param siteId
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public List<BulletinHistoricalRelationVo> getBulletinHistoricalRelationVo(Integer siteId) {
|
|
|
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
+ SimpleDateFormat sdf1 = new SimpleDateFormat("HH:mm:ss");
|
|
|
+ List<BulletinHistoricalRelationVo> bulletinHistoricalRelationList = baseMapper.getRelationData(siteId);
|
|
|
+ if (bulletinHistoricalRelationList.size() > 0) {
|
|
|
+ for (int i = 0; i < bulletinHistoricalRelationList.size(); i++) {
|
|
|
+ List<DeviceDataVo> deviceData = baseMapper.getDeviceData(bulletinHistoricalRelationList.get(i).getVariableId());
|
|
|
+ String table = "ht_analog_data";
|
|
|
+ if (deviceData.get(0).getDeviceType().equals("3")) {
|
|
|
+ table = "ht_analog_171_data";
|
|
|
+ } else if (deviceData.get(0).getDeviceType().equals("4")) {
|
|
|
+ table = "ht_analog_173_data";
|
|
|
+ }
|
|
|
|
|
|
- return list2;
|
|
|
+ String deviceCode = deviceData.get(0).getDeviceCode();
|
|
|
+ String time = sdf.format(new Date());
|
|
|
+ String startTime = time + " 00:00:00";
|
|
|
+ String endTime = time + " 23:59:59";
|
|
|
+ String field = " " + deviceData.get(0).getVariableCoding().split("_")[1] + " as textValue ,dataTime";
|
|
|
+ String group = " group by dataTime ";
|
|
|
+ if (bulletinHistoricalRelationList.get(i).getQueryCycle() == 2) {
|
|
|
+ Calendar calendar = new GregorianCalendar();
|
|
|
+ calendar.setTime(new Date());
|
|
|
+ //获得本月第一天
|
|
|
+ calendar.add(Calendar.MONTH, 0);
|
|
|
+ calendar.set(Calendar.DAY_OF_MONTH, 1);
|
|
|
+ startTime = sdf.format(calendar.getTime()) + " 00:00:00";
|
|
|
+ //获得本月最后一天
|
|
|
+ calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
|
|
|
+ endTime = sdf.format(calendar.getTime()) + " 23:59:59";
|
|
|
+ group = " group by freezingTime ";
|
|
|
+ if (bulletinHistoricalRelationList.get(i).getQueryType() == 1) {
|
|
|
+ field = " avg(" + deviceData.get(0).getVariableCoding().split("_")[1] + ") as textValue ,freezingTime as dataTime";
|
|
|
+ } else if (bulletinHistoricalRelationList.get(i).getQueryType() == 2) {
|
|
|
+ field = " max(" + deviceData.get(0).getVariableCoding().split("_")[1] + ") as textValue ,freezingTime as dataTime";
|
|
|
+ }
|
|
|
+ }
|
|
|
+ List<RtData> RtData = baseMapper.getHtAnalogData(table, field, deviceCode, startTime, endTime, group);
|
|
|
+ List<String> timeKeys = new ArrayList<>();
|
|
|
+ List<String> datas = new ArrayList<>();
|
|
|
+ if (RtData.size() > 0) {
|
|
|
+ for (int j = 0; j < RtData.size(); j++) {
|
|
|
+ datas.add(RtData.get(j).getTextValue());
|
|
|
+ if (bulletinHistoricalRelationList.get(i).getQueryCycle() == 1) {
|
|
|
+ timeKeys.add("" + sdf1.format(RtData.get(j).getDataTime()));
|
|
|
+ } else if (bulletinHistoricalRelationList.get(i).getQueryCycle() == 2) {
|
|
|
+ timeKeys.add("" + sdf.format(RtData.get(j).getDataTime()));
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ bulletinHistoricalRelationList.get(i).setDatas(datas);
|
|
|
+ bulletinHistoricalRelationList.get(i).setTimeKeys(timeKeys);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return bulletinHistoricalRelationList;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<BulletinCruxConfigVo> getBulletinAlarmConfig(Integer siteId, Integer id) {
|
|
|
+ List<BulletinCruxConfigVo> bulletinAlarmConfigList = baseMapper.getBulletinAlarmConfig(siteId, id);
|
|
|
+ if (bulletinAlarmConfigList.size() > 0) {
|
|
|
+ for (int i = 0; i < bulletinAlarmConfigList.size(); i++) {
|
|
|
+ bulletinAlarmConfigList.get(i).setColorType("tabls");
|
|
|
+ List<AlarmPowerVo> AlarmPowerVoList = baseMapper.getAlarmPower(siteId, bulletinAlarmConfigList.get(i).getAlarmType());
|
|
|
+ bulletinAlarmConfigList.get(i).setTextValue(AlarmPowerVoList);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return bulletinAlarmConfigList;
|
|
|
}
|
|
|
|
|
|
|
|
@@ -216,12 +390,13 @@ public class BulletinCruxConfigServiceImpl extends AbstractCrudService<BulletinC
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 数据看板-数据配置1编辑
|
|
|
+ * 数据看板-数据配置1编辑新增
|
|
|
*
|
|
|
* @param bulletinCruxConfig
|
|
|
*/
|
|
|
+ @Override
|
|
|
public void editBulletinCruxConfig(BulletinCruxConfig bulletinCruxConfig) {
|
|
|
- if (bulletinCruxConfig.getId() == 0) {
|
|
|
+ if (bulletinCruxConfig.getId() != 0) {
|
|
|
this.updateById(bulletinCruxConfig);
|
|
|
} else {
|
|
|
SysUser user = SecurityUtils.getLoginUser().getUser();
|
|
@@ -231,6 +406,70 @@ public class BulletinCruxConfigServiceImpl extends AbstractCrudService<BulletinC
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 数据看板-数据配置2编辑新增
|
|
|
+ * @param bulletinHistoricalConfigAddVo
|
|
|
+ */
|
|
|
+ @Transactional
|
|
|
+ @Override
|
|
|
+ public void editBulletinHistoricalConfig(BulletinHistoricalConfigAddVo bulletinHistoricalConfigAddVo){
|
|
|
+ List<BulletinHistoricalRelation> bulletinHistoricalRelation = bulletinHistoricalConfigAddVo.getBulletinHistoricalRelationList();
|
|
|
+ BulletinHistoricalConfig bulletinHistoricalConfig = new BulletinHistoricalConfig();
|
|
|
+ bulletinHistoricalConfig.setId(bulletinHistoricalConfigAddVo.getId());
|
|
|
+ bulletinHistoricalConfig.setDataTitle(bulletinHistoricalConfigAddVo.getDataTitle());
|
|
|
+ bulletinHistoricalConfig.setIconPath(bulletinHistoricalConfigAddVo.getIconPath());
|
|
|
+ bulletinHistoricalConfig.setQueryCycle(bulletinHistoricalConfigAddVo.getQueryCycle());
|
|
|
+ bulletinHistoricalConfig.setQueryType(bulletinHistoricalConfigAddVo.getQueryType());
|
|
|
+ bulletinHistoricalConfig.setMaxDimension(bulletinHistoricalConfigAddVo.getMaxDimension());
|
|
|
+ bulletinHistoricalConfig.setMinDimension(bulletinHistoricalConfigAddVo.getMinDimension());
|
|
|
+ bulletinHistoricalConfig.setMeanDimension(bulletinHistoricalConfigAddVo.getMeanDimension());
|
|
|
+ bulletinHistoricalConfig.setLonAdaptation(bulletinHistoricalConfigAddVo.getLonAdaptation());
|
|
|
+ bulletinHistoricalConfig.setSiteId(bulletinHistoricalConfigAddVo.getSiteId());
|
|
|
+ bulletinHistoricalConfig.setCoordinatex(bulletinHistoricalConfigAddVo.getCoordinatex());
|
|
|
+ bulletinHistoricalConfig.setCoordinatey(bulletinHistoricalConfigAddVo.getCoordinatey());
|
|
|
+ bulletinHistoricalConfig.setWide(bulletinHistoricalConfigAddVo.getWide());
|
|
|
+ bulletinHistoricalConfig.setHigh(bulletinHistoricalConfigAddVo.getHigh());
|
|
|
+ if (bulletinHistoricalConfigAddVo.getId() != 0) {
|
|
|
+ bulletinHistoricalConfigService.updateById(bulletinHistoricalConfig);
|
|
|
+ if (bulletinHistoricalRelation.size()>0){
|
|
|
+ Integer historicalId = bulletinHistoricalConfigAddVo.getId();
|
|
|
+ baseMapper.delBulletinHistoricalRelation(historicalId);
|
|
|
+ for (int i = 0; i < bulletinHistoricalRelation.size(); i++) {
|
|
|
+ bulletinHistoricalRelation.get(i).setHistoricalId(bulletinHistoricalConfigAddVo.getId());
|
|
|
+ bulletinHistoricalRelationService.save(bulletinHistoricalRelation.get(i));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ SysUser user = SecurityUtils.getLoginUser().getUser();
|
|
|
+ bulletinHistoricalConfig.setCreateTime(LocalDateTime.now());
|
|
|
+ bulletinHistoricalConfig.setCreateBy(user.getUserName());
|
|
|
+ bulletinHistoricalConfigService.save(bulletinHistoricalConfig);
|
|
|
+ Integer historicalId = bulletinHistoricalConfig.getId();
|
|
|
+ if (bulletinHistoricalRelation.size()>0){
|
|
|
+ for (int i = 0; i < bulletinHistoricalRelation.size(); i++) {
|
|
|
+ bulletinHistoricalRelation.get(i).setHistoricalId(historicalId);
|
|
|
+ bulletinHistoricalRelationService.save(bulletinHistoricalRelation.get(i));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 数据看板-数据配置3编辑新增
|
|
|
+ * @param bulletinAlarmConfig
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public void editBulletinAlarmConfig(BulletinAlarmConfig bulletinAlarmConfig){
|
|
|
+ if (bulletinAlarmConfig.getId() != 0) {
|
|
|
+ bulletinAlarmConfigService.updateById(bulletinAlarmConfig);
|
|
|
+ } else {
|
|
|
+ SysUser user = SecurityUtils.getLoginUser().getUser();
|
|
|
+ bulletinAlarmConfig.setCreateTime(LocalDateTime.now());
|
|
|
+ bulletinAlarmConfig.setCreateBy(user.getUserName());
|
|
|
+ bulletinAlarmConfigService.save(bulletinAlarmConfig);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 数据看板-数据配置1删除
|
|
|
*
|