Procházet zdrojové kódy

告警:病害业务端的接口

yf_zn před 9 měsíci
rodič
revize
0f335d44ca

+ 8 - 7
src/main/java/com/yunfeiyun/agmp/iotm/web/service/IIotWarnindicatorService.java

@@ -9,14 +9,14 @@ import java.util.List;
 
 /**
  * 告警指标,存储所有与告警相关的指标信息Service接口
- * 
+ *
  * @author 杨晓辉
  * @date 2025-03-07
  */
 public interface IIotWarnindicatorService {
     /**
      * 查询告警指标,存储所有与告警相关的指标信息
-     * 
+     *
      * @param wiBid 告警指标,存储所有与告警相关的指标信息主键
      * @return 告警指标,存储所有与告警相关的指标信息
      */
@@ -24,7 +24,7 @@ public interface IIotWarnindicatorService {
 
     /**
      * 查询告警指标,存储所有与告警相关的指标信息列表
-     * 
+     *
      * @param iotWarnindicator 告警指标,存储所有与告警相关的指标信息
      * @return 告警指标,存储所有与告警相关的指标信息集合
      */
@@ -32,7 +32,7 @@ public interface IIotWarnindicatorService {
 
     /**
      * 新增告警指标,存储所有与告警相关的指标信息
-     * 
+     *
      * @param iotWarnindicator 告警指标,存储所有与告警相关的指标信息
      * @return 结果
      */
@@ -40,7 +40,7 @@ public interface IIotWarnindicatorService {
 
     /**
      * 修改告警指标,存储所有与告警相关的指标信息
-     * 
+     *
      * @param iotWarnindicator 告警指标,存储所有与告警相关的指标信息
      * @return 结果
      */
@@ -48,7 +48,7 @@ public interface IIotWarnindicatorService {
 
     /**
      * 批量删除告警指标,存储所有与告警相关的指标信息
-     * 
+     *
      * @param wiBids 需要删除的告警指标,存储所有与告警相关的指标信息主键集合
      * @return 结果
      */
@@ -56,7 +56,7 @@ public interface IIotWarnindicatorService {
 
     /**
      * 删除告警指标,存储所有与告警相关的指标信息信息
-     * 
+     *
      * @param wiBid 告警指标,存储所有与告警相关的指标信息主键
      * @return 结果
      */
@@ -76,6 +76,7 @@ public interface IIotWarnindicatorService {
      * @return
      */
     public List<IotWarnindicator> warnindicatorDevQueryByCbd(IotDevice iotDevice);
+    public List<IotWarnindicator> warnindicatorDevQueryByYbq(IotDevice iotDevice);
 
     /**
      * 查询虫情列表

+ 24 - 0
src/main/java/com/yunfeiyun/agmp/iotm/web/service/impl/IotWarnconfigServiceImpl.java

@@ -360,6 +360,23 @@ public class IotWarnconfigServiceImpl implements IIotWarnconfigService {
         resultIotWarnIndicatorList.addAll(iotWarnindicatorMap.values());
     }
 
+    private void setInfoByYbq(IotWarnconfig iotWarnconfig, List<IotWarnobject> iotWarnobjectList, List<IotWarnindicator> resultIotWarnIndicatorList) {
+        String wcBid = iotWarnconfig.getWcBid();
+        String tid = SecurityUtils.getTid();
+
+        IotWarnindicator iotWarnindicatorQuery = new IotWarnindicator();
+        iotWarnindicatorQuery.setWcBid(wcBid);
+        iotWarnindicatorQuery.setTid(tid);
+        // 获取已经配置的设备要素
+        List<IotWarnindicator> iotWarnindicatorList = iotWarnindicatorService.selectIotWarnindicatorList(iotWarnindicatorQuery);
+        Map<String, IotWarnindicator> iotWarnindicatorMap = new LinkedHashMap<>();
+        for (IotWarnindicator iotWarnindicator : iotWarnindicatorList) {
+            String wiBid = iotWarnindicator.getWiBid();
+            iotWarnindicatorMap.put(wiBid, iotWarnindicator);
+        }
+        resultIotWarnIndicatorList.addAll(iotWarnindicatorMap.values());
+    }
+
     @Override
     public IotWarnconfigInfoResVo info(String wcBid) {
         String tid = SecurityUtils.getTid();
@@ -386,6 +403,8 @@ public class IotWarnconfigServiceImpl implements IIotWarnconfigService {
                 setInfoByQxz(iotWarnconfig, iotWarnobjectList, resultIotWarnIndicatorList);
             } else if (DevTypeUtil.isYfCbd(devtypeBid)) {
                 setInfoByCbd(iotWarnconfig, iotWarnobjectList, resultIotWarnIndicatorList);
+            } else if (DevTypeUtil.isYbd(devtypeBid)) {
+                setInfoByYbq(iotWarnconfig, iotWarnobjectList, resultIotWarnIndicatorList);
             }
         }
 
@@ -402,6 +421,11 @@ public class IotWarnconfigServiceImpl implements IIotWarnconfigService {
         Set<String> devtypeSet = new HashSet<>();
         devtypeSet.add(IotDeviceDictConst.TYPE_DAHUA_YUNRUI_DEVICE);
         devtypeSet.add(IotDeviceDictConst.TYPE_EZVIZ_JKSB);
+        devtypeSet.add(IotDeviceDictConst.TYPE_HS_YBQ_BFB);
+        devtypeSet.add(IotDeviceDictConst.TYPE_HS_YBQ_CMB);
+        devtypeSet.add(IotDeviceDictConst.TYPE_HS_YBQ_DBB);
+        devtypeSet.add(IotDeviceDictConst.TYPE_HS_YBQ_DWB);
+        devtypeSet.add(IotDeviceDictConst.TYPE_HS_YBQ_TXB);
 
         JSONObject jsonObject = new JSONObject();
         jsonObject.put("interval", interval);

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

@@ -129,32 +129,35 @@ public class IotWarnindicatorServiceImpl implements IIotWarnindicatorService {
 
         List<IotWarnindicator> result = new ArrayList<>();
         // 暂时只支持针对设备的告警要素查询
-        if(DevTypeUtil.isQxSq(devTypeBid)){
+        if (DevTypeUtil.isQxSq(devTypeBid)) {
             result = warnindicatorDevQueryByQxSq(iotDevice);
-        }else if(DevTypeUtil.isYfRecogCbd(devTypeBid)){
+        } else if (DevTypeUtil.isYfRecogCbd(devTypeBid)) {
             result = warnindicatorDevQueryByCbd(iotDevice);
+        } else if (DevTypeUtil.isYbd(devTypeBid)) {
+            result = warnindicatorDevQueryByYbq(iotDevice);
         }
         return result;
     }
 
     /**
      * 查询气象墒情告警要素列表
+     *
      * @param iotDevice
      * @return
      */
     @Override
-    public List<IotWarnindicator> warnindicatorDevQueryByQxSq(IotDevice iotDevice){
+    public List<IotWarnindicator> warnindicatorDevQueryByQxSq(IotDevice iotDevice) {
         // 暂不支持根据类型查询要素
         // 查询当前设备是否存在预设要素
         List<IotWarnindicator> result = new ArrayList<>();
         IotDeviceDataListReqVo iotDeviceDataListReqVo = new IotDeviceDataListReqVo();
-        BeanUtils.copyProperties(iotDevice,iotDeviceDataListReqVo);
+        BeanUtils.copyProperties(iotDevice, iotDeviceDataListReqVo);
         IotDeviceBaseFunReqVo iotDeviceBaseFunReqVo = new IotDeviceBaseFunReqVo();
         iotDeviceBaseFunReqVo.setDevBid(iotDevice.getDevBid());
         iotDeviceBaseFunReqVo.setMethodName("warnDataLatest");
         iotDeviceBaseFunReqVo.setParam(iotDeviceDataListReqVo);
         IotDevicelasteddata iotDevicelasteddata = iotDeviceCommonService.func(iotDeviceBaseFunReqVo);
-        if(null == iotDevicelasteddata){
+        if (null == iotDevicelasteddata) {
             return result;
         }
         JSONArray jsonArray = JSONArray.parseArray(iotDevicelasteddata.getDevldContent());
@@ -189,7 +192,26 @@ public class IotWarnindicatorServiceImpl implements IIotWarnindicatorService {
         factorList.add(new String[]{"pestDetail", "指定害虫", "头", "1"});
 
         List<IotWarnindicator> result = new ArrayList<>();
-        for(String[] factor : factorList){
+        for (String[] factor : factorList) {
+            IotWarnindicator iotWarnindicator = new IotWarnindicator();
+            iotWarnindicator.setWiAddress(factor[0]);
+            iotWarnindicator.setWiCode(factor[0]);
+            iotWarnindicator.setWiName(factor[1]);
+            iotWarnindicator.setWiUnit(factor[2]);
+            iotWarnindicator.setWiOptiontype(factor[3]);
+            result.add(iotWarnindicator);
+        }
+        return result;
+    }
+
+    @Override
+    public List<IotWarnindicator> warnindicatorDevQueryByYbq(IotDevice iotDevice) {
+
+        List<String[]> factorList = new ArrayList<>();
+        factorList.add(new String[]{"computeValue", "发生率", "%", "0"});
+
+        List<IotWarnindicator> result = new ArrayList<>();
+        for (String[] factor : factorList) {
             IotWarnindicator iotWarnindicator = new IotWarnindicator();
             iotWarnindicator.setWiAddress(factor[0]);
             iotWarnindicator.setWiCode(factor[0]);
@@ -201,7 +223,7 @@ public class IotWarnindicatorServiceImpl implements IIotWarnindicatorService {
         return result;
     }
 
-    private Map<String,IotWarndataitem> queryDefaultFactorMap(IotDevice iotDevice){
+    private Map<String, IotWarndataitem> queryDefaultFactorMap(IotDevice iotDevice) {
         // 查询设备是否存在预设要素
         IotWarndataitem iotWarndataitemQuery = new IotWarndataitem();
         iotWarndataitemQuery.setWdType("0");
@@ -226,12 +248,12 @@ public class IotWarnindicatorServiceImpl implements IIotWarnindicatorService {
     @Override
     public List<IotPest> pestList(String devBid) {
         IotDevice iotDevice = iotDeviceService.selectIotDeviceByDevBid(devBid);
-        if(null == iotDevice){
+        if (null == iotDevice) {
             throw new BizException(ErrorCode.INVALID_PARAMETER.getCode(), "设备不存在");
         }
         String devtypeBid = iotDevice.getDevtypeBid();
         String devType = null;
-        switch (devtypeBid){
+        switch (devtypeBid) {
             case IotDeviceDictConst.TYPE_YF_CBD:
             case IotDeviceDictConst.TYPE_YF_SDCBD:
                 devType = "CBD";
@@ -251,14 +273,13 @@ public class IotWarnindicatorServiceImpl implements IIotWarnindicatorService {
      * 批量新增告警指标
      *
      * @param iotWarnindicator
-     * @return 结果
      * @param iotWarnindicator
      * @return
      */
     @Override
     public int insertIotWarnindicatorBatch(List<IotWarnindicator> iotWarnindicator) {
-        for(IotWarnindicator item : iotWarnindicator){
-            if(StringUtils.isEmpty(item.getWiOptiontype())){
+        for (IotWarnindicator item : iotWarnindicator) {
+            if (StringUtils.isEmpty(item.getWiOptiontype())) {
                 item.setWiOptiontype("0");
             }
         }
@@ -267,7 +288,7 @@ public class IotWarnindicatorServiceImpl implements IIotWarnindicatorService {
 
     @Override
     public int deleteIotWarnindicatorByWcBid(String wcBid, String tid) {
-        return iotWarnindicatorMapper.deleteIotWarnindicatorByWcBid(wcBid,tid);
+        return iotWarnindicatorMapper.deleteIotWarnindicatorByWcBid(wcBid, tid);
     }
 
     @Override