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

优化导出模型逻辑

上级 a6737d1a
......@@ -290,33 +290,12 @@ public class MetaModelExService extends MetaModelServiceImpl {
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(daDimensions.getContent())) {
for (DADimension dimension : daDimensions.getContent()) {
if (!ObjectUtils.isEmpty(dimension.getName())) {
entities.add(dimension.getName());
}
}
}
// 指标中用到的实体
// 添加指标
if (!ObjectUtils.isEmpty(daMetrics.getContent())) {
for (DAMetric metric : daMetrics.getContent()) {
JSONObject fieldSet = JSON.parseObject(metric.getFieldSet());
for (String entityName : fieldSet.keySet()) {
if (entityName.endsWith("entity")) {
entities.add(fieldSet.get(entityName).toString());
}
}
}
metrics.addAll(daMetrics.getContent());
}
// 用到的数据源和系统
LinkedHashSet<EntityModel> entityModels = getEntityModel(modelId,metaModel.getSystemId(),entities);
List<EntityModel> entityModels = getEntityModel(modelId);
LinkedHashSet masterDsName = new LinkedHashSet();
for (EntityModel entityModel : entityModels) {
masterDsName.add(entityModel.getDsName());
......@@ -335,7 +314,7 @@ public class MetaModelExService extends MetaModelServiceImpl {
}
models.setMetrics(metrics);
models.setMetaModel(metaModel);
models.setEntityModels(new ArrayList<>(entityModels));
models.setEntityModels(entityModels);
models.setDaBuilds(daBuilds);
models.setRuleItems(ruleItems);
models.setDataSources(dataSources);
......@@ -344,12 +323,12 @@ public class MetaModelExService extends MetaModelServiceImpl {
}
/**
* 传入一组模型id,系统id,来返回实体模型集合
* 传入模型id 返回一组实体模型集合
* @param modelId 模型id
* @return 实体模型集合
*/
private LinkedHashSet<EntityModel> getEntityModel(String modelId,String systemId,LinkedHashSet<String> entityIds) {
LinkedHashSet<EntityModel> entityModels = new LinkedHashSet<>();
private List<EntityModel> getEntityModel(String modelId) {
List<EntityModel> entityModels = new ArrayList<>();
DataModel dataModel = liteModelService.getDataModel(modelId);
// 查询出模型父子级用到的实体关系
......@@ -357,15 +336,6 @@ public class MetaModelExService extends MetaModelServiceImpl {
EntityModel model = liteModelService.getEntityModel(property.getSystem(),property.getPropertyEntity());
entityModels.add(model);
});
// 查询出维度和指标使用到的实体关系
if(systemId != null){
for (String entityId : entityIds) {
if(!"".equals(entityId)){
EntityModel model = liteModelService.getProxyEntityModel(systemId,entityId);
entityModels.add(model);
}
}
}
List<Property> parents = dataModel.getParentProperty();
LinkedHashSet<DataModel> childs = dataModel.getNestedDataModels();
for(Property parent : parents){
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册