From ce5c5e897b288a27f00804b68e73647fdfc5b6a7 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期二, 29 四月 2025 10:15:11 +0800
Subject: [PATCH] 数采,成束释放

---
 cnas-device/src/main/java/com/ruoyi/device/utils/DataAcquisition.java |   20 +++++++++++++++++++-
 1 files changed, 19 insertions(+), 1 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 2fda700..681a174 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
@@ -706,6 +706,12 @@
         } else {
             listResult.addAll(list);
         }
+        // 鏇挎崲 "n.a." 涓虹┖瀛楃涓�
+        for (int i = 0; i < listResult.size(); i++) {
+            if ("n.a.".equals(listResult.get(i))) {
+                listResult.set(i, "");
+            }
+        }
         // 涓轰簡缁欏墠绔仛鏁版嵁鍖哄垎
         if (listResult.size() > 1) {
             hashMap.put("result", listResult);
@@ -792,6 +798,7 @@
     public static Map<String, Object> analysisList(String data, Map<String, List<DataConfig>> dataConfig,
                                                    Device device, String entrustCode, String sampleCode) {
         Map<String, Object> map = new HashMap<>();
+        List<String> rohsIndicators = Arrays.asList("鎴愭潫閲婃斁,SPR", "鎴愭潫閲婃斁,HRR", "鎴愭潫閲婃斁,THR", "鎴愭潫閲婃斁,TSP", "鎴愭潫閲婃斁,FIGRA");
         dataConfig.forEach((k, v) -> {
             List<Object> list = new ArrayList<>();
 //            // 濮旀墭缂栧彿涓庢牱鍝佺紪鍙蜂笉瀛樺湪锛屽畾锛�1銆乊瀹氳寖鍥达紝X瀹氭í鍧愭爣锛�2銆佸彧瀛樺湪Y锛�3銆佸彧瀛樺湪X
@@ -801,7 +808,18 @@
 //            } else if (ObjectUtils.isNotEmpty(device.getEntrustCode()) && ObjectUtils.isNotEmpty(device.getSampleCode())) {
 //                list = analyzeDataEntrustCodAndSampleCode(data, v, k, splitIdentifier, device, entrustCode, sampleCode);
 //            }
-            list = analyzeXlsx1Data(data, v, k, splitIdentifier);
+            boolean containsRoHS = false;
+            for (DataConfig item : v) {
+                if (rohsIndicators.contains(item.getInsProductItem())) {
+                    containsRoHS = true;
+                    break;
+                }
+            }
+            if (containsRoHS) {
+                list = analyzeXlsxData(data, v, k, splitIdentifier);
+            } else {
+                list =  analyzeXlsx1Data(data, v, k, splitIdentifier);
+            }
             // 杩涜鍏紡璁$畻
             Object resultValue = calculationFormula(list, v.get(0), k, device);
             map.put(k, resultValue);

--
Gitblit v1.9.3