fix: 【数据源】替换 excel 失败

This commit is contained in:
taojinlong 2024-11-28 11:47:57 +08:00
parent 616f6efb36
commit d655a77ece

View File

@ -703,7 +703,7 @@ public class DatasourceServer implements DatasourceApi {
String datasourceId = req.get("datasourceId");
DatasetTableDTO datasetTableDTO = new DatasetTableDTO();
datasetTableDTO.setDatasourceId(Long.valueOf(datasourceId));
if (!getTables(datasetTableDTO).stream().map(DatasetTableDTO::getTableName).collect(Collectors.toList()).contains("tableName")) {
if (!getTables(datasetTableDTO).stream().map(DatasetTableDTO::getTableName).collect(Collectors.toList()).contains(tableName)) {
DEException.throwException("无效的表名!");
}
CoreDatasource coreDatasource = datasourceMapper.selectById(datasourceId);
@ -817,7 +817,7 @@ public class DatasourceServer implements DatasourceApi {
sheet.setDeTableName(datasetTableDTO.getTableName());
datasourceRequest.setTable(datasetTableDTO.getTableName());
List<TableField> oldTableFields = ExcelUtils.getTableFields(datasourceRequest);
mergeFields(sheet.getFields(), oldTableFields);
mergeFields(oldTableFields, sheet.getFields());
}
}
if (!find) {
@ -866,7 +866,7 @@ public class DatasourceServer implements DatasourceApi {
}
private void mergeFields(List<TableField> oldFields, List<TableField> newFields) {
oldFields.forEach(tableField -> tableField.setChecked(false));
newFields.forEach(tableField -> tableField.setChecked(false));
for (TableField newField : newFields) {
for (TableField oldField : oldFields) {
if (oldField.getName().equals(newField.getName())) {