Răsfoiți Sursa

计算过程返回值修改以及排除不可测试模块

ZhangYanJie 5 luni în urmă
părinte
comite
79426315a7

+ 1 - 2
src/main/java/com/sundata/internalevaluation/calc/calcUnit/DataSetCalcUnit.java

@@ -152,9 +152,8 @@ public class DataSetCalcUnit extends CalcUnit {
         // 合并数据集
         sourceResults.forEach((calcUnit,result)-> {
             resultMap.setOpaque(result);
-            thisResult.putAll(result);
         });
-
+        thisResult.put(this.getCalcCode(),resultMap);
 //        DataSourcesModel sourceModel = new DataSourcesModel();
 //        CalcTaskResult calc = CalcUtil.calc("INDEX"+System.currentTimeMillis(),
 //                new DataSourcesCalcUnit(sourceModel.getDataSourcesNo(),sourceModel.getDataSourcesName(),CalcType.DATASOURCES,Map.of(),sourceModel),Map.of());

+ 10 - 12
src/main/java/com/sundata/internalevaluation/calc/calcUnit/DataSourcesCalcUnit.java

@@ -2,11 +2,14 @@ package com.sundata.internalevaluation.calc.calcUnit;
 
 import cn.hutool.extra.spring.SpringUtil;
 import com.sundata.common.util.DBExecutor;
+import com.sundata.common.util.JsonUtil;
 import com.sundata.internalevaluation.calc.model.CalcResult;
 import com.sundata.internalevaluation.calc.model.CalcUnit;
 import com.sundata.internalevaluation.calc.model.finals.CalcType;
+import com.sundata.internalevaluation.conf.JsonToCalciteExample;
 import com.sundata.internalevaluation.configuration.model.DataSourcesModel;
 import com.sundata.internalevaluation.configuration.service.DataSourcesService;
+import com.sundata.internalevaluation.script.ScriptUtil;
 
 import java.util.List;
 import java.util.Map;
@@ -121,29 +124,24 @@ public class DataSourcesCalcUnit extends CalcUnit {
     public  void calc(CalcResult<String, Object> thisResult, String calculateInstanceNumber, Map<String, Object> context, Map<CalcUnit, CalcResult<String, Object>> sourceResults) {
 
         sourceResults.forEach((calcUnit,result)->{
+
             if (dataSourcesModel.getDataSourcesType().equals("interface")) {
                 // 数据来源类型为接口时处理逻辑
                 if (calcUnit instanceof QueryLogicCalcUnit queryLogicCalcUnit) {
-                    String sql = queryLogicCalcUnit.queryLogicModel.getSelectSqlScript();
-                    thisResult.put(this.getCalcCode(), DBExecutor.doQueryMap(sql));
+                    // 获取json
+                    String json = result.get(calcUnit.getCalcCode()) instanceof String ? (String) result.get(calcUnit.getCalcCode()) : "";
+                    Map<Object, Object> objectObjectMap = JsonUtil.jsonToMap(json);
+                    thisResult.put(this.getCalcCode(), objectObjectMap);
                 }
             } else if (dataSourcesModel.getDataSourcesType().equals("jdbc")) {
                 // 数据来源类型为jdbc时处理逻辑
                 if (calcUnit instanceof QueryLogicCalcUnit queryLogicCalcUnit) {
-                    String sql = queryLogicCalcUnit.queryLogicModel.getSelectSqlScript();
+                    String sqlTemplate = queryLogicCalcUnit.queryLogicModel.getSelectSqlScript();
+                    String sql = (String) ScriptUtil.executeScript(calcUnit.getCalcCode(), sqlTemplate, result);
                     thisResult.put(this.getCalcCode(), DBExecutor.doQueryMap(sql));
                 }
             }
         });
-        // 调用所有源头节点
-        List<CalcUnit> unitList = this.getSourceCalcUnits();
-
-
-        sourceResults.forEach((a,b)->{
-            if (a.getCalcCode().equals("")) {
-
-            }
-        });
     }
 
 }

+ 4 - 0
src/main/java/com/sundata/internalevaluation/calc/calcUnit/IndexCalcUnit.java

@@ -177,6 +177,7 @@ public class IndexCalcUnit extends CalcUnit {
                 // 如果数据集的数量大于0
                 String logic = indexConfigModel.getIndexLogic();
                 // 执行sql,并放进结果集内
+                // JsonToCalciteExample.jsonTotable()
                 thisResult.put(this.getCalcCode(),DBExecutor.doQueryMap(logic));
             }
             if(j.get() > 0 && i.get() == 0){
@@ -184,6 +185,8 @@ public class IndexCalcUnit extends CalcUnit {
                 String logic = indexConfigModel.getIndexLogic();
                 // 执行模板,结果放入结果集
                 ScriptUtil.executeScript(indexConfigModel.getIndexNo(),logic,result);
+                // JsonToCalciteExample.jsonTotable()
+                // thisResult.put(this.getCalcCode(),DBExecutor.doQueryMap(logic,dataSetResult));
             }
 
         });
@@ -192,6 +195,7 @@ public class IndexCalcUnit extends CalcUnit {
             String logic = indexConfigModel.getIndexLogic();
             // 先将sql作为一个模板进行处理,将指标的结果作为参数带入模板成为一个新模板,后在将数据集的参数带入
             String editSql = (String) ScriptUtil.executeScript(indexConfigModel.getIndexNo(),logic,indexResult);
+            // JsonToCalciteExample.jsonTotable()
             thisResult.put(this.getCalcCode(),DBExecutor.doQueryMap(logic,dataSetResult));
         }