From 507ea1f82afde7df36e28d6a580cc4a483fb28cb Mon Sep 17 00:00:00 2001 From: "1437892690@qq.com" <1437892690@qq.com> Date: Thu, 24 Jul 2025 11:11:14 +0800 Subject: [PATCH] =?UTF-8?q?[=E5=8A=9F=E8=83=BD]=20=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E4=BB=93=E5=BA=93-=E7=BC=96=E8=BE=91=E6=97=B6=E5=A6=82?= =?UTF-8?q?=E6=9E=9C=E4=B8=8D=E4=BF=AE=E6=94=B9=E9=85=8D=E7=BD=AE=E5=86=85?= =?UTF-8?q?=E5=AE=B9=E5=88=99=E4=B8=8D=E7=94=A8=E6=B8=85=E7=A9=BA=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E8=A1=A8=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 关联 #[1470925210353664]数据仓库-编辑时如果不修改配置内容则不用清空数据表数据 http://192.168.0.96:8090/demo/rdm.html#/story-detail/939050947543040/939050947543042/1470925210353664 --- .../tenant/api/datawarehouse/SaveDataSourceApi.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/main/java/neatlogic/module/tenant/api/datawarehouse/SaveDataSourceApi.java b/src/main/java/neatlogic/module/tenant/api/datawarehouse/SaveDataSourceApi.java index 7bda9194..1a285575 100644 --- a/src/main/java/neatlogic/module/tenant/api/datawarehouse/SaveDataSourceApi.java +++ b/src/main/java/neatlogic/module/tenant/api/datawarehouse/SaveDataSourceApi.java @@ -39,6 +39,7 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.List; +import java.util.Objects; @Service @AuthAction(action = DATA_WAREHOUSE_MODIFY.class) @@ -92,6 +93,7 @@ public class SaveDataSourceApi extends PrivateApiComponentBase { } String xml = IOUtils.toString(FileUtil.getData(fileVo.getPath()), StandardCharsets.UTF_8);*/ String xml = jsonObj.getString("xml"); + boolean isChangeXml = false; DataSourceVo dataSourceVo = ReportXmlUtil.generateDataSourceFromXml(xml); newDataSourceVo.setDataCount(0); @@ -100,18 +102,24 @@ public class SaveDataSourceApi extends PrivateApiComponentBase { if (id == null) { newDataSourceVo.setFieldList(dataSourceVo.getFieldList()); dataSourceService.insertDataSource(newDataSourceVo); + isChangeXml = true; } else { DataSourceVo oldDatasourceVo = dataSourceMapper.getDataSourceById(id); //比较新老数据,找出需要新增、修改和删除的属性,这样做的目的是为了保留条件配置 if (oldDatasourceVo == null) { throw new DataSourceIsNotFoundException(id); } + if (!Objects.equals(xml, oldDatasourceVo.getXml())) { + isChangeXml = true; + } // 还原条件设置 List newFieldList = dataSourceService.revertFieldCondition(dataSourceVo.getFieldList(), oldDatasourceVo.getFieldList()); dataSourceVo.setFieldList(newFieldList); dataSourceService.updateDataSource(newDataSourceVo, dataSourceVo, oldDatasourceVo); } - dataSourceService.createDataSourceSchema(newDataSourceVo); + if (isChangeXml) { + dataSourceService.createDataSourceSchema(newDataSourceVo); + } dataSourceService.loadOrUnloadReportDataSourceJob(newDataSourceVo); return null; -- Gitee