Crunchy
2024-08-06 d828d03c0b23d163c042e88cb21b8b15b1e6dedd
cnas-server/src/main/java/com/yuanchu/mom/utils/DataAcquisition.java
@@ -630,7 +630,6 @@
                .map(obj -> {
                    return new BigDecimal((obj).toString());
                }).collect(Collectors.toList());
        System.out.println(bigDecimalList);
        //将中文的(转换英文的())
        formula = formula.replace("(", "(")
@@ -642,7 +641,6 @@
        if (upperStr.matches(".*\\d.*")) {
            upperStr = "";
        }
        System.out.println(upperStr);
        //然后获取最外面括号里面的值,再根据","分割
        int start = formula.indexOf("(");
        int end = -1;
@@ -680,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();
@@ -694,7 +691,6 @@
                }
            }
            matcher.appendTail(sb);
            System.out.println("替换后" + sb.toString());
            // 计算表达式
            ScriptEngine engine = new ScriptEngineManager().getEngineByName("JavaScript");
@@ -742,8 +738,6 @@
                    throw new UnsupportedOperationException("暂不支持函数: " + upperStr);
            }
        }
        System.out.println(results);
        System.out.println("计算结果: " + finalResult);
        return finalResult.toString();
        // 否则:没有公式代表不需要计算,直接提取List里面的数据