From 66e71e5d4cb5bb3706f7c3662bbf7859f690ba84 Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Sun, 09 May 2021 11:59:38 +0800
Subject: [PATCH] 新增查询当前设备未处理和处理中的警情数量接口,当前设备一个警情处理完成后,如果当前设备还有其他预警未处理完成的,当前设备状态不会修改回正常状态

---
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/service/IAlarmService.java                 |    6 ++++++
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/mapper/AlarmMapper.xml                     |    7 +++++++
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/mapper/AlarmMapper.java                    |    7 +++++++
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/service/impl/AlarmServiceImpl.java         |   10 ++++++++++
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/equipment/service/impl/EquipmentServiceImpl.java |   14 ++++++++++++--
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/equipment/controller/EquipmentController.java    |    1 -
 6 files changed, 42 insertions(+), 3 deletions(-)

diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/mapper/AlarmMapper.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/mapper/AlarmMapper.java
index ce6d514..fb80f99 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/mapper/AlarmMapper.java
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/mapper/AlarmMapper.java
@@ -137,4 +137,11 @@
 	 * @return
 	 */
     List<ReportReturnData> getAlarmPie(@Param("alarm")AlarmVO alarmVO);
+
+	/**
+	 * 查询未处理及处理中的警情总数量
+	 * @param deviceNumber 设备编号
+	 * @return
+	 */
+    Integer selectEqCount(String deviceNumber);
 }
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/mapper/AlarmMapper.xml b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/mapper/AlarmMapper.xml
index 8343eca..e5bf92f 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/mapper/AlarmMapper.xml
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/mapper/AlarmMapper.xml
@@ -742,4 +742,11 @@
         <include refid="alarmConditionPie"></include>
     </select>
 
+    <!--查询未处理及处理中的警情总数量-->
+    <select id="selectEqCount" resultType="Integer">
+        SELECT ifnull(count(*),0) count  FROM `sys_alarm`
+        where deviceNumber = #{deviceNumber}
+        and jtype!=2
+    </select>
+
 </mapper>
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/service/IAlarmService.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/service/IAlarmService.java
index eb9fa7a..5081805 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/service/IAlarmService.java
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/service/IAlarmService.java
@@ -141,4 +141,10 @@
 	 */
 	List<ReportReturnData> getAlarmPie(AlarmVO alarmVO);
 
+	/**
+	 * 查询未处理及处理中的警情总数量
+	 * @param deviceNumber 设备编号
+	 * @return
+	 */
+	Integer selectEqCount(String deviceNumber);
 }
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/service/impl/AlarmServiceImpl.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/service/impl/AlarmServiceImpl.java
index bdb5ad0..ee6c4b9 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/service/impl/AlarmServiceImpl.java
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/service/impl/AlarmServiceImpl.java
@@ -410,4 +410,14 @@
 	public List<ReportReturnData> getAlarmPie(AlarmVO alarmVO) {
 		return baseMapper.getAlarmPie(alarmVO);
 	}
+
+	/**
+	 * 查询未处理及处理中的警情总数量
+	 * @param deviceNumber 设备编号
+	 * @return
+	 */
+	@Override
+	public Integer selectEqCount(String deviceNumber) {
+		return baseMapper.selectEqCount(deviceNumber);
+	}
 }
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/equipment/controller/EquipmentController.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/equipment/controller/EquipmentController.java
index fa578b5..2091070 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/equipment/controller/EquipmentController.java
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/equipment/controller/EquipmentController.java
@@ -239,7 +239,6 @@
 		List<DeptVo> deptVos = deptFeignApi.selDeptList();
 		//获取设备数据信息
 		IPage<EquipmentVO> page = equipmentService.selectDeptPages(Condition.getPage(query), equipment, pid, dxtype);
-		System.out.println("page = " + page);
 		//遍历数据
 		for (int j = 0; j < page.getRecords().size(); j++) {
 			if (null!=page.getRecords().get(j).getDeptId()){
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 ef97b44..fe01021 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
@@ -21,6 +21,7 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springblade.core.tool.node.ForestNodeMerger;
 import org.springblade.core.tool.utils.Func;
+import org.springblade.jfpt.alarm.service.IAlarmService;
 import org.springblade.jfpt.alarm.vo.AlarmVO;
 import org.springblade.jfpt.equipment.entity.Equipment;
 import org.springblade.jfpt.equipment.mapper.EquipmentMapper;
@@ -29,6 +30,7 @@
 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.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -49,6 +51,9 @@
 
 	//时间差
 	private long TIME_DIFFERENCE = 24*3600*1000;
+
+	@Autowired
+	private IAlarmService iAlarmService;
 
 	@Override
 	public IPage<EquipmentVO> selectEquipmentPage(IPage<EquipmentVO> page, EquipmentVO equipment,List childList) {
@@ -204,8 +209,13 @@
 			baseMapper.updateExstate(dType, reason, deviceNumber);
 		}
 		if(state.equals("处理完成")){
-			String dType = "1";
-			baseMapper.updateExstate(dType, reason, deviceNumber);
+			//查询当前设备是否还存在其他报警
+			int eqCount = iAlarmService.selectEqCount(deviceNumber);
+			//只有一条记录时才去修改设备的状态
+			if (eqCount==1) {
+				String dType = "1";
+				baseMapper.updateExstate(dType, reason, deviceNumber);
+			}
 		}
 	}
 

--
Gitblit v1.9.3