提交 c61f294e authored 作者: wangjiahao's avatar wangjiahao

Merge remote-tracking branch 'origin/main' into main

...@@ -4,7 +4,10 @@ import io.dataease.controller.request.dataset.DataSetGroupRequest; ...@@ -4,7 +4,10 @@ import io.dataease.controller.request.dataset.DataSetGroupRequest;
import io.dataease.dto.dataset.DataSetGroupDTO; import io.dataease.dto.dataset.DataSetGroupDTO;
import java.util.List; import java.util.List;
import java.util.Map;
public interface ExtDataSetGroupMapper { public interface ExtDataSetGroupMapper {
List<DataSetGroupDTO> search(DataSetGroupRequest ChartGroup); List<DataSetGroupDTO> search(DataSetGroupRequest ChartGroup);
Map<String, String> searchIds(String id, String type);
} }
...@@ -41,7 +41,9 @@ ...@@ -41,7 +41,9 @@
<if test="sort != null"> <if test="sort != null">
order by ${sort} order by ${sort}
</if> </if>
</select>
<select id="searchIds" resultType="java.util.Map">
select GET_V_AUTH_MODEL_WITH_CHILDREN(#{id},#{type}) ids
</select> </select>
</mapper> </mapper>
...@@ -13,7 +13,6 @@ public class ExtractDataJob extends DeScheduleJob{ ...@@ -13,7 +13,6 @@ public class ExtractDataJob extends DeScheduleJob{
extractDataService = (ExtractDataService) CommonBeanFactory.getBean(ExtractDataService.class); extractDataService = (ExtractDataService) CommonBeanFactory.getBean(ExtractDataService.class);
} }
@Override @Override
void businessExecute(JobExecutionContext context) { void businessExecute(JobExecutionContext context) {
extractDataService.extractData(datasetTableId, taskId, updateType); extractDataService.extractData(datasetTableId, taskId, updateType);
......
...@@ -3,6 +3,7 @@ package io.dataease.service.chart; ...@@ -3,6 +3,7 @@ package io.dataease.service.chart;
import io.dataease.base.domain.*; import io.dataease.base.domain.*;
import io.dataease.base.mapper.ChartGroupMapper; import io.dataease.base.mapper.ChartGroupMapper;
import io.dataease.base.mapper.ext.ExtChartGroupMapper; import io.dataease.base.mapper.ext.ExtChartGroupMapper;
import io.dataease.base.mapper.ext.ExtDataSetGroupMapper;
import io.dataease.commons.utils.AuthUtils; import io.dataease.commons.utils.AuthUtils;
import io.dataease.commons.utils.BeanUtils; import io.dataease.commons.utils.BeanUtils;
import io.dataease.commons.utils.TreeUtils; import io.dataease.commons.utils.TreeUtils;
...@@ -11,12 +12,14 @@ import io.dataease.controller.request.dataset.DataSetTableRequest; ...@@ -11,12 +12,14 @@ import io.dataease.controller.request.dataset.DataSetTableRequest;
import io.dataease.dto.chart.ChartGroupDTO; import io.dataease.dto.chart.ChartGroupDTO;
import io.dataease.i18n.Translator; import io.dataease.i18n.Translator;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.UUID; import java.util.UUID;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -27,9 +30,10 @@ public class ChartGroupService { ...@@ -27,9 +30,10 @@ public class ChartGroupService {
private ChartGroupMapper chartGroupMapper; private ChartGroupMapper chartGroupMapper;
@Resource @Resource
private ChartViewService chartViewService; private ChartViewService chartViewService;
@Resource @Resource
private ExtChartGroupMapper extChartGroupMapper; private ExtChartGroupMapper extChartGroupMapper;
@Resource
private ExtDataSetGroupMapper extDataSetGroupMapper;
public ChartGroupDTO save(ChartGroup chartGroup) { public ChartGroupDTO save(ChartGroup chartGroup) {
checkName(chartGroup); checkName(chartGroup);
...@@ -51,9 +55,14 @@ public class ChartGroupService { ...@@ -51,9 +55,14 @@ public class ChartGroupService {
ChartGroup cg = chartGroupMapper.selectByPrimaryKey(id); ChartGroup cg = chartGroupMapper.selectByPrimaryKey(id);
ChartGroupRequest ChartGroup = new ChartGroupRequest(); ChartGroupRequest ChartGroup = new ChartGroupRequest();
BeanUtils.copyBean(ChartGroup, cg); BeanUtils.copyBean(ChartGroup, cg);
List<ChartGroupDTO> tree = tree(ChartGroup); Map<String, String> stringStringMap = extDataSetGroupMapper.searchIds(id, "chart");
String[] split = stringStringMap.get("ids").split(",");
List<String> ids = new ArrayList<>(); List<String> ids = new ArrayList<>();
getAllId(tree, ids); for (String dsId : split) {
if (StringUtils.isNotEmpty(dsId)) {
ids.add(dsId);
}
}
ChartGroupExample ChartGroupExample = new ChartGroupExample(); ChartGroupExample ChartGroupExample = new ChartGroupExample();
ChartGroupExample.createCriteria().andIdIn(ids); ChartGroupExample.createCriteria().andIdIn(ids);
chartGroupMapper.deleteByExample(ChartGroupExample); chartGroupMapper.deleteByExample(ChartGroupExample);
...@@ -104,6 +113,9 @@ public class ChartGroupService { ...@@ -104,6 +113,9 @@ public class ChartGroupService {
if (StringUtils.isNotEmpty(chartGroup.getId())) { if (StringUtils.isNotEmpty(chartGroup.getId())) {
criteria.andIdNotEqualTo(chartGroup.getId()); criteria.andIdNotEqualTo(chartGroup.getId());
} }
if (ObjectUtils.isNotEmpty(chartGroup.getLevel())) {
criteria.andLevelEqualTo(chartGroup.getLevel());
}
List<ChartGroup> list = chartGroupMapper.selectByExample(chartGroupExample); List<ChartGroup> list = chartGroupMapper.selectByExample(chartGroupExample);
if (list.size() > 0) { if (list.size() > 0) {
throw new RuntimeException(Translator.get("i18n_name_cant_repeat_same_group")); throw new RuntimeException(Translator.get("i18n_name_cant_repeat_same_group"));
......
...@@ -14,15 +14,13 @@ import io.dataease.dto.dataset.DataSetGroupDTO; ...@@ -14,15 +14,13 @@ import io.dataease.dto.dataset.DataSetGroupDTO;
import io.dataease.dto.dataset.DataSetTableDTO; import io.dataease.dto.dataset.DataSetTableDTO;
import io.dataease.i18n.Translator; import io.dataease.i18n.Translator;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.context.annotation.Lazy; import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.ArrayList; import java.util.*;
import java.util.Collections;
import java.util.List;
import java.util.UUID;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
...@@ -59,9 +57,14 @@ public class DataSetGroupService { ...@@ -59,9 +57,14 @@ public class DataSetGroupService {
DatasetGroup dg = datasetGroupMapper.selectByPrimaryKey(id); DatasetGroup dg = datasetGroupMapper.selectByPrimaryKey(id);
DataSetGroupRequest datasetGroup = new DataSetGroupRequest(); DataSetGroupRequest datasetGroup = new DataSetGroupRequest();
BeanUtils.copyBean(datasetGroup, dg); BeanUtils.copyBean(datasetGroup, dg);
List<DataSetGroupDTO> tree = tree(datasetGroup); Map<String, String> stringStringMap = extDataSetGroupMapper.searchIds(id, "dataset");
String[] split = stringStringMap.get("ids").split(",");
List<String> ids = new ArrayList<>(); List<String> ids = new ArrayList<>();
getAllId(tree, ids); for (String dsId : split) {
if (StringUtils.isNotEmpty(dsId)) {
ids.add(dsId);
}
}
DatasetGroupExample datasetGroupExample = new DatasetGroupExample(); DatasetGroupExample datasetGroupExample = new DatasetGroupExample();
datasetGroupExample.createCriteria().andIdIn(ids); datasetGroupExample.createCriteria().andIdIn(ids);
datasetGroupMapper.deleteByExample(datasetGroupExample); datasetGroupMapper.deleteByExample(datasetGroupExample);
...@@ -117,6 +120,9 @@ public class DataSetGroupService { ...@@ -117,6 +120,9 @@ public class DataSetGroupService {
if (StringUtils.isNotEmpty(datasetGroup.getId())) { if (StringUtils.isNotEmpty(datasetGroup.getId())) {
criteria.andIdNotEqualTo(datasetGroup.getId()); criteria.andIdNotEqualTo(datasetGroup.getId());
} }
if (ObjectUtils.isNotEmpty(datasetGroup.getLevel())) {
criteria.andLevelEqualTo(datasetGroup.getLevel());
}
List<DatasetGroup> list = datasetGroupMapper.selectByExample(datasetGroupExample); List<DatasetGroup> list = datasetGroupMapper.selectByExample(datasetGroupExample);
if (list.size() > 0) { if (list.size() > 0) {
throw new RuntimeException(Translator.get("i18n_name_cant_repeat_same_group")); throw new RuntimeException(Translator.get("i18n_name_cant_repeat_same_group"));
......
...@@ -7,6 +7,7 @@ import io.dataease.base.mapper.DatasetTableIncrementalConfigMapper; ...@@ -7,6 +7,7 @@ import io.dataease.base.mapper.DatasetTableIncrementalConfigMapper;
import io.dataease.base.mapper.DatasetTableMapper; import io.dataease.base.mapper.DatasetTableMapper;
import io.dataease.base.mapper.DatasourceMapper; import io.dataease.base.mapper.DatasourceMapper;
import io.dataease.base.mapper.ext.ExtDataSetTableMapper; import io.dataease.base.mapper.ext.ExtDataSetTableMapper;
import io.dataease.commons.constants.JobStatus;
import io.dataease.commons.utils.*; import io.dataease.commons.utils.*;
import io.dataease.controller.request.dataset.DataSetTableRequest; import io.dataease.controller.request.dataset.DataSetTableRequest;
import io.dataease.datasource.dto.TableFiled; import io.dataease.datasource.dto.TableFiled;
...@@ -71,6 +72,8 @@ public class DataSetTableService { ...@@ -71,6 +72,8 @@ public class DataSetTableService {
private DatasetTableIncrementalConfigMapper datasetTableIncrementalConfigMapper; private DatasetTableIncrementalConfigMapper datasetTableIncrementalConfigMapper;
@Resource @Resource
private DataSetTableUnionService dataSetTableUnionService; private DataSetTableUnionService dataSetTableUnionService;
@Resource
private DataSetTableTaskLogService dataSetTableTaskLogService;
@Value("${upload.file.path}") @Value("${upload.file.path}")
private String path; private String path;
...@@ -125,7 +128,11 @@ public class DataSetTableService { ...@@ -125,7 +128,11 @@ public class DataSetTableService {
dataSetTableFieldsService.deleteByTableId(id); dataSetTableFieldsService.deleteByTableId(id);
// 删除同步任务 // 删除同步任务
dataSetTableTaskService.deleteByTableId(id); dataSetTableTaskService.deleteByTableId(id);
try {
deleteDorisTable(id); deleteDorisTable(id);
} catch (Exception e) {
}
} }
private void deleteDorisTable(String datasetId) throws Exception { private void deleteDorisTable(String datasetId) throws Exception {
...@@ -256,6 +263,16 @@ public class DataSetTableService { ...@@ -256,6 +263,16 @@ public class DataSetTableService {
e.printStackTrace(); e.printStackTrace();
} }
} else if (StringUtils.equalsIgnoreCase(datasetTable.getType(), "excel")) { } else if (StringUtils.equalsIgnoreCase(datasetTable.getType(), "excel")) {
List<DatasetTableTaskLog> datasetTableTaskLogs = dataSetTableTaskLogService.getByTableId(datasetTable.getId());
if (CollectionUtils.isEmpty(datasetTableTaskLogs)) {
throw new Exception("no records");
}
if (datasetTableTaskLogs.get(0).getStatus().equalsIgnoreCase(JobStatus.Underway.name())) {
throw new Exception(Translator.get("i18n_processing_data"));
}
if (datasetTableTaskLogs.get(0).getStatus().equalsIgnoreCase(JobStatus.Error.name())) {
throw new Exception("Failed to extract data: " + datasetTableTaskLogs.get(0).getInfo());
}
Datasource ds = (Datasource) CommonBeanFactory.getBean("DorisDatasource"); Datasource ds = (Datasource) CommonBeanFactory.getBean("DorisDatasource");
JdbcProvider jdbcProvider = CommonBeanFactory.getBean(JdbcProvider.class); JdbcProvider jdbcProvider = CommonBeanFactory.getBean(JdbcProvider.class);
DatasourceRequest datasourceRequest = new DatasourceRequest(); DatasourceRequest datasourceRequest = new DatasourceRequest();
......
...@@ -49,4 +49,10 @@ public class DataSetTableTaskLogService { ...@@ -49,4 +49,10 @@ public class DataSetTableTaskLogService {
datasetTableTaskLogMapper.deleteByExample(datasetTableTaskLogExample); datasetTableTaskLogMapper.deleteByExample(datasetTableTaskLogExample);
} }
public List<DatasetTableTaskLog> getByTableId(String datasetId){
DatasetTableTaskLogExample datasetTableTaskLogExample = new DatasetTableTaskLogExample();
DatasetTableTaskLogExample.Criteria criteria = datasetTableTaskLogExample.createCriteria();
criteria.andTableIdEqualTo(datasetId);
return datasetTableTaskLogMapper.selectByExampleWithBLOBs(datasetTableTaskLogExample);
}
} }
package io.dataease.service.dataset; package io.dataease.service.dataset;
import io.dataease.base.domain.DatasetTableUnion; import io.dataease.base.domain.DatasetTableUnion;
import io.dataease.base.domain.DatasetTableUnionExample;
import io.dataease.base.mapper.DatasetTableUnionMapper; import io.dataease.base.mapper.DatasetTableUnionMapper;
import io.dataease.base.mapper.ext.ExtDatasetTableUnionMapper; import io.dataease.base.mapper.ext.ExtDatasetTableUnionMapper;
import io.dataease.commons.utils.AuthUtils; import io.dataease.commons.utils.AuthUtils;
import io.dataease.dto.dataset.DataSetTableUnionDTO; import io.dataease.dto.dataset.DataSetTableUnionDTO;
import io.dataease.i18n.Translator;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
...@@ -28,6 +31,7 @@ public class DataSetTableUnionService { ...@@ -28,6 +31,7 @@ public class DataSetTableUnionService {
private ExtDatasetTableUnionMapper extDatasetTableUnionMapper; private ExtDatasetTableUnionMapper extDatasetTableUnionMapper;
public DatasetTableUnion save(DatasetTableUnion datasetTableUnion) { public DatasetTableUnion save(DatasetTableUnion datasetTableUnion) {
checkUnion(datasetTableUnion);
if (StringUtils.isEmpty(datasetTableUnion.getId())) { if (StringUtils.isEmpty(datasetTableUnion.getId())) {
datasetTableUnion.setId(UUID.randomUUID().toString()); datasetTableUnion.setId(UUID.randomUUID().toString());
datasetTableUnion.setCreateBy(AuthUtils.getUser().getUsername()); datasetTableUnion.setCreateBy(AuthUtils.getUser().getUsername());
...@@ -71,4 +75,30 @@ public class DataSetTableUnionService { ...@@ -71,4 +75,30 @@ public class DataSetTableUnionService {
sourceList.sort(Comparator.comparing(DatasetTableUnion::getCreateTime)); sourceList.sort(Comparator.comparing(DatasetTableUnion::getCreateTime));
return sourceList; return sourceList;
} }
private void checkUnion(DatasetTableUnion datasetTableUnion) {
DatasetTableUnionExample datasetTableUnionExample = new DatasetTableUnionExample();
DatasetTableUnionExample.Criteria criteria = datasetTableUnionExample.createCriteria();
if (StringUtils.isNotEmpty(datasetTableUnion.getId())) {
criteria.andIdNotEqualTo(datasetTableUnion.getId());
}
criteria.andSourceTableIdEqualTo(datasetTableUnion.getSourceTableId());
criteria.andSourceTableFieldIdEqualTo(datasetTableUnion.getSourceTableFieldId());
criteria.andTargetTableIdEqualTo(datasetTableUnion.getTargetTableId());
criteria.andTargetTableFieldIdEqualTo(datasetTableUnion.getTargetTableFieldId());
List<DatasetTableUnion> sourceResult = datasetTableUnionMapper.selectByExample(datasetTableUnionExample);
datasetTableUnionExample.clear();
criteria = datasetTableUnionExample.createCriteria();
if (StringUtils.isNotEmpty(datasetTableUnion.getId())) {
criteria.andIdNotEqualTo(datasetTableUnion.getId());
}
criteria.andSourceTableIdEqualTo(datasetTableUnion.getTargetTableId());
criteria.andSourceTableFieldIdEqualTo(datasetTableUnion.getTargetTableFieldId());
criteria.andTargetTableIdEqualTo(datasetTableUnion.getSourceTableId());
criteria.andTargetTableFieldIdEqualTo(datasetTableUnion.getSourceTableFieldId());
List<DatasetTableUnion> targetResult = datasetTableUnionMapper.selectByExample(datasetTableUnionExample);
if (CollectionUtils.isNotEmpty(sourceResult) || CollectionUtils.isNotEmpty(targetResult)) {
throw new RuntimeException(Translator.get("i18n_union_already_exists"));
}
}
} }
...@@ -235,3 +235,5 @@ i18n_cron_expression_error=Cron expression error ...@@ -235,3 +235,5 @@ i18n_cron_expression_error=Cron expression error
i18n_same_folder_can_not_repeat=Same Folder Can Not Repeat i18n_same_folder_can_not_repeat=Same Folder Can Not Repeat
i18n_default_panel=Default Panel i18n_default_panel=Default Panel
i18n_panel_list=Panel List i18n_panel_list=Panel List
i18n_processing_data=Processing data now, Refresh later
i18n_union_already_exists=Union relation already exists
\ No newline at end of file
...@@ -236,3 +236,5 @@ i18n_cron_expression_error=Cron表达式校验错误 ...@@ -236,3 +236,5 @@ i18n_cron_expression_error=Cron表达式校验错误
i18n_same_folder_can_not_repeat=相同的目录下名称不能重复 i18n_same_folder_can_not_repeat=相同的目录下名称不能重复
i18n_default_panel=默认仪表盘 i18n_default_panel=默认仪表盘
i18n_panel_list=仪表盘列表 i18n_panel_list=仪表盘列表
i18n_processing_data=正在处理数据,稍后刷新
i18n_union_already_exists=关联关系已存在
...@@ -236,3 +236,5 @@ i18n_cron_expression_error=Cron表達式校驗錯誤 ...@@ -236,3 +236,5 @@ i18n_cron_expression_error=Cron表達式校驗錯誤
i18n_same_folder_can_not_repeat=相同的目录下名称不能重复 i18n_same_folder_can_not_repeat=相同的目录下名称不能重复
i18n_default_panel=默认仪表盘 i18n_default_panel=默认仪表盘
i18n_panel_list=仪表盘列表 i18n_panel_list=仪表盘列表
i18n_processing_data=正在處理數據,稍後刷新
i18n_union_already_exists=關聯關系已存在
\ No newline at end of file
<template> <template>
<el-col> <el-col>
<el-row> <el-row>
<el-col style="width: 200px;"> <el-col style="width: 300px;">
<el-form ref="form" :model="form" label-width="100px" size="mini" class="row-style"> <el-form ref="form" :model="form" size="mini" class="row-style">
<el-form-item :label="$t('dataset.showRow')"> <el-form-item>
<span style="width: 100px;">{{ $t('dataset.showRow') }}</span>
<el-input v-model="form.row"> <el-input v-model="form.row">
<el-button slot="append" icon="el-icon-search" @click="reSearch" /> <el-button size="mini" slot="append" icon="el-icon-search" @click="reSearch" />
</el-input> </el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
...@@ -156,6 +157,11 @@ export default { ...@@ -156,6 +157,11 @@ export default {
.row-style>>>.el-form-item--mini.el-form-item{ .row-style>>>.el-form-item--mini.el-form-item{
margin-bottom: 10px; margin-bottom: 10px;
} }
.row-style>>>.el-form-item__content{
display: flex;
flex-direction: row;
width: 250px;
}
.el-pagination{ .el-pagination{
float: right; float: right;
} }
......
...@@ -230,6 +230,7 @@ export default { ...@@ -230,6 +230,7 @@ export default {
targetTableFieldId: '', targetTableFieldId: '',
targetUnionRelation: '' targetUnionRelation: ''
} }
this.targetTable = {}
}, },
edit(item) { edit(item) {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论