|
@@ -35,8 +35,7 @@ public class FelParameterUtil {
|
|
|
param.put("m2", 10.0);
|
|
|
int scale = 4;
|
|
|
String result = getResultFromMap(expression, param, scale);
|
|
|
- System.out.println(result);
|
|
|
-
|
|
|
+ log.info(result);
|
|
|
String ss = "m₃";
|
|
|
String ssss = "₃";
|
|
|
System.out.println(ss.contains(ssss));
|
|
@@ -52,39 +51,6 @@ public class FelParameterUtil {
|
|
|
*/
|
|
|
public static String getResultFromMap(String expression, Map<String, Double> param, int scale) {
|
|
|
|
|
|
- // 处理数据下标和上标的转换
|
|
|
- String config = ConfigCache.getLabelByValueAllowNull(SysConfigEnum.QUALITY_FORMULA_TRANSFER.name());
|
|
|
- if (StringUtils.isNotBlank(config)) {
|
|
|
- String[] configArray = config.split(";");
|
|
|
- Map<String, String> mapType = new HashMap<>();
|
|
|
- for (String c : configArray) {
|
|
|
- String[] mapStr = c.split(",");
|
|
|
- mapType.put(mapStr[0], mapStr[1]);
|
|
|
- }
|
|
|
- System.out.println("这个是用JSON类,指定解析类型,来解析JSON字符串!!!");
|
|
|
- for (String key : mapType.keySet()) {
|
|
|
- System.out.println("key为:" + key + "值为:" + mapType.get(key));
|
|
|
- // 替换公式里面的
|
|
|
- if (expression.contains(key)) {
|
|
|
- expression = expression.replace(key, mapType.get(key));
|
|
|
- }
|
|
|
- // 替换参数里面的,只能使用这个删除,动态循环里面不允许删除
|
|
|
- Map<String, Double> changeMap = new HashMap<>();
|
|
|
- Iterator<Map.Entry<String, Double>> iterator = param.entrySet().iterator();
|
|
|
- // 找到需要替换的,放到一个新map,删除原有map被替换的数据
|
|
|
- while (iterator.hasNext()) {
|
|
|
- Map.Entry<String, Double> next = iterator.next();
|
|
|
- if (next.getKey().equals(key)) {
|
|
|
- changeMap.put(mapType.get(key),next.getValue());
|
|
|
- iterator.remove();
|
|
|
- }
|
|
|
- }
|
|
|
- // 需要替换的,更新到原有map
|
|
|
- for (Map.Entry<String, Double> entry : changeMap.entrySet()) {
|
|
|
- param.put(entry.getKey(), entry.getValue());
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
log.info("开始时间:" + LocalDateTime.now());
|
|
|
for (Map.Entry<String, Double> entry : param.entrySet()) {
|
|
|
log.info("key = " + entry.getKey() + ", value = " + entry.getValue());
|