Kaynağa Gözat

调整设备详情要素查询。过滤被隐藏的要素

liuyaowen 9 ay önce
ebeveyn
işleme
b59c6b831a

+ 1 - 0
src/main/java/com/yunfeiyun/agmp/iotm/web/service/IIotWarnindicatorService.java

@@ -62,4 +62,5 @@ public interface IIotWarnindicatorService {
     public int deleteIotWarnindicatorByWiBid(String wiBid, String tid);
 
     List<IotWarnindicator> query(IotDevice iotDevice);
+    public List<IotWarnindicator> warnindicatorDevQuery(IotDevice iotDevice);
 }

+ 19 - 1
src/main/java/com/yunfeiyun/agmp/iotm/web/service/impl/IotWarnconfigServiceImpl.java

@@ -20,6 +20,7 @@ import com.yunfeiyun.agmp.iotm.web.domain.resvo.IotWarnconfigInfoResVo;
 import com.yunfeiyun.agmp.iotm.web.domain.resvo.IotWarnconfigResVo;
 import com.yunfeiyun.agmp.iotm.web.mapper.*;
 import com.yunfeiyun.agmp.iotm.web.service.IIotWarnconfigService;
+import com.yunfeiyun.agmp.iotm.web.service.IIotWarnindicatorService;
 import org.apache.commons.collections4.CollectionUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -53,6 +54,8 @@ public class IotWarnconfigServiceImpl implements IIotWarnconfigService {
     private RedisCacheManager redisCacheManager;
     @Resource
     private IotWarncountMapper iotWarncountMapper;
+    @Resource
+    private IIotWarnindicatorService iotWarnindicatorService;
 
     /**
      * 查询告警配置
@@ -250,10 +253,25 @@ public class IotWarnconfigServiceImpl implements IIotWarnconfigService {
         IotWarnindicator iotWarnindicatorQuery = new IotWarnindicator();
         iotWarnindicatorQuery.setWcBid(wcBid);
         iotWarnindicatorQuery.setTid(SecurityUtils.getTid());
+        // 获取已经配置的设备要素
         List<IotWarnindicator> iotWarnindicatorList = iotWarnindicatorMapper.selectIotWarnindicatorList(iotWarnindicatorQuery);
+        Set<String> wiCodeSet = new HashSet<>();
+        if(iotWarnobjectList.size() ==1){
+            IotDevice deviceQuery = new IotDevice();
+            deviceQuery.setDevBid(iotWarnobjectList.get(0).getDevBid());
+            deviceQuery.setDevtypeBid(iotWarnconfig.getDevtypeBid());
+            List<IotWarnindicator> devNowWarnIndicator = iotWarnindicatorService.warnindicatorDevQuery(deviceQuery);
+            wiCodeSet.addAll(devNowWarnIndicator.stream().map(IotWarnindicator::getWiCode).collect(Collectors.toList()));
+        }
+        List<IotWarnindicator> resultIotWarnIndicatorList = new ArrayList<>();
+        for(IotWarnindicator iotWarnindicator : iotWarnindicatorList){
+            if(wiCodeSet.contains(iotWarnindicator.getWiCode())){
+                resultIotWarnIndicatorList.add(iotWarnindicator);
+            }
+        }
         IotWarnconfigInfoResVo iotWarnconfigInfoResVo = new IotWarnconfigInfoResVo();
         BeanUtils.copyProperties(iotWarnconfig,iotWarnconfigInfoResVo);
-        iotWarnconfigInfoResVo.setIotWarnindicatorList(iotWarnindicatorList);
+        iotWarnconfigInfoResVo.setIotWarnindicatorList(resultIotWarnIndicatorList);
         iotWarnconfigInfoResVo.setIotWarnobjectList(iotWarnobjectList);
         return iotWarnconfigInfoResVo;
     }

+ 2 - 1
src/main/java/com/yunfeiyun/agmp/iotm/web/service/impl/IotWarnindicatorServiceImpl.java

@@ -122,7 +122,8 @@ public class IotWarnindicatorServiceImpl implements IIotWarnindicatorService {
         }
         return result;
     }
-    private List<IotWarnindicator> warnindicatorDevQuery(IotDevice iotDevice){
+    @Override
+    public List<IotWarnindicator> warnindicatorDevQuery(IotDevice iotDevice){
         // 暂不支持根据类型查询要素
         // 查询当前设备是否存在预设要素
         List<IotWarnindicator> result = new ArrayList<>();