|
@@ -2,11 +2,14 @@ package com.sundata.internalevaluation.calc.calcUnit;
|
|
|
|
|
|
import cn.hutool.extra.spring.SpringUtil;
|
|
import cn.hutool.extra.spring.SpringUtil;
|
|
import com.sundata.common.util.DBExecutor;
|
|
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.CalcResult;
|
|
import com.sundata.internalevaluation.calc.model.CalcUnit;
|
|
import com.sundata.internalevaluation.calc.model.CalcUnit;
|
|
import com.sundata.internalevaluation.calc.model.finals.CalcType;
|
|
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.model.DataSourcesModel;
|
|
import com.sundata.internalevaluation.configuration.service.DataSourcesService;
|
|
import com.sundata.internalevaluation.configuration.service.DataSourcesService;
|
|
|
|
+import com.sundata.internalevaluation.script.ScriptUtil;
|
|
|
|
|
|
import java.util.List;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
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) {
|
|
public void calc(CalcResult<String, Object> thisResult, String calculateInstanceNumber, Map<String, Object> context, Map<CalcUnit, CalcResult<String, Object>> sourceResults) {
|
|
|
|
|
|
sourceResults.forEach((calcUnit,result)->{
|
|
sourceResults.forEach((calcUnit,result)->{
|
|
|
|
+
|
|
if (dataSourcesModel.getDataSourcesType().equals("interface")) {
|
|
if (dataSourcesModel.getDataSourcesType().equals("interface")) {
|
|
// 数据来源类型为接口时处理逻辑
|
|
// 数据来源类型为接口时处理逻辑
|
|
if (calcUnit instanceof QueryLogicCalcUnit queryLogicCalcUnit) {
|
|
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")) {
|
|
} else if (dataSourcesModel.getDataSourcesType().equals("jdbc")) {
|
|
// 数据来源类型为jdbc时处理逻辑
|
|
// 数据来源类型为jdbc时处理逻辑
|
|
if (calcUnit instanceof QueryLogicCalcUnit queryLogicCalcUnit) {
|
|
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));
|
|
thisResult.put(this.getCalcCode(), DBExecutor.doQueryMap(sql));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
});
|
|
});
|
|
- // 调用所有源头节点
|
|
|
|
- List<CalcUnit> unitList = this.getSourceCalcUnits();
|
|
|
|
-
|
|
|
|
-
|
|
|
|
- sourceResults.forEach((a,b)->{
|
|
|
|
- if (a.getCalcCode().equals("")) {
|
|
|
|
-
|
|
|
|
- }
|
|
|
|
- });
|
|
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|