From a4a8ced1b24f6811f4dc79ed8c2f688ce33629f9 Mon Sep 17 00:00:00 2001 From: wangshaoping Date: Thu, 11 Sep 2025 14:53:18 +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. 解决首页和工作台我完成的任务排序的问题 --- .../schemacrawler/MetaDataLoaderImpl.java | 13 +++++++++ .../sc/platform/jdbc/meta/support/Table.java | 29 +++++++++++++++++++ 2 files changed, 42 insertions(+) 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 a2005c31..a2c56429 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 @@ -149,6 +149,19 @@ public class MetaDataLoaderImpl implements MetaDataLoader { try{rs.close();} catch (SQLException e) {} try{connection.close();} catch (SQLException e) {} } + + CollectionUtil.bubbleSort(result,new Comparator() { + @Override + public int compare(Table o1, Table o2) { + if(o1.isParentOf(o2)) { + return -1; + }else if(o1.isChildOf(o2)) { + return 1; + }else { + return o1.getName().compareTo(o2.getName()); + } + } + }); return result; } diff --git a/io.sc.platform.jdbc/src/main/java/io/sc/platform/jdbc/meta/support/Table.java b/io.sc.platform.jdbc/src/main/java/io/sc/platform/jdbc/meta/support/Table.java index 531cbcda..84750b97 100644 --- a/io.sc.platform.jdbc/src/main/java/io/sc/platform/jdbc/meta/support/Table.java +++ b/io.sc.platform.jdbc/src/main/java/io/sc/platform/jdbc/meta/support/Table.java @@ -13,6 +13,35 @@ public class Table { private String selfReferencePrimaryKeyColumnName; private String selfReferenceForeignKeyColumnName; + public boolean isParentOf(Table childTable){ + if(childTable==null){ return false; } + List foreignKeys =childTable.getForeignKeys(); + if(foreignKeys==null || foreignKeys.isEmpty()){ + return false; + } + for(ForeignKey foreignKey : foreignKeys){ + if(foreignKey.getPrimaryKeyTableName().equalsIgnoreCase(this.getName())){ + return true; + } + } + return false; + } + + public boolean isChildOf(Table parentTable){ + if(parentTable==null){ return false; } + List foreignKeys =this.getForeignKeys(); + if(foreignKeys==null || foreignKeys.isEmpty()){ + return false; + } + for(ForeignKey foreignKey : foreignKeys){ + if(foreignKey.getPrimaryKeyTableName().equalsIgnoreCase(parentTable.getName())){ + return true; + } + } + return false; + } + + public String getName() { return name; }