xujiaheng 3 rokov pred
rodič
commit
e02580a44a

+ 1 - 1
src/main/java/com/persagy/apm/alarmservice/group/alarmrule/model/dto/DeleteGroupAlarmRuleDTO.java

@@ -27,6 +27,6 @@ public class DeleteGroupAlarmRuleDTO {
     private String classCode;
 
     @ApiModelProperty(value = "查询条件",required = true)
-    @NotBlank(message = "查询条件必传")
+    //@NotBlank(message = "查询条件必传")
     private String condition;
 }

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

@@ -187,17 +187,7 @@ public class GroupAlarmRuleServiceImpl extends ServiceImpl<GroupAlarmRuleMapper,
             List<UpdateAlarmConfigDTO> updateAlarmConfigDTOs = new ArrayList();
             String condition = updateGroupAlarmRuleDTO.getCondition();
             String classCode = updateGroupAlarmRuleDTO.getClassCode();
-            List<ProjectVO> projects = projectAlarmRuleService.getProject();
-            List<EquipItem> records = new ArrayList<>();
-            for (ProjectVO project : projects) {
-                QueryEquipDTO queryEquipDTO = new QueryEquipDTO();
-                queryEquipDTO.setClassCode(classCode);
-                queryEquipDTO.setCondition(condition);
-                queryEquipDTO.setProjectId(project.getProjectId());
-                List<EquipItem> equipList = groupManagementService.getEquipList(queryEquipDTO);
-                records.addAll(equipList);
-            }
-
+            List<EquipItem> records = this.getAllEquip(classCode, condition);
             Map<String, Object> stringMap = alarmConditionService.frontend2Backend(alarmCondition.getFrontend());
             for (EquipItem record : records) {
                 AlarmCondition alarmCondit = new AlarmCondition();
@@ -345,21 +335,23 @@ public class GroupAlarmRuleServiceImpl extends ServiceImpl<GroupAlarmRuleMapper,
         String condition = deleteGroupAlarmRuleDTO.getCondition();
         String classCode = deleteGroupAlarmRuleDTO.getClassCode();
         //查询所有设备
-        List<EquipItem> records = groupManagementService.getEquipList(condition, classCode);
-        List<String> objIds = records.stream().map(EquipItem::getId).collect(Collectors.toList());
+        List<EquipItem> equips = this.getAllEquip(classCode, condition);
+        List<String> objIds = equips.stream().map(EquipItem::getId).collect(Collectors.toList());
         QueryAlarmConfigDTO queryAlarmConfigDTO = new QueryAlarmConfigDTO();
         queryAlarmConfigDTO.setObjId(objIds);
         DmpResult<List<AlarmConfigItem>> query = alarmConfigService.query(queryAlarmConfigDTO);
         //所有设备条件
         List<AlarmConfigItem> data = query.getData();
         //组织删除参数
-        data.forEach(alarmConfigItem -> {
-            DeleteAlarmConfigDTO deleteAlarmConfigDTO = new DeleteAlarmConfigDTO();
-            deleteAlarmConfigDTO.setId(alarmConfigItem.getId());
-            alarmConfigs.add(deleteAlarmConfigDTO);
-        });
-        batchDeleteAlarmConfigDTO.setAlarmConfigs(alarmConfigs);
-        alarmConfigService.batchDelete(batchDeleteAlarmConfigDTO);
+        if(data.size()>0){
+            data.forEach(alarmConfigItem -> {
+                DeleteAlarmConfigDTO deleteAlarmConfigDTO = new DeleteAlarmConfigDTO();
+                deleteAlarmConfigDTO.setId(alarmConfigItem.getId());
+                alarmConfigs.add(deleteAlarmConfigDTO);
+            });
+            batchDeleteAlarmConfigDTO.setAlarmConfigs(alarmConfigs);
+            alarmConfigService.batchDelete(batchDeleteAlarmConfigDTO);
+        }
         //删除设备报警条件 end
     }
 
@@ -410,4 +402,19 @@ public class GroupAlarmRuleServiceImpl extends ServiceImpl<GroupAlarmRuleMapper,
         }
         return result;
     }
+
+    public List<EquipItem> getAllEquip(String classCode,String condition){
+        //查询所有项目
+        List<ProjectVO> projects = projectAlarmRuleService.getProject();
+        List<EquipItem> records = new ArrayList<>();
+        for (ProjectVO project : projects) {
+            QueryEquipDTO queryEquipDTO = new QueryEquipDTO();
+            queryEquipDTO.setProjectId(project.getProjectId());
+            queryEquipDTO.setClassCode(classCode);
+            queryEquipDTO.setCondition(condition);
+            List<EquipItem> record = groupManagementService.getEquipList(queryEquipDTO);
+            records.addAll(record);
+        }
+        return records;
+    }
 }

+ 5 - 3
src/main/resources/mapper/ProjectAlarmRuleMapper.xml

@@ -38,8 +38,10 @@
         select count(*)
         from project_alarm_rule a
         left join project_alarm_rule_obj_rel b on a.id = b.project_alarm_rule_id
-        where a.group_id = #{groupId}
-        and a.alarm_item_code = #{alarmItemCode}
+        where a.group_id = #{groupId} and a.valid = 1
+        <if test="alarmItemCode != null and alarmItemCode != ''">
+            and a.alarm_item_code = #{alarmItemCode}
+        </if>
         <if test="equipName != null and equipName != ''">
             and b.obj_name like '%${equipName}%'
         </if>
@@ -64,7 +66,7 @@
         from project_alarm_rule a
         left join project_alarm_rule_obj_rel b on a.id = b.project_alarm_rule_id
         left join alarm_condition c on a.alarm_condition_id = c.id
-        where a.group_id = #{groupId}
+        where a.group_id = #{groupId} and a.valid = 1
         <if test="alarmItemCode != null and alarmItemCode != ''">
             and a.alarm_item_code = #{alarmItemCode}
         </if>