Merge pull request #7938 from dataease/pr@dev@fix_setKey

Pr@dev@fix set key
This commit is contained in:
taojinlong 2024-01-31 14:34:28 +08:00 committed by GitHub
commit aad0bf913b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
9 changed files with 24 additions and 14 deletions

View File

@ -331,6 +331,11 @@ public class ExcelXlsReader implements HSSFListener {
if (flag && curRow != 0) { //该行不为空行且该行不是第一行发送第一行为列名不需要
if (!totalSheets.stream().map(ExcelSheetData::getExcelLabel).collect(Collectors.toList()).contains(sheetName)) {
if(cellList.size() < fields.size()){
for (int i = 0; i < fields.size() - cellList.size(); i++) {
cellList.add("");
}
}
ExcelSheetData excelSheetData = new ExcelSheetData();
excelSheetData.setData(new ArrayList<>(data));
excelSheetData.setExcelLabel(sheetName);

View File

@ -66,7 +66,7 @@ public class DorisDDLProvider extends DDLProviderImpl {
sql = sql.replace("`UNIQUE_KEY`", "`" + String.join("`, `", keys) + "`")
.replace("DISTRIBUTED_BY_HASH", keys.get(0)).replace("Column_Fields", createDorisTableColumnSql(datasetTableFields, version, keys));
} else {
if(!datasetTableFields.stream().map(DatasetTableField::getDataeaseName).collect(Collectors.toList()).contains("dataease_uuid")){
if (!datasetTableFields.stream().map(DatasetTableField::getDataeaseName).collect(Collectors.toList()).contains("dataease_uuid")) {
List<DatasetTableField> tempList = new ArrayList<>();
DatasetTableField datasetTableField = new DatasetTableField();
datasetTableField.setDeExtractType(0);
@ -80,7 +80,7 @@ public class DorisDDLProvider extends DDLProviderImpl {
tempList.add(datasetTableFields.get(i));
}
sql = sql.replace("UNIQUE_KEY", "dataease_uuid").replace("DISTRIBUTED_BY_HASH", "dataease_uuid").replace("Column_Fields", createDorisTableColumnSql(tempList, version, null));
}else {
} else {
sql = sql.replace("UNIQUE_KEY", "dataease_uuid").replace("DISTRIBUTED_BY_HASH", "dataease_uuid").replace("Column_Fields", createDorisTableColumnSql(datasetTableFields, version, null));
}
@ -114,7 +114,8 @@ public class DorisDDLProvider extends DDLProviderImpl {
case 3:
if (datasetTableField.getType().equalsIgnoreCase("DECIMAL") && datasetTableField.getAccuracy() != 0) {
if (Integer.valueOf(version.split("5.7.")[1]) < 99) {
Column_Fields.append("DECIMAL(" + datasetTableField.getSize() + "," + datasetTableField.getAccuracy() + ")").append(",`");
Integer p = datasetTableField.getAccuracy() > 9 ? 9 : datasetTableField.getAccuracy();
Column_Fields.append("DECIMAL(" + datasetTableField.getSize() + "," + p + ")").append(",`");
} else {
Column_Fields.append("DecimalV3(" + datasetTableField.getSize() + "," + datasetTableField.getAccuracy() + ")").append(",`");
}

View File

@ -78,7 +78,7 @@ public class MysqlDDLProvider extends DDLProviderImpl {
}
private String createDorisTableColumnSql(final List<DatasetTableField> datasetTableFields) {
StringBuilder Column_Fields = new StringBuilder("`");
StringBuilder Column_Fields = new StringBuilder("dataease_uuid varchar(50), `");
for (DatasetTableField datasetTableField : datasetTableFields) {
Column_Fields.append(datasetTableField.getDataeaseName()).append("` ");
Integer size = datasetTableField.getSize() * 4;

View File

@ -189,9 +189,9 @@ public class DataSetTableService {
} else {
dt.getKeys().remove(datasetTableField.getOriginName());
}
if(CollectionUtils.isNotEmpty(dt.getKeys())){
if (CollectionUtils.isNotEmpty(dt.getKeys())) {
dt.setSetKey(true);
}else {
} else {
dt.setSetKey(false);
}
DatasetTable record = new DatasetTable();
@ -1304,10 +1304,10 @@ public class DataSetTableService {
String[] fieldArray = fields.stream().map(TableField::getFieldName).toArray(String[]::new);
checkIsRepeat(fieldArray);
if(!realData && dataTableInfo.isSetKey()){
if (!realData && dataTableInfo.isSetKey()) {
for (String key : dataTableInfo.getKeys()) {
if(!fields.stream().map(TableField::getFieldName).collect(Collectors.toList()).contains(key)){
DataEaseException.throwException(Translator.get("i18n_dont_contian_key") + "" + key);
if (!fields.stream().map(TableField::getFieldName).collect(Collectors.toList()).contains(key)) {
DataEaseException.throwException(Translator.get("i18n_dont_contain_key") + key);
}
}
}

View File

@ -94,7 +94,7 @@ i18n_sql_delete_not_matching=The data column of incremental delete SQL does not
i18n_cst_ds_tb_or_field_deleted=Custom dataset union data is deleted or field changed,can not display
i18n_no_all_delete_privilege_folder=This folder have sources which have no manage or view privilege,Can Not Be Deleted.
i18n_excel_field_repeat=Duplicate fields exist:
i18n_dont_contian_key=The current SQL doesn't include this key:
i18n_dont_contain_key=The current SQL doesn't include this key:
i18n_schema_is_empty=Database schema is empty
\u7AD9\u5185\u6D88\u606F=Messages Center
\u6240\u6709\u6D88\u606F=All Messages

View File

@ -94,7 +94,7 @@ i18n_sql_delete_not_matching=\u589E\u91CF\u5220\u9664 SQL \u7684\u6570\u636E\u52
i18n_cst_ds_tb_or_field_deleted=\u81EA\u5B9A\u4E49\u6570\u636E\u96C6\u6240\u5173\u8054\u6570\u636E\u88AB\u5220\u9664\u6216\u5B57\u6BB5\u53D1\u751F\u53D8\u5316\uFF0C\u65E0\u6CD5\u6B63\u5E38\u663E\u793A
i18n_no_all_delete_privilege_folder=\u8BE5\u76EE\u5F55\u4E0B\u5B58\u5728\u6CA1\u6709\u7BA1\u7406\u6743\u9650\u6216\u67E5\u770B\u6743\u9650\u7684\u8D44\u6E90\uFF0C\u65E0\u6CD5\u5220\u9664
i18n_excel_field_repeat=\u5B58\u5728\u91CD\u590D\u5B57\u6BB5\uFF1A
i18n_dont_contian_key=\u5f53\u524d\u7684sql\u4e0d\u5305\u542b\u8fd9\u4e2a\u952e\uff1a
i18n_dont_contain_key=\u5f53\u524d\u7684sql\u4e0d\u5305\u542b\u8fd9\u4e2a\u952e\uff1a
i18n_schema_is_empty=\u6570\u636E\u5E93 Schema \u4E3A\u7A7A
\u7AD9\u5185\u6D88\u606F=\u6D88\u606F\u4E2D\u5FC3
\u6240\u6709\u6D88\u606F=\u6240\u6709\u6D88\u606F

View File

@ -94,7 +94,7 @@ i18n_sql_delete_not_matching=\u589E\u91CF\u522A\u9664 sql \u7684\u6578\u64DA\u52
i18n_cst_ds_tb_or_field_deleted=\u81EA\u5B9A\u7FA9\u6578\u64DA\u96C6\u6240\u95DC\u806F\u6578\u64DA\u88AB\u522A\u9664\u6216\u5B57\u6BB5\u767C\u751F\u8B8A\u5316\uFF0C\u7121\u6CD5\u6B63\u5E38\u986F\u793A
i18n_no_all_delete_privilege_folder=\u8A72\u76EE\u9304\u4E0B\u5B58\u5728\u6C92\u6709\u7BA1\u7406\u6B0A\u9650\u6216\u67E5\u770B\u6B0A\u9650\u7684\u8CC7\u6E90\uFF0C\u7121\u6CD5\u522A\u9664
i18n_excel_field_repeat=\u5B58\u5728\u91CD\u5FA9\u5B57\u6BB5\uFF1A
i18n_dont_contian_key=\u7576\u524d\u7684sql\u4e0d\u5305\u542b\u9019\u500b\u9375\uff1a
i18n_dont_contain_key=\u7576\u524d\u7684sql\u4e0d\u5305\u542b\u9019\u500b\u9375\uff1a
i18n_schema_is_empty=\u6578\u64DA\u5EAB Schema \u70BA\u7A7A
\u7AD9\u5185\u6D88\u606F=\u6D88\u606F\u4E2D\u5FC3
\u6240\u6709\u6D88\u606F=\u6240\u6709\u6D88\u606F

View File

@ -966,6 +966,10 @@ export default {
table.info.replace(/\n/g, '\\n').replace(/\r/g, '\\r')
).sql
}
if(JSON.parse(table.info).hasOwnProperty("setKey")){
this.param.setKey = JSON.parse(table.info).setKey
this.param.keys = JSON.parse(table.info).keys
}
this.variables = JSON.parse(table.sqlVariableDetails)
}).finally(() => {
this.$emit('setSaveDisabled', false)

View File

@ -231,7 +231,7 @@
v-if="table.mode === 1 && (table.type === 'db' || table.type === 'sql')"
>
<template slot-scope="scope">
<el-select v-model="scope.row.key" @change="saveKey(scope.row)" >
<el-select v-model="scope.row.key" @change="saveKey(scope.row)" :disabled="scope.row.extField !== 0">
<el-option
v-for="item in getKeyFields(scope.row)"
:key="item.value"
@ -586,7 +586,7 @@
v-if="table.mode === 1 && (table.type === 'db' || table.type === 'sql')"
>
<template slot-scope="scope">
<el-select v-model="scope.row.key" @change="saveKey(scope.row)" >
<el-select v-model="scope.row.key" @change="saveKey(scope.row)" :disabled="scope.row.extField !== 0">
<el-option
v-for="item in getKeyFields(scope.row)"
:key="item.value"