|
|
|
@ -6,6 +6,7 @@ import com.jfinal.plugin.activerecord.Db;
|
|
|
|
|
import com.jfinal.plugin.activerecord.Record;
|
|
|
|
|
|
|
|
|
|
import java.io.IOException;
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
import java.util.Arrays;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
|
@ -56,60 +57,80 @@ public class Step3_DataSetFakeData {
|
|
|
|
|
Record rPrinvice = dm.getAreaByName("云南省");
|
|
|
|
|
String province_id = rPrinvice.getStr("id");
|
|
|
|
|
List<Record> listCity = dm.getAreaList(province_id);
|
|
|
|
|
int identity_id = 1;
|
|
|
|
|
//完善省级数据
|
|
|
|
|
List<Record> list = dm.getDataSetByIdentityId(identity_id, null);
|
|
|
|
|
for (Record record : list) {
|
|
|
|
|
String table_name = record.getStr("table_name");
|
|
|
|
|
System.out.println("正在处理数据集:" + table_name);
|
|
|
|
|
String sql = "update `" + table_name + "` set `行政区划`='云南省' where `行政区划` is null";
|
|
|
|
|
Db.use(DataEaseModel.DB_NAME).update(sql);
|
|
|
|
|
sql = "update `" + table_name + "` set `上级行政区划`='云南省' where `上级行政区划` is null";
|
|
|
|
|
Db.use(DataEaseModel.DB_NAME).update(sql);
|
|
|
|
|
}
|
|
|
|
|
// int identity_id = 1;
|
|
|
|
|
// //完善省级数据
|
|
|
|
|
// List<Record> list = dm.getDataSetByIdentityId(identity_id, null);
|
|
|
|
|
// for (Record record : list) {
|
|
|
|
|
// String table_name = record.getStr("table_name");
|
|
|
|
|
// System.out.println("正在处理数据集:" + table_name);
|
|
|
|
|
// String sql = "update `" + table_name + "` set `行政区划`='云南省' where `行政区划` is null";
|
|
|
|
|
// Db.use(DataEaseModel.DB_NAME).update(sql);
|
|
|
|
|
// sql = "update `" + table_name + "` set `上级行政区划`='云南省' where `上级行政区划` is null";
|
|
|
|
|
// Db.use(DataEaseModel.DB_NAME).update(sql);
|
|
|
|
|
// }
|
|
|
|
|
//
|
|
|
|
|
// //拷贝城市数据
|
|
|
|
|
// for (Record rCity : listCity) {
|
|
|
|
|
// //城市名称
|
|
|
|
|
// String area_name = rCity.getStr("area_name");
|
|
|
|
|
// //如果在保留名单中,则跳过
|
|
|
|
|
// if (keepArea.contains(area_name)) {
|
|
|
|
|
// continue;
|
|
|
|
|
// }
|
|
|
|
|
// //遍历所有市州数据集
|
|
|
|
|
// identity_id = 2;
|
|
|
|
|
// list = dm.getDataSetByIdentityId(identity_id, null);
|
|
|
|
|
// for (Record record : list) {
|
|
|
|
|
// String table_name = record.getStr("table_name");
|
|
|
|
|
// System.out.println("正在处理数据集:" + area_name + " " + table_name);
|
|
|
|
|
// //检查这个行政区划,在本数据表中是不是存在过,判断办法是 列名: `行政区划`= area_name,如果存在则不作处理,否则拷贝昆明市的数据
|
|
|
|
|
// deleteData(table_name, area_name);
|
|
|
|
|
// CopyData(table_name, "昆明市", area_name, "云南省");
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
// //获取所有县区
|
|
|
|
|
// List<Record> listArea = dm.getProvinceArea("云南省");
|
|
|
|
|
// for (Record rArea : listArea) {
|
|
|
|
|
// //城市名称
|
|
|
|
|
// String area_name = rArea.getStr("area_name");
|
|
|
|
|
// String parent_id = rArea.getStr("parent_id");
|
|
|
|
|
// //隶属哪个市州
|
|
|
|
|
// Record parentRecord = dm.getAreaById(parent_id);
|
|
|
|
|
// String parent_name = parentRecord.getStr("area_name");
|
|
|
|
|
// //如果在保留名单中,则跳过
|
|
|
|
|
// if (keepArea.contains(area_name)) {
|
|
|
|
|
// continue;
|
|
|
|
|
// }
|
|
|
|
|
// //遍历所有县区数据集
|
|
|
|
|
// identity_id = 3;
|
|
|
|
|
// list = dm.getDataSetByIdentityId(identity_id, null);
|
|
|
|
|
// for (Record record : list) {
|
|
|
|
|
// String table_name = record.getStr("table_name");
|
|
|
|
|
// System.out.println(area_name + "正在处理数据集:" + table_name);
|
|
|
|
|
// //检查这个行政区划,在本数据表中是不是存在过,判断办法是 列名: `行政区划`= area_name,如果存在则不作处理,否则拷贝寻甸县的数据
|
|
|
|
|
// deleteData(table_name, area_name);
|
|
|
|
|
// CopyData(table_name, "寻甸县", area_name, parent_name);
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
//拷贝城市数据
|
|
|
|
|
for (Record rCity : listCity) {
|
|
|
|
|
//城市名称
|
|
|
|
|
String area_name = rCity.getStr("area_name");
|
|
|
|
|
//如果在保留名单中,则跳过
|
|
|
|
|
if (keepArea.contains(area_name)) {
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
//遍历所有市州数据集
|
|
|
|
|
identity_id = 2;
|
|
|
|
|
list = dm.getDataSetByIdentityId(identity_id, null);
|
|
|
|
|
for (Record record : list) {
|
|
|
|
|
String table_name = record.getStr("table_name");
|
|
|
|
|
System.out.println("正在处理数据集:" + table_name);
|
|
|
|
|
//检查这个行政区划,在本数据表中是不是存在过,判断办法是 列名: `行政区划`= area_name,如果存在则不作处理,否则拷贝昆明市的数据
|
|
|
|
|
deleteData(table_name, area_name);
|
|
|
|
|
CopyData(table_name, "昆明市", area_name, "云南省");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//获取所有县区
|
|
|
|
|
List<Record> listArea = dm.getProvinceArea("云南省");
|
|
|
|
|
for (Record rArea : listArea) {
|
|
|
|
|
//城市名称
|
|
|
|
|
String area_name = rArea.getStr("area_name");
|
|
|
|
|
String parent_id = rArea.getStr("parent_id");
|
|
|
|
|
//隶属哪个市州
|
|
|
|
|
Record parentRecord = dm.getAreaById(parent_id);
|
|
|
|
|
String parent_name = parentRecord.getStr("area_name");
|
|
|
|
|
//如果在保留名单中,则跳过
|
|
|
|
|
if (keepArea.contains(area_name)) {
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
//遍历所有县区数据集
|
|
|
|
|
identity_id = 3;
|
|
|
|
|
list = dm.getDataSetByIdentityId(identity_id, null);
|
|
|
|
|
for (Record record : list) {
|
|
|
|
|
String table_name = record.getStr("table_name");
|
|
|
|
|
System.out.println(area_name + "正在处理数据集:" + table_name);
|
|
|
|
|
//检查这个行政区划,在本数据表中是不是存在过,判断办法是 列名: `行政区划`= area_name,如果存在则不作处理,否则拷贝寻甸县的数据
|
|
|
|
|
deleteData(table_name, area_name);
|
|
|
|
|
CopyData(table_name, "寻甸县", area_name, parent_name);
|
|
|
|
|
//有一些表是以 上级行政区划为根的,然后遍历了它的县区,还有类型,不好直接抄过来,只能硬写了
|
|
|
|
|
for (Record record : listCity) {
|
|
|
|
|
//String cityName = "昭通市";
|
|
|
|
|
String cityName = record.getStr("area_name");
|
|
|
|
|
if (keepArea.contains(cityName)) continue;
|
|
|
|
|
Record rCity = dm.getAreaByName(cityName);
|
|
|
|
|
List<Record> lArea = dm.getAreaList(rCity.getStr("id"));
|
|
|
|
|
List<Record> writeList = new ArrayList<>();
|
|
|
|
|
for (Record r : lArea) {
|
|
|
|
|
Record rArea = new Record();
|
|
|
|
|
rArea.set("上级行政区划", cityName);
|
|
|
|
|
rArea.set("行政区划", r.getStr("area_name"));
|
|
|
|
|
rArea.set("类型", "净流出");
|
|
|
|
|
rArea.set("数值(人)", 2313250);
|
|
|
|
|
writeList.add(rArea);
|
|
|
|
|
}
|
|
|
|
|
Db.use(DataEaseModel.DB_NAME).batchSave("excel_区域人口流动分布_374179b760", writeList, 100);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|