xujiaheng 3 anni fa
parent
commit
ef1cdb88a5
15 ha cambiato i file con 182 aggiunte e 37 eliminazioni
  1. 4 0
      src/main/java/com/persagy/apm/alarmservice/group/alarmrecord/controller/AlarmItemController.java
  2. 31 1
      src/main/java/com/persagy/apm/alarmservice/group/alarmrule/controller/GroupAlarmRuleController.java
  3. 22 0
      src/main/java/com/persagy/apm/alarmservice/group/alarmrule/model/dto/CheckAlarmItemDTO.java
  4. 2 3
      src/main/java/com/persagy/apm/alarmservice/group/alarmrule/service/IGroupAlarmRuleService.java
  5. 7 8
      src/main/java/com/persagy/apm/alarmservice/group/alarmrule/service/impl/GroupAlarmRuleServiceImpl.java
  6. 6 2
      src/main/java/com/persagy/apm/alarmservice/project/alarmrule/service/impl/ProjectAlarmRuleServiceImpl.java
  7. 3 3
      src/main/java/com/persagy/apm/alarmservice/project/alarmruleobjrel/controller/ProjectAlarmRuleObjRelController.java
  8. 5 0
      src/main/java/com/persagy/apm/alarmservice/project/alarmruleobjrel/dao/ProjectAlarmRuleObjRelMapper.java
  9. 2 1
      src/main/java/com/persagy/apm/alarmservice/project/alarmruleobjrel/model/ProjectAlarmRuleObjRel.java
  10. 4 0
      src/main/java/com/persagy/apm/alarmservice/project/alarmruleobjrel/model/dto/QueryRuleObjRelDTO.java
  11. 34 0
      src/main/java/com/persagy/apm/alarmservice/project/alarmruleobjrel/model/dto/ShieldManageDTO.java
  12. 19 0
      src/main/java/com/persagy/apm/alarmservice/project/alarmruleobjrel/model/dto/ShieldManageListDTO.java
  13. 1 1
      src/main/java/com/persagy/apm/alarmservice/project/alarmruleobjrel/service/IProjectAlarmRuleObjRelService.java
  14. 15 5
      src/main/java/com/persagy/apm/alarmservice/project/alarmruleobjrel/service/impl/ProjectAlarmRuleObjRelServiceImpl.java
  15. 27 13
      src/main/resources/mapper/ProjectAlarmRuleObjRelMapper.xml

+ 4 - 0
src/main/java/com/persagy/apm/alarmservice/group/alarmrecord/controller/AlarmItemController.java

@@ -5,6 +5,7 @@ import com.persagy.apm.alarmservice.group.alarmrecord.model.ConvertAlarmCommentT
 import com.persagy.apm.alarmservice.group.alarmrecord.model.dto.CreateAlarmCommentDTO;
 import com.persagy.apm.alarmservice.group.alarmrecord.model.dto.PageQueryAlarmCommentDTO;
 import com.persagy.apm.alarmservice.group.alarmrecord.model.vo.AlarmCommentListItem;
+import com.persagy.apm.alarmservice.group.alarmrule.service.IGroupAlarmRuleService;
 import com.persagy.apm.common.model.vo.SimpleObjVO;
 import com.persagy.apm.common.response.ApmResponseUpsertVO;
 import com.persagy.apm.common.response.CommonResult;
