From 47a458ca867f700ad8dfe8bccdbb6bf59ca2d301 Mon Sep 17 00:00:00 2001
From: zengh <123456>
Date: Tue, 11 May 2021 15:54:02 +0800
Subject: [PATCH] APP接口调整
---
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/equipment/service/impl/EquipmentServiceImpl.java | 164 +++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 129 insertions(+), 35 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 a0b40c0..ef97b44 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,15 +27,15 @@
import org.springblade.jfpt.equipment.service.IEquipmentService;
import org.springblade.jfpt.equipment.vo.EquipmentVO;
import org.springblade.jfpt.equipment.vo.EquipmentVOS;
+import org.springblade.jfpt.parcel.vo.ConditionVo;
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.*;
/**
* 服务实现类
@@ -65,13 +65,13 @@
@Override
public IPage<EquipmentVO> selectDeptPages(IPage<EquipmentVO> page, EquipmentVO equipment,String pid,String dxdype) {
- List deptIdList;
- if (pid != null && !pid.equals("")){
- deptIdList = SysCache.getDeptChildIds(Long.valueOf(pid));
- }else{
- deptIdList = SysCache.getDeptChildIds(null);
- }
- return page.setRecords(baseMapper.selectDeptPages(page,equipment,deptIdList,dxdype));
+// List deptIdList;
+// if (pid != null && !pid.equals("")){
+// deptIdList = SysCache.getDeptChildIds(Long.valueOf(pid));
+// }else{
+// deptIdList = SysCache.getDeptChildIds(null);
+// }
+ return page.setRecords(baseMapper.selectDeptPages(page,equipment,pid,dxdype));
}
@@ -82,13 +82,18 @@
}
@Override
- public List<EquipmentVO> listAll() {
- return baseMapper.listAll();
+ public List<EquipmentVO> listAll(EquipmentVO equipment) {
+ return baseMapper.listAll(equipment);
}
@Override
public void updateOne(Equipment equipment) {
baseMapper.updateOne(equipment);
+ }
+
+ @Override
+ public void saveImg(EquipmentVO equipment) {
+ baseMapper.saveImg(equipment);
}
@Override
@@ -141,32 +146,37 @@
/**
* 查询在线设备总数
- * @param status 状态码 0:本日 1:本周 2:本月
+ * @param conditionVo status 状态码 0:本日 1:本周 2:本月
* @return
*/
@Override
- public Integer selectEquipmentCount(Integer status) {
+ public Integer selectEquipmentCount(ConditionVo conditionVo) {
+ //更新设备状态
+ updateEquipmentDtype();
//先查询所有的设备
- 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;
- }
- }
- }
+ Integer equipmentCount = baseMapper.selectEqCz();
+ System.out.println("equipmentCount = " + equipmentCount);
+// long time = new Date().getTime();
+// long hearbeat = 0;
+// //遍历集合数据,对比心跳时间,得出在线的设备数量
+// int status =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 (null!=e.getDtype()) {
+// if (time - hearbeat < TIME_DIFFERENCE && e.getDtype()!="2" && e.getDtype()!="3") {
+// equipmentCount += 1;
+// }
+// }
+// }
+// }
//返回数据
return equipmentCount;
}
@@ -176,9 +186,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
@@ -200,4 +228,70 @@
public Integer selectEqCg() {
return baseMapper.selectEqCg();
}
+
+ /**
+ * 获取各个设备状态统计数量
+ * @return
+ */
+ @Override
+ public Map<String, Object> selEqTypeSum() {
+ //设备在线数量
+ 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());
+ }
+ }
+ }
+ //批量更新数据
+ if (equipmentListz.size()>0){
+ baseMapper.updateEqListz(equipmentListz);
+ }
+ if (equipmentListl.size()>0){
+ baseMapper.updateEqListl(equipmentListl);
+ }
+ }
}
--
Gitblit v1.9.3