Merge pull request #13723 from dataease/pr@dev-v2@fixExcel

Pr@dev v2@fix excel
This commit is contained in:
fit2cloud-chenyw 2024-12-02 15:43:53 +08:00 committed by GitHub
commit 5bffe53fa0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 27 additions and 12 deletions

View File

@ -60,6 +60,9 @@ public class NumericalChartHandler extends DefaultChartHandler {
String maxType = (String) target.get(type); String maxType = (String) target.get(type);
if (StringUtils.equalsIgnoreCase("dynamic", maxType)) { if (StringUtils.equalsIgnoreCase("dynamic", maxType)) {
Map<String, Object> maxField = (Map<String, Object>) target.get(field); Map<String, Object> maxField = (Map<String, Object>) target.get(field);
if (maxField.get("id") == null || StringUtils.isEmpty(maxField.get("id").toString())) {
DEException.throwException(Translator.get("i18n_gauge_field_delete"));
}
Long id = Long.valueOf((String) maxField.get("id")); Long id = Long.valueOf((String) maxField.get("id"));
String summary = (String) maxField.get("summary"); String summary = (String) maxField.get("summary");
DatasetTableFieldDTO datasetTableField = datasetTableFieldManage.selectById(id); DatasetTableFieldDTO datasetTableField = datasetTableFieldManage.selectById(id);

View File

@ -486,6 +486,7 @@ public class ExcelUtils {
tableFiled.setName(filedName); tableFiled.setName(filedName);
tableFiled.setOriginName(filedName); tableFiled.setOriginName(filedName);
tableFiled.setFieldType(null); tableFiled.setFieldType(null);
tableFiled.setChecked(true);
fields.add(tableFiled); fields.add(tableFiled);
} }

View File

@ -808,19 +808,11 @@ public class DatasourceServer implements DatasourceApi {
datasourceRequest.setDatasource(transDTO(coreDatasource)); datasourceRequest.setDatasource(transDTO(coreDatasource));
List<DatasetTableDTO> datasetTableDTOS = ExcelUtils.getTables(datasourceRequest); List<DatasetTableDTO> datasetTableDTOS = ExcelUtils.getTables(datasourceRequest);
for (ExcelSheetData sheet : excelFileData.getSheets()) { for (ExcelSheetData sheet : excelFileData.getSheets()) {
boolean find = false;
for (DatasetTableDTO datasetTableDTO : datasetTableDTOS) { for (DatasetTableDTO datasetTableDTO : datasetTableDTOS) {
if (excelDataTableName(datasetTableDTO.getTableName()).equals(sheet.getTableName()) || isCsv(file.getOriginalFilename())) { if (excelDataTableName(datasetTableDTO.getTableName()).equals(sheet.getTableName()) || isCsv(file.getOriginalFilename())) {
find = true;
sheet.setDeTableName(datasetTableDTO.getTableName()); sheet.setDeTableName(datasetTableDTO.getTableName());
datasourceRequest.setTable(datasetTableDTO.getTableName());
List<TableField> oldTableFields = ExcelUtils.getTableFields(datasourceRequest);
mergeFields(oldTableFields, sheet.getFields());
} }
} }
if (!find) {
sheet.setNewSheet(true);
}
} }
} }
} }

View File

@ -289,7 +289,11 @@ const saveItem = () => {
} }
} else { } else {
for (let i = 0; i < apiItem.fields.length; i++) { for (let i = 0; i < apiItem.fields.length; i++) {
if (apiItem.fields[i].primaryKey && !apiItem.fields[i].length) { if (
apiItem.fields[i].primaryKey &&
!apiItem.fields[i].length &&
apiItem.fields[i].deExtractType === 0
) {
ElMessage.error(t('datasource.primary_key_length') + apiItem.fields[i].name) ElMessage.error(t('datasource.primary_key_length') + apiItem.fields[i].name)
return return
} }

View File

@ -644,7 +644,7 @@ defineExpose({
></SheetTabs> ></SheetTabs>
<div class="table-select_mode"> <div class="table-select_mode">
<div class="btn-select" v-if="param.id === '0' || sheetObj.newSheet"> <div class="btn-select" v-if="param.editType === 0">
<el-button <el-button
@click="changeCurrentMode('preview')" @click="changeCurrentMode('preview')"
:class="[currentMode === 'preview' && 'is-active']" :class="[currentMode === 'preview' && 'is-active']"
@ -705,7 +705,7 @@ defineExpose({
<el-table-column <el-table-column
prop="length" prop="length"
:label="t('datasource.length')" :label="t('datasource.length')"
v-if="param.id === '0' || sheetObj.newSheet" v-if="param.editType === 0"
> >
<template #default="scope"> <template #default="scope">
<el-input-number <el-input-number
@ -728,7 +728,7 @@ defineExpose({
class-name="checkbox-table" class-name="checkbox-table"
:label="t('datasource.set_key')" :label="t('datasource.set_key')"
width="100" width="100"
v-if="param.id === '0' || sheetObj.newSheet" v-if="param.editType === 0"
> >
<template #default="scope"> <template #default="scope">
<el-checkbox <el-checkbox

View File

@ -1,10 +1,13 @@
package io.dataease.extensions.view.dto; package io.dataease.extensions.view.dto;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnore;
import io.dataease.extensions.datasource.dto.DatasetTableFieldDTO; import io.dataease.extensions.datasource.dto.DatasetTableFieldDTO;
import lombok.Data; import lombok.Data;
import java.util.ArrayList;
import java.util.List; import java.util.List;
@Data @Data
@ -23,4 +26,16 @@ public class ChartExtFilterDTO {
@JsonIgnore @JsonIgnore
private List<String> originValue; private List<String> originValue;
private int filterType;// 0-过滤组件1-下钻2-联动外部参数 private int filterType;// 0-过滤组件1-下钻2-联动外部参数
public List<String> getValue() {
if (CollectionUtils.isNotEmpty(value)) {
List<String> values = new ArrayList<>();
value.forEach(v -> {
values.add(v.replace("\n", "\\n"));
});
return values;
}
return value;
}
} }