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

修改导出模型逻辑bug

上级 85fc6e0d
...@@ -265,8 +265,10 @@ public class MetaModelExService extends MetaModelServiceImpl { ...@@ -265,8 +265,10 @@ public class MetaModelExService extends MetaModelServiceImpl {
LinkedHashSet<String> entities = new LinkedHashSet<>(); LinkedHashSet<String> entities = new LinkedHashSet<>();
List<DstDataSource> dataSources = new ArrayList<>(); List<DstDataSource> dataSources = new ArrayList<>();
// 查询模型
MetaModel metaModel = metaModelService.get(modelId);
// 查询模型下的N个规则 // 查询模型下的N个规则
List<RuleItem> ruleItems = ruleItemService.selectByModelId(et.getId()); List<RuleItem> ruleItems = ruleItemService.selectByModelId(modelId);
if(!ObjectUtils.isEmpty(ruleItems)){ if(!ObjectUtils.isEmpty(ruleItems)){
for (RuleItem ruleItem : ruleItems) { for (RuleItem ruleItem : ruleItems) {
JSONObject fieldSet = JSONObject.parseObject(ruleItem.getFieldSet()); JSONObject fieldSet = JSONObject.parseObject(ruleItem.getFieldSet());
...@@ -280,7 +282,7 @@ public class MetaModelExService extends MetaModelServiceImpl { ...@@ -280,7 +282,7 @@ public class MetaModelExService extends MetaModelServiceImpl {
} }
} }
// 查询模型下的N个构建 // 查询模型下的N个构建
List<DABuild> daBuilds = dabuildService.selectByModelId(et.getId()); List<DABuild> daBuilds = dabuildService.selectByModelId(modelId);
List<String> daBuildIds = daBuilds.stream().map(DABuild::getBuildId).collect(Collectors.toList()); List<String> daBuildIds = daBuilds.stream().map(DABuild::getBuildId).collect(Collectors.toList());
// 查询构建下关联的N个指标 // 查询构建下关联的N个指标
...@@ -307,14 +309,14 @@ public class MetaModelExService extends MetaModelServiceImpl { ...@@ -307,14 +309,14 @@ public class MetaModelExService extends MetaModelServiceImpl {
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")) {
entities.add(entityName); entities.add(fieldSet.get(entityName).toString());
} }
} }
} }
metrics.addAll(daMetrics.getContent()); metrics.addAll(daMetrics.getContent());
} }
// 用到的数据源和系统 // 用到的数据源和系统
List<EntityModel> entityModels = getEntityModel(modelId); LinkedHashSet<EntityModel> entityModels = getEntityModel(modelId,metaModel.getSystemId(),entities);
LinkedHashSet masterDsName = new LinkedHashSet(); LinkedHashSet masterDsName = new LinkedHashSet();
for (EntityModel entityModel : entityModels) { for (EntityModel entityModel : entityModels) {
masterDsName.add(entityModel.getDsName()); masterDsName.add(entityModel.getDsName());
...@@ -324,7 +326,7 @@ public class MetaModelExService extends MetaModelServiceImpl { ...@@ -324,7 +326,7 @@ public class MetaModelExService extends MetaModelServiceImpl {
} }
// 查询数据源 // 查询数据源
if(masterDsName.size()>0){ if(masterDsName.size() > 0){
DstDataSourceSearchContext dstDataSourceSearchContext = new DstDataSourceSearchContext(); DstDataSourceSearchContext dstDataSourceSearchContext = new DstDataSourceSearchContext();
dstDataSourceSearchContext.setN_dsid_in(Joiner.on(";").join(masterDsName)); dstDataSourceSearchContext.setN_dsid_in(Joiner.on(";").join(masterDsName));
dstDataSourceSearchContext.setSize(entityModels.size()); dstDataSourceSearchContext.setSize(entityModels.size());
...@@ -332,8 +334,8 @@ public class MetaModelExService extends MetaModelServiceImpl { ...@@ -332,8 +334,8 @@ public class MetaModelExService extends MetaModelServiceImpl {
dataSources.addAll(dstDataSources.getContent()); dataSources.addAll(dstDataSources.getContent());
} }
models.setMetrics(metrics); models.setMetrics(metrics);
models.setMetaModel(et); models.setMetaModel(metaModel);
models.setEntityModels(entityModels); models.setEntityModels(new ArrayList<>(entityModels));
models.setDaBuilds(daBuilds); models.setDaBuilds(daBuilds);
models.setRuleItems(ruleItems); models.setRuleItems(ruleItems);
models.setDataSources(dataSources); models.setDataSources(dataSources);
...@@ -342,17 +344,28 @@ public class MetaModelExService extends MetaModelServiceImpl { ...@@ -342,17 +344,28 @@ public class MetaModelExService extends MetaModelServiceImpl {
} }
/** /**
* 传入一组实体模型名和模型id来返回实体模型集合 * 传入一组模型id,系统id,来返回实体模型集合
* @param modelId 模型id * @param modelId 模型id
* @return 实体模型集合 * @return 实体模型集合
*/ */
private List<EntityModel> getEntityModel(String modelId) { private LinkedHashSet<EntityModel> getEntityModel(String modelId,String systemId,LinkedHashSet<String> entityIds) {
List<EntityModel> entityModels = new ArrayList<>(); LinkedHashSet<EntityModel> entityModels = new LinkedHashSet<>();
DataModel dataModel = liteModelService.getDataModel(modelId); DataModel dataModel = liteModelService.getDataModel(modelId);
// 查询出模型父子级用到的实体关系
dataModel.getAllProperty().forEach(property -> { dataModel.getAllProperty().forEach(property -> {
EntityModel model = liteModelService.getEntityModel(property.getSystem(),property.getPropertyEntity()); EntityModel model = liteModelService.getEntityModel(property.getSystem(),property.getPropertyEntity());
entityModels.add(model); 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(); List<Property> parents = dataModel.getParentProperty();
LinkedHashSet<DataModel> childs = dataModel.getNestedDataModels(); LinkedHashSet<DataModel> childs = dataModel.getNestedDataModels();
for(Property parent : parents){ for(Property parent : parents){
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册