From 87051d81f28facb8447fb65b9ba294ea3827563a Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Fri, 07 May 2021 00:44:23 +0800
Subject: [PATCH] 警情统计接口修改

---
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/equipment/service/impl/EquipmentServiceImpl.java |   42 ++++++++++++++++++++++++++++++++++++++----
 1 files changed, 38 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 c1f5c68..1d499c3 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
@@ -35,10 +35,7 @@
 
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 /**
  *  服务实现类
@@ -234,6 +231,43 @@
 	 */
 	@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();
 		//设备掉线数量

--
Gitblit v1.9.3