diff --git a/src/main/java/com/dsideal/base/DataEase/Model/DataEaseModel.java b/src/main/java/com/dsideal/base/DataEase/Model/DataEaseModel.java index cc723e90..51f049e5 100644 --- a/src/main/java/com/dsideal/base/DataEase/Model/DataEaseModel.java +++ b/src/main/java/com/dsideal/base/DataEase/Model/DataEaseModel.java @@ -307,12 +307,22 @@ public class DataEaseModel { } /** - * 指定表格是不是有行政区划的列 + * 指定表格是不是有指定名称的列 * @param tableName 表名 * @return */ - public boolean hasXzqhColumn(String tableName) { - String sql = "SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'dataease' AND TABLE_NAME = ? AND COLUMN_NAME = '行政区划'"; - return !Db.find(sql, tableName).isEmpty(); + public boolean hasNoColumnName(String tableName, String columnName) { + String sql = "SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'dataease' AND TABLE_NAME = ? AND COLUMN_NAME = ?"; + return Db.find(sql, tableName,columnName).isEmpty(); + } + + /** + * 添加上指定名称的列 + * @param tableName 表名 + * @param columnName 列名 + */ + public void addColumn(String tableName, String columnName){ + String sql="ALTER TABLE `"+tableName+"` ADD COLUMN `"+columnName+"` varchar(255) NULL"; + Db.use(DataEaseModel.DB_NAME).update(sql); } } diff --git a/src/main/java/com/dsideal/base/Tools/SelectNoXzqh.java b/src/main/java/com/dsideal/base/Tools/SelectNoXzqh.java index 358f2183..3bec08d2 100644 --- a/src/main/java/com/dsideal/base/Tools/SelectNoXzqh.java +++ b/src/main/java/com/dsideal/base/Tools/SelectNoXzqh.java @@ -54,18 +54,21 @@ public class SelectNoXzqh { for (int identity_id : new int[]{2, 3}) { List list = dm.getDataSetByIdentityId(identity_id); //开始检查 - int cnt = 0; for (Record record : list) { String tableName = record.getStr("table_name"); String dataSetName = record.getStr("dataset_name"); //这张表中存在行政区划的列名,就跳过,不处理 - if (!dm.hasXzqhColumn(tableName)) { + if (dm.hasNoColumnName(tableName, "行政区划")) { System.out.println((identity_id == 2 ? "【市州】" : "【县区】") + dataSetName + "表:" + tableName + "没有行政区划的列名,请手动添加"); - cnt++; + dm.addColumn(tableName, "行政区划"); + } + //这张表中存在上级行政区划的列名,就跳过,不处理 + if (dm.hasNoColumnName(tableName, "上级行政区划")) { + System.out.println((identity_id == 2 ? "【市州】" : "【县区】") + dataSetName + "表:" + tableName + "没有行政区划的列名,请手动添加"); + dm.addColumn(tableName, "上级行政区划"); } } - System.out.println((identity_id == 2 ? "【市州】" : "【县区】") + "数据集中,没有行政区划的表有" + cnt + "个"); - System.out.println("==================================================================="); } + System.out.println("恭喜,所有数据处理完毕。"); } }