@@ -49,6 +50,9 @@ public class AlarmItemController {
     @Autowired
     AlarmItemServiceImpl alarmItemService;
 
+    @Autowired
+    private IGroupAlarmRuleService groupAlarmRuleService;
+
     @ApiOperation(value = "报警类型列表")
     @PostMapping("/query")
     public CommonResult<PageList<SimpleObjVO>> queryAlarmItem(

+ 31 - 1
src/main/java/com/persagy/apm/alarmservice/group/alarmrule/controller/GroupAlarmRuleController.java

@@ -12,20 +12,25 @@ import com.persagy.apm.alarmservice.group.alarmrule.model.vo.GroupAlarmRuleItemV
 import com.persagy.apm.alarmservice.group.alarmrule.model.vo.GroupAlarmRuleListItemVO;
 import com.persagy.apm.alarmservice.group.alarmrule.service.IGroupAlarmRuleService;
 import com.persagy.apm.alarmservice.project.alarmruleobjrel.service.IProjectAlarmRuleObjRelService;
+import com.persagy.apm.common.model.vo.SimpleObjVO;
 import com.persagy.apm.common.response.ApmResponseUpsertVO;
 import com.persagy.apm.common.response.CommonResult;
 import com.persagy.apm.common.response.PageList;
 import com.persagy.apm.common.utils.ResultHelper;
 import com.persagy.apm.energyalarmstarter.alarmdata.feign.DmpResult;
 import com.persagy.apm.energyalarmstarter.alarmdata.model.dto.alarmconfig.QueryAlarmConfigDTO;
+import com.persagy.apm.energyalarmstarter.alarmdata.model.dto.alarmitem.QueryAlarmItemDTO;
 import com.persagy.apm.energyalarmstarter.alarmdata.model.vo.AlarmConfigItem;
+import com.persagy.apm.energyalarmstarter.alarmdata.model.vo.AlarmItem;
 import com.persagy.apm.energyalarmstarter.alarmdata.service.AlarmConfigServiceImpl;
+import com.persagy.apm.energyalarmstarter.alarmdata.service.AlarmItemServiceImpl;
 import com.persagy.common.enums.ResponseCode;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.apache.poi.ss.usermodel.Sheet;
 import org.apache.poi.ss.usermodel.Workbook;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+import org.slf4j.Logger;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -38,8 +43,10 @@ import javax.validation.Valid;
 import java.io.File;
 import java.io.InputStream;
 import java.util.ArrayList;
+import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * 集团报警规则控制层
@@ -61,6 +68,9 @@ public class GroupAlarmRuleController {
     @Autowired
     private IProjectAlarmRuleObjRelService projectAlarmRuleObjRelService;
 
+    @Autowired
+    AlarmItemServiceImpl alarmItemService;
+
     @ApiOperation(value = "创建集团报警规则")
     @PostMapping("/create")
     public CommonResult<ApmResponseUpsertVO> createGroupAlarmRule(
@@ -94,7 +104,7 @@ public class GroupAlarmRuleController {
             groupAlarmRuleService.updateGroupAlarmRule(updateGroupAlarmRuleDTO);
         } catch (Exception e) {
             e.printStackTrace();
-            return ResultHelper.failure(ResponseCode.B0001.getCode(), e.getMessage());
+            //return ResultHelper.failure(ResponseCode.B0001.getCode(), e.getMessage());
         }
         return ResultHelper.single(new ApmResponseUpsertVO(updateGroupAlarmRuleDTO.getId()));
     }
@@ -161,5 +171,25 @@ public class GroupAlarmRuleController {
 
     }
 
+    @ApiOperation(value = "集团页面查询报警类型")
+    @PostMapping("/getAlarmItem")
+    public CommonResult<PageList<SimpleObjVO>> getAlarmItem(CheckAlarmItemDTO checkAlarmItemDTO) throws Exception {
+        QueryAlarmItemDTO queryAlarmItemDTO = new QueryAlarmItemDTO();
+        DmpResult<List<AlarmItem>> dmpResult = alarmItemService.query(queryAlarmItemDTO);
+        List<GroupAlarmRule> existAlarmItem = groupAlarmRuleService.getExistAlarmItem(checkAlarmItemDTO.getGroupId());
+        List<String> alarmItemCodes = existAlarmItem.stream().map(GroupAlarmRule::getAlarmItemCode).collect(Collectors.toList());
+        Iterator<AlarmItem> iterator = dmpResult.getData().iterator();
+        while (iterator.hasNext()) {
+            AlarmItem next = iterator.next();
+            if (alarmItemCodes.contains(next.getCode())) {
+                iterator.remove();
+            }
+        }
+        List<SimpleObjVO> resultList = dmpResult.getData().stream().map(
+                alarmItem -> new SimpleObjVO(alarmItem.getCode(), alarmItem.getName())
+        ).collect(Collectors.toList());
+        return ResultHelper.multi(resultList);
+    }
+
 }
 

+ 22 - 0
src/main/java/com/persagy/apm/alarmservice/group/alarmrule/model/dto/CheckAlarmItemDTO.java

@@ -0,0 +1,22 @@
+package com.persagy.apm.alarmservice.group.alarmrule.model.dto;
+
+import com.persagy.apm.alarmservice.project.alarmcondition.model.dto.AddAlarmConditionDTO;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+/**
+ * @author lixing
+ * @version V1.0 2021-09-08 22:35:45
+ */
+@Data
+@ApiModel(value = "创建集团报警规则入参")
+public class CheckAlarmItemDTO {
+    @ApiModelProperty(value = "分组id", required = true)
+    @NotNull(message = "分组id不能为空") // todo 更新校验规则
+    private String groupId;
+    
+}

+ 2 - 3
src/main/java/com/persagy/apm/alarmservice/group/alarmrule/service/IGroupAlarmRuleService.java

@@ -6,10 +6,7 @@ import com.persagy.apm.alarmservice.group.alarmrule.model.dto.*;
 import java.io.IOException;
 import java.util.List;
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.persagy.apm.alarmservice.group.alarmrule.model.vo.GroupAlarmRuleListItemVO;
 import com.persagy.apm.alarmservice.group.management.model.equip.vo.EquipItem;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
 
 /**
  * 集团报警规则(GroupAlarmRule) service接口
@@ -84,4 +81,6 @@ public interface IGroupAlarmRuleService  {
     GroupAlarmRule getGroupAlarmRule(GetGroupAlarmRuleDTO getGroupAlarmRuleDTO);
 
     List<EquipItem> getAllEquip(String classCode, String condition);
+
+    List<GroupAlarmRule> getExistAlarmItem(String groupId);
 }

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

@@ -8,9 +8,6 @@ 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.google.common.base.CaseFormat;
-import com.google.gson.JsonArray;
-import com.google.gson.JsonObject;
-import com.persagy.apm.alarmservice.group.alarmrule.controller.GroupAlarmRuleController;
 import com.persagy.apm.alarmservice.group.alarmrule.dao.GroupAlarmRuleMapper;
 import com.persagy.apm.alarmservice.group.alarmrule.model.ConvertGroupAlarmRuleTool;
 import com.persagy.apm.alarmservice.group.alarmrule.model.GroupAlarmRule;
@@ -22,9 +19,7 @@ import com.persagy.apm.alarmservice.group.management.service.impl.GroupManagemen
 import com.persagy.apm.alarmservice.project.alarmcondition.model.dto.AddAlarmConditionDTO;
 import com.persagy.apm.alarmservice.project.alarmcondition.model.dto.UpdateAlarmConditionDTO;
 import com.persagy.apm.alarmservice.project.alarmcondition.service.IAlarmConditionService;
-import com.persagy.apm.alarmservice.project.alarmcondition.service.impl.AlarmConditionServiceImpl;
 import com.persagy.apm.alarmservice.project.alarmrule.service.IProjectAlarmRuleService;
-import com.persagy.apm.alarmservice.project.alarmruleobjrel.model.ProjectAlarmRuleObjRel;
 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;
@@ -35,10 +30,8 @@ import com.persagy.apm.common.model.dto.Sort;
 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.*;
-import com.persagy.apm.energyalarmstarter.alarmdata.model.dto.common.QueryDTO;
 import com.persagy.apm.energyalarmstarter.alarmdata.model.vo.AlarmConfigItem;
 import com.persagy.apm.energyalarmstarter.alarmdata.service.AlarmConfigServiceImpl;
-import org.apache.commons.collections4.ListUtils;
 import org.apache.commons.lang.StringUtils;
 import org.apache.poi.ss.usermodel.Row;
 import org.apache.poi.ss.usermodel.Sheet;
@@ -51,7 +44,6 @@ import org.springframework.util.CollectionUtils;
 import java.io.*;
 import java.sql.Timestamp;
 import java.util.ArrayList;
-import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
@@ -417,4 +409,11 @@ public class GroupAlarmRuleServiceImpl extends ServiceImpl<GroupAlarmRuleMapper,
         }
         return records;
     }
+
+    @Override
+    public List<GroupAlarmRule> getExistAlarmItem(String groupId) {
+        QueryWrapper<GroupAlarmRule> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq(GroupAlarmRule.PROP_GROUP_ID, groupId);
+        return list(queryWrapper);
+    }
 }

+ 6 - 2
src/main/java/com/persagy/apm/alarmservice/project/alarmrule/service/impl/ProjectAlarmRuleServiceImpl.java

@@ -222,7 +222,12 @@ public class ProjectAlarmRuleServiceImpl extends ServiceImpl<ProjectAlarmRuleMap
             List<UpdateAlarmConfigDTO> updateAlarmConfigDTOs = new ArrayList();
             String condition = updateProjectAlarmRuleDTO.getCondition();
             String classCode = updateProjectAlarmRuleDTO.getClassCode();
-            List<EquipItem> records = groupManagementService.getEquipList(condition, classCode);
+            String projectId = updateProjectAlarmRuleDTO.getProjectId();
+            QueryEquipDTO queryEquipDTO = new QueryEquipDTO();
+            queryEquipDTO.setProjectId(projectId);
+            queryEquipDTO.setClassCode(classCode);
+            queryEquipDTO.setCondition(condition);
+            List<EquipItem> records = groupManagementService.getEquipList(queryEquipDTO);
             Map<String, Object> stringMap = alarmConditionService.frontend2Backend(alarmCondition.getFrontend());
             for (EquipItem record : records) {
                 AlarmCondition alarmCondit = new AlarmCondition();
@@ -283,7 +288,6 @@ public class ProjectAlarmRuleServiceImpl extends ServiceImpl<ProjectAlarmRuleMap
     /**
      * 删除项目报警规则
      *
-     * @param id 主键
      * @author lixing
      * @version V1.0 2021-09-08 22:46:16
      */

+ 3 - 3
src/main/java/com/persagy/apm/alarmservice/project/alarmruleobjrel/controller/ProjectAlarmRuleObjRelController.java

@@ -104,8 +104,8 @@ public class ProjectAlarmRuleObjRelController {
     @ApiOperation(value = "修改屏蔽管理")
     @PostMapping("/shieldManage")
     public CommonResult<ApmResponseUpsertVO> shieldManage(
-            @Valid @RequestBody List<ProjectAlarmRuleObjRel> projectAlarmRuleObjRelList) {
-        projectAlarmRuleObjRelService.updateBatch(projectAlarmRuleObjRelList);
+            @Valid @RequestBody ShieldManageListDTO shieldManageListDTO) {
+        projectAlarmRuleObjRelService.updateBatch(shieldManageListDTO);
         return ResultHelper.success();
     }
 
@@ -118,7 +118,7 @@ public class ProjectAlarmRuleObjRelController {
         return ResultHelper.multi(resultList);
     }
 
-    @ApiOperation(value = "查询报警类型")
+    @ApiOperation(value = "查询报警对象")
     @PostMapping("/queryRuleObjRel")
     public CommonResult<PageList<ProjectAlarmRuleObjRelVO>> queryRuleObjRel(
             @Valid @RequestBody QueryRuleObjRelDTO queryRuleObjRelDTO) {

+ 5 - 0
src/main/java/com/persagy/apm/alarmservice/project/alarmruleobjrel/dao/ProjectAlarmRuleObjRelMapper.java

@@ -2,8 +2,12 @@ package com.persagy.apm.alarmservice.project.alarmruleobjrel.dao;
 
 import com.persagy.apm.alarmservice.project.alarmruleobjrel.model.ProjectAlarmRuleObjRel;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.persagy.apm.alarmservice.project.alarmruleobjrel.model.dto.ShieldManageDTO;
+import feign.Param;
 import org.apache.ibatis.annotations.Mapper;
 
+import java.util.List;
+
 /**
  * 项目报警规则与监测对象的关联(ProjectAlarmRuleObjRel)dao层
  * @author lixing
@@ -12,4 +16,5 @@ import org.apache.ibatis.annotations.Mapper;
 @Mapper
 public interface ProjectAlarmRuleObjRelMapper extends BaseMapper<ProjectAlarmRuleObjRel>{
 
+    void updateStatus(@Param("shieldManageDTOList") List<ShieldManageDTO> shieldManageDTOList);
 }

+ 2 - 1
src/main/java/com/persagy/apm/alarmservice/project/alarmruleobjrel/model/ProjectAlarmRuleObjRel.java

@@ -36,7 +36,8 @@ public class ProjectAlarmRuleObjRel extends AuditableEntity<ProjectAlarmRuleObjR
     
 
     public static String PROP_PROJECT_ALARM_RULE_ID = "project_alarm_rule_id";
-    public static String PROP_EQUIP_ID = "equip_id";
+    public static String PROP_OBJ_ID = "obj_id";
+    public static String PROP_OBJ_NAME = "obj_name";
     public static String PROP_OPEN = "open";
     public static String PROP_PROJECT_ID = "project_id";
 

+ 4 - 0
src/main/java/com/persagy/apm/alarmservice/project/alarmruleobjrel/model/dto/QueryRuleObjRelDTO.java

@@ -28,4 +28,8 @@ public class QueryRuleObjRelDTO {
 
     @ApiModelProperty(value = "分组条件",required = true)
     private String condition;
+
+    @ApiModelProperty(value = "项目ID",required = true)
+    @NotBlank(message = "项目ID必传")
+    private String projectId;
 }

+ 34 - 0
src/main/java/com/persagy/apm/alarmservice/project/alarmruleobjrel/model/dto/ShieldManageDTO.java

@@ -0,0 +1,34 @@
+package com.persagy.apm.alarmservice.project.alarmruleobjrel.model.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ * @author lixing
+ * @version V1.0 2021-09-08 22:46:37
+ */
+@Data
+@ApiModel(value = "创建项目报警规则与监测对象的关联入参")
+public class ShieldManageDTO {
+    @ApiModelProperty(value = "项目报警规则id", required = true)
+    @NotNull(message = "项目报警规则id不能为空") // todo 更新校验规则
+    private String projectAlarmRuleId;
+    
+    @ApiModelProperty(value = "设备ID", required = true)
+    @NotNull(message = "设备ID不能为空") // todo 更新校验规则
+    private String objId;
+    
+    @ApiModelProperty(value = "屏蔽状态 1-open、0- 屏蔽", required = true)
+    @NotNull(message = "屏蔽状态 1-open、0- 屏蔽不能为空") // todo 更新校验规则
+    private Integer open;
+    
+    @ApiModelProperty(value = "项目id", required = true)
+    @NotNull(message = "项目id不能为空") // todo 更新校验规则
+    private String projectId;
+
+    public static String PROP_PROJECT_ALARM_RULE_ID = "project_alarm_rule_id";
+    public static String PROP_PROJECT_ID = "project_id";
+}

+ 19 - 0
src/main/java/com/persagy/apm/alarmservice/project/alarmruleobjrel/model/dto/ShieldManageListDTO.java

@@ -0,0 +1,19 @@
+package com.persagy.apm.alarmservice.project.alarmruleobjrel.model.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
+/**
+ * @author lixing
+ * @version V1.0 2021-09-08 22:46:37
+ */
+@Data
+@ApiModel(value = "创建项目报警规则与监测对象的关联入参")
+public class ShieldManageListDTO {
+    List<ShieldManageDTO> shieldManageDTOList;
+    
+}

+ 1 - 1
src/main/java/com/persagy/apm/alarmservice/project/alarmruleobjrel/service/IProjectAlarmRuleObjRelService.java

@@ -78,7 +78,7 @@ public interface IProjectAlarmRuleObjRelService  {
 
     void createBatchRelation(List<AddProjectAlarmRuleObjRelDTO> addRelationList);
 
-    void updateBatch(List<ProjectAlarmRuleObjRel> projectAlarmRuleObjRelList);
+    void updateBatch(ShieldManageListDTO shieldManageListDTO);
 
     void deleteBatch();
 

+ 15 - 5
src/main/java/com/persagy/apm/alarmservice/project/alarmruleobjrel/service/impl/ProjectAlarmRuleObjRelServiceImpl.java

@@ -5,8 +5,10 @@ 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.google.common.base.CaseFormat;
+import com.persagy.apm.alarmservice.group.management.model.equip.dto.QueryEquipDTO;
 import com.persagy.apm.alarmservice.group.management.model.equip.vo.EquipItem;
 import com.persagy.apm.alarmservice.group.management.service.GroupManagementService;
+import com.persagy.apm.alarmservice.project.alarmrule.dao.ProjectAlarmRuleMapper;
 import com.persagy.apm.alarmservice.project.alarmrule.model.ProjectAlarmRule;
 import com.persagy.apm.alarmservice.project.alarmrule.service.IProjectAlarmRuleService;
 import com.persagy.apm.alarmservice.project.alarmruleobjrel.dao.ProjectAlarmRuleObjRelMapper;
@@ -45,6 +47,8 @@ public class ProjectAlarmRuleObjRelServiceImpl extends ServiceImpl<ProjectAlarmR
 
     @Autowired
     GroupManagementService groupManagementService;
+    @Autowired
+    private ProjectAlarmRuleObjRelMapper projectAlarmRuleObjRelMapper;
 
     /**
      * 创建项目报警规则与监测对象的关联
@@ -167,7 +171,7 @@ public class ProjectAlarmRuleObjRelServiceImpl extends ServiceImpl<ProjectAlarmR
 
             // todo 需判断使用like还是eq
             if (StringUtils.isNotEmpty(queryProjectAlarmRuleObjRelDTO.getEquipId())) {
-                queryWrapper.like(ProjectAlarmRuleObjRel.PROP_EQUIP_ID, queryProjectAlarmRuleObjRelDTO.getEquipId());
+                queryWrapper.like(ProjectAlarmRuleObjRel.PROP_OBJ_ID, queryProjectAlarmRuleObjRelDTO.getEquipId());
             }
 
             if (queryProjectAlarmRuleObjRelDTO.getOpen() != null) {
@@ -217,7 +221,7 @@ public class ProjectAlarmRuleObjRelServiceImpl extends ServiceImpl<ProjectAlarmR
 
         // todo 需判断使用like还是eq
         if (StringUtils.isNotEmpty(pageQueryProjectAlarmRuleObjRelDTO.getEquipId())) {
-            queryWrapper.like(ProjectAlarmRuleObjRel.PROP_EQUIP_ID, pageQueryProjectAlarmRuleObjRelDTO.getEquipId());
+            queryWrapper.like(ProjectAlarmRuleObjRel.PROP_OBJ_ID, pageQueryProjectAlarmRuleObjRelDTO.getEquipId());
         }
 
         if (pageQueryProjectAlarmRuleObjRelDTO.getOpen() != null) {
@@ -260,8 +264,9 @@ public class ProjectAlarmRuleObjRelServiceImpl extends ServiceImpl<ProjectAlarmR
     }
 
     @Override
-    public void updateBatch(List<ProjectAlarmRuleObjRel> projectAlarmRuleObjRelList) {
-        updateBatchById(projectAlarmRuleObjRelList);
+    public void updateBatch(ShieldManageListDTO shieldManageListDTO) {
+        List<ShieldManageDTO> shieldManageDTOList = shieldManageListDTO.getShieldManageDTOList();
+        projectAlarmRuleObjRelMapper.updateStatus(shieldManageDTOList);
     }
 
     @Override
@@ -307,7 +312,12 @@ public class ProjectAlarmRuleObjRelServiceImpl extends ServiceImpl<ProjectAlarmR
                 ProjectAlarmRuleObjRel::getObjId, equip -> equip));
         String condition = queryRuleObjRelDTO.getCondition();
         String classCode = queryRuleObjRelDTO.getClassCode();
-        List<EquipItem> records = groupManagementService.getEquipList(condition, classCode);
+        String projectId = queryRuleObjRelDTO.getProjectId();
+        QueryEquipDTO queryEquipDTO = new QueryEquipDTO();
+        queryEquipDTO.setProjectId(projectId);
+        queryEquipDTO.setClassCode(classCode);
+        queryEquipDTO.setCondition(condition);
+        List<EquipItem> records = groupManagementService.getEquipList(queryEquipDTO);
         List<ProjectAlarmRuleObjRelVO> resultList = new ArrayList<>();
         for (EquipItem record : records) {
             if (partitionMap.get(record.getId()) == null) {

+ 27 - 13
src/main/resources/mapper/ProjectAlarmRuleObjRelMapper.xml

@@ -1,18 +1,32 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.persagy.apm.alarmservice.project.alarmruleobjrel.dao.ProjectAlarmRuleObjRelMapper">
-    <resultMap id="ProjectAlarmRuleObjRelMap" type="com.persagy.apm.alarmservice.project.alarmruleobjrel.model.ProjectAlarmRuleObjRel">
-		<result column="id" property="id" />
-		<result column="project_alarm_rule_id" property="projectAlarmRuleId" />
-		<result column="equip_id" property="equipId" />
-		<result column="open" property="open" />
-		<result column="project_id" property="projectId" />
-		<result column="ts" property="ts" />
-		<result column="creator" property="creator" />
-		<result column="creation_time" property="creationTime" />
-		<result column="modifier" property="modifier" />
-		<result column="modified_time" property="modifiedTime" />
-		<result column="valid" property="valid" />
-	</resultMap>
+    <resultMap id="ProjectAlarmRuleObjRelMap"
+               type="com.persagy.apm.alarmservice.project.alarmruleobjrel.model.ProjectAlarmRuleObjRel">
+        <result column="id" property="id"/>
+        <result column="project_alarm_rule_id" property="projectAlarmRuleId"/>
+        <result column="obj_id" property="objId"/>
+        <result column="open" property="open"/>
+        <result column="project_id" property="projectId"/>
+        <result column="ts" property="ts"/>
+        <result column="creator" property="creator"/>
+        <result column="creation_time" property="creationTime"/>
+        <result column="modifier" property="modifier"/>
+        <result column="modified_time" property="modifiedTime"/>
+        <result column="valid" property="valid"/>
+    </resultMap>
+    <update id="updateStatus">
+        <foreach collection="list" item="item" index="index" open="" close="" separator=";">
+            update project_alarm_rule_obj_rel
+            <set>
+                open=#{item.open}
+            </set>
+            <where>
+                project_alarm_rule_id =#{item.projectAlarmRuleId}
+                and project_id = #{item.projectId}
+                and obj_id = #{item.objId}
+            </where>
+        </foreach>
+    </update>
 </mapper>