fix: 修复桌面版创建excel数据集失败

This commit is contained in:
taojinlong
2024-12-13 15:37:43 +08:00
committed by dataeaseShu
parent fb6af1875b
commit 38123138e2
3 changed files with 9 additions and 14 deletions

View File

@@ -17,21 +17,18 @@ import io.dataease.extensions.datasource.dto.DatasetTableDTO;
import io.dataease.extensions.datasource.dto.DatasourceDTO;
import io.dataease.extensions.datasource.dto.DatasourceRequest;
import io.dataease.extensions.datasource.dto.TableField;
import io.dataease.extensions.datasource.factory.ProviderFactory;
import io.dataease.extensions.datasource.provider.Provider;
import io.dataease.job.schedule.ExtractDataJob;
import io.dataease.job.schedule.ScheduleManager;
import io.dataease.utils.BeanUtils;
import io.dataease.utils.JsonUtil;
import io.dataease.utils.LogUtil;
import jakarta.annotation.Resource;
import org.apache.commons.lang3.StringUtils;
import org.quartz.JobExecutionContext;
import org.quartz.JobKey;
import org.quartz.TriggerKey;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
@@ -53,6 +50,7 @@ public class DatasourceSyncManage {
@Resource
private CalciteProvider calciteProvider;
@Async
public void extractExcelData(CoreDatasource coreDatasource, String type) {
if (coreDatasource == null) {
LogUtil.error("Can not find CoreDatasource: " + coreDatasource.getName());
@@ -87,7 +85,7 @@ public class DatasourceSyncManage {
}
datasetTableTaskLog.setTaskStatus(TaskStatus.Error.toString());
datasetTableTaskLog.setInfo(datasetTableTaskLog.getInfo() + "/n Failed to sync datatable: " + datasourceRequest.getTable() + ", " + e.getMessage());
DEException.throwException(e);
} finally {
datasourceTaskServer.saveLog(datasetTableTaskLog);
}

View File

@@ -329,6 +329,9 @@ public class ExcelUtils {
Double d = Double.valueOf(value);
double eps = 1e-10;
if (d - Math.floor(d) < eps) {
if(value.contains(".")){
return "DOUBLE";
}
return "LONG";
} else {
return "DOUBLE";

View File

@@ -274,9 +274,7 @@ public class DatasourceServer implements DatasourceApi {
}
}
}
commonThreadPool.addTask(() -> {
datasourceSyncManage.extractExcelData(coreDatasource, "all_scope");
});
datasourceSyncManage.extractExcelData(coreDatasource, "all_scope");
} else if (dataSourceDTO.getType().equals(DatasourceConfiguration.DatasourceType.API.name())) {
CoreDatasourceTask coreDatasourceTask = new CoreDatasourceTask();
BeanUtils.copyBean(coreDatasourceTask, dataSourceDTO.getSyncSetting());
@@ -423,16 +421,12 @@ public class DatasourceServer implements DatasourceApi {
DEException.throwException("Failed to create table " + toCreateTable + ", " + e.getMessage());
}
}
commonThreadPool.addTask(() -> {
datasourceSyncManage.extractExcelData(requestDatasource, "all_scope");
});
datasourceSyncManage.extractExcelData(requestDatasource, "all_scope");
dataSourceManage.checkName(dataSourceDTO);
ExcelUtils.mergeSheets(requestDatasource, sourceData);
dataSourceManage.innerEdit(requestDatasource);
} else {
commonThreadPool.addTask(() -> {
datasourceSyncManage.extractExcelData(requestDatasource, "add_scope");
});
datasourceSyncManage.extractExcelData(requestDatasource, "add_scope");
ExcelUtils.mergeSheets(requestDatasource, sourceData);
dataSourceManage.checkName(dataSourceDTO);
dataSourceManage.innerEdit(requestDatasource);