|
@@ -19,10 +19,7 @@ import com.persagy.apm.alarmservice.project.alarmcondition.service.IAlarmConditi
|
|
|
import com.persagy.apm.alarmservice.project.alarmrule.dao.ProjectAlarmRuleMapper;
|
|
|
import com.persagy.apm.alarmservice.project.alarmrule.model.ConvertProjectAlarmRuleTool;
|
|
|
import com.persagy.apm.alarmservice.project.alarmrule.model.ProjectAlarmRule;
|
|
|
-import com.persagy.apm.alarmservice.project.alarmrule.model.dto.AddProjectAlarmRuleDTO;
|
|
|
-import com.persagy.apm.alarmservice.project.alarmrule.model.dto.PageQueryProjectAlarmRuleDTO;
|
|
|
-import com.persagy.apm.alarmservice.project.alarmrule.model.dto.QueryProjectAlarmRuleDTO;
|
|
|
-import com.persagy.apm.alarmservice.project.alarmrule.model.dto.UpdateProjectAlarmRuleDTO;
|
|
|
+import com.persagy.apm.alarmservice.project.alarmrule.model.dto.*;
|
|
|
import com.persagy.apm.alarmservice.project.alarmrule.service.IProjectAlarmRuleService;
|
|
|
import com.persagy.apm.alarmservice.project.alarmruleobjrel.model.dto.AddProjectAlarmRuleObjRelDTO;
|
|
|
import com.persagy.apm.alarmservice.project.alarmruleobjrel.model.dto.QueryRuleObjRelDTO;
|
|
@@ -31,11 +28,10 @@ import com.persagy.apm.alarmservice.project.alarmruleobjrel.service.IProjectAlar
|
|
|
import com.persagy.apm.common.constant.enums.ValidEnum;
|
|
|
import com.persagy.apm.common.context.AppContext;
|
|
|
import com.persagy.apm.common.context.poems.PoemsContext;
|
|
|
+import com.persagy.apm.energyalarmstarter.alarmdata.feign.DmpResult;
|
|
|
import com.persagy.apm.energyalarmstarter.alarmdata.model.dto.AlarmCondition;
|
|
|
-import com.persagy.apm.energyalarmstarter.alarmdata.model.dto.alarmconfig.AddAlarmConfigDTO;
|
|
|
-import com.persagy.apm.energyalarmstarter.alarmdata.model.dto.alarmconfig.BatchAddAlarmConfigDTO;
|
|
|
-import com.persagy.apm.energyalarmstarter.alarmdata.model.dto.alarmconfig.BatchUpdateAlarmConfigDTO;
|
|
|
-import com.persagy.apm.energyalarmstarter.alarmdata.model.dto.alarmconfig.UpdateAlarmConfigDTO;
|
|
|
+import com.persagy.apm.energyalarmstarter.alarmdata.model.dto.alarmconfig.*;
|
|
|
+import com.persagy.apm.energyalarmstarter.alarmdata.model.vo.AlarmConfigItem;
|
|
|
import com.persagy.apm.energyalarmstarter.alarmdata.service.AlarmConfigServiceImpl;
|
|
|
import org.apache.commons.io.IOUtils;
|
|
|
import org.apache.commons.lang.StringUtils;
|
|
@@ -293,9 +289,9 @@ public class ProjectAlarmRuleServiceImpl extends ServiceImpl<ProjectAlarmRuleMap
|
|
|
*/
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
- public void deleteProjectAlarmRule(String id) {
|
|
|
+ public void deleteProjectAlarmRule(DeleteProjectAlarmRuleDTO deleteProjectAlarmRuleDTO) throws Exception {
|
|
|
// 校验是否可删除
|
|
|
- ProjectAlarmRule projectAlarmRule = checkDeletable(id);
|
|
|
+ ProjectAlarmRule projectAlarmRule = checkDeletable(deleteProjectAlarmRuleDTO.getId());
|
|
|
projectAlarmRule.setValid(ValidEnum.FALSE.getType());
|
|
|
updateById(projectAlarmRule);
|
|
|
//查询是否是自定义报警,是则删除自定义规则
|
|
@@ -305,6 +301,40 @@ public class ProjectAlarmRuleServiceImpl extends ServiceImpl<ProjectAlarmRuleMap
|
|
|
}
|
|
|
//删除项目报警规则与监测对象的关联
|
|
|
projectAlarmRuleObjRelService.deleteRelation(projectAlarmRule.getProjectId());
|
|
|
+ //删除设备报警条件 begin
|
|
|
+ BatchDeleteAlarmConfigDTO batchDeleteAlarmConfigDTO = new BatchDeleteAlarmConfigDTO();
|
|
|
+ List<DeleteAlarmConfigDTO> alarmConfigs = new ArrayList<>();
|
|
|
+ String condition = deleteProjectAlarmRuleDTO.getCondition();
|
|
|
+ String classCode = deleteProjectAlarmRuleDTO.getClassCode();
|
|
|
+ String projectId = deleteProjectAlarmRuleDTO.getProjectId();
|
|
|
+ //查询所有设备
|
|
|
+ List<EquipItem> equips = this.getAllEquip(classCode, condition, projectId);
|
|
|
+ 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();
|
|
|
+ //组织删除参数
|
|
|
+ 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
|
|
|
+ }
|
|
|
+
|
|
|
+ private List<EquipItem> getAllEquip(String classCode, String condition, String projectId) {
|
|
|
+ QueryEquipDTO queryEquipDTO = new QueryEquipDTO();
|
|
|
+ queryEquipDTO.setProjectId(projectId);
|
|
|
+ queryEquipDTO.setClassCode(classCode);
|
|
|
+ queryEquipDTO.setCondition(condition);
|
|
|
+ List<EquipItem> record = groupManagementService.getEquipList(queryEquipDTO);
|
|
|
+ return record;
|
|
|
}
|
|
|
|
|
|
/**
|