提交 e3b67fec 编写于 作者: tangyaolong's avatar tangyaolong

修改导出模型逻辑

上级 eddcb8b5
...@@ -3,7 +3,11 @@ package cn.ibizlab.core.extensions.service; ...@@ -3,7 +3,11 @@ package cn.ibizlab.core.extensions.service;
import cn.ibizlab.core.analysis.domain.DABuild; import cn.ibizlab.core.analysis.domain.DABuild;
import cn.ibizlab.core.analysis.domain.DADimension; import cn.ibizlab.core.analysis.domain.DADimension;
import cn.ibizlab.core.analysis.domain.DAMetric; import cn.ibizlab.core.analysis.domain.DAMetric;
import cn.ibizlab.core.analysis.filter.DABuildSearchContext;
import cn.ibizlab.core.analysis.filter.DADimensionSearchContext;
import cn.ibizlab.core.analysis.filter.DAMetricSearchContext;
import cn.ibizlab.core.analysis.service.IDABuildService; import cn.ibizlab.core.analysis.service.IDABuildService;
import cn.ibizlab.core.analysis.service.IDADimensionService;
import cn.ibizlab.core.analysis.service.IDAMetricService; import cn.ibizlab.core.analysis.service.IDAMetricService;
import cn.ibizlab.core.extensions.domain.AssembleModel; import cn.ibizlab.core.extensions.domain.AssembleModel;
import cn.ibizlab.core.lite.domain.*; import cn.ibizlab.core.lite.domain.*;
...@@ -14,6 +18,7 @@ import cn.ibizlab.core.lite.extensions.model.DataModel; ...@@ -14,6 +18,7 @@ import cn.ibizlab.core.lite.extensions.model.DataModel;
import cn.ibizlab.core.lite.extensions.model.Property; import cn.ibizlab.core.lite.extensions.model.Property;
import cn.ibizlab.core.lite.extensions.service.LiteModelService; import cn.ibizlab.core.lite.extensions.service.LiteModelService;
import cn.ibizlab.core.lite.filter.DstDataSourceSearchContext; import cn.ibizlab.core.lite.filter.DstDataSourceSearchContext;
import cn.ibizlab.core.lite.filter.MetaFieldSearchContext;
import cn.ibizlab.core.lite.service.*; import cn.ibizlab.core.lite.service.*;
import cn.ibizlab.core.lite.service.impl.MetaModelServiceImpl; import cn.ibizlab.core.lite.service.impl.MetaModelServiceImpl;
import cn.ibizlab.core.rule.domain.RuleItem; import cn.ibizlab.core.rule.domain.RuleItem;
...@@ -24,6 +29,7 @@ import com.alibaba.fastjson.JSON; ...@@ -24,6 +29,7 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.google.common.base.Joiner; import com.google.common.base.Joiner;
import liquibase.pro.packaged.D;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
...@@ -43,6 +49,7 @@ import java.io.*; ...@@ -43,6 +49,7 @@ import java.io.*;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
import java.util.stream.Collectors;
/** /**
* 实体[模型] 自定义服务对象 * 实体[模型] 自定义服务对象
...@@ -67,6 +74,10 @@ public class MetaModelExService extends MetaModelServiceImpl { ...@@ -67,6 +74,10 @@ public class MetaModelExService extends MetaModelServiceImpl {
@Lazy @Lazy
public IDAMetricService idaMetricService; public IDAMetricService idaMetricService;
@Resource
@Lazy
public IDADimensionService idaDimensionService;
@Resource @Resource
@Lazy @Lazy
private LiteModelService liteModelService; private LiteModelService liteModelService;
...@@ -253,11 +264,13 @@ public class MetaModelExService extends MetaModelServiceImpl { ...@@ -253,11 +264,13 @@ public class MetaModelExService extends MetaModelServiceImpl {
Map<String, DstSystem> systemMap = new HashMap(); Map<String, DstSystem> systemMap = new HashMap();
LinkedHashSet<String> entities = new LinkedHashSet<>(); LinkedHashSet<String> entities = new LinkedHashSet<>();
List<DstDataSource> dataSources = new ArrayList<>(); List<DstDataSource> dataSources = new ArrayList<>();
// 查询模型 // 查询模型
MetaModel metaModel = metaModelService.get(et.getId()); MetaModel metaModel = metaModelService.get(et.getId());
// 查询模型对应的N个规则 // 查询模型对应的N个规则
/*if(!ObjectUtils.isEmpty(metaModel.getRuleitems())){ List<RuleItem> ruleItems = ruleItemService.selectByModelId(metaModel.getId());
for (RuleItem ruleItem : metaModel.getRuleitems()) { if(!ObjectUtils.isEmpty(ruleItems)){
for (RuleItem ruleItem : ruleItems) {
JSONObject fieldSet = JSONObject.parseObject(ruleItem.getFieldSet()); JSONObject fieldSet = JSONObject.parseObject(ruleItem.getFieldSet());
if (!ObjectUtils.isEmpty(fieldSet)) { if (!ObjectUtils.isEmpty(fieldSet)) {
for (String entityName : fieldSet.keySet()) { for (String entityName : fieldSet.keySet()) {
...@@ -268,21 +281,31 @@ public class MetaModelExService extends MetaModelServiceImpl { ...@@ -268,21 +281,31 @@ public class MetaModelExService extends MetaModelServiceImpl {
} }
} }
} }
// 查询模型对应的N个(分析)构建 // 查询模型下的N个构建
if (!ObjectUtils.isEmpty(metaModel.getBuilds())) { List<DABuild> daBuilds = dabuildService.selectByModelId(metaModel.getId());
for (DABuild build : metaModel.getBuilds()) { List<String> daBuildIds = daBuilds.stream().map(DABuild::getBuildId).collect(Collectors.toList());
build = idaBuildService.get(build.getBuildId());
// 查询构建下关联的N个指标
DAMetricSearchContext damSearchContext = new DAMetricSearchContext();
damSearchContext.setN_buildid_in(Joiner.on(";").join(daBuildIds));
Page<DAMetric> daMetrics = idaMetricService.searchDefault(damSearchContext);
// 查询构建下关联的N个维度
DADimensionSearchContext dadSearchContext = new DADimensionSearchContext();
dadSearchContext.setN_buildid_in(Joiner.on(";").join(daBuildIds));
Page<DADimension> daDimensions = idaDimensionService.searchDefault(dadSearchContext);
// 维度中用到的实体 // 维度中用到的实体
if (!ObjectUtils.isEmpty(build.getDadimension())) { if (!ObjectUtils.isEmpty(daDimensions.getContent())) {
for (DADimension dimension : build.getDadimension()) { for (DADimension dimension : daDimensions.getContent()) {
if (!ObjectUtils.isEmpty(dimension.getName())) { if (!ObjectUtils.isEmpty(dimension.getName())) {
entities.add(dimension.getName()); entities.add(dimension.getName());
} }
} }
} }
// 指标 // 指标中用到的实体
if (!ObjectUtils.isEmpty(build.getMetrics())) { if (!ObjectUtils.isEmpty(daMetrics.getContent())) {
for (DAMetric metric : build.getMetrics()) { for (DAMetric metric : daMetrics.getContent()) {
JSONObject fieldSet = JSON.parseObject(metric.getFieldSet()); JSONObject fieldSet = JSON.parseObject(metric.getFieldSet());
for (String entityName : fieldSet.keySet()) { for (String entityName : fieldSet.keySet()) {
if (entityName.endsWith("entity")) { if (entityName.endsWith("entity")) {
...@@ -290,9 +313,7 @@ public class MetaModelExService extends MetaModelServiceImpl { ...@@ -290,9 +313,7 @@ public class MetaModelExService extends MetaModelServiceImpl {
} }
} }
} }
metrics.addAll(build.getMetrics()); metrics.addAll(daMetrics.getContent());
}
}
} }
// 用到的数据源和系统 // 用到的数据源和系统
List<EntityModel> entityModels = getEntityModel(modelId); List<EntityModel> entityModels = getEntityModel(modelId);
...@@ -303,21 +324,22 @@ public class MetaModelExService extends MetaModelServiceImpl { ...@@ -303,21 +324,22 @@ public class MetaModelExService extends MetaModelServiceImpl {
systemMap.put(entityModel.getEntity().getSystem().getPssystemid(), entityModel.getEntity().getSystem()); systemMap.put(entityModel.getEntity().getSystem().getPssystemid(), entityModel.getEntity().getSystem());
} }
} }
// 查询数据源 // 查询数据源
if(masterDsName.size()>0){ if(masterDsName.size()>0){
DstDataSourceSearchContext searchContext = new DstDataSourceSearchContext(); DstDataSourceSearchContext dstDataSourceSearchContext = new DstDataSourceSearchContext();
searchContext.setN_dsid_in(Joiner.on(";").join(masterDsName)); dstDataSourceSearchContext.setN_dsid_in(Joiner.on(";").join(masterDsName));
searchContext.setSize(entityModels.size()); dstDataSourceSearchContext.setSize(entityModels.size());
Page<DstDataSource> dstDataSources = dstDataSourceService.searchDefault(searchContext); Page<DstDataSource> dstDataSources = dstDataSourceService.searchDefault(dstDataSourceSearchContext);
dataSources.addAll(dstDataSources.getContent()); dataSources.addAll(dstDataSources.getContent());
} }
models.setMetrics(metrics); models.setMetrics(metrics);
models.setMetaModel(metaModel); models.setMetaModel(metaModel);
models.setEntityModels(entityModels); models.setEntityModels(entityModels);
models.setDaBuilds(metaModel.getBuilds()); models.setDaBuilds(daBuilds);
models.setRuleItems(metaModel.getRuleitems()); models.setRuleItems(ruleItems);
models.setDataSources(dataSources); models.setDataSources(dataSources);
models.setSystems(new ArrayList<>(systemMap.values()));*/ models.setSystems(new ArrayList<>(systemMap.values()));
return models; return models;
} }
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册