From afda08833e460a40a2d4e509f9df9d809c6f8f31 Mon Sep 17 00:00:00 2001
From: tangzy <tangzy123456>
Date: Fri, 26 Mar 2021 15:38:39 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/equipment/service/impl/EquipmentServiceImpl.java |   64 ++++++++++++++++++++++++++++++++
 1 files changed, 64 insertions(+), 0 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 dedecfd..8aff20b 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
@@ -27,8 +27,13 @@
 import org.springblade.jfpt.equipment.service.IEquipmentService;
 import org.springblade.jfpt.equipment.vo.EquipmentVO;
 import org.springblade.jfpt.equipment.vo.EquipmentVOS;
+import org.springblade.system.cache.SysCache;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
@@ -42,6 +47,9 @@
 public class EquipmentServiceImpl extends ServiceImpl<EquipmentMapper, Equipment> implements IEquipmentService {
 	private static final String PARENT_ID = "parentId";
 
+	//时间差
+	private long TIME_DIFFERENCE = 24*3600*1000;
+
 	@Override
 	public IPage<EquipmentVO> selectEquipmentPage(IPage<EquipmentVO> page, EquipmentVO equipment,List childList) {
 		return page.setRecords(baseMapper.selectEquipmentPage(page,equipment,childList));
@@ -52,6 +60,21 @@
 
 		return page.setRecords(baseMapper.selectEquipmentPage(page,equipment,null));
 	}
+
+
+	@Override
+	public IPage<EquipmentVO> selectDeptPages(IPage<EquipmentVO> page, EquipmentVO equipment,String pid) {
+
+		List deptIdList;
+		if (!pid.equals("")){
+			deptIdList = SysCache.getDeptChildIds(Long.valueOf(pid));
+		}else{
+			deptIdList = SysCache.getDeptChildIds(null);
+		}
+		return page.setRecords(baseMapper.selectDeptPages(page,equipment,deptIdList));
+	}
+
+
 
 	@Override
 	public List<EquipmentVOS> tree() {
@@ -116,4 +139,45 @@
 		baseMapper.updateChannel(heartbeat, deviceNumber);
 	}
 
+	/**
+	 * 查询在线设备总数
+	 * @param status 状态码   0:本日   1:本周   2:本月
+	 * @return
+	 */
+	@Override
+	public Integer selectEquipmentCount(Integer status) {
+		//先查询所有的设备
+		List<EquipmentVO> equipmentVOS = baseMapper.listAll();
+		long time = new Date().getTime();
+		int equipmentCount = 0;
+		long hearbeat = 0;
+		//遍历集合数据,对比心跳时间,得出在线的设备数量
+		if (status==0 && equipmentVOS.size()>0){
+			for (EquipmentVO e:equipmentVOS) {
+				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){
+					equipmentCount+=1;
+				}
+			}
+		}
+		//返回数据
+		return equipmentCount;
+	}
+
+	@Override
+	public void updateexpireTime(String expireTime, String deviceNumber) {
+		baseMapper.updateexpireTime(expireTime,deviceNumber);
+	}
+
+	@Override
+	public void updateExstate(String state, String reason, String deviceNumber) {
+		baseMapper.updateExstate(state, reason, deviceNumber);
+	}
 }

--
Gitblit v1.9.3