From c65ab218b14e87489f1594b2d932f7bd54b3ba11 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期五, 17 十月 2025 13:34:19 +0800
Subject: [PATCH] 数采调整

---
 cnas-device/src/main/java/com/ruoyi/device/utils/DataAcquisition.java |   33 ++++++++++++++++++++++++---------
 1 files changed, 24 insertions(+), 9 deletions(-)

diff --git a/cnas-device/src/main/java/com/ruoyi/device/utils/DataAcquisition.java b/cnas-device/src/main/java/com/ruoyi/device/utils/DataAcquisition.java
index 360eae6..751b778 100644
--- a/cnas-device/src/main/java/com/ruoyi/device/utils/DataAcquisition.java
+++ b/cnas-device/src/main/java/com/ruoyi/device/utils/DataAcquisition.java
@@ -7,7 +7,11 @@
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.ruoyi.common.core.domain.Result;
+import com.ruoyi.common.utils.RedisUtil;
+import com.ruoyi.device.constant.DCResistanceMqttConstants;
 import com.ruoyi.device.dto.DeviceCollectionDto;
+import com.ruoyi.device.mapper.CollectBridgeMapper;
 import com.ruoyi.device.pojo.DataConfig;
 import com.ruoyi.device.pojo.Device;
 import com.ruoyi.framework.exception.ErrorException;
@@ -24,6 +28,8 @@
 import java.util.regex.Pattern;
 import java.util.stream.Collectors;
 
+import static com.ruoyi.framework.datasource.DynamicDataSourceContextHolder.log;
+
 public class DataAcquisition {
 
     private static final String HTTP = "http://";
@@ -35,6 +41,8 @@
     private static final String splitIdentifier = "@-@"; // 鑷畾涔夊敮涓�鏍囪瘑鍒嗗壊绗�
 
     public static final String frequency = "frequency";
+
+    private CollectBridgeMapper collectBridgeMapper;
 
     /**
      * 鏁伴噰鍏ュ彛
@@ -69,14 +77,17 @@
          * mdbEntrustCode mdb鏂囦欢闇�瑕侊細濮旀墭缂栧彿瀛楁 涓轰粈涔堟病鏈夊幓杩欎釜mdb鍓嶇紑鍛紵鍥犱负宸茬粡缁欏鎴风殑閮ㄥ垎鐢佃剳涓婂畨瑁呬簡閲囬泦鍣紝鑰岀敤鎴蜂笉鎺ュ彈閲嶆柊瀹夎閲囬泦鍣紝鎵�浠ュ氨娌℃湁鍘婚櫎
          * mdbSampleCode mdb鏂囦欢闇�瑕侊細鏍峰搧缂栧彿瀛楁
          */
+        String mdbEntrustCode = StringUtils.isNotBlank(device.getEntrustCode())?device.getEntrustCode():"";
+        String mdbSampleCode = StringUtils.isNotBlank(device.getSampleCode())?device.getSampleCode():"";
+        String dbFileName = StringUtils.isNotBlank(device.getDbFileName())?device.getDbFileName():"";
         String http = HTTP + ip + GETFILE +
                 "?filePath=" + device.getCollectUrl() +
                 "&fileExtension=" + device.getFileType() +
                 "&entrustCode=" + entrustCode +
                 "&sampleCode=" + sampleCode +
-                "&mdbEntrustCode=" + device.getEntrustCode() +
-                "&mdbSampleCode=" + device.getSampleCode() +
-                "&dbFileName=" + device.getDbFileName()+
+                "&mdbEntrustCode=" + mdbEntrustCode +
+                "&mdbSampleCode=" + mdbSampleCode +
+                "&dbFileName=" + dbFileName +
                 "&dbUserName=" + dbUserName +
                 "&dbPassword=" + dbPassword +
                 "&dbTable=" + dbTable;
@@ -84,7 +95,6 @@
         String result = null;
         try {
             result = HttpUtil.get(http);
-            System.out.println("璇锋眰杩斿洖缁撴灉: " + result);
         } catch (IORuntimeException e) {
             e.printStackTrace();
             throw new ErrorException("鎵�鍦ㄧ數鑴戞湭瀹夎鎴栨湭鍚姩锛歀IMS鏂囦欢閲囬泦鍣紒");
@@ -97,7 +107,7 @@
                 throw new ErrorException(jsonObject.get("msg") + "");
             }
         } else {
-            String data = jsonObject.get("data") + "";
+             String data = jsonObject.get("data") + "";
             // 鑰冭檻鍒颁竴涓娴嬮」鍙兘浼氬瓨鍦ㄥ涓暟閲囬厤缃紝鎵�浠ラ渶瑕佽繘琛屽垎缁�
             Map<String, List<DataConfig>> userMap = dataConfig.stream()
                     .peek(i -> {
@@ -147,6 +157,9 @@
                 case ".png":
                     map = readPngString(data, userMap, device);
                     break;
+//                case ".mqtt":
+//                    map = getActualResistanceValueAsMap(userMap, device);
+//                    break;
                 default:
                     map = null;
                     break;
@@ -159,6 +172,7 @@
             return map;
         }
     }
+
 
     public static Map<String, Object> createFrequency(String entrustCode, String sampleCode, Map<String, Object> map) {
         Set<String> set = new LinkedHashSet<>();
@@ -266,6 +280,7 @@
             AtomicInteger numberOfDataEntries = new AtomicInteger();
             List<Object> list = new ArrayList<>();
             for (int config = 0; config < v.size(); config++) {
+//                String refery = v.get(config).getRefery();
                 String refery = getRefer(v.get(config).getRefery());
                 for (int i = 0; i < dataList.size(); i++) {
                     JSONObject jsonObject1 = JSON.parseObject(dataList.get(i).toString());
@@ -478,7 +493,7 @@
      * @param dataConfig 瀛樺偍鍏紡鐨勫璞�
      * @return
      */
-    private static Object calculationFormula(List<Object> list, DataConfig dataConfig, String insProductItem, Device device) {
+    public static Object calculationFormula(List<Object> list, DataConfig dataConfig, String insProductItem, Device device) {
         if (list.size() == 0) {
             Map<String, Object> hashMap = new HashMap<>();
             hashMap.put("equipName", device.getDeviceName());
@@ -505,10 +520,10 @@
             listResult.addAll(list);
         }
         // 涓轰簡缁欏墠绔仛鏁版嵁鍖哄垎
-        if (listResult.size() > 1) {
+        if (listResult.size() >= 1) {
             hashMap.put("result", listResult);
         } else {
-            hashMap.put("result", listResult.get(0).toString());
+            hashMap.put("result", listResult);
         }
         hashMap.put("equipName", device.getDeviceName());
         hashMap.put("equipValue", device.getManagementNumber());
@@ -689,7 +704,7 @@
     }
 
     // 闃叉鍙傜収鐗╀负绌烘姤閿欙紝杩涜鍒ゆ柇濡傛灉涓虹┖璧嬪�肩┖瀛楃
-    private static String getRefer(String refer) {
+    public static String getRefer(String refer) {
         return ObjectUtils.isNotEmpty(refer) ? refer.replaceAll(" ", "") : "";
     }
     /**

--
Gitblit v1.9.3