|
@@ -1,22 +1,53 @@
|
|
|
package com.persagy.apm.alarmservice.project.alarmrule.service.impl;
|
|
|
|
|
|
+import com.alibaba.fastjson.JSONArray;
|
|
|
+import com.persagy.apm.alarmservice.alarmcondition.model.AlarmCondition;
|
|
|
+import com.persagy.apm.alarmservice.alarmcondition.model.dto.QueryAlarmConditionDTO;
|
|
|
+import com.persagy.apm.alarmservice.alarmcondition.service.IAlarmConditionService;
|
|
|
+import com.persagy.apm.alarmservice.group.alarmrule.model.GroupAlarmRule;
|
|
|
+import com.persagy.apm.alarmservice.group.alarmrule.model.dto.AddGroupAlarmRuleDTO;
|
|
|
+import com.persagy.apm.alarmservice.group.alarmrule.model.dto.QueryGroupAlarmRuleDTO;
|
|
|
+import com.persagy.apm.alarmservice.group.alarmrule.service.IGroupAlarmRuleService;
|
|
|
+import com.persagy.apm.alarmservice.group.management.model.vo.GroupTreeVO;
|
|
|
+import com.persagy.apm.alarmservice.group.management.service.impl.GroupManagementServiceImpl;
|
|
|
+import com.persagy.apm.alarmservice.project.alarmruleobjrel.model.dto.AddProjectAlarmRuleObjRelDTO;
|
|
|
+import com.persagy.apm.alarmservice.project.alarmruleobjrel.model.vo.ProjectVO;
|
|
|
+import com.persagy.apm.alarmservice.project.alarmruleobjrel.service.IProjectAlarmRuleObjRelService;
|
|
|
+import com.persagy.apm.common.configuration.DataUtils;
|
|
|
import com.persagy.apm.common.context.AppContext;
|
|
|
import com.persagy.apm.alarmservice.project.alarmrule.dao.ProjectAlarmRuleMapper;
|
|
|
import com.persagy.apm.alarmservice.project.alarmrule.service.IProjectAlarmRuleService;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.persagy.apm.common.context.poems.PoemsContext;
|
|
|
+import com.persagy.apm.common.method.CommonMethod;
|
|
|
+import com.persagy.apm.common.response.PageList;
|
|
|
+import com.persagy.apm.model.dto.GroupManagementDTO;
|
|
|
+import com.persagy.apm.model.vo.GroupManagementVo;
|
|
|
+import org.apache.commons.io.IOUtils;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.apache.commons.lang.StringUtils;
|
|
|
import com.persagy.apm.common.constant.enums.ValidEnum;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.persagy.apm.alarmservice.project.alarmrule.model.*;
|
|
|
import com.persagy.apm.alarmservice.project.alarmrule.model.dto.*;
|
|
|
+
|
|
|
+import java.io.File;
|
|
|
+import java.io.IOException;
|
|
|
+import java.io.InputStream;
|
|
|
+import java.nio.charset.StandardCharsets;
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.Date;
|
|
|
import java.util.List;
|
|
|
+
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.google.common.base.CaseFormat;
|
|
|
import com.persagy.apm.common.model.dto.Sort;
|
|
|
import org.springframework.util.CollectionUtils;
|
|
|
|
|
|
+import static org.apache.commons.lang3.math.NumberUtils.INTEGER_ONE;
|
|
|
+
|
|
|
/**
|
|
|
* 项目报警规则(ProjectAlarmRule) service层
|
|
|
*
|
|
@@ -24,24 +55,49 @@ import org.springframework.util.CollectionUtils;
|
|
|
* @version V1.0 2021-09-08 22:46:16
|
|
|
*/
|
|
|
@Service
|
|
|
-public class ProjectAlarmRuleServiceImpl extends ServiceImpl<ProjectAlarmRuleMapper, ProjectAlarmRule>
|
|
|
- implements IProjectAlarmRuleService {
|
|
|
-
|
|
|
+public class ProjectAlarmRuleServiceImpl extends ServiceImpl<ProjectAlarmRuleMapper, ProjectAlarmRule>
|
|
|
+ implements IProjectAlarmRuleService {
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private IProjectAlarmRuleObjRelService projectAlarmRuleObjRelService;
|
|
|
+ @Autowired
|
|
|
+ private IAlarmConditionService alarmConditionService;
|
|
|
+ @Autowired
|
|
|
+ private IGroupAlarmRuleService groupAlarmRuleService;
|
|
|
+ @Autowired
|
|
|
+ private GroupManagementServiceImpl groupManagementService;
|
|
|
+
|
|
|
/**
|
|
|
- * 创建项目报警规则
|
|
|
- * @return 项目报警规则主键
|
|
|
- * @author lixing
|
|
|
- * @version V1.0 2021-09-08 22:46:16
|
|
|
- */
|
|
|
+ * 创建项目报警规则
|
|
|
+ *
|
|
|
+ * @return 项目报警规则主键
|
|
|
+ * @author lixing
|
|
|
+ * @version V1.0 2021-09-08 22:46:16
|
|
|
+ */
|
|
|
@Override
|
|
|
public String createProjectAlarmRule(AddProjectAlarmRuleDTO addProjectAlarmRuleDTO) {
|
|
|
ProjectAlarmRule projectAlarmRule = ConvertProjectAlarmRuleTool.INSTANCE.convertAddDto2Entity(addProjectAlarmRuleDTO);
|
|
|
+ if (addProjectAlarmRuleDTO.getBelong() == INTEGER_ONE) {
|
|
|
+ //查询对应报警类型的集团规则,将ID添加到项目规则表
|
|
|
+ QueryGroupAlarmRuleDTO queryAlarmConditionDTO = new QueryGroupAlarmRuleDTO();
|
|
|
+ queryAlarmConditionDTO.setAlarmItemCode(addProjectAlarmRuleDTO.getAlarmItemCode());
|
|
|
+ List<GroupAlarmRule> groupAlarmRuleList = groupAlarmRuleService.queryGroupAlarmRuleList(queryAlarmConditionDTO);
|
|
|
+ String conditionId = groupAlarmRuleList.get(0).getAlarmConditionId();
|
|
|
+ projectAlarmRule.setAlarmConditionId(conditionId);
|
|
|
+ }else {
|
|
|
+ //新增自定义的规则
|
|
|
+ String conditionId = alarmConditionService.createAlarmCondition(addProjectAlarmRuleDTO.getAlarmCondition());
|
|
|
+ projectAlarmRule.setAlarmConditionId(conditionId);
|
|
|
+ }
|
|
|
+ //新增关联关系
|
|
|
+ projectAlarmRuleObjRelService.createBatchRelation(addProjectAlarmRuleDTO.getAddRelationList());
|
|
|
// 设置默认值
|
|
|
+ projectAlarmRule.setCreationTime(new Date());
|
|
|
setDefaultValue(projectAlarmRule);
|
|
|
save(projectAlarmRule);
|
|
|
return projectAlarmRule.getId();
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
/**
|
|
|
* 如果某些字段没有赋值,使用默认的值
|
|
|
*
|
|
@@ -51,17 +107,20 @@ public class ProjectAlarmRuleServiceImpl extends ServiceImpl<ProjectAlarmRuleMap
|
|
|
*/
|
|
|
private void setDefaultValue(ProjectAlarmRule projectAlarmRule) {
|
|
|
projectAlarmRule.setCreator(AppContext.getContext().getAccountId());
|
|
|
+ projectAlarmRule.setId(DataUtils.getUUID());
|
|
|
+ projectAlarmRule.setModifiedTime(new Date());
|
|
|
// todo 其他默认的属性
|
|
|
-
|
|
|
+
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
/**
|
|
|
- * 项目报警规则详情
|
|
|
- * @param id 主键
|
|
|
- * @return 部门do类
|
|
|
- * @author lixing
|
|
|
- * @version V1.0 2021-09-08 22:46:16
|
|
|
- */
|
|
|
+ * 项目报警规则详情
|
|
|
+ *
|
|
|
+ * @param id 主键
|
|
|
+ * @return 部门do类
|
|
|
+ * @author lixing
|
|
|
+ * @version V1.0 2021-09-08 22:46:16
|
|
|
+ */
|
|
|
@Override
|
|
|
public ProjectAlarmRule queryProjectAlarmRuleDetail(String id) {
|
|
|
ProjectAlarmRule projectAlarmRule = getById(id);
|
|
@@ -70,20 +129,53 @@ public class ProjectAlarmRuleServiceImpl extends ServiceImpl<ProjectAlarmRuleMap
|
|
|
}
|
|
|
return projectAlarmRule;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
/**
|
|
|
- * 更新项目报警规则
|
|
|
- * @author lixing
|
|
|
- * @version V1.0 2021-09-08 22:46:16
|
|
|
- */
|
|
|
+ * 更新项目报警规则
|
|
|
+ *
|
|
|
+ * @author lixing
|
|
|
+ * @version V1.0 2021-09-08 22:46:16
|
|
|
+ */
|
|
|
@Override
|
|
|
public void updateProjectAlarmRule(UpdateProjectAlarmRuleDTO updateProjectAlarmRuleDTO) {
|
|
|
ProjectAlarmRule projectAlarmRule = getById(updateProjectAlarmRuleDTO.getId());
|
|
|
projectAlarmRule = ConvertProjectAlarmRuleTool.INSTANCE.convertUpdateDto2Entity(projectAlarmRule, updateProjectAlarmRuleDTO);
|
|
|
projectAlarmRule.setModifier(AppContext.getContext().getAccountId());
|
|
|
+ //查询已有报警
|
|
|
+ ProjectAlarmRule projectRule = getById(updateProjectAlarmRuleDTO.getId());
|
|
|
+ int belongOld = projectRule.getBelong();
|
|
|
+ int belongNew = updateProjectAlarmRuleDTO.getBelong();
|
|
|
+ //删除对应项目、报警类型、报警对象的关联
|
|
|
+ projectAlarmRuleObjRelService.deleteRelation(updateProjectAlarmRuleDTO.getProjectId());
|
|
|
+ if (belongOld > belongNew) {//集团规则->项目自定义规则
|
|
|
+ //新增自定义的规则
|
|
|
+ String conditionId = alarmConditionService.createAlarmCondition(updateProjectAlarmRuleDTO.getAlarmCondition());
|
|
|
+ projectAlarmRule.setAlarmConditionId(conditionId);
|
|
|
+ } else if (belongOld < belongNew) {//项目自定义规则->集团规则
|
|
|
+ String conditionId = getConditionId(updateProjectAlarmRuleDTO.getAlarmItemCode());
|
|
|
+ projectAlarmRule.setAlarmConditionId(conditionId);
|
|
|
+ } else if (belongOld == 0 && belongNew == 0) {//项目自定义规则->项目自定义规则
|
|
|
+ //删除自定义规则,新增自定义的规则
|
|
|
+ alarmConditionService.deleteAlarmCondition(updateProjectAlarmRuleDTO.getAlarmConditionId());
|
|
|
+ String id = alarmConditionService.createAlarmCondition(updateProjectAlarmRuleDTO.getAlarmCondition());
|
|
|
+ projectAlarmRule.setAlarmConditionId(id);
|
|
|
+ }
|
|
|
+ //新增关联关系
|
|
|
+ projectAlarmRuleObjRelService.createBatchRelation(updateProjectAlarmRuleDTO.getAddRelationList());
|
|
|
+ //更新项目报警
|
|
|
+ projectAlarmRule.setModifiedTime(new Date());
|
|
|
+ projectAlarmRule.setModifier(PoemsContext.getContext().getUserId());
|
|
|
updateById(projectAlarmRule);
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
+ public String getConditionId(String alarmItemCode){
|
|
|
+ //查询对应报警类型的集团规则,将ID添加到项目规则表
|
|
|
+ QueryGroupAlarmRuleDTO queryAlarmConditionDTO = new QueryGroupAlarmRuleDTO();
|
|
|
+ queryAlarmConditionDTO.setAlarmItemCode(alarmItemCode);
|
|
|
+ List<GroupAlarmRule> groupAlarmRuleList = groupAlarmRuleService.queryGroupAlarmRuleList(queryAlarmConditionDTO);
|
|
|
+ String conditionId = groupAlarmRuleList.get(0).getAlarmConditionId();
|
|
|
+ return conditionId;
|
|
|
+ }
|
|
|
/**
|
|
|
* 校验项目报警规则是否可删除
|
|
|
*
|
|
@@ -105,115 +197,164 @@ public class ProjectAlarmRuleServiceImpl extends ServiceImpl<ProjectAlarmRuleMap
|
|
|
|
|
|
return projectAlarmRule;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
/**
|
|
|
- * 删除项目报警规则
|
|
|
- * @param id 主键
|
|
|
- * @author lixing
|
|
|
- * @version V1.0 2021-09-08 22:46:16
|
|
|
- */
|
|
|
+ * 删除项目报警规则
|
|
|
+ *
|
|
|
+ * @param id 主键
|
|
|
+ * @author lixing
|
|
|
+ * @version V1.0 2021-09-08 22:46:16
|
|
|
+ */
|
|
|
@Override
|
|
|
public void deleteProjectAlarmRule(String id) {
|
|
|
// 校验是否可删除
|
|
|
ProjectAlarmRule projectAlarmRule = checkDeletable(id);
|
|
|
-
|
|
|
projectAlarmRule.setValid(ValidEnum.FALSE.getType());
|
|
|
updateById(projectAlarmRule);
|
|
|
+ //查询是否是自定义报警,是则删除自定义规则
|
|
|
+ int belong = projectAlarmRule.getBelong();
|
|
|
+ if (belong == 0) {
|
|
|
+ alarmConditionService.deleteAlarmCondition(projectAlarmRule.getAlarmConditionId());
|
|
|
+ }
|
|
|
+ //删除项目报警规则与监测对象的关联
|
|
|
+ projectAlarmRuleObjRelService.deleteRelation(projectAlarmRule.getProjectId());
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
/**
|
|
|
- * 查询项目报警规则
|
|
|
- * @return List<ProjectAlarmRule>
|
|
|
- * @author lixing
|
|
|
- * @version V1.0 2021-09-08 22:46:16
|
|
|
- */
|
|
|
+ * 查询项目报警规则
|
|
|
+ *
|
|
|
+ * @return List<ProjectAlarmRule>
|
|
|
+ * @author lixing
|
|
|
+ * @version V1.0 2021-09-08 22:46:16
|
|
|
+ */
|
|
|
@Override
|
|
|
public List<ProjectAlarmRule> queryProjectAlarmRuleList(QueryProjectAlarmRuleDTO queryProjectAlarmRuleDTO) {
|
|
|
QueryWrapper<ProjectAlarmRule> queryWrapper = new QueryWrapper<>();
|
|
|
queryWrapper.eq(ProjectAlarmRule.PROP_VALID, ValidEnum.TRUE.getType());
|
|
|
// 默认按创建时间倒序排序
|
|
|
queryWrapper.orderBy(true, false, ProjectAlarmRule.PROP_CREATIONTIME);
|
|
|
-
|
|
|
+
|
|
|
if (queryProjectAlarmRuleDTO != null) {
|
|
|
-
|
|
|
+
|
|
|
// todo 需判断使用like还是eq
|
|
|
if (StringUtils.isNotEmpty(queryProjectAlarmRuleDTO.getGroupId())) {
|
|
|
queryWrapper.like(ProjectAlarmRule.PROP_GROUP_ID, queryProjectAlarmRuleDTO.getGroupId());
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
// todo 需判断使用like还是eq
|
|
|
if (StringUtils.isNotEmpty(queryProjectAlarmRuleDTO.getAlarmItemCode())) {
|
|
|
queryWrapper.like(ProjectAlarmRule.PROP_ALARM_ITEM_CODE, queryProjectAlarmRuleDTO.getAlarmItemCode());
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
// todo 需判断使用like还是eq
|
|
|
if (StringUtils.isNotEmpty(queryProjectAlarmRuleDTO.getAlarmConditionId())) {
|
|
|
queryWrapper.like(ProjectAlarmRule.PROP_ALARM_CONDITION_ID, queryProjectAlarmRuleDTO.getAlarmConditionId());
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
if (queryProjectAlarmRuleDTO.getBelong() != null) {
|
|
|
queryWrapper.eq(ProjectAlarmRule.PROP_BELONG, queryProjectAlarmRuleDTO.getBelong());
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
// todo 需判断使用like还是eq
|
|
|
if (StringUtils.isNotEmpty(queryProjectAlarmRuleDTO.getProjectId())) {
|
|
|
queryWrapper.like(ProjectAlarmRule.PROP_PROJECT_ID, queryProjectAlarmRuleDTO.getProjectId());
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
return list(queryWrapper);
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
/**
|
|
|
- * 分页查询项目报警规则
|
|
|
- * @return IPage<ProjectAlarmRule>
|
|
|
- * @author lixing
|
|
|
- * @version V1.0 2021-09-08 22:46:16
|
|
|
- */
|
|
|
+ * 分页查询项目报警规则
|
|
|
+ *
|
|
|
+ * @return IPage<ProjectAlarmRule>
|
|
|
+ * @author lixing
|
|
|
+ * @version V1.0 2021-09-08 22:46:16
|
|
|
+ */
|
|
|
@Override
|
|
|
- public IPage<ProjectAlarmRule> pageQueryProjectAlarmRule(PageQueryProjectAlarmRuleDTO pageQueryProjectAlarmRuleDTO) {
|
|
|
+ public IPage<ProjectAlarmRule> pageQueryProjectAlarmRule(PageQueryProjectAlarmRuleDTO
|
|
|
+ pageQueryProjectAlarmRuleDTO) {
|
|
|
QueryWrapper<ProjectAlarmRule> queryWrapper = new QueryWrapper<>();
|
|
|
queryWrapper.eq(ProjectAlarmRule.PROP_VALID, ValidEnum.TRUE.getType());
|
|
|
// 这里认为pageQueryDTO是经过校验的,肯定包含分页信息
|
|
|
- IPage<ProjectAlarmRule> pageParam = new Page<>(pageQueryProjectAlarmRuleDTO.getPage(), pageQueryProjectAlarmRuleDTO.getSize(),true);
|
|
|
+ IPage<ProjectAlarmRule> pageParam = new Page<>(pageQueryProjectAlarmRuleDTO.getPage(), pageQueryProjectAlarmRuleDTO.getSize(), true);
|
|
|
// 排序信息
|
|
|
- if(CollectionUtils.isEmpty(pageQueryProjectAlarmRuleDTO.getOrders())){
|
|
|
- // 默认按创建时间倒序排序
|
|
|
- queryWrapper.orderBy(true, false, ProjectAlarmRule.PROP_CREATIONTIME);
|
|
|
- }else {
|
|
|
+// 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.like(ProjectAlarmRule.PROP_GROUP_ID, pageQueryProjectAlarmRuleDTO.getGroupId());
|
|
|
+ queryWrapper.eq(ProjectAlarmRule.PROP_GROUP_ID, pageQueryProjectAlarmRuleDTO.getGroupId());
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
// todo 需判断使用like还是eq
|
|
|
if (StringUtils.isNotEmpty(pageQueryProjectAlarmRuleDTO.getAlarmItemCode())) {
|
|
|
- queryWrapper.like(ProjectAlarmRule.PROP_ALARM_ITEM_CODE, pageQueryProjectAlarmRuleDTO.getAlarmItemCode());
|
|
|
+ queryWrapper.eq(ProjectAlarmRule.PROP_ALARM_ITEM_CODE, pageQueryProjectAlarmRuleDTO.getAlarmItemCode());
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
// todo 需判断使用like还是eq
|
|
|
- if (StringUtils.isNotEmpty(pageQueryProjectAlarmRuleDTO.getAlarmConditionId())) {
|
|
|
+ /*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());
|
|
|
- }
|
|
|
-
|
|
|
+ }*/
|
|
|
+
|
|
|
+// if (pageQueryProjectAlarmRuleDTO.getBelong() != null) {
|
|
|
+// queryWrapper.eq(ProjectAlarmRule.PROP_BELONG, pageQueryProjectAlarmRuleDTO.getBelong());
|
|
|
+// }
|
|
|
+
|
|
|
// todo 需判断使用like还是eq
|
|
|
if (StringUtils.isNotEmpty(pageQueryProjectAlarmRuleDTO.getProjectId())) {
|
|
|
- queryWrapper.like(ProjectAlarmRule.PROP_PROJECT_ID, pageQueryProjectAlarmRuleDTO.getProjectId());
|
|
|
+ queryWrapper.eq(ProjectAlarmRule.PROP_PROJECT_ID, pageQueryProjectAlarmRuleDTO.getProjectId());
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
return getBaseMapper().selectPage(pageParam, queryWrapper);
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void addProjectAlarmRules(AddGroupAlarmRuleDTO addGroupAlarmRuleDTO) {
|
|
|
+ String condition = addGroupAlarmRuleDTO.getCondition();
|
|
|
+ String classCode = addGroupAlarmRuleDTO.getClassCode();
|
|
|
+ List<GroupManagementVo> records = groupManagementService.getEquipList(condition,classCode);
|
|
|
+ //查询所有项目
|
|
|
+ List<ProjectVO> projects = CommonMethod.getProject();
|
|
|
+ //遍历项目,组好对象进行插入
|
|
|
+ List<ProjectAlarmRule> projectAlarmRuleList = new ArrayList<>();
|
|
|
+ String alarmItemCode = addGroupAlarmRuleDTO.getAlarmItemCode();
|
|
|
+ List<AddProjectAlarmRuleObjRelDTO> addRelationList = new ArrayList<>();
|
|
|
+ for (ProjectVO project : projects) {
|
|
|
+ ProjectAlarmRule projectAlarmRule = new ProjectAlarmRule();
|
|
|
+ projectAlarmRule.setProjectId(project.getProjectId());
|
|
|
+ projectAlarmRule.setAlarmItemCode(alarmItemCode);
|
|
|
+ projectAlarmRule.setBelong(INTEGER_ONE);
|
|
|
+ projectAlarmRule.setGroupId(addGroupAlarmRuleDTO.getGroupId());
|
|
|
+ String conditionId = getConditionId(alarmItemCode);
|
|
|
+ projectAlarmRule.setAlarmConditionId(conditionId);
|
|
|
+ setDefaultValue(projectAlarmRule);
|
|
|
+ projectAlarmRuleList.add(projectAlarmRule);
|
|
|
+ //新增关联关系
|
|
|
+ records.forEach(groupManagementVo -> {
|
|
|
+ AddProjectAlarmRuleObjRelDTO addProjectAlarmRuleObjRelDTO = new AddProjectAlarmRuleObjRelDTO();
|
|
|
+ addProjectAlarmRuleObjRelDTO.setProjectAlarmRuleId(projectAlarmRule.getId());
|
|
|
+ addProjectAlarmRuleObjRelDTO.setProjectId(project.getProjectId());
|
|
|
+ addProjectAlarmRuleObjRelDTO.setEquipId(groupManagementVo.getId());
|
|
|
+ addProjectAlarmRuleObjRelDTO.setOpen(INTEGER_ONE);
|
|
|
+ addRelationList.add(addProjectAlarmRuleObjRelDTO);
|
|
|
+ });
|
|
|
+ }
|
|
|
+ projectAlarmRuleObjRelService.createBatchRelation(addRelationList);
|
|
|
+ saveBatch(projectAlarmRuleList);
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
}
|