Skip to content

Commit 7747d9e

Browse files
Merge pull request dataease#1380 from dataease/pr@dev@feat_union_ds
feat(数据集): 关联数据集
2 parents d6aa574 + d8a0212 commit 7747d9e

File tree

4 files changed

+7
-1
lines changed

4 files changed

+7
-1
lines changed

backend/src/main/java/io/dataease/service/authModel/VAuthModelService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ public List<VAuthModelDTO> queryAuthModel(VAuthModelRequest request) {
4141
private List<VAuthModelDTO> filterData(VAuthModelRequest request, List<VAuthModelDTO> result) {
4242
if (request.getDatasetMode() != null && request.getDatasetMode() == 1) {
4343
result = result.stream().filter(vAuthModelDTO -> {
44-
if (vAuthModelDTO.getNodeType().equalsIgnoreCase("spine") || (vAuthModelDTO.getNodeType().equalsIgnoreCase("leaf") && vAuthModelDTO.getMode().equals(1L)) && !vAuthModelDTO.getModelInnerType().equalsIgnoreCase("excel") && !vAuthModelDTO.getModelInnerType().equalsIgnoreCase("custom")) {
44+
if (vAuthModelDTO.getNodeType().equalsIgnoreCase("spine") || (vAuthModelDTO.getNodeType().equalsIgnoreCase("leaf") && vAuthModelDTO.getMode().equals(1L)) && !vAuthModelDTO.getModelInnerType().equalsIgnoreCase("excel") && !vAuthModelDTO.getModelInnerType().equalsIgnoreCase("custom") && !vAuthModelDTO.getModelInnerType().equalsIgnoreCase("union")) {
4545
return true;
4646
} else {
4747
return false;

backend/src/main/java/io/dataease/service/dataset/impl/direct/DirectFieldService.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,10 @@ public List<Object> fieldValues(String fieldId) {
7575
List<DataSetTableUnionDTO> listUnion = dataSetTableUnionService.listByTableId(dt.getList().get(0).getTableId());
7676
String sql = dataSetTableService.getCustomSQLDatasource(dt, listUnion, ds);
7777
datasourceRequest.setQuery(qp.createQuerySQLAsTmp(sql, Collections.singletonList(field), true));
78+
} else if (StringUtils.equalsIgnoreCase(datasetTable.getType(), "union")) {
79+
DataTableInfoDTO dt = new Gson().fromJson(datasetTable.getInfo(), DataTableInfoDTO.class);
80+
String sql = (String) dataSetTableService.getUnionSQLDatasource(dt, ds).get("sql");
81+
datasourceRequest.setQuery(qp.createQuerySQLAsTmp(sql, Collections.singletonList(field), true));
7882
}
7983
} else if (datasetTable.getMode() == 1) {// 抽取
8084
// 连接doris,构建doris数据源查询

frontend/src/views/dataset/common/DatasetGroupSelector.vue

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@
9696
<svg-icon v-if="data.type === 'sql'" icon-class="ds-sql" class="ds-icon-sql" />
9797
<svg-icon v-if="data.type === 'excel'" icon-class="ds-excel" class="ds-icon-excel" />
9898
<svg-icon v-if="data.type === 'custom'" icon-class="ds-custom" class="ds-icon-custom" />
99+
<svg-icon v-if="data.type === 'union'" icon-class="ds-union" class="ds-icon-union" />
99100
</span>
100101
<span v-if="data.type === 'db' || data.type === 'sql'">
101102
<span v-if="data.mode === 0" style="margin-left: 6px"><i class="el-icon-s-operation" /></span>

frontend/src/views/panel/filter/filterDialog.vue

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@
4646
<svg-icon v-if="data.type === 'sql'" icon-class="ds-sql" class="ds-icon-sql" />
4747
<svg-icon v-if="data.type === 'excel'" icon-class="ds-excel" class="ds-icon-excel" />
4848
<svg-icon v-if="data.type === 'custom'" icon-class="ds-custom" class="ds-icon-custom" />
49+
<svg-icon v-if="data.type === 'union'" icon-class="ds-union" class="ds-icon-union" />
4950
</span>
5051
<el-tooltip class="item" effect="dark" placement="top">
5152
<div slot="content">{{ node.label }}</div>

0 commit comments

Comments
 (0)