From de230b68a2020e4c7776cd8ccfad0076df63c3ca Mon Sep 17 00:00:00 2001 From: wangshaoping Date: Thu, 11 Sep 2025 13:24:06 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9F=BA=E7=A1=80=E6=A1=86=E6=9E=B6=E5=8F=91?= =?UTF-8?q?=E5=B8=83:=208.2.39=20=20=201.=20=E6=95=B0=E6=8D=AE=E5=BA=93?= =?UTF-8?q?=E8=A1=A8=E7=BB=93=E6=9E=84=E5=92=8C=E6=95=B0=E6=8D=AE=E5=AF=BC?= =?UTF-8?q?=E5=87=BA=E6=97=B6=EF=BC=8C=E6=8F=90=E5=8D=87=E9=80=89=E6=8B=A9?= =?UTF-8?q?=E8=A1=A8=E7=9A=84=E6=95=88=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 前端核心发布: 8.2.132 1. 解决首页和工作台我完成的任务排序的问题 --- cips.frontend/package.json | 4 +- erm.frontend/package.json | 4 +- gradle.properties | 4 +- io.sc.engine.mv.frontend/package.json | 4 +- .../src/components/index.ts | 26 +++--- io.sc.engine.rule.frontend/package.json | 4 +- .../RateUpdateWorkFlowInitializer.java | 86 +++++++++++++++++++ io.sc.engine.st.frontend/package.json | 4 +- io.sc.platform.ai.frontend/package.json | 4 +- io.sc.platform.core.frontend/package.json | 2 +- .../platform/views/home/MyFinishedTask.vue | 2 +- .../template-project/package.json | 4 +- io.sc.platform.developer.doc/package.json | 4 +- .../package.json | 4 +- .../src/views/backend/ExportLiquibase.vue | 26 +----- .../views/backend/ExportLiquibaseSchema.vue | 26 +----- .../exporter/LiquibaseDataCsvExporter.java | 2 +- .../exporter/LiquibaseSchemaExporter.java | 9 +- .../schemacrawler/MetaDataLoaderImpl.java | 40 ++++++++- .../JdbcMetaDataLoaderWebController.java | 7 +- .../sc/platform/jdbc/meta/MetaDataLoader.java | 10 +++ .../service/JdbcMetaDataLoaderService.java | 1 - .../impl/JdbcMetaDataLoaderServiceImpl.java | 53 ++---------- io.sc.platform.lcdp.frontend/package.json | 4 +- .../package.json | 4 +- io.sc.platform.mvc.frontend/package.json | 4 +- .../package.json | 4 +- io.sc.platform.system.frontend/package.json | 4 +- .../src/views/workbench/MyFinishedTask.vue | 2 +- io.sc.standard.frontend/package.json | 4 +- io.sc.website/package.json | 4 +- wra.report.frontend/package.json | 4 +- 32 files changed, 204 insertions(+), 160 deletions(-) create mode 100644 io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/common/initializer/RateUpdateWorkFlowInitializer.java diff --git a/cips.frontend/package.json b/cips.frontend/package.json index 8e57e942..0c893a71 100644 --- a/cips.frontend/package.json +++ b/cips.frontend/package.json @@ -1,6 +1,6 @@ { "name": "cips.frontend", - "version": "8.2.37", + "version": "8.2.39", "description": "", "private": false, "keywords": [], @@ -112,7 +112,7 @@ "node-sql-parser": "5.3.6", "pinia": "2.3.0", "pinia-undo": "0.2.4", - "platform-core": "8.2.130", + "platform-core": "8.2.132", "quasar": "2.17.6", "sort-array": "5.0.0", "svg-path-commander": "2.1.7", diff --git a/erm.frontend/package.json b/erm.frontend/package.json index aef1778a..88bf52ad 100644 --- a/erm.frontend/package.json +++ b/erm.frontend/package.json @@ -1,6 +1,6 @@ { "name": "erm.frontend", - "version": "8.2.37", + "version": "8.2.39", "description": "", "private": false, "keywords": [], @@ -112,7 +112,7 @@ "node-sql-parser": "5.3.6", "pinia": "2.3.0", "pinia-undo": "0.2.4", - "platform-core": "8.2.130", + "platform-core": "8.2.132", "quasar": "2.17.6", "sort-array": "5.0.0", "svg-path-commander": "2.1.7", diff --git a/gradle.properties b/gradle.properties index 7dc8b0fd..edc9a4ef 100644 --- a/gradle.properties +++ b/gradle.properties @@ -37,9 +37,9 @@ application_version=1.0.0 # platform ########################################################### platform_group=io.sc -platform_version=8.2.37 +platform_version=8.2.39 platform_plugin_version=8.2.10 -platform_core_frontend_version=8.2.130 +platform_core_frontend_version=8.2.132 ########################################################### # dependencies version diff --git a/io.sc.engine.mv.frontend/package.json b/io.sc.engine.mv.frontend/package.json index f07ce123..40afb100 100644 --- a/io.sc.engine.mv.frontend/package.json +++ b/io.sc.engine.mv.frontend/package.json @@ -1,6 +1,6 @@ { "name": "io.sc.engine.mv.frontend", - "version": "8.2.37", + "version": "8.2.39", "description": "", "private": false, "keywords": [], @@ -112,7 +112,7 @@ "node-sql-parser": "5.3.6", "pinia": "2.3.0", "pinia-undo": "0.2.4", - "platform-core": "8.2.130", + "platform-core": "8.2.132", "quasar": "2.17.6", "sort-array": "5.0.0", "svg-path-commander": "2.1.7", diff --git a/io.sc.engine.mv.frontend/src/components/index.ts b/io.sc.engine.mv.frontend/src/components/index.ts index 0253b8a6..504e0b8f 100644 --- a/io.sc.engine.mv.frontend/src/components/index.ts +++ b/io.sc.engine.mv.frontend/src/components/index.ts @@ -14,18 +14,18 @@ import component_engine_mv_config_scale from '@/views/config/scale.vue'; import component_engine_mv_config_dataExtractor from '@/views/config/dataExtractor.vue'; import component_engine_mv_config_executor from '@/views/config/executor.vue'; -const localComponents = { -'component.engine.mv.result': component_engine_mv_result, -'component.engine.mv.sample': component_engine_mv_sample, -'component.engine.mv.config.cutOffPoint': component_engine_mv_config_cutOffPoint, -'component.engine.mv.config.threshold': component_engine_mv_config_threshold, -'component.engine.mv.config.binomial': component_engine_mv_config_binomial, -'component.engine.mv.config.chiSquare': component_engine_mv_config_chiSquare, -'component.engine.mv.config.model': component_engine_mv_config_model, -'component.engine.mv.config.distribution': component_engine_mv_config_distribution, -'component.engine.mv.config.scale': component_engine_mv_config_scale, -'component.engine.mv.config.dataExtractor': component_engine_mv_config_dataExtractor, -'component.engine.mv.config.executor': component_engine_mv_config_executor, -} +const localComponents = { + 'component.engine.mv.result': component_engine_mv_result, + 'component.engine.mv.sample': component_engine_mv_sample, + 'component.engine.mv.config.cutOffPoint': component_engine_mv_config_cutOffPoint, + 'component.engine.mv.config.threshold': component_engine_mv_config_threshold, + 'component.engine.mv.config.binomial': component_engine_mv_config_binomial, + 'component.engine.mv.config.chiSquare': component_engine_mv_config_chiSquare, + 'component.engine.mv.config.model': component_engine_mv_config_model, + 'component.engine.mv.config.distribution': component_engine_mv_config_distribution, + 'component.engine.mv.config.scale': component_engine_mv_config_scale, + 'component.engine.mv.config.dataExtractor': component_engine_mv_config_dataExtractor, + 'component.engine.mv.config.executor': component_engine_mv_config_executor, +}; export default localComponents; diff --git a/io.sc.engine.rule.frontend/package.json b/io.sc.engine.rule.frontend/package.json index 25aa4ba8..2ff64318 100644 --- a/io.sc.engine.rule.frontend/package.json +++ b/io.sc.engine.rule.frontend/package.json @@ -1,6 +1,6 @@ { "name": "io.sc.engine.rule.frontend", - "version": "8.2.37", + "version": "8.2.39", "description": "", "private": false, "keywords": [], @@ -112,7 +112,7 @@ "node-sql-parser": "5.3.6", "pinia": "2.3.0", "pinia-undo": "0.2.4", - "platform-core": "8.2.130", + "platform-core": "8.2.132", "quasar": "2.17.6", "sort-array": "5.0.0", "svg-path-commander": "2.1.7", diff --git a/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/common/initializer/RateUpdateWorkFlowInitializer.java b/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/common/initializer/RateUpdateWorkFlowInitializer.java new file mode 100644 index 00000000..d383a803 --- /dev/null +++ b/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/common/initializer/RateUpdateWorkFlowInitializer.java @@ -0,0 +1,86 @@ +package io.sc.engine.rule.server.common.initializer; + +import io.sc.engine.rule.server.common.service.RuleEngineServerConfigurationService; +import io.sc.platform.core.Environment; +import io.sc.platform.core.initializer.ApplicationInitializer; +import io.sc.platform.core.initializer.ApplicationInitializerExecuteException; +import io.sc.platform.flowable.enums.ProcessStatus; +import io.sc.platform.flowable.jpa.entity.ProcessEntity; +import io.sc.platform.flowable.service.ProcessEntityService; +import io.sc.platform.util.FileUtil; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.context.ApplicationContext; + +import java.io.IOException; +import java.util.List; +import java.util.Locale; + +public class RateUpdateWorkFlowInitializer implements ApplicationInitializer{ + public static final String RRATE_UPDATE_CANCEL_WORKFLOW_CATEGORY ="WORK_FLOW"; + public static final String RATE_UPDATE_CANCEL_WORKFLOW_KEY ="RATE_UPDATE_CANCEL_APPROVING"; + private static final Logger log =LoggerFactory.getLogger(RateUpdateWorkFlowInitializer.class); + private Boolean isInitialized =null; + private ApplicationContext applicationContext; + private ProcessEntityService processEntityService; + + @Override + public void init(ApplicationContext applicationContext) { + this.processEntityService =applicationContext.getBean(ProcessEntityService.class); + this.applicationContext =applicationContext; + } + + @Override + public int getOrder() { + return 1200; + } + + @Override + public synchronized boolean isInitialized() { + if(isInitialized!=null) { + return isInitialized; + } + List entities =processEntityService.getRepository().findByKey(RATE_UPDATE_CANCEL_WORKFLOW_KEY); + if(entities==null || entities.isEmpty()){ + isInitialized =false; + }else { + isInitialized = true; + } + return isInitialized; + } + + @Override + public void execute() throws ApplicationInitializerExecuteException { + try { + ProcessEntity entity = new ProcessEntity(); + entity.setCategory(RATE_UPDATE_CANCEL_WORKFLOW_KEY); + entity.setKey(RATE_UPDATE_CANCEL_WORKFLOW_KEY); + entity.setName(applicationContext.getMessage(RRATE_UPDATE_CANCEL_WORKFLOW_CATEGORY + "." + RATE_UPDATE_CANCEL_WORKFLOW_KEY, null, Locale.getDefault())); + entity.setStatus(ProcessStatus.RELEASE); + entity.setVersion(1); + entity.setCanClaimTask(false); + entity.setXml(getRateUpdateCancelWorkflowXmlContent()); + entity.setBusinessDescriptionSql( + "select\n" + + " CONCAT(CODE_,':',VERSION_) BUSINESS_KEY,\n" + + " '模型发布审批' BUSINESS_TYPE,\n" + + " NAME_ CUST_NO,\n" + + " CONCAT('V',VERSION_) CUST_NAME,\n" + + " NULL PROCESS_STATUS\n" + + "from RE_RESOURCE\n" + + "where CONCAT(CODE_,':',VERSION_) = '${businessKey}'" + ); + entity.setTaskHandFrontendModelName("io.sc.engine.rule.frontend"); + entity.setTaskHandFrontendComponentName("io.sc.engine.rule.frontend.workflow.ApprovalComponent"); + entity = processEntityService.add(entity); + processEntityService.deploy(entity.getId()); + }catch (Exception e){ + log.error("",e); + throw new ApplicationInitializerExecuteException(e); + } + } + + private String getRateUpdateCancelWorkflowXmlContent() throws IOException { + return FileUtil.readString("classpath:/workflow/io/sc/engine/rule/Sample.bpmn", Environment.DEFAULT_CHARSET_NAME); + } +} diff --git a/io.sc.engine.st.frontend/package.json b/io.sc.engine.st.frontend/package.json index 7233d175..c3cb3664 100644 --- a/io.sc.engine.st.frontend/package.json +++ b/io.sc.engine.st.frontend/package.json @@ -1,6 +1,6 @@ { "name": "io.sc.engine.st.frontend", - "version": "8.2.37", + "version": "8.2.39", "description": "", "private": false, "keywords": [], @@ -112,7 +112,7 @@ "node-sql-parser": "5.3.6", "pinia": "2.3.0", "pinia-undo": "0.2.4", - "platform-core": "8.2.130", + "platform-core": "8.2.132", "quasar": "2.17.6", "sort-array": "5.0.0", "svg-path-commander": "2.1.7", diff --git a/io.sc.platform.ai.frontend/package.json b/io.sc.platform.ai.frontend/package.json index e231fe8c..82250693 100644 --- a/io.sc.platform.ai.frontend/package.json +++ b/io.sc.platform.ai.frontend/package.json @@ -1,6 +1,6 @@ { "name": "io.sc.platform.ai.frontend", - "version": "8.2.37", + "version": "8.2.39", "description": "", "private": false, "keywords": [], @@ -112,7 +112,7 @@ "node-sql-parser": "5.3.6", "pinia": "2.3.0", "pinia-undo": "0.2.4", - "platform-core": "8.2.130", + "platform-core": "8.2.132", "quasar": "2.17.6", "sort-array": "5.0.0", "svg-path-commander": "2.1.7", diff --git a/io.sc.platform.core.frontend/package.json b/io.sc.platform.core.frontend/package.json index 04fc8e32..eda1942c 100644 --- a/io.sc.platform.core.frontend/package.json +++ b/io.sc.platform.core.frontend/package.json @@ -1,6 +1,6 @@ { "name": "platform-core", - "version": "8.2.130", + "version": "8.2.132", "description": "前端核心包,用于快速构建前端的脚手架", "//main": "库的主文件", "main": "dist/platform-core.js", diff --git a/io.sc.platform.core.frontend/src/platform/views/home/MyFinishedTask.vue b/io.sc.platform.core.frontend/src/platform/views/home/MyFinishedTask.vue index f70a5918..be889b38 100644 --- a/io.sc.platform.core.frontend/src/platform/views/home/MyFinishedTask.vue +++ b/io.sc.platform.core.frontend/src/platform/views/home/MyFinishedTask.vue @@ -88,7 +88,7 @@ const changeFirstColMaxWidth = () => { const refresh = () => { loadingRef.value = true; axios - .get(Environment.apiContextPath('/api/flowable/process/query/myFinishedTask?page=1&size=10&pageable=true&sortBy=-startTime')) + .get(Environment.apiContextPath('/api/flowable/process/query/myFinishedTask?page=1&size=10&pageable=true&sortBy=-endTime')) .then((response: any) => { itemsRef.value = response.data.content || []; loadingRef.value = false; diff --git a/io.sc.platform.core.frontend/template-project/package.json b/io.sc.platform.core.frontend/template-project/package.json index 069f3c9e..94975aed 100644 --- a/io.sc.platform.core.frontend/template-project/package.json +++ b/io.sc.platform.core.frontend/template-project/package.json @@ -1,6 +1,6 @@ { "name": "platform-core", - "version": "8.2.130", + "version": "8.2.132", "description": "前端核心包,用于快速构建前端的脚手架", "private": false, "keywords": [], @@ -111,7 +111,7 @@ "mockjs": "1.1.0", "node-sql-parser": "5.3.6", "pinia": "2.3.0", - "platform-core": "8.2.130", + "platform-core": "8.2.132", "quasar": "2.17.6", "sort-array": "5.0.0", "svg-path-commander": "2.1.7", diff --git a/io.sc.platform.developer.doc/package.json b/io.sc.platform.developer.doc/package.json index dc8b56c9..b486d34b 100644 --- a/io.sc.platform.developer.doc/package.json +++ b/io.sc.platform.developer.doc/package.json @@ -1,6 +1,6 @@ { "name": "io.sc.platform.developer.doc", - "version": "8.2.37", + "version": "8.2.39", "description": "", "main": "index.js", "scripts": { @@ -28,7 +28,7 @@ "vuepress": "2.0.0-rc.15" }, "dependencies": { - "platform-core": "8.2.130", + "platform-core": "8.2.132", "quasar": "2.17.6", "vue": "3.5.13", "vue-i18n": "11.0.1" diff --git a/io.sc.platform.developer.frontend/package.json b/io.sc.platform.developer.frontend/package.json index 7e3af56d..b3b11001 100644 --- a/io.sc.platform.developer.frontend/package.json +++ b/io.sc.platform.developer.frontend/package.json @@ -1,6 +1,6 @@ { "name": "io.sc.platform.developer.frontend", - "version": "8.2.37", + "version": "8.2.39", "description": "", "private": false, "keywords": [], @@ -112,7 +112,7 @@ "node-sql-parser": "5.3.6", "pinia": "2.3.0", "pinia-undo": "0.2.4", - "platform-core": "8.2.130", + "platform-core": "8.2.132", "quasar": "2.17.6", "sort-array": "5.0.0", "svg-path-commander": "2.1.7", diff --git a/io.sc.platform.developer.frontend/src/views/backend/ExportLiquibase.vue b/io.sc.platform.developer.frontend/src/views/backend/ExportLiquibase.vue index 1925388e..df2071e3 100644 --- a/io.sc.platform.developer.frontend/src/views/backend/ExportLiquibase.vue +++ b/io.sc.platform.developer.frontend/src/views/backend/ExportLiquibase.vue @@ -55,18 +55,7 @@ pageable: false, sortBy: ['name'], sortNo: true, - toolbarActions: [ - 'query', - 'reset', - 'separator', - { - name: 'reloadTables', - label: $t('reload'), - click: () => { - reloadTables(); - }, - }, - ], + toolbarActions: ['query', 'reset'], queryFormColsNum: 2, queryFormFields: [{ name: 'name', label: $t('name'), type: 'w-text' }], primaryKey: 'name', @@ -198,19 +187,6 @@ const exportData = (e) => { }); }; -const reloadTables = () => { - const data = valueReactive; - const config = { - datasource: data.datasource, - catalog: data.catalog, - schema: data.schema, - tables: data.tables, - }; - axios.post(Environment.apiContextPath('/api/jdbc/metadata/reloadTables'), config).then((response) => { - schemaChanged(valueReactive.datasource, valueReactive.catalog, valueReactive.schema); - }); -}; - onMounted(() => { loadDatasource(); }); diff --git a/io.sc.platform.developer.frontend/src/views/backend/ExportLiquibaseSchema.vue b/io.sc.platform.developer.frontend/src/views/backend/ExportLiquibaseSchema.vue index e971a8e6..2929ff0d 100644 --- a/io.sc.platform.developer.frontend/src/views/backend/ExportLiquibaseSchema.vue +++ b/io.sc.platform.developer.frontend/src/views/backend/ExportLiquibaseSchema.vue @@ -55,18 +55,7 @@ sortBy: ['name'], sortNo: true, primaryKey: 'name', - toolbarActions: [ - 'query', - 'reset', - 'separator', - { - name: 'reloadTables', - label: $t('reload'), - click: () => { - reloadTables(); - }, - }, - ], + toolbarActions: ['query', 'reset'], queryFormColsNum: 2, queryFormFields: [{ name: 'name', label: $t('name'), type: 'w-text' }], columns: [ @@ -191,19 +180,6 @@ const exportData = (e) => { }); }; -const reloadTables = () => { - const data = valueReactive; - const config = { - datasource: data.datasource, - catalog: data.catalog, - schema: data.schema, - tables: data.tables, - }; - axios.post(Environment.apiContextPath('/api/jdbc/metadata/reloadTables'), config).then((response) => { - schemaChanged(valueReactive.datasource, valueReactive.catalog, valueReactive.schema); - }); -}; - onMounted(() => { loadDatasource(); }); diff --git a/io.sc.platform.jdbc.liquibase/src/main/java/io/sc/platform/jdbc/liquibase/exporter/LiquibaseDataCsvExporter.java b/io.sc.platform.jdbc.liquibase/src/main/java/io/sc/platform/jdbc/liquibase/exporter/LiquibaseDataCsvExporter.java index 66ef4aad..23892d68 100644 --- a/io.sc.platform.jdbc.liquibase/src/main/java/io/sc/platform/jdbc/liquibase/exporter/LiquibaseDataCsvExporter.java +++ b/io.sc.platform.jdbc.liquibase/src/main/java/io/sc/platform/jdbc/liquibase/exporter/LiquibaseDataCsvExporter.java @@ -43,7 +43,7 @@ public class LiquibaseDataCsvExporter implements DataExporter { String[] tableNames =ExportTable.getTableNames(configure.getTables()); progressInfo.setTotalWeight(tableNames.length); - List tables =MetaDataLoader.newInstance().getTables(dataSource,configure.getCatalog(),configure.getSchema(),tableNames); + List
tables =MetaDataLoader.newInstance().getTablesWithDetail(dataSource,configure.getCatalog(),configure.getSchema(),tableNames); String outPutDir =OUTPUT_PATH + getPath(configure.getCatalog(),configure.getSchema()); FileUtil.deldirs(outPutDir); String dataDir =outPutDir + "/data"; diff --git a/io.sc.platform.jdbc.liquibase/src/main/java/io/sc/platform/jdbc/liquibase/exporter/LiquibaseSchemaExporter.java b/io.sc.platform.jdbc.liquibase/src/main/java/io/sc/platform/jdbc/liquibase/exporter/LiquibaseSchemaExporter.java index 3f823411..d95c363b 100644 --- a/io.sc.platform.jdbc.liquibase/src/main/java/io/sc/platform/jdbc/liquibase/exporter/LiquibaseSchemaExporter.java +++ b/io.sc.platform.jdbc.liquibase/src/main/java/io/sc/platform/jdbc/liquibase/exporter/LiquibaseSchemaExporter.java @@ -22,6 +22,7 @@ import javax.xml.stream.XMLStreamWriter; import java.io.File; import java.io.FileNotFoundException; import java.io.UnsupportedEncodingException; +import java.sql.Types; import java.util.Date; import java.util.List; import java.util.Locale; @@ -45,13 +46,13 @@ public class LiquibaseSchemaExporter implements SchemaExporter { progressInfo.setTotalWeight(configure.getTables().length); String outPutDir =OUTPUT_PATH + getPath(configure.getCatalog(),configure.getSchema()); - FileUtil.deldirs(outPutDir); + //FileUtil.deldirs(outPutDir); String schemaDir =outPutDir + "/schema"; new File(schemaDir).mkdirs(); XMLStreamWriter writer = WriterUtil.xmlStreamWriter(schemaDir + "/liquibase.xml"); writeHeader(writer,getSchemaName(configure.getCatalog(),configure.getSchema())); - List
tables =MetaDataLoader.newInstance().getTables(dataSource,configure.getCatalog(),configure.getSchema(),configure.getTables()); + List
tables =MetaDataLoader.newInstance().getTablesWithDetail(dataSource,configure.getCatalog(),configure.getSchema(),configure.getTables()); for(Table table : tables){ writeTable(table,writer); } @@ -140,8 +141,8 @@ public class LiquibaseSchemaExporter implements SchemaExporter { private String getLiquibaseJavaSqlType(Column column) { String type =column.getSqlType(); - if("java.sql.Types.VARCHAR".equals(type)) { - if(column.getSize()>10000) { + if("java.sql.Types.VARCHAR".equals(type) || "java.sql.Types.NVARCHAR".equals(type)) { + if(column.getSize()>=2000) { type ="java.sql.Types.CLOB"; }else { type ="NVARCHAR(" + column.getSize() + ")"; diff --git a/io.sc.platform.jdbc.schemacrawler/src/main/java/io/sc/platform/jdbc/schemacrawler/MetaDataLoaderImpl.java b/io.sc.platform.jdbc.schemacrawler/src/main/java/io/sc/platform/jdbc/schemacrawler/MetaDataLoaderImpl.java index c60d9b67..a2005c31 100644 --- a/io.sc.platform.jdbc.schemacrawler/src/main/java/io/sc/platform/jdbc/schemacrawler/MetaDataLoaderImpl.java +++ b/io.sc.platform.jdbc.schemacrawler/src/main/java/io/sc/platform/jdbc/schemacrawler/MetaDataLoaderImpl.java @@ -74,6 +74,42 @@ public class MetaDataLoaderImpl implements MetaDataLoader { @Override public List
getTables(DataSource dataSource, String catalogName, String schemaName,String... tableNames) throws MetaDataAccessException { + List
result =new ArrayList<>(); + Connection connection =null; + ResultSet rs =null; + try { + connection =getConnection(dataSource); + DatabaseMetaData databaseMetaData =connection.getMetaData(); + if(tableNames==null || tableNames.length==0) { + rs = databaseMetaData.getTables(catalogName, schemaName, null, new String[]{"TABLE"}); + while (rs.next()) { + Table table = new Table(); + table.setName(rs.getString("TABLE_NAME")); + table.setRemarks(rs.getString("REMARKS")); + result.add(table); + } + }else{ + for(String tableName : tableNames){ + rs = databaseMetaData.getTables(catalogName, schemaName, tableName, new String[]{"TABLE"}); + while (rs.next()) { + Table table = new Table(); + table.setName(rs.getString("TABLE_NAME")); + table.setRemarks(rs.getString("REMARKS")); + result.add(table); + } + } + } + } catch (SQLException e) { + throw new MetaDataAccessException(e); + }finally { + try{rs.close();} catch (SQLException e) {} + try{connection.close();} catch (SQLException e) {} + } + return result; + } + + @Override + public List
getTablesWithDetail(DataSource dataSource, String catalogName, String schemaName, String... tableNames) throws MetaDataAccessException { List
result =new ArrayList<>(); Connection connection =null; ResultSet rs =null; @@ -183,7 +219,9 @@ public class MetaDataLoaderImpl implements MetaDataLoader { indexColumns.add(indexColumn); index.setColumns(indexColumns); - result.add(index); + if(index.getName().toUpperCase().startsWith("IDX_")) { + result.add(index); + } } } catch (SQLException e) { throw new MetaDataAccessException(e); diff --git a/io.sc.platform.jdbc/src/main/java/io/sc/platform/jdbc/controller/JdbcMetaDataLoaderWebController.java b/io.sc.platform.jdbc/src/main/java/io/sc/platform/jdbc/controller/JdbcMetaDataLoaderWebController.java index b78a7d04..65f1abb7 100644 --- a/io.sc.platform.jdbc/src/main/java/io/sc/platform/jdbc/controller/JdbcMetaDataLoaderWebController.java +++ b/io.sc.platform.jdbc/src/main/java/io/sc/platform/jdbc/controller/JdbcMetaDataLoaderWebController.java @@ -40,7 +40,7 @@ public class JdbcMetaDataLoaderWebController { if(StringUtils.hasText(tableName)){ List
result =new ArrayList<>(); for(Table table : tables){ - if(table.getName().contains(tableName)){ + if(table.getName().toLowerCase().contains(tableName.toLowerCase())){ result.add(table); } } @@ -49,9 +49,4 @@ public class JdbcMetaDataLoaderWebController { return tables; } } - - @PostMapping("reloadTables") - public void reloadTables(@RequestParam(name="datasource",required = false)String datasource, @RequestParam(name="catalog",required = false)String catalog,@RequestParam(name="schema",required = false)String schema){ - jdbcMetaDataLoaderService.reloadTables(datasource,catalog,schema); - } } diff --git a/io.sc.platform.jdbc/src/main/java/io/sc/platform/jdbc/meta/MetaDataLoader.java b/io.sc.platform.jdbc/src/main/java/io/sc/platform/jdbc/meta/MetaDataLoader.java index e0b94486..4b87c793 100644 --- a/io.sc.platform.jdbc/src/main/java/io/sc/platform/jdbc/meta/MetaDataLoader.java +++ b/io.sc.platform.jdbc/src/main/java/io/sc/platform/jdbc/meta/MetaDataLoader.java @@ -57,6 +57,16 @@ public interface MetaDataLoader { */ public List
getTables(DataSource dataSource, String catalogName, String schemaName,String... tableNames) throws MetaDataAccessException; + /** + * 获取某个 Schema 下的表对象(带详情)列表 + * @param dataSource 数据源 + * @param catalogName 目录名 + * @param schemaName Schema 名称 + * @param tableNames 表名数组 + * @return 某个 Schema 下的表对象列表 + */ + public List
getTablesWithDetail(DataSource dataSource, String catalogName, String schemaName,String... tableNames) throws MetaDataAccessException; + /** * 获取列对象列表 * @param dataSource 数据源 diff --git a/io.sc.platform.jdbc/src/main/java/io/sc/platform/jdbc/service/JdbcMetaDataLoaderService.java b/io.sc.platform.jdbc/src/main/java/io/sc/platform/jdbc/service/JdbcMetaDataLoaderService.java index 84ed9fdc..28067bd2 100644 --- a/io.sc.platform.jdbc/src/main/java/io/sc/platform/jdbc/service/JdbcMetaDataLoaderService.java +++ b/io.sc.platform.jdbc/src/main/java/io/sc/platform/jdbc/service/JdbcMetaDataLoaderService.java @@ -11,5 +11,4 @@ public interface JdbcMetaDataLoaderService { public List getCatalogs(String datasourceName) throws Exception; public List getSchemas(String datasourceName,String catalogName) throws Exception; public List
getTables(String datasourceName,String catalogName, String schemaName) throws Exception; - public void reloadTables(String datasourceName,String catalogName,String schemaName); } diff --git a/io.sc.platform.jdbc/src/main/java/io/sc/platform/jdbc/service/impl/JdbcMetaDataLoaderServiceImpl.java b/io.sc.platform.jdbc/src/main/java/io/sc/platform/jdbc/service/impl/JdbcMetaDataLoaderServiceImpl.java index bd70627d..eb1304b4 100644 --- a/io.sc.platform.jdbc/src/main/java/io/sc/platform/jdbc/service/impl/JdbcMetaDataLoaderServiceImpl.java +++ b/io.sc.platform.jdbc/src/main/java/io/sc/platform/jdbc/service/impl/JdbcMetaDataLoaderServiceImpl.java @@ -12,15 +12,12 @@ import org.springframework.util.StringUtils; import javax.sql.DataSource; import java.util.Collections; -import java.util.HashMap; import java.util.List; -import java.util.Map; @Service("io.sc.platform.jdbc.service.impl.JdbcMetaDataLoaderServiceImpl") public class JdbcMetaDataLoaderServiceImpl implements JdbcMetaDataLoaderService { @Autowired DatasourceService datasourceService; @Autowired MetaDataLoader metaDataLoader; - private Map> cache =new HashMap<>(); @Override public List getCatalogs(String datasourceName) throws Exception { @@ -52,49 +49,15 @@ public class JdbcMetaDataLoaderServiceImpl implements JdbcMetaDataLoaderService @Override public synchronized List
getTables(String datasourceName, String catalogName, String schemaName) throws Exception { - String schemaId =getSchemaId(datasourceName,catalogName,schemaName); - List
tables =cache.get(schemaId); - if(tables==null || tables.isEmpty()) { - DataSource dataSource = null; - if (StringUtils.hasText(datasourceName)) { - dataSource = datasourceService.getDatasource(datasourceName); - } else { - dataSource = datasourceService.getDefaultDatasource(); - } - if (dataSource != null) { - tables =metaDataLoader.getTables(dataSource, catalogName, schemaName); - cache.put(schemaId,tables); - return tables; - } - return Collections.emptyList(); - }else{ - return tables; + DataSource dataSource = null; + if (StringUtils.hasText(datasourceName)) { + dataSource = datasourceService.getDatasource(datasourceName); + } else { + dataSource = datasourceService.getDefaultDatasource(); } - } - - @Override - public void reloadTables(String datasourceName,String catalogName,String schemaName) { - String schemaId =getSchemaId(datasourceName,catalogName,schemaName); - List
tables =cache.get(schemaId); - if(tables!=null && !tables.isEmpty()) { - tables.clear(); + if (dataSource != null) { + return metaDataLoader.getTables(dataSource, catalogName, schemaName); } + return Collections.emptyList(); } - - private String getSchemaId(String datasourceName, String catalogName, String schemaName){ - StringBuilder sb =new StringBuilder("/"); - if(StringUtils.hasText(datasourceName)){ - sb.append(datasourceName.trim()); - } - sb.append("/"); - if(StringUtils.hasText(catalogName)){ - sb.append(catalogName.trim()); - } - sb.append("/"); - if(StringUtils.hasText(schemaName)){ - sb.append(schemaName.trim()); - } - return sb.toString(); - } - } diff --git a/io.sc.platform.lcdp.frontend/package.json b/io.sc.platform.lcdp.frontend/package.json index 45f43d4a..fbf759ab 100644 --- a/io.sc.platform.lcdp.frontend/package.json +++ b/io.sc.platform.lcdp.frontend/package.json @@ -1,6 +1,6 @@ { "name": "io.sc.platform.lcdp.frontend", - "version": "8.2.37", + "version": "8.2.39", "description": "", "private": false, "keywords": [], @@ -112,7 +112,7 @@ "node-sql-parser": "5.3.6", "pinia": "2.3.0", "pinia-undo": "0.2.4", - "platform-core": "8.2.130", + "platform-core": "8.2.132", "quasar": "2.17.6", "sort-array": "5.0.0", "svg-path-commander": "2.1.7", diff --git a/io.sc.platform.license.keygen.frontend/package.json b/io.sc.platform.license.keygen.frontend/package.json index 5a396ebf..37761b27 100644 --- a/io.sc.platform.license.keygen.frontend/package.json +++ b/io.sc.platform.license.keygen.frontend/package.json @@ -1,6 +1,6 @@ { "name": "io.sc.platform.license.keygen.frontend", - "version": "8.2.37", + "version": "8.2.39", "description": "", "private": false, "keywords": [], @@ -112,7 +112,7 @@ "node-sql-parser": "5.3.6", "pinia": "2.3.0", "pinia-undo": "0.2.4", - "platform-core": "8.2.130", + "platform-core": "8.2.132", "quasar": "2.17.6", "sort-array": "5.0.0", "svg-path-commander": "2.1.7", diff --git a/io.sc.platform.mvc.frontend/package.json b/io.sc.platform.mvc.frontend/package.json index 0599ee15..f3086824 100644 --- a/io.sc.platform.mvc.frontend/package.json +++ b/io.sc.platform.mvc.frontend/package.json @@ -1,6 +1,6 @@ { "name": "io.sc.platform.mvc.frontend", - "version": "8.2.37", + "version": "8.2.39", "description": "", "private": false, "keywords": [], @@ -112,7 +112,7 @@ "node-sql-parser": "5.3.6", "pinia": "2.3.0", "pinia-undo": "0.2.4", - "platform-core": "8.2.130", + "platform-core": "8.2.132", "quasar": "2.17.6", "sort-array": "5.0.0", "svg-path-commander": "2.1.7", diff --git a/io.sc.platform.scheduler.manager.frontend/package.json b/io.sc.platform.scheduler.manager.frontend/package.json index cfd0d564..7df9faa9 100644 --- a/io.sc.platform.scheduler.manager.frontend/package.json +++ b/io.sc.platform.scheduler.manager.frontend/package.json @@ -1,6 +1,6 @@ { "name": "io.sc.platform.scheduler.manager.frontend", - "version": "8.2.37", + "version": "8.2.39", "description": "", "private": false, "keywords": [], @@ -112,7 +112,7 @@ "node-sql-parser": "5.3.6", "pinia": "2.3.0", "pinia-undo": "0.2.4", - "platform-core": "8.2.130", + "platform-core": "8.2.132", "quasar": "2.17.6", "sort-array": "5.0.0", "svg-path-commander": "2.1.7", diff --git a/io.sc.platform.system.frontend/package.json b/io.sc.platform.system.frontend/package.json index aea8d8f5..df78dda3 100644 --- a/io.sc.platform.system.frontend/package.json +++ b/io.sc.platform.system.frontend/package.json @@ -1,6 +1,6 @@ { "name": "io.sc.platform.system.frontend", - "version": "8.2.37", + "version": "8.2.39", "description": "", "private": false, "keywords": [], @@ -111,7 +111,7 @@ "mockjs": "1.1.0", "node-sql-parser": "5.3.6", "pinia": "2.3.0", - "platform-core": "8.2.130", + "platform-core": "8.2.132", "quasar": "2.17.6", "sort-array": "5.0.0", "svg-path-commander": "2.1.7", diff --git a/io.sc.platform.system.frontend/src/views/workbench/MyFinishedTask.vue b/io.sc.platform.system.frontend/src/views/workbench/MyFinishedTask.vue index a0f32d0a..61b41d4a 100644 --- a/io.sc.platform.system.frontend/src/views/workbench/MyFinishedTask.vue +++ b/io.sc.platform.system.frontend/src/views/workbench/MyFinishedTask.vue @@ -8,7 +8,7 @@ db-click-operation="taskView" :sort-no="false" :data-url="Environment.apiContextPath('/api/flowable/process/query/myFinishedTask')" - :sort-by="['-startTime']" + :sort-by="['-endTime']" :query-form-cols-num="4" :query-form-fields="[ { diff --git a/io.sc.standard.frontend/package.json b/io.sc.standard.frontend/package.json index 7654e81b..0059b6bb 100644 --- a/io.sc.standard.frontend/package.json +++ b/io.sc.standard.frontend/package.json @@ -1,6 +1,6 @@ { "name": "io.sc.standard.frontend", - "version": "8.2.37", + "version": "8.2.39", "description": "", "private": false, "keywords": [], @@ -112,7 +112,7 @@ "node-sql-parser": "5.3.6", "pinia": "2.3.0", "pinia-undo": "0.2.4", - "platform-core": "8.2.130", + "platform-core": "8.2.132", "quasar": "2.17.6", "sort-array": "5.0.0", "svg-path-commander": "2.1.7", diff --git a/io.sc.website/package.json b/io.sc.website/package.json index f5ad2b62..ecde7a85 100644 --- a/io.sc.website/package.json +++ b/io.sc.website/package.json @@ -1,6 +1,6 @@ { "name": "io.sc.website", - "version": "8.2.37", + "version": "8.2.39", "description": "", "main": "index.js", "scripts": { @@ -28,6 +28,6 @@ }, "dependencies": { "vue": "3.5.13", - "platform-core": "8.2.130" + "platform-core": "8.2.132" } } \ No newline at end of file diff --git a/wra.report.frontend/package.json b/wra.report.frontend/package.json index fe208c85..58c76524 100644 --- a/wra.report.frontend/package.json +++ b/wra.report.frontend/package.json @@ -1,6 +1,6 @@ { "name": "wra.report.frontend", - "version": "8.2.37", + "version": "8.2.39", "description": "", "private": false, "keywords": [], @@ -111,7 +111,7 @@ "mockjs": "1.1.0", "node-sql-parser": "5.3.6", "pinia": "2.3.0", - "platform-core": "8.2.130", + "platform-core": "8.2.132", "quasar": "2.17.6", "sort-array": "5.0.0", "svg-path-commander": "2.1.7",