Explorar el Código

报警及参数设置修改

wangyangyang hace 3 años
padre
commit
8583f80ab8

+ 1 - 1
sms_water/src/main/java/com/huaxu/controller/MonitorInfoController.java

@@ -130,7 +130,7 @@ public class MonitorInfoController {
         for (MonitorInfoEntity item : page) {
             if (item.getMonitorType().equals(0L)) {
                 //查询报警信息
-                List<AlarmDetailsDto> alarmDetailsDtos = alarmDetailsService.selectByDeviceId(item.getDeviceId().intValue());
+                List<AlarmDetailsDto> alarmDetailsDtos = alarmDetailsService.selectByDeviceId(id,item.getDeviceId().intValue());
                 Map<Integer, AlarmDetailsDto> mapAlarm = new HashMap<>();
                 //将缓存中的实时数据放到map中方便进行遍历
                 for (AlarmDetailsDto alarmDetailsDto : alarmDetailsDtos) {

+ 1 - 1
sms_water/src/main/java/com/huaxu/dao/AlarmDetailMapper.java

@@ -27,7 +27,7 @@ public interface AlarmDetailMapper {
      * @param deviceId
      * @return
      */
-    List<AlarmDetailsDto> selectByDeviceId(Integer deviceId);
+    List<AlarmDetailsDto> selectByDeviceId(@Param("sceneId")Long sceneId,@Param("deviceId")Integer deviceId);
 
 
     /**

+ 1 - 1
sms_water/src/main/java/com/huaxu/service/AlarmDetailsService.java

@@ -25,7 +25,7 @@ public interface AlarmDetailsService {
      * 查询单个设备
      * @return
      */
-    List<AlarmDetailsDto> selectByDeviceId(Integer deviceId);
+    List<AlarmDetailsDto> selectByDeviceId(Long sceneId,Integer deviceId);
     /**
      * 按场景查询
      * @return

+ 1 - 1
sms_water/src/main/java/com/huaxu/service/AppDataService.java

@@ -128,7 +128,7 @@ public class AppDataService {
             if (!deviceCodes.contains(deviceParmEntity.getDeviceCode())) {
                 deviceCodes.add(deviceParmEntity.getDeviceCode());
                 //查询报警信息
-                List<AlarmDetailsDto> alarmDetailsDtos = alarmDetailsService.selectByDeviceId(deviceParmEntity.getDeviceId());
+                List<AlarmDetailsDto> alarmDetailsDtos = alarmDetailsService.selectByDeviceId(id,deviceParmEntity.getDeviceId());
                 alarms.put(deviceParmEntity.getDeviceCode(), alarmDetailsDtos);
                 List<DeviceParmEntity> deviceParms = new ArrayList<>();
                 deviceParms.add(deviceParmEntity);

+ 2 - 2
sms_water/src/main/java/com/huaxu/service/impl/AlarmDetailsServiceImpl.java

@@ -61,8 +61,8 @@ public class AlarmDetailsServiceImpl implements AlarmDetailsService {
     }
 
     @Override
-    public List<AlarmDetailsDto> selectByDeviceId(Integer deviceId) {
-        return alarmDetailMapper.selectByDeviceId(deviceId);
+    public List<AlarmDetailsDto> selectByDeviceId(Long sceneId,Integer deviceId) {
+        return alarmDetailMapper.selectByDeviceId(sceneId,deviceId);
     }
 
     @Override

+ 7 - 10
sms_water/src/main/java/com/huaxu/service/impl/DeviceParmServiceImpl.java

@@ -16,10 +16,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
 
 /**
  * @description 设备参数
@@ -192,14 +189,14 @@ public class DeviceParmServiceImpl  implements DeviceParmService {
             }
             //查询已经绑定的所有参数
             List<DeviceParmInfoDto> deviceParmInfoList = deviceParmMapper.selectBindByDeviceId(sceneId, deviceId);
-            List<Long> ids = new ArrayList<>();
+            Map<Long,Long> idMaps= new HashMap<>();
             for (DeviceParmInfoDto info : deviceParmInfoList) {
-                ids.add(info.getId());
+                idMaps.put(Long.valueOf(info.getAttributeId()),info.getId());
             }
             for (DeviceParmInfoDto item : deviceParmInfos) {
-                if (ids.contains(item.getAttributeId().longValue())) {
-                    ids.remove(item.getAttributeId().longValue());
-                } else if (!ids.contains(item.getAttributeId().longValue())) {
+                if (idMaps.containsKey(item.getAttributeId().longValue())) {
+                    idMaps.remove(item.getAttributeId().longValue());
+                } else if (!idMaps.containsKey(item.getAttributeId().longValue())) {
                     //新增
                     DeviceParmEntity deviceParmEntity = new DeviceParmEntity();
                     deviceParmEntity.setSceneId(sceneId);
@@ -216,7 +213,7 @@ public class DeviceParmServiceImpl  implements DeviceParmService {
                 }
             }
             //将ids 移除
-            for(Long id : ids) {
+            for(Long id : idMaps.values()) {
                 deviceParmMapper.deleteById(id.intValue());
             }
         }

+ 1 - 1
sms_water/src/main/resources/mapper/AlarmDetailMapper.xml

@@ -682,7 +682,7 @@
         left join sms_alarm_setting b on a.alarm_setting_id=b.id and b.status = 1 and b.alarm_condition!='='
         <include refid="alarmDetailJoins"/>
         where a.`STATUS` = 1
-        and a.DEVICE_ID=#{deviceId} and a.state=1
+        and a.DEVICE_ID=#{deviceId} and a.scene_id=#{sceneId} and a.state=1
     </select>
 
     <select id="getAlarmInfoForWorkOrderManage" resultType="com.huaxu.dto.DeviceAlarmInfoForOrder">