From 606a427fd3242fcebb039800a967d8adfef9a99c Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Fri, 07 May 2021 19:26:01 +0800
Subject: [PATCH] 1.设备列表接口修改,警情状态的排最前 2.新增设备查询的拦截器,更新设备状态
---
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/equipment/service/impl/EquipmentServiceImpl.java | 130 ++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 126 insertions(+), 4 deletions(-)
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/equipment/service/impl/EquipmentServiceImpl.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/equipment/service/impl/EquipmentServiceImpl.java
index aa190c5..aab30ff 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/equipment/service/impl/EquipmentServiceImpl.java
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/equipment/service/impl/EquipmentServiceImpl.java
@@ -31,12 +31,11 @@
import org.springblade.system.cache.SysCache;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
import java.text.ParseException;
import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
/**
* 服务实现类
@@ -183,9 +182,27 @@
baseMapper.updateexpireTime(expireTime,deviceNumber);
}
+ /**
+ * 修改设备状态 2021-5-6 arsn修改
+ * @param state 设备状态
+ * @param reason 原因
+ * @param deviceNumber 设备编号
+ */
@Override
+ @Transactional(rollbackFor = Exception.class)
public void updateExstate(String state, String reason, String deviceNumber) {
- baseMapper.updateExstate(state, reason, deviceNumber);
+ if(state.equals("系统故障")){
+ String dType = "3";
+ baseMapper.updateExstate(dType, reason, deviceNumber);
+ }
+ if(state.equals("一键报警")){
+ String dType = "2";
+ baseMapper.updateExstate(dType, reason, deviceNumber);
+ }
+ if(state.equals("处理完成")){
+ String dType = "1";
+ baseMapper.updateExstate(dType, reason, deviceNumber);
+ }
}
@Override
@@ -207,4 +224,109 @@
public Integer selectEqCg() {
return baseMapper.selectEqCg();
}
+
+ /**
+ * 获取各个设备状态统计数量
+ * @return
+ */
+ @Override
+ public Map<String, Object> selEqTypeSum() {
+ //查詢之前先更新设备状态
+ //查询所有的设备,不包含故障和警情状态
+// List<Equipment> equipment = baseMapper.selAllEq();
+// long time = new Date().getTime();
+// long hearbeat = 0;
+// List<Long> equipmentListz = new ArrayList<>();
+// List<Long> equipmentListl = new ArrayList<>();
+// for (Equipment e:equipment) {
+// try {
+// if(null!=e.getHeartbeat()) {
+// hearbeat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(e.getHeartbeat()).getTime();
+// }
+// } catch (ParseException parseException) {
+// parseException.printStackTrace();
+// }
+// //对比心跳时间,在线
+// if (time-hearbeat<TIME_DIFFERENCE){
+// if (null==e.getDtype() || e.getDtype()!="1"){
+// equipmentListz.add(e.getId());
+// }
+// }
+// if (time-hearbeat>=TIME_DIFFERENCE){
+// if (null==e.getDtype() || e.getDtype()!="0"){
+// equipmentListl.add(e.getId());
+// }
+// }
+// }
+//
+// System.out.println("equipmentListl = " + equipmentListl);
+// System.out.println("equipmentListz = " + equipmentListz);
+// //批量更新数据
+// if (equipmentListz.size()>0){
+// baseMapper.updateEqListz(equipmentListz);
+// }
+// if (equipmentListl.size()>0){
+// baseMapper.updateEqListl(equipmentListl);
+// }
+ //设备在线数量
+ Integer integerz = baseMapper.selectEqCz();
+ //设备掉线数量
+ Integer integerd = baseMapper.selectEqCd();
+ //设备预警数量
+ Integer alarmSum = baseMapper.selectEqCys();
+ //设备故障数量
+ Integer integerg = baseMapper.selectEqCg();
+ //封装数据
+ Map<String, Object> map = new HashMap<String, Object>();
+ map.put("zx", integerz);
+ map.put("dx", integerd);
+ map.put("yj", alarmSum);
+ map.put("gz", integerg);
+ //返回数据
+ return map;
+ }
+
+
+ /**
+ * 更新设备状态
+ */
+ @Override
+ public void updateEquipmentDtype() {
+ //查询所有的设备,不包含故障和警情状态
+ List<Equipment> equipment = baseMapper.selAllEq();
+ long time = new Date().getTime();
+ long hearbeat = 0;
+ List<Long> equipmentListz = new ArrayList<>();
+ List<Long> equipmentListl = new ArrayList<>();
+ for (Equipment e:equipment) {
+ try {
+ if(null!=e.getHeartbeat()) {
+ hearbeat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(e.getHeartbeat()).getTime();
+ }
+ } catch (ParseException parseException) {
+ parseException.printStackTrace();
+ }
+ //对比心跳时间,在线
+ if (time-hearbeat<TIME_DIFFERENCE){
+ if (null==e.getDtype() || e.getDtype()!="1"){
+ equipmentListz.add(e.getId());
+ }
+ }
+ if (time-hearbeat>=TIME_DIFFERENCE){
+ if (null==e.getDtype() || e.getDtype()!="0"){
+ equipmentListl.add(e.getId());
+ }
+ }
+ }
+
+ System.out.println("equipmentListl = " + equipmentListl);
+ System.out.println("equipmentListz = " + equipmentListz);
+ //批量更新数据
+ if (equipmentListz.size()>0){
+ baseMapper.updateEqListz(equipmentListz);
+ }
+ if (equipmentListl.size()>0){
+ baseMapper.updateEqListl(equipmentListl);
+ }
+ }
}
--
Gitblit v1.9.3