Quellcode durchsuchen

删除集团条件时,根据条件的报警类型删除对应设备的报警条件

lixing vor 3 Jahren
Ursprung
Commit
aac9be871e

+ 12 - 5
src/main/java/com/persagy/apm/alarmservice/group/alarmrule/service/impl/GroupAlarmRuleServiceImpl.java

@@ -37,6 +37,7 @@ import org.apache.commons.lang.StringUtils;
 import org.apache.poi.ss.usermodel.Row;
 import org.apache.poi.ss.usermodel.Row;
 import org.apache.poi.ss.usermodel.Sheet;
 import org.apache.poi.ss.usermodel.Sheet;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+import org.assertj.core.util.Lists;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.annotation.Transactional;
@@ -192,7 +193,8 @@ public class GroupAlarmRuleServiceImpl extends ServiceImpl<GroupAlarmRuleMapper,
         //删除中台设备的报警条件
         //删除中台设备的报警条件
         String condition = updateGroupAlarmRuleDTO.getCondition();
         String condition = updateGroupAlarmRuleDTO.getCondition();
         String classCode = updateGroupAlarmRuleDTO.getClassCode();
         String classCode = updateGroupAlarmRuleDTO.getClassCode();
-        deleteEquipCondition(condition,classCode);
+        String alarmItemCode = updateGroupAlarmRuleDTO.getAlarmItemCode();
+        deleteEquipCondition(condition,classCode, alarmItemCode);
         List<AddAlarmConfigDTO> alarmConfigs = new ArrayList<>();
         List<AddAlarmConfigDTO> alarmConfigs = new ArrayList<>();
         BatchAddAlarmConfigDTO batchAddAlarmConfigDTO = new BatchAddAlarmConfigDTO();
         BatchAddAlarmConfigDTO batchAddAlarmConfigDTO = new BatchAddAlarmConfigDTO();
         //新增中台设备的报警条件
         //新增中台设备的报警条件
@@ -208,7 +210,7 @@ public class GroupAlarmRuleServiceImpl extends ServiceImpl<GroupAlarmRuleMapper,
                 AddAlarmConfigDTO addAlarmConfigDTO = new AddAlarmConfigDTO();
                 AddAlarmConfigDTO addAlarmConfigDTO = new AddAlarmConfigDTO();
                 String equipId = record.getId();
                 String equipId = record.getId();
                 addAlarmConfigDTO.setObjId(equipId);
                 addAlarmConfigDTO.setObjId(equipId);
-                addAlarmConfigDTO.setItemCode(updateGroupAlarmRuleDTO.getAlarmItemCode());
+                addAlarmConfigDTO.setItemCode(alarmItemCode);
                 addAlarmConfigDTO.setClassCode(classCode);
                 addAlarmConfigDTO.setClassCode(classCode);
                 addAlarmConfigDTO.setLevel(alarmCondition.getAlarmLevel());
                 addAlarmConfigDTO.setLevel(alarmCondition.getAlarmLevel());
                 addAlarmConfigDTO.setCategory("Eqdx");
                 addAlarmConfigDTO.setCategory("Eqdx");
@@ -358,15 +360,19 @@ public class GroupAlarmRuleServiceImpl extends ServiceImpl<GroupAlarmRuleMapper,
     @Override
     @Override
     @Transactional(rollbackFor = Exception.class)
     @Transactional(rollbackFor = Exception.class)
     public void delete(DeleteGroupAlarmRuleDTO deleteGroupAlarmRuleDTO) throws Exception {
     public void delete(DeleteGroupAlarmRuleDTO deleteGroupAlarmRuleDTO) throws Exception {
-        this.deleteGroupAlarmRule(deleteGroupAlarmRuleDTO.getId());
+        String groupRuleId = deleteGroupAlarmRuleDTO.getId();
+        GetGroupAlarmRuleDTO getGroupAlarmRuleDTO = new GetGroupAlarmRuleDTO();
+        getGroupAlarmRuleDTO.setGroupId(groupRuleId);
+        GroupAlarmRule groupAlarmRule = getGroupAlarmRule(getGroupAlarmRuleDTO);
+        this.deleteGroupAlarmRule(groupRuleId);
         alarmConditionService.deleteAlarmCondition(deleteGroupAlarmRuleDTO.getAlarmConditionId());
         alarmConditionService.deleteAlarmCondition(deleteGroupAlarmRuleDTO.getAlarmConditionId());
         projectAlarmRuleObjRelService.deleteBatch();
         projectAlarmRuleObjRelService.deleteBatch();
         String condition = deleteGroupAlarmRuleDTO.getCondition();
         String condition = deleteGroupAlarmRuleDTO.getCondition();
         String classCode = deleteGroupAlarmRuleDTO.getClassCode();
         String classCode = deleteGroupAlarmRuleDTO.getClassCode();
-        deleteEquipCondition(condition,classCode);
+        deleteEquipCondition(condition,classCode, groupAlarmRule.getAlarmItemCode());
     }
     }
 
 
-    public void deleteEquipCondition(String condition,String classCode) throws Exception {
+    public void deleteEquipCondition(String condition,String classCode, String alarmItemCode) throws Exception {
         //删除设备报警条件 begin
         //删除设备报警条件 begin
         BatchDeleteAlarmConfigDTO batchDeleteAlarmConfigDTO = new BatchDeleteAlarmConfigDTO();
         BatchDeleteAlarmConfigDTO batchDeleteAlarmConfigDTO = new BatchDeleteAlarmConfigDTO();
         List<DeleteAlarmConfigDTO> alarmConfigs = new ArrayList<>();
         List<DeleteAlarmConfigDTO> alarmConfigs = new ArrayList<>();
@@ -376,6 +382,7 @@ public class GroupAlarmRuleServiceImpl extends ServiceImpl<GroupAlarmRuleMapper,
         List<String> objIds = equips.stream().map(EquipItem::getId).collect(Collectors.toList());
         List<String> objIds = equips.stream().map(EquipItem::getId).collect(Collectors.toList());
         QueryAlarmConfigDTO queryAlarmConfigDTO = new QueryAlarmConfigDTO();
         QueryAlarmConfigDTO queryAlarmConfigDTO = new QueryAlarmConfigDTO();
         queryAlarmConfigDTO.setObjId(objIds);
         queryAlarmConfigDTO.setObjId(objIds);
+        queryAlarmConfigDTO.setItemCode(Lists.newArrayList(alarmItemCode));
         DmpResult<List<AlarmConfigItem>> query = alarmConfigService.query(queryAlarmConfigDTO);
         DmpResult<List<AlarmConfigItem>> query = alarmConfigService.query(queryAlarmConfigDTO);
         //所有设备条件
         //所有设备条件
         List<AlarmConfigItem> data = query.getData();
         List<AlarmConfigItem> data = query.getData();