From 7e7c0cb48aa9fcfd12f37be79d24b53f8b6aafb5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E6=B5=B7?= <10402852@qq.com> Date: Fri, 8 Nov 2024 09:00:07 +0800 Subject: [PATCH] 'commit' --- .../base/Tools/Step3_DataSetFakeData.java | 125 ++++++++++-------- 1 file changed, 73 insertions(+), 52 deletions(-) diff --git a/src/main/java/com/dsideal/base/Tools/Step3_DataSetFakeData.java b/src/main/java/com/dsideal/base/Tools/Step3_DataSetFakeData.java index 951e4817..bb167d93 100644 --- a/src/main/java/com/dsideal/base/Tools/Step3_DataSetFakeData.java +++ b/src/main/java/com/dsideal/base/Tools/Step3_DataSetFakeData.java @@ -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 listCity = dm.getAreaList(province_id); - int identity_id = 1; - //完善省级数据 - List 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 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 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 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 lArea = dm.getAreaList(rCity.getStr("id")); + List 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); } + } }