main
黄海 9 months ago
parent 82ec073dd5
commit fa2950d3d7

@ -307,12 +307,22 @@ public class DataEaseModel {
} }
/** /**
* *
* @param tableName * @param tableName
* @return * @return
*/ */
public boolean hasXzqhColumn(String tableName) { 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 = '行政区划'"; 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(); 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);
} }
} }

@ -54,18 +54,21 @@ public class SelectNoXzqh {
for (int identity_id : new int[]{2, 3}) { for (int identity_id : new int[]{2, 3}) {
List<Record> list = dm.getDataSetByIdentityId(identity_id); List<Record> list = dm.getDataSetByIdentityId(identity_id);
//开始检查 //开始检查
int cnt = 0;
for (Record record : list) { for (Record record : list) {
String tableName = record.getStr("table_name"); String tableName = record.getStr("table_name");
String dataSetName = record.getStr("dataset_name"); String dataSetName = record.getStr("dataset_name");
//这张表中存在行政区划的列名,就跳过,不处理 //这张表中存在行政区划的列名,就跳过,不处理
if (!dm.hasXzqhColumn(tableName)) { if (dm.hasNoColumnName(tableName, "行政区划")) {
System.out.println((identity_id == 2 ? "【市州】" : "【县区】") + dataSetName + "表:" + 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("恭喜,所有数据处理完毕。");
} }
} }

Loading…
Cancel
Save