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 | 195 +++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 191 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 f78e791..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,10 +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.util.List;
-import java.util.Map;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.*;
/**
* 服务实现类
@@ -42,9 +47,31 @@
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) {
- return page.setRecords(baseMapper.selectEquipmentPage(page,equipment));
+ public IPage<EquipmentVO> selectEquipmentPage(IPage<EquipmentVO> page, EquipmentVO equipment,List childList) {
+ return page.setRecords(baseMapper.selectEquipmentPage(page,equipment,childList));
+ }
+
+ @Override
+ public IPage<EquipmentVO> selectPage(IPage<EquipmentVO> page, EquipmentVO equipment,String pid) {
+
+ return page.setRecords(baseMapper.selectEquipmentPage(page,equipment,null));
+ }
+
+
+ @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,pid,dxdype));
}
@@ -55,8 +82,18 @@
}
@Override
+ 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
@@ -107,4 +144,154 @@
baseMapper.updateChannel(heartbeat, deviceNumber);
}
+ /**
+ * 查询在线设备总数
+ * @param conditionVo status 状态码 0:本日 1:本周 2:本月
+ * @return
+ */
+ @Override
+ public Integer selectEquipmentCount(ConditionVo conditionVo) {
+ //更新设备状态
+ updateEquipmentDtype();
+ //先查询所有的设备
+ 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;
+ }
+
+ @Override
+ public void updateexpireTime(String expireTime, String deviceNumber) {
+ 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) {
+ 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
+ public Integer selectEqCz() {
+ return baseMapper.selectEqCz();
+ }
+
+ @Override
+ public Integer selectEqCd() {
+ return baseMapper.selectEqCd();
+ }
+
+ @Override
+ public List<Map<String, Object>> selectEqCy(String time) {
+ return baseMapper.selectEqCy(time);
+ }
+
+ @Override
+ 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