From df81fa08540b7cc71e1facf50e24c395f089037c Mon Sep 17 00:00:00 2001 From: 许鹏程 <1821349743@qq.com> Date: 星期四, 15 八月 2024 18:37:29 +0800 Subject: [PATCH] commit udpate --- src/main/java/com/product/data/sync/controller/ConnectionConfigurationController.java | 2 src/main/java/com/product/data/sync/service/ConnectionConfigurationService.java | 748 ++++++++++++++++++++++++++++---------------------------- 2 files changed, 376 insertions(+), 374 deletions(-) diff --git a/src/main/java/com/product/data/sync/controller/ConnectionConfigurationController.java b/src/main/java/com/product/data/sync/controller/ConnectionConfigurationController.java index 3d52fce..e55c034 100644 --- a/src/main/java/com/product/data/sync/controller/ConnectionConfigurationController.java +++ b/src/main/java/com/product/data/sync/controller/ConnectionConfigurationController.java @@ -76,9 +76,11 @@ SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_SAVE_CONNECT_CONFIGURE_FAIL.getValue(), SystemCode.SYSTEM_SAVE_CONNECT_CONFIGURE_FAIL.getText()); return error(SystemCode.SYSTEM_SAVE_CONNECT_CONFIGURE_FAIL.getValue(), SystemCode.SYSTEM_SAVE_CONNECT_CONFIGURE_FAIL.getText()); }catch(BaseException e) { + e.printStackTrace(); SpringMVCContextHolder.getSystemLogger().error(e); return this.error(e); }catch (Exception e) { + e.printStackTrace(); SpringMVCContextHolder.getSystemLogger().error(e); return this.error(SystemCode.SYSTEM_SAVE_CONNECT_CONFIGURE_FAIL.getValue(), SystemCode.SYSTEM_SAVE_CONNECT_CONFIGURE_FAIL.getText()); } diff --git a/src/main/java/com/product/data/sync/service/ConnectionConfigurationService.java b/src/main/java/com/product/data/sync/service/ConnectionConfigurationService.java index dd18655..6ac4c92 100644 --- a/src/main/java/com/product/data/sync/service/ConnectionConfigurationService.java +++ b/src/main/java/com/product/data/sync/service/ConnectionConfigurationService.java @@ -41,363 +41,363 @@ */ @Service public class ConnectionConfigurationService extends AbstractBaseService implements IConnectionConfigurationService { - @Autowired - public BaseDao baseDao; - @Autowired - PermissionService permissionService; - @Autowired - QueryFilterService queryFilterService; + @Autowired + public BaseDao baseDao; + @Autowired + PermissionService permissionService; + @Autowired + QueryFilterService queryFilterService; - /** - * 鏁版嵁鍚屾杩炴帴閰嶇疆 --鏈湴鍚屾 - * - * @param fse - * @throws BaseException - */ - private void currentConnectionConfigTables(FieldSetEntity fse, String condition) throws BaseException { - BaseUtil.createCreatorAndCreationTime(fse); - baseDao.saveFieldSetEntity(fse); - String uuid = fse.getUUID(); - DataTableEntity dt = baseDao.listTable("SELECT table_name,? as database_config_uuid from product_sys_datamodel_table_field_v where length(table_name)>0 " + condition + " GROUP BY table_name ", new Object[]{uuid}); - dt.getMeta().setTableName(new Object[]{CmnConst.PRODUCT_SYS_DATABASE_TABLENAME_FIELD}); - add(dt); - } + /** + * 鏁版嵁鍚屾杩炴帴閰嶇疆 --鏈湴鍚屾 + * + * @param fse + * @throws BaseException + */ + private void currentConnectionConfigTables(FieldSetEntity fse, String condition) throws BaseException { + BaseUtil.createCreatorAndCreationTime(fse); + baseDao.saveFieldSetEntity(fse); + String uuid = fse.getUUID(); + DataTableEntity dt = baseDao.listTable("SELECT table_name,? as database_config_uuid from product_sys_datamodel_table_field_v where length(table_name)>0 " + condition + " GROUP BY table_name ", new Object[]{uuid}); + dt.getMeta().setTableName(new Object[]{CmnConst.PRODUCT_SYS_DATABASE_TABLENAME_FIELD}); + add(dt); + } - /** - * 鍚屾鏈簱瀛楁鍚� - * - * @param fse - * @param tableName 琛ㄥ悕 - * @throws BaseException - */ - private void currentConnectionConfigFields(FieldSetEntity fse, String tableName) throws BaseException { - BaseUtil.createCreatorAndCreationTime(fse); - if (!StringUtils.isEmpty(fse.getUUID())) { - // 鍒犻櫎宸插瓨鍦ㄧ殑閰嶇疆 閲嶆柊鎻掑叆鏈�鏂伴厤缃� - baseDao.delete(CmnConst.PRODUCT_SYS_DATABASE_TABLENAME_FIELD, "database_config_uuid=?", new Object[]{fse.getUUID()}); - } - baseDao.saveFieldSetEntity(fse); - String uuid = fse.getUUID(); + /** + * 鍚屾鏈簱瀛楁鍚� + * + * @param fse + * @param tableName 琛ㄥ悕 + * @throws BaseException + */ + private void currentConnectionConfigFields(FieldSetEntity fse, String tableName) throws BaseException { + BaseUtil.createCreatorAndCreationTime(fse); + if (!StringUtils.isEmpty(fse.getUUID())) { + // 鍒犻櫎宸插瓨鍦ㄧ殑閰嶇疆 閲嶆柊鎻掑叆鏈�鏂伴厤缃� + baseDao.delete(CmnConst.PRODUCT_SYS_DATABASE_TABLENAME_FIELD, "database_config_uuid=?", new Object[]{fse.getUUID()}); + } + baseDao.saveFieldSetEntity(fse); + String uuid = fse.getUUID(); - DataTableEntity dt = baseDao.listTable("SELECT table_name,field_name,? as database_config_uuid from product_sys_datamodel_table_field_v where table_name = ? ", new Object[]{uuid, tableName}); - dt.getMeta().setTableName(new Object[]{CmnConst.PRODUCT_SYS_DATABASE_TABLENAME_FIELD}); - add(dt); - } + DataTableEntity dt = baseDao.listTable("SELECT table_name,field_name,? as database_config_uuid from product_sys_datamodel_table_field_v where table_name = ? ", new Object[]{uuid, tableName}); + dt.getMeta().setTableName(new Object[]{CmnConst.PRODUCT_SYS_DATABASE_TABLENAME_FIELD}); + add(dt); + } - @Override - @Transactional - public String saveConnectionConfiguration(FieldSetEntity fs) throws BaseException, SQLException, ClassNotFoundException { - String uuid = fs.getUUID(); - Connection conn = this.runConnectionConfiguration(fs); - String sourceType = Global.getSystemConfig("data.source.type", ""); - if (BaseUtil.strIsNull(uuid)) { - //鏁版嵁搴撶被鍨嬬浉鍚� - if (sourceType != null && sourceType.equalsIgnoreCase(fs.getString(CmnConst.DATABASE_TYPE))) { - if ("/".equals(fs.getString(CmnConst.IP_ADDRESS))) { - // 淇敼浜� product_sys_database_tablename_field 鐨勮〃缁撴瀯闇�瑕佷慨鏀� 姝ゆ柟娉� - this.currentConnectionConfigTables(fs, ""); - return fs.getUUID(); - } - } - fs.setValue("org_level_uuid", SpringMVCContextHolder.getCurrentUser().getOrg_level_uuid()); - fs.setValue("created_by", SpringMVCContextHolder.getCurrentUser().getUser_id()); - fs.setValue("created_utc_datetime", new Date()); + @Override + @Transactional + public String saveConnectionConfiguration(FieldSetEntity fs) throws BaseException, SQLException, ClassNotFoundException { + String uuid = fs.getUUID(); + Connection conn = this.runConnectionConfiguration(fs); + String sourceType = Global.getSystemConfig("data.source.type", ""); + if (BaseUtil.strIsNull(uuid)) { + //鏁版嵁搴撶被鍨嬬浉鍚� + if (sourceType != null && sourceType.equalsIgnoreCase(fs.getString(CmnConst.DATABASE_TYPE))) { + if ("/".equals(fs.getString(CmnConst.IP_ADDRESS))) { + // 淇敼浜� product_sys_database_tablename_field 鐨勮〃缁撴瀯闇�瑕佷慨鏀� 姝ゆ柟娉� + this.currentConnectionConfigTables(fs, ""); + return fs.getUUID(); + } + } + fs.setValue("org_level_uuid", SpringMVCContextHolder.getCurrentUser().getOrg_level_uuid()); + fs.setValue("created_by", SpringMVCContextHolder.getCurrentUser().getUser_id()); + fs.setValue("created_utc_datetime", new Date()); - uuid = baseDao.add(fs); - if (conn != null) { - this.saveTableName(conn, fs, null); - } else { - throw new BaseException(SystemCode.GET_JDBC_CONNECT_FAIL.getValue(), SystemCode.GET_JDBC_CONNECT_FAIL.getText()); - } - } else { - DataTableEntity sync_config = baseDao.listTable(CmnConst.PRODUCT_SYS_DATABASE_SYNC_CONFIG, " database_config_uuid = ? ", new String[]{uuid}); - if (BaseUtil.dataTableIsEmpty(sync_config)) { - //鐩存帴鍒犻櫎琛� 浠庢柊淇濆瓨琛ㄥ悕 - baseDao.delete(CmnConst.PRODUCT_SYS_DATABASE_TABLENAME_FIELD, " database_config_uuid = ? ", new String[]{uuid}); - //鏁版嵁搴撶被鍨嬬浉鍚� - if (sourceType != null && sourceType.equalsIgnoreCase(fs.getString(CmnConst.DATABASE_TYPE))) { - if ("/".equals(fs.getString(CmnConst.IP_ADDRESS))) { - // 淇敼浜� product_sys_database_tablename_field 鐨勮〃缁撴瀯闇�瑕佷慨鏀� 姝ゆ柟娉� - this.currentConnectionConfigTables(fs, ""); - return fs.getUUID(); - } - } - if (conn != null) { - this.saveTableName(conn, fs, null); - } else { - throw new BaseException(SystemCode.GET_JDBC_CONNECT_FAIL.getValue(), SystemCode.GET_JDBC_CONNECT_FAIL.getText()); - } - fs.setValue("updated_by", SpringMVCContextHolder.getCurrentUser().getUser_id()); - fs.setValue("updated_utc_datetime", new Date()); - baseDao.update(fs); - try { - conn.close(); - } catch (SQLException e) { - throw new BaseException(e.toString(), ""); - } - } else { - //宸插垱寤哄悓姝ョ殑琛ㄤ笉鏇存柊 - List<String> originName = Lists.newArrayList(); - for (int i = 0; i < sync_config.getRows(); i++) { - FieldSetEntity syncFse = sync_config.getFieldSetEntity(i); - originName.add(syncFse.getString(CmnConst.DATA_ORIGIN_NAME)); - } - String and = BaseUtil.buildQuestionMarkFilter("", originName.toArray(), false); - //鍏堝垹闄ゅ叾浠栬〃 - baseDao.delete(CmnConst.PRODUCT_SYS_DATABASE_TABLENAME_FIELD, " database_config_uuid = ? AND table_name " + and, new String[]{uuid}); - //鏁版嵁搴撶被鍨嬬浉鍚� - if (sourceType != null && sourceType.equalsIgnoreCase(fs.getString(CmnConst.DATABASE_TYPE))) { - if ("/".equals(fs.getString(CmnConst.IP_ADDRESS))) { - // 淇敼浜� product_sys_database_tablename_field 鐨勮〃缁撴瀯闇�瑕佷慨鏀� 姝ゆ柟娉� - this.currentConnectionConfigTables(fs, " and table_name " + and); - return fs.getUUID(); - } - } - if (conn != null) { - this.saveTableName(conn, fs, and); - } else { - throw new BaseException(SystemCode.GET_JDBC_CONNECT_FAIL.getValue(), SystemCode.GET_JDBC_CONNECT_FAIL.getText()); - } - } - baseDao.update(fs); - } - return uuid; - } + uuid = baseDao.add(fs); + if (conn != null) { + this.saveTableName(conn, fs, null); + } else { + throw new BaseException(SystemCode.GET_JDBC_CONNECT_FAIL.getValue(), SystemCode.GET_JDBC_CONNECT_FAIL.getText()); + } + } else { + DataTableEntity sync_config = baseDao.listTable(CmnConst.PRODUCT_SYS_DATABASE_SYNC_CONFIG, " database_config_uuid = ? ", new String[]{uuid}); + if (BaseUtil.dataTableIsEmpty(sync_config)) { + //鐩存帴鍒犻櫎琛� 浠庢柊淇濆瓨琛ㄥ悕 + baseDao.delete(CmnConst.PRODUCT_SYS_DATABASE_TABLENAME_FIELD, " database_config_uuid = ? ", new String[]{uuid}); + //鏁版嵁搴撶被鍨嬬浉鍚� + if (sourceType != null && sourceType.equalsIgnoreCase(fs.getString(CmnConst.DATABASE_TYPE))) { + if ("/".equals(fs.getString(CmnConst.IP_ADDRESS))) { + // 淇敼浜� product_sys_database_tablename_field 鐨勮〃缁撴瀯闇�瑕佷慨鏀� 姝ゆ柟娉� + this.currentConnectionConfigTables(fs, ""); + return fs.getUUID(); + } + } + if (conn != null) { + this.saveTableName(conn, fs, null); + } else { + throw new BaseException(SystemCode.GET_JDBC_CONNECT_FAIL.getValue(), SystemCode.GET_JDBC_CONNECT_FAIL.getText()); + } + fs.setValue("updated_by", SpringMVCContextHolder.getCurrentUser().getUser_id()); + fs.setValue("updated_utc_datetime", new Date()); + baseDao.update(fs); + try { + conn.close(); + } catch (SQLException e) { + throw new BaseException(e.toString(), ""); + } + } else { + //宸插垱寤哄悓姝ョ殑琛ㄤ笉鏇存柊 + List<String> originName = Lists.newArrayList(); + for (int i = 0; i < sync_config.getRows(); i++) { + FieldSetEntity syncFse = sync_config.getFieldSetEntity(i); + originName.add(syncFse.getString(CmnConst.DATA_ORIGIN_NAME)); + } + String and = BaseUtil.buildQuestionMarkFilter("", originName.toArray(), false); + //鍏堝垹闄ゅ叾浠栬〃 + baseDao.delete(CmnConst.PRODUCT_SYS_DATABASE_TABLENAME_FIELD, " database_config_uuid = ? AND table_name " + and, new String[]{uuid}); + //鏁版嵁搴撶被鍨嬬浉鍚� + if (sourceType != null && sourceType.equalsIgnoreCase(fs.getString(CmnConst.DATABASE_TYPE))) { + if ("/".equals(fs.getString(CmnConst.IP_ADDRESS))) { + // 淇敼浜� product_sys_database_tablename_field 鐨勮〃缁撴瀯闇�瑕佷慨鏀� 姝ゆ柟娉� + this.currentConnectionConfigTables(fs, " and table_name " + and); + return fs.getUUID(); + } + } + if (conn != null) { + this.saveTableName(conn, fs, and); + } else { + throw new BaseException(SystemCode.GET_JDBC_CONNECT_FAIL.getValue(), SystemCode.GET_JDBC_CONNECT_FAIL.getText()); + } + } + baseDao.update(fs); + } + return uuid; + } - //鑾峰彇琛ㄥ悕鍜屽瓧娈靛悕 - public void saveTableNameAndFieldName(Connection con, FieldSetEntity fs) throws BaseException { - String uuid = fs.getString(CmnConst.UUID); - String databaseType = fs.getString(CmnConst.DATABASE_TYPE);//鏁版嵁搴撶被鍨� - String sql; - if ("mysql".equals(databaseType)) { //鏁版嵁搴撳悕绉� - sql = "select TABLE_NAME,COLUMN_NAME from information_schema.COLUMNS WHERE TABLE_SCHEMA = '" + fs.getString(CmnConst.DATABASE_NAME) + "'"; - } else if ("oracle".equals(databaseType)) { //鐢ㄦ埛鍚� 鍒嗗ぇ灏忓啓 - sql = "select TABLE_NAME,COLUMN_NAME from all_tab_columns"; - } else if ("sqlserver".equals(databaseType)) { //鏁版嵁搴撳悕绉� - sql = "SELECT a.name TABLE_NAME,b.name COLUMN_NAME FROM " + fs.getString(CmnConst.DATABASE_NAME) + "..SysObjects a " + - "LEFT JOIN " + fs.getString(CmnConst.DATABASE_NAME) + "..SysColumns b ON a.id = b.id Where a.XType='U' " + - "ORDER BY a.name "; - } else if ("informix".equals(databaseType)) { //鏁版嵁搴撳悕绉� - sql = "SELECT t.tabname TABLE_NAME,c.colname COLUMN_NAME" + - " FROM \"informix\".systables AS t\n" + - " JOIN \"informix\".syscolumns AS c ON t.tabid = c.tabid\n" + - " WHERE t.tabtype = 'T'\n" + - " AND t.tabid >= 100\n" + - " ORDER BY t.tabname,c.colno;"; - } else { - throw new BaseException(SystemCode.SYSTEM_UNKNOWN_DATABASE_TYPE.getValue(), SystemCode.SYSTEM_UNKNOWN_DATABASE_TYPE.getText()); - } - try { - PreparedStatement ps = con.prepareStatement(sql); - ResultSet resultSet = ps.executeQuery(); - while (resultSet.next()) { - FieldSetEntity field = new FieldSetEntity(); - field.setTableName(CmnConst.PRODUCT_SYS_DATABASE_TABLENAME_FIELD); - field.setValue(CmnConst.DATABASE_CONFIG_UUID, uuid); - //琛ㄥ悕 - field.setValue(CmnConst.TABLE_NAME, resultSet.getString("TABLE_NAME")); - //瀛楁鍚� - field.setValue(CmnConst.FIELD_NAME, resultSet.getString("COLUMN_NAME")); - baseDao.add(field); - } - } catch (SQLException e) { - try { - con.close(); - } catch (SQLException ex) { - ex.printStackTrace(); - throw new BaseException(SystemCode.GET_DATA_SOURCE_FAIL.getValue(), SystemCode.GET_DATA_SOURCE_FAIL.getText() + ex.getMessage()); - } - throw new BaseException(SystemCode.GET_DATA_SOURCE_FAIL.getValue(), SystemCode.GET_DATA_SOURCE_FAIL.getText() + e.getMessage()); - } - } + //鑾峰彇琛ㄥ悕鍜屽瓧娈靛悕 + public void saveTableNameAndFieldName(Connection con, FieldSetEntity fs) throws BaseException { + String uuid = fs.getString(CmnConst.UUID); + String databaseType = fs.getString(CmnConst.DATABASE_TYPE);//鏁版嵁搴撶被鍨� + String sql; + if ("mysql".equals(databaseType)) { //鏁版嵁搴撳悕绉� + sql = "select TABLE_NAME,COLUMN_NAME from information_schema.COLUMNS WHERE TABLE_SCHEMA = '" + fs.getString(CmnConst.DATABASE_NAME) + "'"; + } else if ("oracle".equals(databaseType)) { //鐢ㄦ埛鍚� 鍒嗗ぇ灏忓啓 + sql = "select TABLE_NAME,COLUMN_NAME from all_tab_columns"; + } else if ("sqlserver".equals(databaseType)) { //鏁版嵁搴撳悕绉� + sql = "SELECT a.name TABLE_NAME,b.name COLUMN_NAME FROM " + fs.getString(CmnConst.DATABASE_NAME) + "..SysObjects a " + + "LEFT JOIN " + fs.getString(CmnConst.DATABASE_NAME) + "..SysColumns b ON a.id = b.id Where a.XType='U' " + + "ORDER BY a.name "; + } else if ("informix".equals(databaseType)) { //鏁版嵁搴撳悕绉� + sql = "SELECT t.tabname TABLE_NAME,c.colname COLUMN_NAME" + + " FROM \"informix\".systables AS t\n" + + " JOIN \"informix\".syscolumns AS c ON t.tabid = c.tabid\n" + + " WHERE t.tabtype = 'T'\n" + + " AND t.tabid >= 100\n" + + " ORDER BY t.tabname,c.colno;"; + } else { + throw new BaseException(SystemCode.SYSTEM_UNKNOWN_DATABASE_TYPE.getValue(), SystemCode.SYSTEM_UNKNOWN_DATABASE_TYPE.getText()); + } + try { + PreparedStatement ps = con.prepareStatement(sql); + ResultSet resultSet = ps.executeQuery(); + while (resultSet.next()) { + FieldSetEntity field = new FieldSetEntity(); + field.setTableName(CmnConst.PRODUCT_SYS_DATABASE_TABLENAME_FIELD); + field.setValue(CmnConst.DATABASE_CONFIG_UUID, uuid); + //琛ㄥ悕 + field.setValue(CmnConst.TABLE_NAME, resultSet.getString("TABLE_NAME")); + //瀛楁鍚� + field.setValue(CmnConst.FIELD_NAME, resultSet.getString("COLUMN_NAME")); + baseDao.add(field); + } + } catch (SQLException e) { + try { + con.close(); + } catch (SQLException ex) { + ex.printStackTrace(); + throw new BaseException(SystemCode.GET_DATA_SOURCE_FAIL.getValue(), SystemCode.GET_DATA_SOURCE_FAIL.getText() + ex.getMessage()); + } + throw new BaseException(SystemCode.GET_DATA_SOURCE_FAIL.getValue(), SystemCode.GET_DATA_SOURCE_FAIL.getText() + e.getMessage()); + } + } - //鑾峰彇骞朵繚瀛樿〃鍚� - public void saveTableName(Connection con, FieldSetEntity fs, String condition) throws BaseException { - String uuid = fs.getString(CmnConst.UUID); - String databaseType = fs.getString(CmnConst.DATABASE_TYPE);//鏁版嵁搴撶被鍨� - String sql; - if ("mysql".equals(databaseType)) { //鏁版嵁搴撳悕绉� - if (!BaseUtil.strIsNull(condition)) { - condition = " AND TABLE_NAME " + condition; - } - sql = "select TABLE_NAME from information_schema.COLUMNS WHERE TABLE_SCHEMA = '" + fs.getString(CmnConst.DATABASE_NAME) + "' " + condition + " GROUP BY TABLE_NAME"; - } else if ("oracle".equals(databaseType)) { //鐢ㄦ埛鍚� 鍒嗗ぇ灏忓啓 - if (!BaseUtil.strIsNull(condition)) { - condition = " AND TABLE_NAME " + condition; - } - sql = "select TABLE_NAME from all_tab_columns WHERE OWNER = '" + fs.getString(CmnConst.USER_NAME) + "' " + condition + " GROUP BY TABLE_NAME "; - } else if ("sqlserver".equals(databaseType)) { //鏁版嵁搴撳悕绉� - if (!BaseUtil.strIsNull(condition)) { - condition = " AND name" + condition; - } - sql = "SELECT name TABLE_NAME FROM " + fs.getString(CmnConst.DATABASE_NAME) + "..SysObjects Where XType='U' " + condition; - } else if ("informix".equals(databaseType)) { //鏁版嵁搴撳悕绉� - if (!BaseUtil.strIsNull(condition)) { - condition = " AND tabname " + condition; - } - sql = "SELECT tabname TABLE_NAME FROM \"informix\".systables WHERE tabtype = 'T' AND tabid >= 100 " + condition; - } else { - throw new BaseException(SystemCode.SYSTEM_UNKNOWN_DATABASE_TYPE.getValue(), SystemCode.SYSTEM_UNKNOWN_DATABASE_TYPE.getText()); - } - try { - PreparedStatement ps = con.prepareStatement(sql); - SpringMVCContextHolder.getSystemLogger().info("鎵цsql:\n\t" + sql); - ResultSet resultSet = ps.executeQuery(); - while (resultSet.next()) { - FieldSetEntity field = new FieldSetEntity(); - field.setTableName(CmnConst.PRODUCT_SYS_DATABASE_TABLENAME_FIELD); - field.setValue(CmnConst.DATABASE_CONFIG_UUID, uuid); - //鍙彇琛ㄥ悕 - field.setValue(CmnConst.TABLE_NAME, resultSet.getString("TABLE_NAME")); - //瀛楁鍚� + //鑾峰彇骞朵繚瀛樿〃鍚� + public void saveTableName(Connection con, FieldSetEntity fs, String condition) throws BaseException { + String uuid = fs.getString(CmnConst.UUID); + String databaseType = fs.getString(CmnConst.DATABASE_TYPE);//鏁版嵁搴撶被鍨� + String sql; + if ("mysql".equals(databaseType)) { //鏁版嵁搴撳悕绉� + if (!BaseUtil.strIsNull(condition)) { + condition = " AND TABLE_NAME " + condition; + } + sql = "select TABLE_NAME from information_schema.COLUMNS WHERE TABLE_SCHEMA = '" + fs.getString(CmnConst.DATABASE_NAME) + "' " + (condition == null ? "" : condition) + " GROUP BY TABLE_NAME"; + } else if ("oracle".equals(databaseType)) { //鐢ㄦ埛鍚� 鍒嗗ぇ灏忓啓 + if (!BaseUtil.strIsNull(condition)) { + condition = " AND TABLE_NAME " + condition; + } + sql = "select TABLE_NAME from all_tab_columns WHERE OWNER = '" + fs.getString(CmnConst.USER_NAME) + "' " + (condition == null ? "" : condition) + " GROUP BY TABLE_NAME "; + } else if ("sqlserver".equals(databaseType)) { //鏁版嵁搴撳悕绉� + if (!BaseUtil.strIsNull(condition)) { + condition = " AND name" + condition; + } + sql = "SELECT name TABLE_NAME FROM " + fs.getString(CmnConst.DATABASE_NAME) + "..SysObjects Where XType='U' " + (condition == null ? "" : condition); + } else if ("informix".equals(databaseType)) { //鏁版嵁搴撳悕绉� + if (!BaseUtil.strIsNull(condition)) { + condition = " AND tabname " + condition; + } + sql = "SELECT tabname TABLE_NAME FROM \"informix\".systables WHERE tabtype = 'T' AND tabid >= 100 " + (condition == null ? "" : condition); + } else { + throw new BaseException(SystemCode.SYSTEM_UNKNOWN_DATABASE_TYPE.getValue(), SystemCode.SYSTEM_UNKNOWN_DATABASE_TYPE.getText()); + } + try { + PreparedStatement ps = con.prepareStatement(sql); + SpringMVCContextHolder.getSystemLogger().info("鎵цsql:\n\t" + sql); + ResultSet resultSet = ps.executeQuery(); + while (resultSet.next()) { + FieldSetEntity field = new FieldSetEntity(); + field.setTableName(CmnConst.PRODUCT_SYS_DATABASE_TABLENAME_FIELD); + field.setValue(CmnConst.DATABASE_CONFIG_UUID, uuid); + //鍙彇琛ㄥ悕 + field.setValue(CmnConst.TABLE_NAME, resultSet.getString("TABLE_NAME")); + //瀛楁鍚� // field.setValue(CmnConst.FIELD_NAME,resultSet.getString("COLUMN_NAME")); - baseDao.add(field); - } - } catch (SQLException e) { - SpringMVCContextHolder.getSystemLogger().error(e); - SpringMVCContextHolder.getSystemLogger().info("鎵цsql閿欒:\n\t" + sql); - try { - con.close(); - } catch (SQLException ex) { - ex.printStackTrace(); - throw new BaseException(SystemCode.GET_DATA_SOURCE_FAIL.getValue(), SystemCode.GET_DATA_SOURCE_FAIL.getText() + ex.getMessage()); - } - throw new BaseException(SystemCode.GET_DATA_SOURCE_FAIL.getValue(), SystemCode.GET_DATA_SOURCE_FAIL.getText() + e.getMessage()); - } - } + baseDao.add(field); + } + } catch (SQLException e) { + SpringMVCContextHolder.getSystemLogger().error(e); + SpringMVCContextHolder.getSystemLogger().info("鎵цsql閿欒:\n\t" + sql); + try { + con.close(); + } catch (SQLException ex) { + ex.printStackTrace(); + throw new BaseException(SystemCode.GET_DATA_SOURCE_FAIL.getValue(), SystemCode.GET_DATA_SOURCE_FAIL.getText() + ex.getMessage()); + } + throw new BaseException(SystemCode.GET_DATA_SOURCE_FAIL.getValue(), SystemCode.GET_DATA_SOURCE_FAIL.getText() + e.getMessage()); + } + } - /** - * 鏌ヨ鏁版嵁婧愬簱 鑾峰彇骞朵繚瀛樺瓧娈靛悕 - * - * @param fs - * @return - * @throws BaseException - */ - @Transactional - @Override - public Boolean saveField(FieldSetEntity fs) throws BaseException, SQLException, ClassNotFoundException { - //琛ㄥ悕 - String tableName = fs.getString(CmnConst.TABLE_NAME); - //鏁版嵁搴撹繛鎺uid - String databaseConfigUuid = fs.getString(CmnConst.DATABASE_CONFIG_UUID); - //鑾峰彇杩炴帴閰嶇疆 - FieldSetEntity configField = baseDao.getFieldSetEntity(CmnConst.PRODUCT_SYS_DATABASE_CONNECTION_CONFIG, databaseConfigUuid, false); - //鏁版嵁搴撶被鍨� - String databaseType = configField.getString(CmnConst.DATABASE_TYPE); - //鑾峰彇鏁版嵁婧愯繛鎺� - Connection con = this.runConnectionConfiguration(configField); - String sourceType = Global.getSystemConfig("data.source.type", ""); - if (sourceType != null && sourceType.equalsIgnoreCase(configField.getString(CmnConst.DATABASE_TYPE))) { - if ("/".equals(configField.getString(CmnConst.IP_ADDRESS))) { - // 淇敼浜� product_sys_database_tablename_field 鐨勮〃缁撴瀯闇�瑕佷慨鏀� 姝ゆ柟娉� - this.currentConnectionConfigFields(configField, tableName); - return true; - } - } - String sql; - if ("mysql".equals(databaseType)) { //鏁版嵁搴撳悕绉� - sql = "select COLUMN_NAME from information_schema.COLUMNS WHERE TABLE_SCHEMA = '" + configField.getString(CmnConst.DATABASE_NAME) + "' AND TABLE_NAME = '" + tableName + "'"; - } else if ("oracle".equals(databaseType)) { //鐢ㄦ埛鍚� 鍒嗗ぇ灏忓啓 - sql = "select COLUMN_NAME from all_tab_columns WHERE OWNER = '" + configField.getString(CmnConst.USER_NAME) + "' AND TABLE_NAME = '" + tableName + "'"; - } else if ("sqlserver".equals(databaseType)) { - //鏁版嵁搴撳悕绉� - sql = "SELECT name TABLE_NAME FROM " + fs.getString(CmnConst.DATABASE_NAME) + "..SysColumns WHERE id = ( " + - " SELECT id FROM " + fs.getString(CmnConst.DATABASE_NAME) + "..SysObjects WHERE XType='U' and name = '" + tableName + "')"; - } else if ("informix".equals(databaseType)) { //鏁版嵁搴撳悕绉� - sql = " SELECT colname COLUMN_NAME from \"informix\".syscolumns where tabid = ( " + - " SELECT tabid FROM \"informix\".systables WHERE tabname = '" + tableName + "'); "; - } else { - throw new BaseException(SystemCode.SYSTEM_UNKNOWN_DATABASE_TYPE.getValue(), SystemCode.SYSTEM_UNKNOWN_DATABASE_TYPE.getText()); - } + /** + * 鏌ヨ鏁版嵁婧愬簱 鑾峰彇骞朵繚瀛樺瓧娈靛悕 + * + * @param fs + * @return + * @throws BaseException + */ + @Transactional + @Override + public Boolean saveField(FieldSetEntity fs) throws BaseException, SQLException, ClassNotFoundException { + //琛ㄥ悕 + String tableName = fs.getString(CmnConst.TABLE_NAME); + //鏁版嵁搴撹繛鎺uid + String databaseConfigUuid = fs.getString(CmnConst.DATABASE_CONFIG_UUID); + //鑾峰彇杩炴帴閰嶇疆 + FieldSetEntity configField = baseDao.getFieldSetEntity(CmnConst.PRODUCT_SYS_DATABASE_CONNECTION_CONFIG, databaseConfigUuid, false); + //鏁版嵁搴撶被鍨� + String databaseType = configField.getString(CmnConst.DATABASE_TYPE); + //鑾峰彇鏁版嵁婧愯繛鎺� + Connection con = this.runConnectionConfiguration(configField); + String sourceType = Global.getSystemConfig("data.source.type", ""); + if (sourceType != null && sourceType.equalsIgnoreCase(configField.getString(CmnConst.DATABASE_TYPE))) { + if ("/".equals(configField.getString(CmnConst.IP_ADDRESS))) { + // 淇敼浜� product_sys_database_tablename_field 鐨勮〃缁撴瀯闇�瑕佷慨鏀� 姝ゆ柟娉� + this.currentConnectionConfigFields(configField, tableName); + return true; + } + } + String sql; + if ("mysql".equals(databaseType)) { //鏁版嵁搴撳悕绉� + sql = "select COLUMN_NAME from information_schema.COLUMNS WHERE TABLE_SCHEMA = '" + configField.getString(CmnConst.DATABASE_NAME) + "' AND TABLE_NAME = '" + tableName + "'"; + } else if ("oracle".equals(databaseType)) { //鐢ㄦ埛鍚� 鍒嗗ぇ灏忓啓 + sql = "select COLUMN_NAME from all_tab_columns WHERE OWNER = '" + configField.getString(CmnConst.USER_NAME) + "' AND TABLE_NAME = '" + tableName + "'"; + } else if ("sqlserver".equals(databaseType)) { + //鏁版嵁搴撳悕绉� + sql = "SELECT name TABLE_NAME FROM " + fs.getString(CmnConst.DATABASE_NAME) + "..SysColumns WHERE id = ( " + + " SELECT id FROM " + fs.getString(CmnConst.DATABASE_NAME) + "..SysObjects WHERE XType='U' and name = '" + tableName + "')"; + } else if ("informix".equals(databaseType)) { //鏁版嵁搴撳悕绉� + sql = " SELECT colname COLUMN_NAME from \"informix\".syscolumns where tabid = ( " + + " SELECT tabid FROM \"informix\".systables WHERE tabname = '" + tableName + "'); "; + } else { + throw new BaseException(SystemCode.SYSTEM_UNKNOWN_DATABASE_TYPE.getValue(), SystemCode.SYSTEM_UNKNOWN_DATABASE_TYPE.getText()); + } - try { - PreparedStatement ps = con.prepareStatement(sql); - ResultSet resultSet = ps.executeQuery(); - //鍒ゆ柇鏀硅〃鍚嶆槸鍚﹂渶瑕佹坊鍔犲瓧娈� + try { + PreparedStatement ps = con.prepareStatement(sql); + ResultSet resultSet = ps.executeQuery(); + //鍒ゆ柇鏀硅〃鍚嶆槸鍚﹂渶瑕佹坊鍔犲瓧娈� // if(resultSet.getRow() > 0) { - //鍏堝垹闄や箣鍓嶇殑鏁版嵁 - baseDao.delete(CmnConst.PRODUCT_SYS_DATABASE_TABLENAME_FIELD, " database_config_uuid = ? and table_name = ? ", new String[]{databaseConfigUuid, tableName}); - while (resultSet.next()) { + //鍏堝垹闄や箣鍓嶇殑鏁版嵁 + baseDao.delete(CmnConst.PRODUCT_SYS_DATABASE_TABLENAME_FIELD, " database_config_uuid = ? and table_name = ? ", new String[]{databaseConfigUuid, tableName}); + while (resultSet.next()) { // String fieldName = fs.getString(CmnConst.FIELD_NAME); // if (BaseUtil.strIsNull(fieldName)) { // fs.setValue(CmnConst.FIELD_NAME, resultSet.getString("COLUMN_NAME")); // baseDao.update(fs); // continue; // } - FieldSetEntity field = new FieldSetEntity(); - field.setTableName(CmnConst.PRODUCT_SYS_DATABASE_TABLENAME_FIELD); - field.setValue(CmnConst.DATABASE_CONFIG_UUID, databaseConfigUuid); - //琛ㄥ悕 - field.setValue(CmnConst.TABLE_NAME, tableName); - //瀛楁鍚� - field.setValue(CmnConst.FIELD_NAME, resultSet.getString("COLUMN_NAME")); - //鍐嶆坊鍔犳柊鐨勬暟鎹� - baseDao.add(field); - } + FieldSetEntity field = new FieldSetEntity(); + field.setTableName(CmnConst.PRODUCT_SYS_DATABASE_TABLENAME_FIELD); + field.setValue(CmnConst.DATABASE_CONFIG_UUID, databaseConfigUuid); + //琛ㄥ悕 + field.setValue(CmnConst.TABLE_NAME, tableName); + //瀛楁鍚� + field.setValue(CmnConst.FIELD_NAME, resultSet.getString("COLUMN_NAME")); + //鍐嶆坊鍔犳柊鐨勬暟鎹� + baseDao.add(field); + } // } - } catch (SQLException e) { - try { - con.close(); - } catch (SQLException ex) { - ex.printStackTrace(); - throw new BaseException(SystemCode.GET_DATA_SOURCE_FAIL.getValue(), SystemCode.GET_DATA_SOURCE_FAIL.getText() + ex.getMessage()); - } - throw new BaseException(SystemCode.GET_DATA_SOURCE_FAIL.getValue(), SystemCode.GET_DATA_SOURCE_FAIL.getText() + e.getMessage()); - } - return true; - } + } catch (SQLException e) { + try { + con.close(); + } catch (SQLException ex) { + ex.printStackTrace(); + throw new BaseException(SystemCode.GET_DATA_SOURCE_FAIL.getValue(), SystemCode.GET_DATA_SOURCE_FAIL.getText() + ex.getMessage()); + } + throw new BaseException(SystemCode.GET_DATA_SOURCE_FAIL.getValue(), SystemCode.GET_DATA_SOURCE_FAIL.getText() + e.getMessage()); + } + return true; + } - @Override - public DataTableEntity listConnectionConfiguration(FieldSetEntity fs) throws BaseException { - String queryFilter; - if (BaseUtil.dataTableIsEmpty(fs.getSubDataTable("systemSeniorQueryString"))) { - queryFilter = ""; - } else { - queryFilter = queryFilterService.getQueryFilter(fs); - } - DataTableEntity dt = baseDao.listTable(CmnConst.PRODUCT_SYS_DATABASE_CONNECTION_CONFIG, queryFilter, null, null, null, fs.getInteger(CmnConst.PAGESIZE), fs.getInteger(CmnConst.CPAGE)); + @Override + public DataTableEntity listConnectionConfiguration(FieldSetEntity fs) throws BaseException { + String queryFilter; + if (BaseUtil.dataTableIsEmpty(fs.getSubDataTable("systemSeniorQueryString"))) { + queryFilter = ""; + } else { + queryFilter = queryFilterService.getQueryFilter(fs); + } + DataTableEntity dt = baseDao.listTable(CmnConst.PRODUCT_SYS_DATABASE_CONNECTION_CONFIG, queryFilter, null, null, null, fs.getInteger(CmnConst.PAGESIZE), fs.getInteger(CmnConst.CPAGE)); - return dt; - } + return dt; + } - @Override - public FieldSetEntity getConnectionConfiguration(FieldSetEntity fs) throws BaseException { - return baseDao.getFieldSetEntity(CmnConst.PRODUCT_SYS_DATABASE_CONNECTION_CONFIG, fs.getUUID(), false); - } + @Override + public FieldSetEntity getConnectionConfiguration(FieldSetEntity fs) throws BaseException { + return baseDao.getFieldSetEntity(CmnConst.PRODUCT_SYS_DATABASE_CONNECTION_CONFIG, fs.getUUID(), false); + } - @Override - @Transactional - public boolean delConnectionConfiguration(FieldSetEntity fs) throws BaseException { - String uuid = fs.getUUID(); - String[] uuids = uuid.split(","); - DataTableEntity dataTableEntity = baseDao.listTable(CmnConst.PRODUCT_SYS_DATABASE_SYNC_CONFIG, BaseUtil.buildQuestionMarkFilter(CmnConst.DATABASE_CONFIG_UUID, uuids.length, true), uuids); - if (BaseUtil.dataTableIsEmpty(dataTableEntity)) { - //鍒犻櫎璇ヨ繛鎺ュ搴旂殑琛ㄥ悕璺熷瓧娈靛悕 - baseDao.delete(CmnConst.PRODUCT_SYS_DATABASE_TABLENAME_FIELD, BaseUtil.buildQuestionMarkFilter(CmnConst.DATABASE_CONFIG_UUID, uuids.length, true), uuids); - //鍒犻櫎杩炴帴閰嶇疆 - return baseDao.delete(CmnConst.PRODUCT_SYS_DATABASE_CONNECTION_CONFIG, uuids); - } else { - throw new BaseException(SystemCode.SYNC_EXISTING_CONFIGURATION_FAIL.getValue(), SystemCode.SYNC_EXISTING_CONFIGURATION_FAIL.getText()); - } - } + @Override + @Transactional + public boolean delConnectionConfiguration(FieldSetEntity fs) throws BaseException { + String uuid = fs.getUUID(); + String[] uuids = uuid.split(","); + DataTableEntity dataTableEntity = baseDao.listTable(CmnConst.PRODUCT_SYS_DATABASE_SYNC_CONFIG, BaseUtil.buildQuestionMarkFilter(CmnConst.DATABASE_CONFIG_UUID, uuids.length, true), uuids); + if (BaseUtil.dataTableIsEmpty(dataTableEntity)) { + //鍒犻櫎璇ヨ繛鎺ュ搴旂殑琛ㄥ悕璺熷瓧娈靛悕 + baseDao.delete(CmnConst.PRODUCT_SYS_DATABASE_TABLENAME_FIELD, BaseUtil.buildQuestionMarkFilter(CmnConst.DATABASE_CONFIG_UUID, uuids.length, true), uuids); + //鍒犻櫎杩炴帴閰嶇疆 + return baseDao.delete(CmnConst.PRODUCT_SYS_DATABASE_CONNECTION_CONFIG, uuids); + } else { + throw new BaseException(SystemCode.SYNC_EXISTING_CONFIGURATION_FAIL.getValue(), SystemCode.SYNC_EXISTING_CONFIGURATION_FAIL.getText()); + } + } - public Connection runConnectionConfiguration(FieldSetEntity fs) throws BaseException, SQLException, ClassNotFoundException { - String databaseType = fs.getString(CmnConst.DATABASE_TYPE);//鏁版嵁搴撶被鍨� - String ipAddress = fs.getString(CmnConst.IP_ADDRESS);//ip鍦板潃 - String databaseName = fs.getString(CmnConst.DATABASE_NAME);//鏁版嵁搴撳悕绉� - String portNumber = fs.getString(CmnConst.PORT_NUMBER);//绔彛鍙� - String userName = fs.getString(CmnConst.USER_NAME);//鐢ㄦ埛鍚� - String userPassword = fs.getString(CmnConst.USER_PASSWORD);//瀵嗙爜 - String instantiation = fs.getString(CmnConst.INSTANTIATION);//瀹炰緥鍚� - String url; - String diver; - String sourceType = Global.getSystemConfig("data.source.type", ""); - if (sourceType != null && sourceType.equalsIgnoreCase(fs.getString(CmnConst.DATABASE_TYPE))) { - if ("/".equals(fs.getString(CmnConst.IP_ADDRESS))) { - return ConnectionManager.getConnection(); - } - } + public Connection runConnectionConfiguration(FieldSetEntity fs) throws BaseException, SQLException, ClassNotFoundException { + String databaseType = fs.getString(CmnConst.DATABASE_TYPE);//鏁版嵁搴撶被鍨� + String ipAddress = fs.getString(CmnConst.IP_ADDRESS);//ip鍦板潃 + String databaseName = fs.getString(CmnConst.DATABASE_NAME);//鏁版嵁搴撳悕绉� + String portNumber = fs.getString(CmnConst.PORT_NUMBER);//绔彛鍙� + String userName = fs.getString(CmnConst.USER_NAME);//鐢ㄦ埛鍚� + String userPassword = fs.getString(CmnConst.USER_PASSWORD);//瀵嗙爜 + String instantiation = fs.getString(CmnConst.INSTANTIATION);//瀹炰緥鍚� + String url; + String diver; + String sourceType = Global.getSystemConfig("data.source.type", ""); + if (sourceType != null && sourceType.equalsIgnoreCase(fs.getString(CmnConst.DATABASE_TYPE))) { + if ("/".equals(fs.getString(CmnConst.IP_ADDRESS))) { + return ConnectionManager.getConnection(); + } + } // if("null".equals(databaseType) && !BaseUtil.strIsNull(jdbcConnect)){ // url = jdbcConnect; // if(jdbcConnect.contains("mysql")){ @@ -410,48 +410,48 @@ // throw new BaseException("", ""); // } // }else - if ("mysql".equals(databaseType)) { - diver = "com.mysql.cj.jdbc.Driver"; - url = "jdbc:mysql://" + ipAddress + ":" + portNumber + "/" + databaseName + "?useSSL=false&serverTimezone=UTC"; - } else if ("oracle".equals(databaseType)) { - diver = "oracle.jdbc.driver.OracleDriver"; - url = "jdbc:oracle:thin:@" + ipAddress + ":" + portNumber + ":orcl"; - } else if ("sqlserver".equals(databaseType)) { - diver = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; - url = "jdbc:sqlserver://" + ipAddress + ":" + portNumber + ";DataBaseName=" + databaseName; - } else if ("informix".equals(databaseType)) { - diver = "com.informix.jdbc.IfxDriver"; - url = "jdbc:informix-sqli://" + ipAddress + ":" + portNumber + "/" + databaseName + ":informixserver=" + instantiation; - } else { - throw new BaseException(SystemCode.SYSTEM_UNKNOWN_DATABASE_TYPE.getValue(), SystemCode.SYSTEM_UNKNOWN_DATABASE_TYPE.getText()); - } + if ("mysql".equals(databaseType)) { + diver = "com.mysql.cj.jdbc.Driver"; + url = "jdbc:mysql://" + ipAddress + ":" + portNumber + "/" + databaseName + "?useSSL=false&serverTimezone=UTC"; + } else if ("oracle".equals(databaseType)) { + diver = "oracle.jdbc.driver.OracleDriver"; + url = "jdbc:oracle:thin:@" + ipAddress + ":" + portNumber + ":orcl"; + } else if ("sqlserver".equals(databaseType)) { + diver = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; + url = "jdbc:sqlserver://" + ipAddress + ":" + portNumber + ";DataBaseName=" + databaseName; + } else if ("informix".equals(databaseType)) { + diver = "com.informix.jdbc.IfxDriver"; + url = "jdbc:informix-sqli://" + ipAddress + ":" + portNumber + "/" + databaseName + ":informixserver=" + instantiation; + } else { + throw new BaseException(SystemCode.SYSTEM_UNKNOWN_DATABASE_TYPE.getValue(), SystemCode.SYSTEM_UNKNOWN_DATABASE_TYPE.getText()); + } - //鑾峰彇jdbc杩炴帴 - return DataManipulationUtils.getConnection(diver, url, userName, userPassword); - } + //鑾峰彇jdbc杩炴帴 + return DataManipulationUtils.getConnection(diver, url, userName, userPassword); + } - public JSONArray getSyncTree() throws BaseException { - DataTableEntity dataTableEntity = baseDao.listTable(CmnConst.PRODUCT_SYS_DATABASE_CONNECTION_CONFIG); - JSONArray linkArray = new JSONArray(); - for (int i = 0; i < dataTableEntity.getRows(); i++) { - JSONObject configObject = new JSONObject(); - FieldSetEntity fieldSetEntity = dataTableEntity.getFieldSetEntity(i); - String uuid = fieldSetEntity.getUUID(); - configObject.put("uuid", uuid);//uuid - configObject.put("label", fieldSetEntity.getString("connect_name"));//杩炴帴鍚嶇О + public JSONArray getSyncTree() throws BaseException { + DataTableEntity dataTableEntity = baseDao.listTable(CmnConst.PRODUCT_SYS_DATABASE_CONNECTION_CONFIG); + JSONArray linkArray = new JSONArray(); + for (int i = 0; i < dataTableEntity.getRows(); i++) { + JSONObject configObject = new JSONObject(); + FieldSetEntity fieldSetEntity = dataTableEntity.getFieldSetEntity(i); + String uuid = fieldSetEntity.getUUID(); + configObject.put("uuid", uuid);//uuid + configObject.put("label", fieldSetEntity.getString("connect_name"));//杩炴帴鍚嶇О - JSONArray syncArray = new JSONArray(); - DataTableEntity syncData = baseDao.listTable(CmnConst.PRODUCT_SYS_DATABASE_SYNC_CONFIG, " database_config_uuid = ? ", new String[]{uuid}); - for (int j = 0; j < syncData.getRows(); j++) { - JSONObject jsonObject = new JSONObject(); - FieldSetEntity syncField = syncData.getFieldSetEntity(j); - jsonObject.put("uuid", syncField.getString("uuid")); - jsonObject.put("label", syncField.getString("system_table_name")); - syncArray.add(jsonObject); - } - configObject.put("children", syncArray); - linkArray.add(configObject); - } - return linkArray; - } + JSONArray syncArray = new JSONArray(); + DataTableEntity syncData = baseDao.listTable(CmnConst.PRODUCT_SYS_DATABASE_SYNC_CONFIG, " database_config_uuid = ? ", new String[]{uuid}); + for (int j = 0; j < syncData.getRows(); j++) { + JSONObject jsonObject = new JSONObject(); + FieldSetEntity syncField = syncData.getFieldSetEntity(j); + jsonObject.put("uuid", syncField.getString("uuid")); + jsonObject.put("label", syncField.getString("system_table_name")); + syncArray.add(jsonObject); + } + configObject.put("children", syncArray); + linkArray.add(configObject); + } + return linkArray; + } } -- Gitblit v1.9.2