|
@@ -1,14 +1,10 @@
|
|
|
package com.persagy.apm.alarmservice.project.alarmrule.service.impl;
|
|
|
|
|
|
-import com.alibaba.fastjson.JSON;
|
|
|
-import com.alibaba.fastjson.JSONArray;
|
|
|
-import com.alibaba.fastjson.JSONObject;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.persagy.apm.alarmservice.common.configuration.rabbitmq.RabbitMsgSender;
|
|
|
-import com.persagy.apm.alarmservice.common.model.DmpMessage;
|
|
|
import com.persagy.apm.alarmservice.common.util.DataUtils;
|
|
|
import com.persagy.apm.alarmservice.group.alarmrule.model.GroupAlarmRule;
|
|
|
import com.persagy.apm.alarmservice.group.alarmrule.model.dto.AddGroupAlarmRuleDTO;
|
|
@@ -39,16 +35,14 @@ 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.AlarmEffectTime;
|
|
|
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 lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.commons.lang.StringUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
-import org.springframework.util.CollectionUtils;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.Date;
|
|
@@ -65,6 +59,7 @@ import static org.apache.commons.lang3.math.NumberUtils.INTEGER_ONE;
|
|
|
* @version V1.0 2021-09-08 22:46:16
|
|
|
*/
|
|
|
@Service
|
|
|
+@Slf4j
|
|
|
public class ProjectAlarmRuleServiceImpl extends ServiceImpl<ProjectAlarmRuleMapper, ProjectAlarmRule>
|
|
|
implements IProjectAlarmRuleService {
|
|
|
|
|
@@ -114,45 +109,47 @@ public class ProjectAlarmRuleServiceImpl extends ServiceImpl<ProjectAlarmRuleMap
|
|
|
});
|
|
|
//保存报警对象
|
|
|
projectAlarmRuleObjRelService.saveProjectAlarmRule(addEquipList);
|
|
|
- //保存中台规则
|
|
|
- BatchAddAlarmConfigDTO batchAddAlarmConfigDTO = new BatchAddAlarmConfigDTO();
|
|
|
- List<AddAlarmConfigDTO> alarmConfigs = new ArrayList<>();
|
|
|
- for (ProjectAlarmRuleObjRel ProjectAlarmRuleObjRel : addEquipList) {
|
|
|
- AddAlarmConfigDTO addAlarmConfigDTO = new AddAlarmConfigDTO();
|
|
|
- String equipId = ProjectAlarmRuleObjRel.getObjId();
|
|
|
- addAlarmConfigDTO.setObjId(equipId);
|
|
|
- addAlarmConfigDTO.setItemCode(addProjectAlarmRuleDTO.getAlarmItemCode());
|
|
|
- addAlarmConfigDTO.setClassCode(addProjectAlarmRuleDTO.getClassCode());
|
|
|
- addAlarmConfigDTO.setLevel(alarmConditionDTO.getAlarmLevel());
|
|
|
- addAlarmConfigDTO.setCategory("Eqdx");
|
|
|
- addAlarmConfigDTO.setOpen(1);
|
|
|
- AlarmCondition equipCondition = new AlarmCondition();
|
|
|
- List<String> infoCodeList = (List<String>) alarmConditionMap.get("infoCode");
|
|
|
- List<String> infoCodeNew = new ArrayList<>();
|
|
|
- for (String infoCode : infoCodeList) {
|
|
|
- String replacement = equipId + "_" + infoCode;
|
|
|
- infoCodeNew.add(infoCode.replaceAll(infoCode, replacement));
|
|
|
- }
|
|
|
- equipCondition.setInfoCode(infoCodeNew);
|
|
|
- String backend = (String) alarmConditionMap.get("backend");
|
|
|
- for (String infoCode : infoCodeList) {
|
|
|
- String replacement = equipId + "_" + infoCode;
|
|
|
- backend = backend.replaceAll(infoCode, replacement);
|
|
|
- }
|
|
|
- equipCondition.setEnd("!" + backend);
|
|
|
- equipCondition.setEndUphold(0);
|
|
|
- equipCondition.setTrigger(backend);
|
|
|
- equipCondition.setTriggerUphold(alarmConditionDTO.getTriggerUphold() * 60);
|
|
|
- equipCondition.setRules((List<String>) alarmConditionMap.get("displayFormula"));
|
|
|
- JSONArray configs = JSONArray.parseArray(JSON.toJSONString(alarmConditionDTO.getFrontend()));
|
|
|
- equipCondition.setConfigs(configs);
|
|
|
- AlarmEffectTime effectTime = new AlarmEffectTime();
|
|
|
- effectTime.setType("always");
|
|
|
- equipCondition.setEffectTime(effectTime);
|
|
|
- addAlarmConfigDTO.setCondition(equipCondition);
|
|
|
- alarmConfigs.add(addAlarmConfigDTO);
|
|
|
- }
|
|
|
- sendBatchCreateAlarmConfigMsg(alarmConfigs, addProjectAlarmRuleDTO.getProjectId());
|
|
|
+
|
|
|
+ // 勿删后续可能启用 lixing
|
|
|
+// //保存中台规则
|
|
|
+// BatchAddAlarmConfigDTO batchAddAlarmConfigDTO = new BatchAddAlarmConfigDTO();
|
|
|
+// List<AddAlarmConfigDTO> alarmConfigs = new ArrayList<>();
|
|
|
+// for (ProjectAlarmRuleObjRel ProjectAlarmRuleObjRel : addEquipList) {
|
|
|
+// AddAlarmConfigDTO addAlarmConfigDTO = new AddAlarmConfigDTO();
|
|
|
+// String equipId = ProjectAlarmRuleObjRel.getObjId();
|
|
|
+// addAlarmConfigDTO.setObjId(equipId);
|
|
|
+// addAlarmConfigDTO.setItemCode(addProjectAlarmRuleDTO.getAlarmItemCode());
|
|
|
+// addAlarmConfigDTO.setClassCode(addProjectAlarmRuleDTO.getClassCode());
|
|
|
+// addAlarmConfigDTO.setLevel(alarmConditionDTO.getAlarmLevel());
|
|
|
+// addAlarmConfigDTO.setCategory("Eqdx");
|
|
|
+// addAlarmConfigDTO.setOpen(1);
|
|
|
+// AlarmCondition equipCondition = new AlarmCondition();
|
|
|
+// List<String> infoCodeList = (List<String>) alarmConditionMap.get("infoCode");
|
|
|
+// List<String> infoCodeNew = new ArrayList<>();
|
|
|
+// for (String infoCode : infoCodeList) {
|
|
|
+// String replacement = equipId + "_" + infoCode;
|
|
|
+// infoCodeNew.add(infoCode.replaceAll(infoCode, replacement));
|
|
|
+// }
|
|
|
+// equipCondition.setInfoCode(infoCodeNew);
|
|
|
+// String backend = (String) alarmConditionMap.get("backend");
|
|
|
+// for (String infoCode : infoCodeList) {
|
|
|
+// String replacement = equipId + "_" + infoCode;
|
|
|
+// backend = backend.replaceAll(infoCode, replacement);
|
|
|
+// }
|
|
|
+// equipCondition.setEnd("!" + backend);
|
|
|
+// equipCondition.setEndUphold(0);
|
|
|
+// equipCondition.setTrigger(backend);
|
|
|
+// equipCondition.setTriggerUphold(alarmConditionDTO.getTriggerUphold() * 60);
|
|
|
+// equipCondition.setRules((List<String>) alarmConditionMap.get("displayFormula"));
|
|
|
+// JSONArray configs = JSONArray.parseArray(JSON.toJSONString(alarmConditionDTO.getFrontend()));
|
|
|
+// equipCondition.setConfigs(configs);
|
|
|
+// AlarmEffectTime effectTime = new AlarmEffectTime();
|
|
|
+// effectTime.setType("always");
|
|
|
+// equipCondition.setEffectTime(effectTime);
|
|
|
+// addAlarmConfigDTO.setCondition(equipCondition);
|
|
|
+// alarmConfigs.add(addAlarmConfigDTO);
|
|
|
+// }
|
|
|
+// sendBatchCreateAlarmConfigMsg(alarmConfigs, addProjectAlarmRuleDTO.getProjectId());
|
|
|
return projectAlarmRule.getId();
|
|
|
}
|
|
|
|
|
@@ -209,7 +206,7 @@ public class ProjectAlarmRuleServiceImpl extends ServiceImpl<ProjectAlarmRuleMap
|
|
|
alarmConditionService.saveCondition(condition);
|
|
|
//将规则ID传给项目报警
|
|
|
projectAlarmRule.setAlarmConditionId(uuid);
|
|
|
- } else if (belongOld < belongNew) {//项目自定义规则->集团规则
|
|
|
+ } else if (belongOld < belongNew) {// 项目自定义规则->集团规则
|
|
|
//删除自定义规则
|
|
|
ProjectAlarmRule projectAlarm = getById(updateProjectAlarmRuleDTO.getId());
|
|
|
alarmConditionService.deleteAlarmCondition(projectAlarm.getAlarmConditionId());
|
|
@@ -219,10 +216,10 @@ public class ProjectAlarmRuleServiceImpl extends ServiceImpl<ProjectAlarmRuleMap
|
|
|
getGroupAlarmRuleDTO.setAlarmItemCode(updateProjectAlarmRuleDTO.getAlarmItemCode());
|
|
|
GroupAlarmRule groupAlarmRule = groupAlarmRuleService.getGroupAlarmRule(getGroupAlarmRuleDTO);
|
|
|
projectAlarmRule.setAlarmConditionId(groupAlarmRule.getAlarmConditionId());
|
|
|
- } else if (belongOld == 0 && belongNew == 0) {//项目自定义规则->项目自定义规则
|
|
|
+ } else if (belongOld == 0 && belongNew == 0) {// 项目自定义规则->项目自定义规则
|
|
|
//修改自定义规则
|
|
|
UpdateAlarmConditionDTO updateAlarmConditionDTO = new UpdateAlarmConditionDTO();
|
|
|
- updateAlarmConditionDTO.setFrontend(alarmCondition.getFrontend());
|
|
|
+ updateAlarmConditionDTO.setFrontend(alarmCondition.getTriggerFrontend());
|
|
|
updateAlarmConditionDTO.setId(updateProjectAlarmRuleDTO.getAlarmConditionId());
|
|
|
updateAlarmConditionDTO.setTriggerUphold(alarmCondition.getTriggerUphold());
|
|
|
updateAlarmConditionDTO.setAlarmLevel(alarmCondition.getAlarmLevel());
|
|
@@ -242,49 +239,50 @@ public class ProjectAlarmRuleServiceImpl extends ServiceImpl<ProjectAlarmRuleMap
|
|
|
String id = updateProjectAlarmRuleDTO.getId();
|
|
|
List<AddProjectAlarmRuleObjRelDTO> addRelations = convert2AddProjectAlarmRuleObjRelDTO(addRelationList, id, projectId);
|
|
|
projectAlarmRuleObjRelService.createBatchRelation(addRelations);
|
|
|
- String condition = updateProjectAlarmRuleDTO.getCondition();
|
|
|
- String classCode = updateProjectAlarmRuleDTO.getClassCode();
|
|
|
- String alarmItemCode = updateProjectAlarmRuleDTO.getAlarmItemCode();
|
|
|
- //删除中台报警条件
|
|
|
- groupAlarmRuleService.deleteEquipCondition(condition, classCode, alarmItemCode);
|
|
|
- //新增中台报警条件
|
|
|
- List<AddAlarmConfigDTO> alarmConfigs = new ArrayList<>();
|
|
|
- for (AddProjectAlarmRuleObjRelDTO equipRel : addRelations) {
|
|
|
- AddAlarmConfigDTO addAlarmConfigDTO = new AddAlarmConfigDTO();
|
|
|
- String equipId = equipRel.getObjId();
|
|
|
- addAlarmConfigDTO.setObjId(equipId);
|
|
|
- addAlarmConfigDTO.setItemCode(alarmItemCode);
|
|
|
- addAlarmConfigDTO.setClassCode(classCode);
|
|
|
- addAlarmConfigDTO.setLevel(alarmCondition.getAlarmLevel());
|
|
|
- addAlarmConfigDTO.setCategory("Eqdx");
|
|
|
- addAlarmConfigDTO.setOpen(1);
|
|
|
- AlarmCondition equipCondition = new AlarmCondition();
|
|
|
- List<String> infoCodeList = (List<String>) conditionMap.get("infoCode");
|
|
|
- List<String> infoCodeNew = new ArrayList<>();
|
|
|
- for (String infoCode : infoCodeList) {
|
|
|
- String replacement = equipId + "_" + infoCode;
|
|
|
- infoCodeNew.add(infoCode.replaceAll(infoCode, replacement));
|
|
|
- }
|
|
|
- equipCondition.setInfoCode(infoCodeNew);
|
|
|
- String backend = (String) conditionMap.get("backend");
|
|
|
- for (String infoCode : infoCodeList) {
|
|
|
- String replacement = equipId + "_" + infoCode;
|
|
|
- backend = backend.replaceAll(infoCode, replacement);
|
|
|
- }
|
|
|
- equipCondition.setEnd("!" + backend);
|
|
|
- equipCondition.setEndUphold(0);
|
|
|
- equipCondition.setTrigger(backend);
|
|
|
- equipCondition.setTriggerUphold(alarmCondition.getTriggerUphold() * 60);
|
|
|
- equipCondition.setRules((List<String>) conditionMap.get("displayFormula"));
|
|
|
- JSONArray configs = JSONArray.parseArray(JSON.toJSONString(alarmCondition.getFrontend()));
|
|
|
- equipCondition.setConfigs(configs);
|
|
|
- AlarmEffectTime effectTime = new AlarmEffectTime();
|
|
|
- effectTime.setType("always");
|
|
|
- equipCondition.setEffectTime(effectTime);
|
|
|
- addAlarmConfigDTO.setCondition(equipCondition);
|
|
|
- alarmConfigs.add(addAlarmConfigDTO);
|
|
|
- }
|
|
|
- sendBatchCreateAlarmConfigMsg(alarmConfigs, projectId);
|
|
|
+ // 勿删后续可能启用 lixing
|
|
|
+// String condition = updateProjectAlarmRuleDTO.getCondition();
|
|
|
+// String classCode = updateProjectAlarmRuleDTO.getClassCode();
|
|
|
+// String alarmItemCode = updateProjectAlarmRuleDTO.getAlarmItemCode();
|
|
|
+// //删除中台报警条件
|
|
|
+// groupAlarmRuleService.deleteEquipCondition(condition, classCode, alarmItemCode);
|
|
|
+// //新增中台报警条件
|
|
|
+// List<AddAlarmConfigDTO> alarmConfigs = new ArrayList<>();
|
|
|
+// for (AddProjectAlarmRuleObjRelDTO equipRel : addRelations) {
|
|
|
+// AddAlarmConfigDTO addAlarmConfigDTO = new AddAlarmConfigDTO();
|
|
|
+// String equipId = equipRel.getObjId();
|
|
|
+// addAlarmConfigDTO.setObjId(equipId);
|
|
|
+// addAlarmConfigDTO.setItemCode(alarmItemCode);
|
|
|
+// addAlarmConfigDTO.setClassCode(classCode);
|
|
|
+// addAlarmConfigDTO.setLevel(alarmCondition.getAlarmLevel());
|
|
|
+// addAlarmConfigDTO.setCategory("Eqdx");
|
|
|
+// addAlarmConfigDTO.setOpen(1);
|
|
|
+// AlarmCondition equipCondition = new AlarmCondition();
|
|
|
+// List<String> infoCodeList = (List<String>) conditionMap.get("infoCode");
|
|
|
+// List<String> infoCodeNew = new ArrayList<>();
|
|
|
+// for (String infoCode : infoCodeList) {
|
|
|
+// String replacement = equipId + "_" + infoCode;
|
|
|
+// infoCodeNew.add(infoCode.replaceAll(infoCode, replacement));
|
|
|
+// }
|
|
|
+// equipCondition.setInfoCode(infoCodeNew);
|
|
|
+// String backend = (String) conditionMap.get("backend");
|
|
|
+// for (String infoCode : infoCodeList) {
|
|
|
+// String replacement = equipId + "_" + infoCode;
|
|
|
+// backend = backend.replaceAll(infoCode, replacement);
|
|
|
+// }
|
|
|
+// equipCondition.setEnd("!" + backend);
|
|
|
+// equipCondition.setEndUphold(0);
|
|
|
+// equipCondition.setTrigger(backend);
|
|
|
+// equipCondition.setTriggerUphold(alarmCondition.getTriggerUphold() * 60);
|
|
|
+// equipCondition.setRules((List<String>) conditionMap.get("displayFormula"));
|
|
|
+// JSONArray configs = JSONArray.parseArray(JSON.toJSONString(alarmCondition.getFrontend()));
|
|
|
+// equipCondition.setConfigs(configs);
|
|
|
+// AlarmEffectTime effectTime = new AlarmEffectTime();
|
|
|
+// effectTime.setType("always");
|
|
|
+// equipCondition.setEffectTime(effectTime);
|
|
|
+// addAlarmConfigDTO.setCondition(equipCondition);
|
|
|
+// alarmConfigs.add(addAlarmConfigDTO);
|
|
|
+// }
|
|
|
+// sendBatchCreateAlarmConfigMsg(alarmConfigs, projectId);
|
|
|
}
|
|
|
|
|
|
private List<AddProjectAlarmRuleObjRelDTO> convert2AddProjectAlarmRuleObjRelDTO(List<UpdateAlarmItemDTO> addRelationList, String id, String projectId) {
|
|
@@ -448,39 +446,16 @@ public class ProjectAlarmRuleServiceImpl extends ServiceImpl<ProjectAlarmRuleMap
|
|
|
queryWrapper.eq(ProjectAlarmRule.PROP_VALID, ValidEnum.TRUE.getType());
|
|
|
// 这里认为pageQueryDTO是经过校验的,肯定包含分页信息
|
|
|
IPage<ProjectAlarmRule> pageParam = new Page<>(pageQueryProjectAlarmRuleDTO.getPage(), pageQueryProjectAlarmRuleDTO.getSize(), true);
|
|
|
- // 排序信息
|
|
|
- // if(CollectionUtils.isEmpty(pageQueryProjectAlarmRuleDTO.getOrders())){
|
|
|
- // 默认按创建时间倒序排序
|
|
|
queryWrapper.orderBy(true, false, ProjectAlarmRule.PROP_CREATIONTIME);
|
|
|
- /*}else {
|
|
|
- List<Sort> orders = pageQueryProjectAlarmRuleDTO.getOrders();
|
|
|
- for(Sort sort: orders) {
|
|
|
- // 将驼峰转换为下划线格式
|
|
|
- sort.setColumn(CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE,sort.getColumn()));
|
|
|
- queryWrapper.orderBy(true, sort.isAsc(), sort.getColumn());
|
|
|
- }
|
|
|
- }*/
|
|
|
|
|
|
- // todo 需判断使用like还是eq
|
|
|
if (StringUtils.isNotEmpty(pageQueryProjectAlarmRuleDTO.getGroupId())) {
|
|
|
queryWrapper.eq(ProjectAlarmRule.PROP_GROUP_ID, pageQueryProjectAlarmRuleDTO.getGroupId());
|
|
|
}
|
|
|
|
|
|
- // todo 需判断使用like还是eq
|
|
|
if (StringUtils.isNotEmpty(pageQueryProjectAlarmRuleDTO.getAlarmItemCode())) {
|
|
|
queryWrapper.eq(ProjectAlarmRule.PROP_ALARM_ITEM_CODE, pageQueryProjectAlarmRuleDTO.getAlarmItemCode());
|
|
|
}
|
|
|
|
|
|
- // todo 需判断使用like还是eq
|
|
|
- /*if (StringUtils.isNotEmpty(pageQueryProjectAlarmRuleDTO.getAlarmConditionId())) {
|
|
|
- queryWrapper.like(ProjectAlarmRule.PROP_ALARM_CONDITION_ID, pageQueryProjectAlarmRuleDTO.getAlarmConditionId());
|
|
|
- }*/
|
|
|
-
|
|
|
- // if (pageQueryProjectAlarmRuleDTO.getBelong() != null) {
|
|
|
- // queryWrapper.eq(ProjectAlarmRule.PROP_BELONG, pageQueryProjectAlarmRuleDTO.getBelong());
|
|
|
- // }
|
|
|
-
|
|
|
- // todo 需判断使用like还是eq
|
|
|
if (StringUtils.isNotEmpty(pageQueryProjectAlarmRuleDTO.getProjectId())) {
|
|
|
queryWrapper.eq(ProjectAlarmRule.PROP_PROJECT_ID, pageQueryProjectAlarmRuleDTO.getProjectId());
|
|
|
}
|
|
@@ -489,20 +464,25 @@ public class ProjectAlarmRuleServiceImpl extends ServiceImpl<ProjectAlarmRuleMap
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public List<AddProjectAlarmRuleObjRelDTO> addProjectAlarmRules(AddGroupAlarmRuleDTO addGroupAlarmRuleDTO) {
|
|
|
+ public void addProjectAlarmRules(AddGroupAlarmRuleDTO addGroupAlarmRuleDTO) {
|
|
|
String condition = addGroupAlarmRuleDTO.getCondition();
|
|
|
String classCode = addGroupAlarmRuleDTO.getClassCode();
|
|
|
//查询所有项目
|
|
|
List<ProjectVO> projects = this.getProject();
|
|
|
//遍历项目,组好对象进行插入
|
|
|
- List<ProjectAlarmRule> projectAlarmRuleList = new ArrayList<>();
|
|
|
+ List<ProjectAlarmRule> projectAlarmRuleList;
|
|
|
String alarmItemCode = addGroupAlarmRuleDTO.getAlarmItemCode();
|
|
|
String alarmItemName = addGroupAlarmRuleDTO.getAlarmItemName();
|
|
|
- List<AddProjectAlarmRuleObjRelDTO> addRelationList = new ArrayList<>();
|
|
|
+ List<AddProjectAlarmRuleObjRelDTO> addRelationList;
|
|
|
+ log.info("开始创建项目报警规则,并添加项目规则与设备的关联关系");
|
|
|
+ log.info("共有{}个项目需要创建报警规则", projects.size());
|
|
|
+ int count = 0;
|
|
|
for (ProjectVO project : projects) {
|
|
|
- String projectId = "Pj" + project.getProjectId();
|
|
|
+ projectAlarmRuleList = new ArrayList<>();
|
|
|
+ addRelationList = new ArrayList<>();
|
|
|
+
|
|
|
ProjectAlarmRule projectAlarmRule = new ProjectAlarmRule();
|
|
|
- projectAlarmRule.setProjectId(projectId);
|
|
|
+ projectAlarmRule.setProjectId(project.getProjectId());
|
|
|
projectAlarmRule.setAlarmItemCode(alarmItemCode);
|
|
|
projectAlarmRule.setAlarmItemName(alarmItemName);
|
|
|
projectAlarmRule.setBelong(INTEGER_ONE);
|
|
@@ -514,23 +494,25 @@ public class ProjectAlarmRuleServiceImpl extends ServiceImpl<ProjectAlarmRuleMap
|
|
|
projectAlarmRuleList.add(projectAlarmRule);
|
|
|
//新增关联关系
|
|
|
QueryEquipDTO queryEquipDTO = new QueryEquipDTO();
|
|
|
- queryEquipDTO.setProjectId(projectId);
|
|
|
+ queryEquipDTO.setProjectId(project.getProjectId());
|
|
|
queryEquipDTO.setClassCode(classCode);
|
|
|
queryEquipDTO.setCondition(condition);
|
|
|
List<EquipItem> records = groupManagementService.getEquipList(queryEquipDTO);
|
|
|
for (EquipItem record : records) {
|
|
|
AddProjectAlarmRuleObjRelDTO addProjectAlarmRuleObjRelDTO = new AddProjectAlarmRuleObjRelDTO();
|
|
|
addProjectAlarmRuleObjRelDTO.setProjectAlarmRuleId(projectAlarmRule.getId());
|
|
|
- addProjectAlarmRuleObjRelDTO.setProjectId(projectId);
|
|
|
+ addProjectAlarmRuleObjRelDTO.setProjectId(project.getProjectId());
|
|
|
addProjectAlarmRuleObjRelDTO.setObjId(record.getId());
|
|
|
addProjectAlarmRuleObjRelDTO.setObjName(record.getLocalName());
|
|
|
addProjectAlarmRuleObjRelDTO.setOpen(INTEGER_ONE);
|
|
|
addRelationList.add(addProjectAlarmRuleObjRelDTO);
|
|
|
}
|
|
|
+ // 按项目批量保存
|
|
|
+ projectAlarmRuleObjRelService.createBatchRelation(addRelationList);
|
|
|
+ saveBatch(projectAlarmRuleList);
|
|
|
+ count ++;
|
|
|
+ log.info("已完成{}个项目的报警规则创建, 剩余{}个项目的报警规则待创建", count, projects.size() - count);
|
|
|
}
|
|
|
- projectAlarmRuleObjRelService.createBatchRelation(addRelationList);
|
|
|
- saveBatch(projectAlarmRuleList);
|
|
|
- return addRelationList;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -555,22 +537,23 @@ public class ProjectAlarmRuleServiceImpl extends ServiceImpl<ProjectAlarmRuleMap
|
|
|
mapper.insertProject(substring);
|
|
|
}
|
|
|
|
|
|
- @Override
|
|
|
- public void sendBatchCreateAlarmConfigMsg(List<AddAlarmConfigDTO> alarmConfigs, String projectId) {
|
|
|
- if (CollectionUtils.isEmpty(alarmConfigs)) {
|
|
|
- return;
|
|
|
- }
|
|
|
- DmpMessage dmpMessage = new DmpMessage();
|
|
|
- dmpMessage.setGroupCode(PoemsContext.getContext().getGroupCode());
|
|
|
- dmpMessage.setProjectId(projectId);
|
|
|
- dmpMessage.setUserId(PoemsContext.getContext().getUserId());
|
|
|
- dmpMessage.setAppId("energy-alarm-service");
|
|
|
- dmpMessage.setType("alarmConfigBatchCreate");
|
|
|
- JSONObject exts = new JSONObject();
|
|
|
- exts.put("alarmConfigs", alarmConfigs);
|
|
|
- dmpMessage.setExts(exts);
|
|
|
- rabbitMsgSender.convertAndSend(dmpMessage);
|
|
|
- }
|
|
|
+ // 勿删后续可能启用 lixing
|
|
|
+// @Override
|
|
|
+// public void sendBatchCreateAlarmConfigMsg(List<AddAlarmConfigDTO> alarmConfigs, String projectId) {
|
|
|
+// if (CollectionUtils.isEmpty(alarmConfigs)) {
|
|
|
+// return;
|
|
|
+// }
|
|
|
+// DmpMessage dmpMessage = new DmpMessage();
|
|
|
+// dmpMessage.setGroupCode(PoemsContext.getContext().getGroupCode());
|
|
|
+// dmpMessage.setProjectId(projectId);
|
|
|
+// dmpMessage.setUserId(PoemsContext.getContext().getUserId());
|
|
|
+// dmpMessage.setAppId("energy-alarm-service");
|
|
|
+// dmpMessage.setType("alarmConfigBatchCreate");
|
|
|
+// JSONObject exts = new JSONObject();
|
|
|
+// exts.put("alarmConfigs", alarmConfigs);
|
|
|
+// dmpMessage.setExts(exts);
|
|
|
+// rabbitMsgSender.convertAndSend(dmpMessage);
|
|
|
+// }
|
|
|
|
|
|
@Override
|
|
|
public void deleteBatch(GroupAlarmRule groupAlarmRule) {
|