فهرست منبع

添加告警配置新增接口,列表查询接口

liuyaowen 9 ماه پیش
والد
کامیت
c07aa25b94

+ 26 - 0
src/main/java/com/yunfeiyun/agmp/iotm/device/qxsqz/service/IIotQxzCommService.java

@@ -401,6 +401,32 @@ public class IIotQxzCommService extends IotDeviceBaseServiceImpl implements IotD
         return latestData;
     }
 
+    /**
+     * 告警配置获取设备最近上报数据列表接口
+     * @param reqVo
+     * @return
+     */
+    public IotDevicelasteddata warnDataLatest(IotDeviceDataListReqVo reqVo) throws ParseException {
+        String devBid = reqVo.getDevBid();
+
+        IotDevice findDevice = iotDeviceService.selectIotDeviceByDevBid(reqVo.getDevBid());
+        TableDataInfo tableDataInfo = dataList(reqVo, false, false);
+        List<List<IotQxzDataListRseVo>> rest = (List<List<IotQxzDataListRseVo>>) tableDataInfo.getData();
+        if(rest == null || rest.isEmpty()){
+            log.info("devBid:{},【最近数据】empty",devBid);
+            return null;
+        }
+
+        List<IotQxzDataListRseVo> iotQxzDataListRseVoList = rest.get(0);
+        IotQxzDataListRseVo iotQxzDataListRseVo = iotQxzDataListRseVoList.get(0);
+        IotDevicelasteddata latestData = new IotDevicelasteddata();
+        BeanUtils.copyProperties(findDevice, latestData);
+        latestData.setDevldCreateddate(iotQxzDataListRseVo.getTime());
+        latestData.setDevldUpdateddate(iotQxzDataListRseVo.getTime());
+        latestData.setDevldContent(JSONArray.toJSONString(iotQxzDataListRseVoList));
+        return latestData;
+    }
+
     public void refresh(DeviceRefreshDto reqVo) {
         IotDevice findDevice = reqVo.getIotDevice();
         String devBid = findDevice.getDevBid();

+ 2 - 2
src/main/java/com/yunfeiyun/agmp/iotm/web/controller/IotWarnconfigController.java

@@ -8,8 +8,8 @@ import com.yunfeiyun.agmp.common.enums.BusinessType;
 import com.yunfeiyun.agmp.common.utils.SecurityUtils;
 import com.yunfeiyun.agmp.common.utils.poi.ExcelUtil;
 import com.yunfeiyun.agmp.iot.common.domain.IotWarnconfig;
-import com.yunfeiyun.agmp.iot.common.domain.IotWarnobject;
 import com.yunfeiyun.agmp.iotm.web.domain.reqvo.IotWarnconfigAddReqVo;
+import com.yunfeiyun.agmp.iotm.web.domain.resvo.IotWarnconfigResVo;
 import com.yunfeiyun.agmp.iotm.web.service.IIotWarnconfigService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -39,7 +39,7 @@ public class IotWarnconfigController extends BaseController{
     public TableDataInfo list(IotWarnconfig iotWarnconfig){
         iotWarnconfig.setTid(SecurityUtils.getTid());
         startPage();
-        List<IotWarnconfig> list = iotWarnconfigService.selectIotWarnconfigList(iotWarnconfig);
+        List<IotWarnconfigResVo> list = iotWarnconfigService.selectIotWarnconfigResVoList(iotWarnconfig);
         return getDataTable(list);
     }
 

+ 0 - 1
src/main/java/com/yunfeiyun/agmp/iotm/web/controller/IotWarndataitemController.java

@@ -35,7 +35,6 @@ public class IotWarndataitemController extends BaseController{
     @PreAuthorize("@ss.hasPermi('iot:warn:data:item:list')")
     @GetMapping("/list")
     public TableDataInfo list(IotWarndataitem iotWarndataitem){
-        
         startPage();
         List<IotWarndataitem> list = iotWarndataitemService.selectIotWarndataitemList(iotWarndataitem);
         return getDataTable(list);

+ 12 - 1
src/main/java/com/yunfeiyun/agmp/iotm/web/controller/IotWarnindicatorController.java

@@ -7,6 +7,7 @@ import com.yunfeiyun.agmp.common.core.page.TableDataInfo;
 import com.yunfeiyun.agmp.common.enums.BusinessType;
 import com.yunfeiyun.agmp.common.utils.SecurityUtils;
 import com.yunfeiyun.agmp.common.utils.poi.ExcelUtil;
+import com.yunfeiyun.agmp.iot.common.domain.IotDevice;
 import com.yunfeiyun.agmp.iot.common.domain.IotWarnindicator;
 import com.yunfeiyun.agmp.iotm.web.service.IIotWarnindicatorService;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -42,6 +43,16 @@ public class IotWarnindicatorController extends BaseController{
     }
 
     /**
+     * 查询告警要素列表
+     */
+    @PreAuthorize("@ss.hasPermi('iot:warn:indicator:list')")
+    @GetMapping("/query")
+    public AjaxResult query(IotDevice iotDevice){
+        return AjaxResult.success(iotWarnindicatorService.query(iotDevice));
+    }
+
+
+    /**
      * 导出告警指标,存储所有与告警相关的指标信息列表
      */
     @PreAuthorize("@ss.hasPermi('iot:warn:indicator:export')")
@@ -50,7 +61,7 @@ public class IotWarnindicatorController extends BaseController{
     public void export(HttpServletResponse response, IotWarnindicator iotWarnindicator){
         iotWarnindicator.setTid(SecurityUtils.getTid());
         List<IotWarnindicator> list = iotWarnindicatorService.selectIotWarnindicatorList(iotWarnindicator);
-        ExcelUtil<IotWarnindicator> util = new ExcelUtil<IotWarnindicator>(IotWarnindicator.class);
+        ExcelUtil<IotWarnindicator> util = new ExcelUtil<>(IotWarnindicator.class);
         util.exportExcel(response, list, "告警指标,存储所有与告警相关的指标信息数据");
     }
 

+ 1 - 2
src/main/java/com/yunfeiyun/agmp/iotm/web/domain/reqvo/IotWarnconfigAddReqVo.java

@@ -13,6 +13,5 @@ public class IotWarnconfigAddReqVo extends IotWarnconfig {
     private List<IotWarnobject> iotWarnobjects;
     /**告警指标(告警条件)*/
     private List<IotWarnindicator> IotWarnindicator;
-    /**重复次数*/
-    private Integer wctCount;
+
 }

+ 10 - 0
src/main/java/com/yunfeiyun/agmp/iotm/web/domain/resvo/IotWarnconfigResVo.java

@@ -0,0 +1,10 @@
+package com.yunfeiyun.agmp.iotm.web.domain.resvo;
+
+import com.yunfeiyun.agmp.iot.common.domain.IotWarnconfig;
+import lombok.Data;
+
+@Data
+public class IotWarnconfigResVo extends IotWarnconfig {
+    private String devtypeName;
+    private String wpChannel;
+}

+ 3 - 0
src/main/java/com/yunfeiyun/agmp/iotm/web/mapper/IotWarnconfigMapper.java

@@ -1,6 +1,7 @@
 package com.yunfeiyun.agmp.iotm.web.mapper;
 
 import com.yunfeiyun.agmp.iot.common.domain.IotWarnconfig;
+import com.yunfeiyun.agmp.iotm.web.domain.resvo.IotWarnconfigResVo;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -60,4 +61,6 @@ public interface IotWarnconfigMapper {
      * @return 结果
      */
     public int deleteIotWarnconfigWcBids(@Param("array") String[] ids, @Param("tid") String tid);
+
+    List<IotWarnconfigResVo> selectIotWarnconfigResVoList(IotWarnconfig iotWarnconfig);
 }

+ 3 - 0
src/main/java/com/yunfeiyun/agmp/iotm/web/service/IIotWarnconfigService.java

@@ -2,6 +2,7 @@ package com.yunfeiyun.agmp.iotm.web.service;
 
 import com.yunfeiyun.agmp.iot.common.domain.IotWarnconfig;
 import com.yunfeiyun.agmp.iotm.web.domain.reqvo.IotWarnconfigAddReqVo;
+import com.yunfeiyun.agmp.iotm.web.domain.resvo.IotWarnconfigResVo;
 
 import javax.validation.Valid;
 import java.util.List;
@@ -63,4 +64,6 @@ public interface IIotWarnconfigService {
     public int deleteIotWarnconfigByWcBid(String wcBid, String tid);
 
     int add(@Valid IotWarnconfigAddReqVo iotWarnconfigAddReqVo);
+
+    List<IotWarnconfigResVo> selectIotWarnconfigResVoList(IotWarnconfig iotWarnconfig);
 }

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

@@ -1,5 +1,6 @@
 package com.yunfeiyun.agmp.iotm.web.service;
 
+import com.yunfeiyun.agmp.iot.common.domain.IotDevice;
 import com.yunfeiyun.agmp.iot.common.domain.IotWarnindicator;
 
 import java.util.List;
@@ -59,4 +60,6 @@ public interface IIotWarnindicatorService {
      * @return 结果
      */
     public int deleteIotWarnindicatorByWiBid(String wiBid, String tid);
+
+    List<IotWarnindicator> query(IotDevice iotDevice);
 }

+ 49 - 7
src/main/java/com/yunfeiyun/agmp/iotm/web/service/impl/IotWarnconfigServiceImpl.java

@@ -1,15 +1,22 @@
 package com.yunfeiyun.agmp.iotm.web.service.impl;
 
-import com.yunfeiyun.agmp.iot.common.domain.IotDevice;
+import com.yunfeiyun.agmp.common.utils.DateUtils;
+import com.yunfeiyun.agmp.common.utils.SecurityUtils;
+import com.yunfeiyun.agmp.iot.common.constant.devicetype.IotDeviceDictEnum;
 import com.yunfeiyun.agmp.iot.common.domain.IotWarnconfig;
+import com.yunfeiyun.agmp.iot.common.domain.IotWarnindicator;
 import com.yunfeiyun.agmp.iot.common.domain.IotWarnobject;
 import com.yunfeiyun.agmp.iotm.web.domain.reqvo.IotWarnconfigAddReqVo;
+import com.yunfeiyun.agmp.iotm.web.domain.resvo.IotWarnconfigResVo;
 import com.yunfeiyun.agmp.iotm.web.mapper.IotWarnconfigMapper;
+import com.yunfeiyun.agmp.iotm.web.mapper.IotWarnindicatorMapper;
+import com.yunfeiyun.agmp.iotm.web.mapper.IotWarnobjectMapper;
 import com.yunfeiyun.agmp.iotm.web.service.IIotWarnconfigService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
-import java.util.ArrayList;
+import javax.annotation.Resource;
 import java.util.List;
 
 /**
@@ -22,7 +29,10 @@ import java.util.List;
 public class IotWarnconfigServiceImpl implements IIotWarnconfigService {
     @Autowired
     private IotWarnconfigMapper iotWarnconfigMapper;
-
+    @Resource
+    private IotWarnobjectMapper iotWarnobjectMapper;
+    @Resource
+    private IotWarnindicatorMapper iotWarnindicatorMapper;
     /**
      * 查询告警配置
      * 
@@ -33,7 +43,6 @@ public class IotWarnconfigServiceImpl implements IIotWarnconfigService {
     public IotWarnconfig selectIotWarnconfigByWcBid(String wcBid, String tid){
         return iotWarnconfigMapper.selectIotWarnconfigByWcBid(wcBid, tid);
     }
-
     /**
      * 查询告警配置列表
      * 
@@ -44,6 +53,18 @@ public class IotWarnconfigServiceImpl implements IIotWarnconfigService {
     public List<IotWarnconfig> selectIotWarnconfigList(IotWarnconfig iotWarnconfig){
         return iotWarnconfigMapper.selectIotWarnconfigList(iotWarnconfig);
     }
+    /**
+     * 查询告警配置列表
+     * */
+    @Override
+    public List<IotWarnconfigResVo> selectIotWarnconfigResVoList(IotWarnconfig iotWarnconfig) {
+        List<IotWarnconfigResVo> iotWarnconfigResVoList = iotWarnconfigMapper.selectIotWarnconfigResVoList(iotWarnconfig);
+        for(IotWarnconfigResVo iotWarnconfigResVo : iotWarnconfigResVoList){
+            iotWarnconfigResVo.setDevtypeName(IotDeviceDictEnum.getNameByCode(iotWarnconfigResVo.getDevtypeBid()));
+        }
+        return iotWarnconfigResVoList;
+    }
+
 
     /**
      * 新增告警配置
@@ -88,13 +109,34 @@ public class IotWarnconfigServiceImpl implements IIotWarnconfigService {
     public int deleteIotWarnconfigByWcBid(String wcBid, String tid){
         return iotWarnconfigMapper.deleteIotWarnconfigByWcBid(wcBid, tid);
     }
-
+    @Transactional(rollbackFor = Exception.class)
     @Override
     public int add(IotWarnconfigAddReqVo iotWarnconfigAddReqVo) {
+        // 添加告警配置
+        iotWarnconfigAddReqVo.setTid(SecurityUtils.getTid());
+        iotWarnconfigAddReqVo.setWcBid(iotWarnconfigAddReqVo.getUUId());
+        iotWarnconfigAddReqVo.setWcCreateddate(DateUtils.dateTimeNow());
+        iotWarnconfigAddReqVo.setWcCreator(SecurityUtils.getUserId());
+
         // 获取告警对象
         List<IotWarnobject> warnobjects = iotWarnconfigAddReqVo.getIotWarnobjects();
-        List<IotDevice> iotDeviceList = new ArrayList<>();
+        for(IotWarnobject iotWarnobject : warnobjects){
+            iotWarnobject.setWoBid(iotWarnobject.getUUId());
+            iotWarnobject.setWcBid(iotWarnconfigAddReqVo.getWcBid());
+            iotWarnobject.setTid(SecurityUtils.getTid());
+            iotWarnobjectMapper.insertIotWarnobject(iotWarnobject);
+        }
 
-        return 0;
+        // 获取告警规则
+        List<IotWarnindicator> iotWarnindicatorList = iotWarnconfigAddReqVo.getIotWarnindicator();
+        for(IotWarnindicator iotWarnindicator : iotWarnindicatorList){
+            iotWarnindicator.setWiBid(iotWarnindicator.getUUId());
+            iotWarnindicator.setWcBid(iotWarnconfigAddReqVo.getWcBid());
+            iotWarnindicator.setTid(SecurityUtils.getTid());
+            iotWarnindicator.setWiCreator(SecurityUtils.getTid());
+            iotWarnindicator.setWiCreateddate(DateUtils.dateTimeNow());
+            iotWarnindicatorMapper.insertIotWarnindicator(iotWarnindicator);
+        }
+        return iotWarnconfigMapper.insertIotWarnconfig(iotWarnconfigAddReqVo);
     }
 }

+ 116 - 13
src/main/java/com/yunfeiyun/agmp/iotm/web/service/impl/IotWarnindicatorServiceImpl.java

@@ -1,17 +1,35 @@
 package com.yunfeiyun.agmp.iotm.web.service.impl;
 
+import com.alibaba.fastjson2.JSONArray;
+import com.alibaba.fastjson2.JSONObject;
+import com.yunfeiyun.agmp.common.constant.ErrorCode;
+import com.yunfeiyun.agmp.common.exception.BizException;
+import com.yunfeiyun.agmp.common.utils.StringUtils;
+import com.yunfeiyun.agmp.iot.common.constant.devicetype.IotDeviceDictConst;
+import com.yunfeiyun.agmp.iot.common.domain.IotDevice;
+import com.yunfeiyun.agmp.iot.common.domain.IotDevicelasteddata;
+import com.yunfeiyun.agmp.iot.common.domain.IotWarndataitem;
 import com.yunfeiyun.agmp.iot.common.domain.IotWarnindicator;
+import com.yunfeiyun.agmp.iotm.device.common.domin.IotDeviceBaseFunReqVo;
+import com.yunfeiyun.agmp.iotm.device.common.domin.IotDeviceDataListReqVo;
+import com.yunfeiyun.agmp.iotm.device.common.service.IotDeviceCommonService;
+import com.yunfeiyun.agmp.iotm.web.mapper.IotWarndataitemMapper;
 import com.yunfeiyun.agmp.iotm.web.mapper.IotWarnindicatorMapper;
 import com.yunfeiyun.agmp.iotm.web.service.IIotWarnindicatorService;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
+import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 
 /**
  * 告警指标,存储所有与告警相关的指标信息Service业务层处理
- * 
+ *
  * @author 杨晓辉
  * @date 2025-03-07
  */
@@ -19,70 +37,155 @@ import java.util.List;
 public class IotWarnindicatorServiceImpl implements IIotWarnindicatorService {
     @Autowired
     private IotWarnindicatorMapper iotWarnindicatorMapper;
+    @Resource
+    private IotWarndataitemMapper iotWarndataitemMapper;
+    @Resource
+    private IotDeviceCommonService iotDeviceCommonService;
 
     /**
      * 查询告警指标,存储所有与告警相关的指标信息
-     * 
+     *
      * @param wiBid 告警指标,存储所有与告警相关的指标信息主键
      * @return 告警指标,存储所有与告警相关的指标信息
      */
     @Override
-    public IotWarnindicator selectIotWarnindicatorByWiBid(String wiBid, String tid){
+    public IotWarnindicator selectIotWarnindicatorByWiBid(String wiBid, String tid) {
         return iotWarnindicatorMapper.selectIotWarnindicatorByWiBid(wiBid, tid);
     }
 
     /**
      * 查询告警指标,存储所有与告警相关的指标信息列表
-     * 
+     *
      * @param iotWarnindicator 告警指标,存储所有与告警相关的指标信息
      * @return 告警指标,存储所有与告警相关的指标信息
      */
     @Override
-    public List<IotWarnindicator> selectIotWarnindicatorList(IotWarnindicator iotWarnindicator){
+    public List<IotWarnindicator> selectIotWarnindicatorList(IotWarnindicator iotWarnindicator) {
         return iotWarnindicatorMapper.selectIotWarnindicatorList(iotWarnindicator);
     }
 
     /**
      * 新增告警指标,存储所有与告警相关的指标信息
-     * 
+     *
      * @param iotWarnindicator 告警指标,存储所有与告警相关的指标信息
      * @return 结果
      */
     @Override
-    public int insertIotWarnindicator(IotWarnindicator iotWarnindicator){
+    public int insertIotWarnindicator(IotWarnindicator iotWarnindicator) {
         return iotWarnindicatorMapper.insertIotWarnindicator(iotWarnindicator);
     }
 
     /**
      * 修改告警指标,存储所有与告警相关的指标信息
-     * 
+     *
      * @param iotWarnindicator 告警指标,存储所有与告警相关的指标信息
      * @return 结果
      */
     @Override
-    public int updateIotWarnindicator(IotWarnindicator iotWarnindicator){
+    public int updateIotWarnindicator(IotWarnindicator iotWarnindicator) {
         return iotWarnindicatorMapper.updateIotWarnindicator(iotWarnindicator);
     }
 
     /**
      * 批量删除告警指标,存储所有与告警相关的指标信息
-     * 
+     *
      * @param wiBids 需要删除的告警指标,存储所有与告警相关的指标信息主键
      * @return 结果
      */
     @Override
-    public int deleteIotWarnindicatorByWiBids(String[] wiBids, String tid){
+    public int deleteIotWarnindicatorByWiBids(String[] wiBids, String tid) {
         return iotWarnindicatorMapper.deleteIotWarnindicatorByWiBids(wiBids, tid);
     }
 
     /**
      * 删除告警指标,存储所有与告警相关的指标信息信息
-     * 
+     *
      * @param wiBid 告警指标,存储所有与告警相关的指标信息主键
      * @return 结果
      */
     @Override
-    public int deleteIotWarnindicatorByWiBid(String wiBid, String tid){
+    public int deleteIotWarnindicatorByWiBid(String wiBid, String tid) {
         return iotWarnindicatorMapper.deleteIotWarnindicatorByWiBid(wiBid, tid);
     }
+
+    @Override
+    public List<IotWarnindicator> query(IotDevice iotDevice) {
+        if (StringUtils.isEmpty(iotDevice.getDevtypeBid())) {
+            throw new BizException(ErrorCode.INVALID_PARAMETER.getCode(), "设备类型不能为空");
+        }
+        List<IotWarnindicator> result = new ArrayList<>();
+        // 暂时只支持针对设备的告警要素查询
+        if (StringUtils.isNotEmpty(iotDevice.getDevBid())) {
+            result = warnindicatorDevQuery(iotDevice);
+        }
+        return result;
+    }
+    private List<IotWarnindicator> warnindicatorDevQuery(IotDevice iotDevice){
+        // 查询当前设备是否存在预设要素
+        Map<String,IotWarndataitem> warndataitemMap = queryDefaultFactorMap(iotDevice);
+        List<IotWarnindicator> result = new ArrayList<>();
+        if (isFactorDevice(iotDevice.getDevtypeBid())) {
+            IotDeviceDataListReqVo iotDeviceDataListReqVo = new IotDeviceDataListReqVo();
+            BeanUtils.copyProperties(iotDevice,iotDeviceDataListReqVo);
+            IotDeviceBaseFunReqVo iotDeviceBaseFunReqVo = new IotDeviceBaseFunReqVo();
+            iotDeviceBaseFunReqVo.setDevBid(iotDevice.getDevBid());
+            iotDeviceBaseFunReqVo.setMethodName("warnDataLatest");
+            iotDeviceBaseFunReqVo.setParam(iotDeviceDataListReqVo);
+            IotDevicelasteddata iotDevicelasteddata = iotDeviceCommonService.func(iotDeviceBaseFunReqVo);
+            JSONArray jsonArray = JSONArray.parseArray(iotDevicelasteddata.getDevldContent());
+            if (!jsonArray.isEmpty() && !warndataitemMap.isEmpty()) {
+                // 如果设备存在预设要素。则需要过滤非预设要素
+                for (int i = 0; i < jsonArray.size(); i++) {
+                    JSONObject dataItem = jsonArray.getJSONObject(i);
+                    IotWarndataitem iotWarndataitem = warndataitemMap.get(dataItem.getString("factorCode"));
+                    if (null != iotWarndataitem) {
+                        IotWarnindicator iotWarnindicator = new IotWarnindicator();
+                        iotWarnindicator.setWiAddress(dataItem.getString("address"));
+                        iotWarnindicator.setWiCode(dataItem.getString("factorCode"));
+                        iotWarnindicator.setWiName(dataItem.getString("factorName"));
+                        iotWarnindicator.setWiUnit(dataItem.getString("factorUnit"));
+                        iotWarnindicator.setWdBid(iotWarndataitem.getWdBid());
+                        result.add(iotWarnindicator);
+                    }
+                }
+            } else {
+                // 如果设备不存在预设要素。则直接返回设备上报的数据
+                for (int i = 0; i < jsonArray.size(); i++) {
+                    JSONObject dataItem = jsonArray.getJSONObject(i);
+                    IotWarnindicator iotWarnindicator = new IotWarnindicator();
+                    iotWarnindicator.setWiAddress(dataItem.getString("address"));
+                    iotWarnindicator.setWiCode(dataItem.getString("factorCode"));
+                    iotWarnindicator.setWiName(dataItem.getString("factorName"));
+                    iotWarnindicator.setWiUnit(dataItem.getString("factorUnit"));
+                    result.add(iotWarnindicator);
+                }
+            }
+        }
+        return result;
+    }
+
+    private Map<String,IotWarndataitem> queryDefaultFactorMap(IotDevice iotDevice){
+        // 查询设备是否存在预设要素
+        IotWarndataitem iotWarndataitemQuery = new IotWarndataitem();
+        iotWarndataitemQuery.setWdType("0");
+        iotWarndataitemQuery.setWdObjid(iotDevice.getDevBid());
+        List<IotWarndataitem> iotWarndataitemList = iotWarndataitemMapper.selectIotWarndataitemList(iotWarndataitemQuery);
+        if (iotWarndataitemList.isEmpty()) {
+            // 查询设备类型是否存在预设要素
+            iotWarndataitemQuery.setWdType("1");
+            iotWarndataitemQuery.setWdObjid(iotDevice.getDevtypeBid());
+            iotWarndataitemList = iotWarndataitemMapper.selectIotWarndataitemList(iotWarndataitemQuery);
+        }
+        return iotWarndataitemList.stream().collect(Collectors.toMap(IotWarndataitem::getWdCode, item -> item));
+    }
+
+    private boolean isFactorDevice(String devTypeBid) {
+        if(IotDeviceDictConst.TYPE_YF_QXZ.equals(devTypeBid)){
+            return true;
+        }
+        if(IotDeviceDictConst.TYPE_YF_SQZ.equals(devTypeBid)){
+            return true;
+        }
+        return false;
+    }
 }

+ 27 - 1
src/main/resources/mapper/IotWarnconfigMapper.xml

@@ -13,6 +13,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="wcLevel"    column="wcLevel"    />
         <result property="wcTouchtype"    column="wcTouchtype"    />
         <result property="wcCondition"    column="wcCondition"    />
+        <result property="devtypeBid"    column="devtypeBid"    />
         <result property="wcRepeatnum"    column="wcRepeatnum"    />
         <result property="wcCreator"    column="wcCreator"    />
         <result property="wcCreateddate"    column="wcCreateddate"    />
@@ -22,7 +23,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     </resultMap>
 
     <sql id="selectIotWarnconfigVo">
-        select id, wcBid, wcName, wcDesc, wcStatus, wcLevel, wcTouchtype, wcCondition,wcRepeatnum, wcCreator, wcCreateddate, wcModifieddate, wcModifier, tid from IotWarnconfig
+        select id, wcBid, wcName, wcDesc, wcStatus, wcLevel, wcTouchtype, wcCondition, devtypeBid, wcRepeatnum, wcCreator, wcCreateddate, wcModifieddate, wcModifier, tid from IotWarnconfig
     </sql>
 
     <select id="selectIotWarnconfigList" parameterType="IotWarnconfig" resultMap="IotWarnconfigResult">
@@ -35,6 +36,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="wcLevel != null  and wcLevel != ''"> and wcLevel = #{wcLevel}</if>
             <if test="wcTouchtype != null  and wcTouchtype != ''"> and wcTouchtype = #{wcTouchtype}</if>
             <if test="wcCondition != null  and wcCondition != ''"> and wcCondition = #{wcCondition}</if>
+            <if test="devtypeBid != null  and devtypeBid != ''"> and devtypeBid = #{devtypeBid}</if>
             <if test="wcRepeatnum != null  and wcRepeatnum != ''"> and wcRepeatnum = #{wcRepeatnum}</if>
             <if test="wcCreator != null  and wcCreator != ''"> and wcCreator = #{wcCreator}</if>
             <if test="wcCreateddate != null  and wcCreateddate != ''"> and wcCreateddate = #{wcCreateddate}</if>
@@ -59,6 +61,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="wcLevel != null">wcLevel,</if>
             <if test="wcTouchtype != null">wcTouchtype,</if>
             <if test="wcCondition != null">wcCondition,</if>
+            <if test="devtypeBid != null">devtypeBid,</if>
             <if test="wcRepeatnum != null">wcRepeatnum,</if>
             <if test="wcCreator != null">wcCreator,</if>
             <if test="wcCreateddate != null">wcCreateddate,</if>
@@ -74,6 +77,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="wcLevel != null">#{wcLevel},</if>
             <if test="wcTouchtype != null">#{wcTouchtype},</if>
             <if test="wcCondition != null">#{wcCondition},</if>
+            <if test="devtypeBid != null">#{devtypeBid},</if>
             <if test="wcRepeatnum != null">#{wcRepeatnum},</if>
             <if test="wcCreator != null">#{wcCreator},</if>
             <if test="wcCreateddate != null">#{wcCreateddate},</if>
@@ -93,6 +97,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="wcLevel != null">wcLevel = #{wcLevel},</if>
             <if test="wcTouchtype != null">wcTouchtype = #{wcTouchtype},</if>
             <if test="wcCondition != null">wcCondition = #{wcCondition},</if>
+            <if test="devtypeBid != null">devtypeBid = #{devtypeBid},</if>
             <if test="wcRepeatnum != null">wcRepeatnum = #{wcRepeatnum},</if>
             <if test="wcCreator != null">wcCreator = #{wcCreator},</if>
             <if test="wcCreateddate != null">wcCreateddate = #{wcCreateddate},</if>
@@ -113,4 +118,25 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             #{wcBid}
         </foreach>
     </delete>
+
+    <select id="selectIotWarnconfigResVoList"
+            resultType="com.yunfeiyun.agmp.iotm.web.domain.resvo.IotWarnconfigResVo">
+        <include refid="selectIotWarnconfigVo"/>
+        <where>
+            <if test="wcBid != null  and wcBid != ''"> and wcBid = #{wcBid}</if>
+            <if test="wcName != null  and wcName != ''"> and wcName like concat('%', #{wcName}, '%')</if>
+            <if test="wcDesc != null  and wcDesc != ''"> and wcDesc = #{wcDesc}</if>
+            <if test="wcStatus != null  and wcStatus != ''"> and wcStatus = #{wcStatus}</if>
+            <if test="wcLevel != null  and wcLevel != ''"> and wcLevel = #{wcLevel}</if>
+            <if test="wcTouchtype != null  and wcTouchtype != ''"> and wcTouchtype = #{wcTouchtype}</if>
+            <if test="wcCondition != null  and wcCondition != ''"> and wcCondition = #{wcCondition}</if>
+            <if test="devtypeBid != null  and devtypeBid != ''"> and devtypeBid = #{devtypeBid}</if>
+            <if test="wcRepeatnum != null  and wcRepeatnum != ''"> and wcRepeatnum = #{wcRepeatnum}</if>
+            <if test="wcCreator != null  and wcCreator != ''"> and wcCreator = #{wcCreator}</if>
+            <if test="wcCreateddate != null  and wcCreateddate != ''"> and wcCreateddate = #{wcCreateddate}</if>
+            <if test="wcModifieddate != null  and wcModifieddate != ''"> and wcModifieddate = #{wcModifieddate}</if>
+            <if test="wcModifier != null  and wcModifier != ''"> and wcModifier = #{wcModifier}</if>
+            <if test="tid != null  and tid != ''"> and tid = #{tid}</if>
+        </where>
+    </select>
 </mapper>

+ 7 - 11
src/main/resources/mapper/IotWarnobjectMapper.xml

@@ -8,13 +8,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="id"    column="id"    />
         <result property="woBid"    column="woBid"    />
         <result property="wcBid"    column="wcBid"    />
-        <result property="woType"    column="woType"    />
-        <result property="woObjid"    column="woObjid"    />
+        
+        <result property="devBid"    column="devBid"    />
         <result property="tid"    column="tid"    />
     </resultMap>
 
     <sql id="selectIotWarnobjectVo">
-        select id, woBid, wcBid, woType, woObjid, tid from IotWarnobject
+        select id, woBid, wcBid,  devBid, tid from IotWarnobject
     </sql>
 
     <select id="selectIotWarnobjectList" parameterType="IotWarnobject" resultMap="IotWarnobjectResult">
@@ -22,8 +22,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <where>  
             <if test="woBid != null  and woBid != ''"> and woBid = #{woBid}</if>
             <if test="wcBid != null  and wcBid != ''"> and wcBid = #{wcBid}</if>
-            <if test="woType != null  and woType != ''"> and woType = #{woType}</if>
-            <if test="woObjid != null  and woObjid != ''"> and woObjid = #{woObjid}</if>
+            <if test="devBid != null  and devBid != ''"> and devBid = #{devBid}</if>
             <if test="tid != null  and tid != ''"> and tid = #{tid}</if>
         </where>
     </select>
@@ -38,15 +37,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <trim prefix="(" suffix=")" suffixOverrides=",">
             <if test="woBid != null">woBid,</if>
             <if test="wcBid != null">wcBid,</if>
-            <if test="woType != null">woType,</if>
-            <if test="woObjid != null">woObjid,</if>
+            <if test="devBid != null">devBid,</if>
             <if test="tid != null and tid != ''">tid,</if>
          </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="woBid != null">#{woBid},</if>
             <if test="wcBid != null">#{wcBid},</if>
-            <if test="woType != null">#{woType},</if>
-            <if test="woObjid != null">#{woObjid},</if>
+            <if test="devBid != null">#{devBid},</if>
             <if test="tid != null and tid != ''">#{tid},</if>
          </trim>
     </insert>
@@ -56,8 +53,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <trim prefix="SET" suffixOverrides=",">
             <if test="woBid != null">woBid = #{woBid},</if>
             <if test="wcBid != null">wcBid = #{wcBid},</if>
-            <if test="woType != null">woType = #{woType},</if>
-            <if test="woObjid != null">woObjid = #{woObjid},</if>
+            <if test="devBid != null">devBid = #{devBid},</if>
             <if test="tid != null and tid != ''">tid = #{tid},</if>
         </trim>
         where woBid = #{woBid}