zss
2024-08-06 c3ee76c79cc5c5db479b548e1b4eca67327e7396
cnas-server/src/main/java/com/yuanchu/mom/utils/DataAcquisition.java
@@ -182,15 +182,7 @@
                    Object o = jsonObject1.get(refery);
                    if (ObjectUtils.isNotEmpty(o)) {
                        numberOfDataEntries.addAndGet(1);
                        // 小数点进三位
                        double v1 = 0;
                        try {
                            v1 = Double.parseDouble(o.toString());
                            double v2 = v1 / 1000;
                            list.add(v2);
                        } catch (NumberFormatException e) {
                            list.add(o);
                        }
                        list.add(o);
                    }
                }
            }
@@ -638,7 +630,6 @@
                .map(obj -> {
                    return new BigDecimal((obj).toString());
                }).collect(Collectors.toList());
        System.out.println(bigDecimalList);
        //将中文的(转换英文的())
        formula = formula.replace("(", "(")
@@ -650,7 +641,6 @@
        if (upperStr.matches(".*\\d.*")) {
            upperStr = "";
        }
        System.out.println(upperStr);
        //然后获取最外面括号里面的值,再根据","分割
        int start = formula.indexOf("(");
        int end = -1;
@@ -688,7 +678,6 @@
        String[] bracketStrs = arguments.toArray(new String[0]);
        List<BigDecimal> results = new ArrayList<>();
        for (String expr : bracketStrs) {
            System.out.println("替换前" + expr);
            Pattern pattern = Pattern.compile("([A-Z])(\\d+)");
            Matcher matcher = pattern.matcher(expr);
            StringBuffer sb = new StringBuffer();
@@ -702,7 +691,6 @@
                }
            }
            matcher.appendTail(sb);
            System.out.println("替换后" + sb.toString());
            // 计算表达式
            ScriptEngine engine = new ScriptEngineManager().getEngineByName("JavaScript");
@@ -750,8 +738,6 @@
                    throw new UnsupportedOperationException("暂不支持函数: " + upperStr);
            }
        }
        System.out.println(results);
        System.out.println("计算结果: " + finalResult);
        return finalResult.toString();
        // 否则:没有公式代表不需要计算,直接提取List里面的数据