parent
fd2d69c881
commit
71aeacce5b
@ -1,168 +0,0 @@
|
||||
package com.dsideal.base.Tools;
|
||||
|
||||
import com.dsideal.base.DataEase.Model.DataEaseModel;
|
||||
import com.dsideal.base.Tools.Util.LocalMysqlConnectUtil;
|
||||
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;
|
||||
|
||||
public class Step3_DataSetFakeData {
|
||||
public static DataEaseModel dm = new DataEaseModel();
|
||||
|
||||
/**
|
||||
* 拷贝昆明市的数据
|
||||
*
|
||||
* @param table_name
|
||||
* @param area_name
|
||||
*/
|
||||
public static void CopyData(String table_name, String source_area_name, String area_name, String parent_name) {
|
||||
String sql = "select * from `" + table_name + "` where `行政区划`='" + source_area_name + "'";
|
||||
List<Record> list = Db.use(DataEaseModel.DB_NAME).find(sql);
|
||||
for (Record r : list) {
|
||||
r.set("行政区划", area_name);
|
||||
r.set("上级行政区划", parent_name);
|
||||
r.remove("id");
|
||||
}
|
||||
System.out.println(table_name);
|
||||
Db.use(DataEaseModel.DB_NAME).batchSave(table_name, list, 100);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除某地数据
|
||||
*
|
||||
* @param table_name
|
||||
* @param area_name
|
||||
*/
|
||||
public static void deleteData(String table_name, String area_name) {
|
||||
String sql = "delete from `" + table_name + "` where `行政区划`='" + area_name + "'";
|
||||
Db.use(DataEaseModel.DB_NAME).update(sql);
|
||||
}
|
||||
|
||||
public static void main(String[] args) throws IOException {
|
||||
//切换至测试数据库
|
||||
//DataEaseModel.DB_NAME = "dataease_huanghai";
|
||||
|
||||
//初始化数据库链接
|
||||
LocalMysqlConnectUtil.Init();
|
||||
|
||||
DataEaseModel dm = new DataEaseModel();
|
||||
|
||||
//这几个是要保留的地名
|
||||
List<String> keepArea = Arrays.asList("云南省", "昆明市", "楚雄州", "寻甸县");
|
||||
//所有市州
|
||||
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);
|
||||
// }
|
||||
//
|
||||
// //拷贝城市数据
|
||||
// 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);
|
||||
// }
|
||||
// }
|
||||
|
||||
|
||||
//市州净注入与净流出的数据集
|
||||
String tableName = "excel_区域人口流动分布_193751804a";
|
||||
for (Record record : listCity) {
|
||||
String cityName = record.getStr("area_name");
|
||||
String sql = "delete from `" + tableName + "` where `行政区划`='" + cityName + "'";
|
||||
Db.use(DataEaseModel.DB_NAME).update(sql);
|
||||
System.out.println(cityName + "正在处理数据集:" + tableName);
|
||||
//if (keepArea.contains(cityName)) continue;
|
||||
Record rCity = dm.getAreaByName(cityName);
|
||||
List<Record> lArea = dm.getAreaList(rCity.getStr("id"));
|
||||
List<Record> writeList = new ArrayList<>();
|
||||
int x = 0;
|
||||
for (Record r : lArea) {
|
||||
x++;
|
||||
Record rArea = new Record();
|
||||
rArea.set("行政区划", cityName);
|
||||
rArea.set("下级行政区划", r.getStr("area_name"));
|
||||
rArea.set("类型", x % 2 == 1 ? "净流出" : "净流入");
|
||||
rArea.set("数值", 900);
|
||||
writeList.add(rArea);
|
||||
}
|
||||
Db.use(DataEaseModel.DB_NAME).batchSave(tableName, writeList, 100);
|
||||
}
|
||||
|
||||
|
||||
// //县区净注入与净流出的数据集
|
||||
// String tableName = "excel_区域人口流动分布_374179b760";
|
||||
// int x=0;
|
||||
// for (Record record : listCity) {
|
||||
// x++;
|
||||
// String cityName = record.getStr("area_name");
|
||||
// if (keepArea.contains(cityName)) continue;
|
||||
// String sql = "delete from `" + tableName + "` where `上级行政区划`='" + cityName + "'";
|
||||
// Db.use(DataEaseModel.DB_NAME).update(sql);
|
||||
//
|
||||
// System.out.println(cityName + "正在处理数据集:" + tableName);
|
||||
// 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("类型", x % 2 == 1 ? "净流出" : "净流入");
|
||||
// rArea.set("数值(人)", 2313250);
|
||||
// writeList.add(rArea);
|
||||
// }
|
||||
// Db.use(DataEaseModel.DB_NAME).batchSave(tableName, writeList, 100);
|
||||
// }
|
||||
|
||||
}
|
||||
}
|
Loading…
Reference in new issue