liding
2025-04-29 ce5c5e897b288a27f00804b68e73647fdfc5b6a7
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、Y定范围,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);