From 7577449831f3c80e707ecc4274306dbbc9c96b17 Mon Sep 17 00:00:00 2001 From: HuangHai <10402852@qq.com> Date: Wed, 9 Apr 2025 14:33:12 +0800 Subject: [PATCH] 'commit' --- .../Tools/JkyNewData/Data/SchoolCount.json | 4 +++- .../Tools/JkyNewData/SchoolCountSummary.java | 24 ++++++++++++++++--- 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/dsideal/base/Tools/JkyNewData/Data/SchoolCount.json b/src/main/java/com/dsideal/base/Tools/JkyNewData/Data/SchoolCount.json index cc4497b6..3274466f 100644 --- a/src/main/java/com/dsideal/base/Tools/JkyNewData/Data/SchoolCount.json +++ b/src/main/java/com/dsideal/base/Tools/JkyNewData/Data/SchoolCount.json @@ -1,7 +1,7 @@ { "2019": { - "skipRows": 7, "基教小学": { + "skipRows": 7, "schoolName": { "index": 1, "name": "学校名称", @@ -29,6 +29,7 @@ } }, "初中": { + "skipRows": 7, "schoolName": { "index": 1, "name": "学校名称", @@ -56,6 +57,7 @@ } }, "高中": { + "skipRows": 7, "schoolName": { "index": 1, "name": "学校名称", diff --git a/src/main/java/com/dsideal/base/Tools/JkyNewData/SchoolCountSummary.java b/src/main/java/com/dsideal/base/Tools/JkyNewData/SchoolCountSummary.java index ff8b18b2..e8c2fbf3 100644 --- a/src/main/java/com/dsideal/base/Tools/JkyNewData/SchoolCountSummary.java +++ b/src/main/java/com/dsideal/base/Tools/JkyNewData/SchoolCountSummary.java @@ -23,6 +23,13 @@ public class SchoolCountSummary { public static final String configPath = "D:/dsWork/YunNanDsBase/src/main/java/com/dsideal/base/Tools/JkyNewData/Data/SchoolCount.json"; public static final String excelPath = "D:/dsWork/2025年收集的人口与教育数据库(20250328)/2015-2020年的数据/基础教育"; + public static void log(String msg){ + //输出当前时间,保留到秒即可,然后一个TAB,再输出msg + System.out.println(String.format("%s\t%s", + java.time.LocalDateTime.now().format(java.time.format.DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")), + msg)); + } + public static void main(String[] args) throws FileNotFoundException { // 一、关闭日志输出 CloseLogUtil.Init(); @@ -30,12 +37,15 @@ public class SchoolCountSummary { // 二、初始化数据库连接 LocalMysqlConnectUtil.Init(); - // 三、开始读取数据 + // 三、清空数据表 + String sql="truncate table t_yn_school_count"; + Db.update(sql); + + // 四、开始读取数据 JSONObject config = JSON.parseObject(new FileReader(configPath)); // 遍历年份 for (String year : config.keySet()) { - //表头的行数 - int skipRows = config.getJSONObject(year).getIntValue("skipRows"); + log(String.format("开始处理年份:%s", year)); JSONObject yearConfig = config.getJSONObject(year); String filePath = String.format(excelPath + "/%s.xlsx", year); @@ -48,8 +58,12 @@ public class SchoolCountSummary { JSONObject typeConfig = yearConfig.getJSONObject(schoolType); Map columnConfigs = new HashMap<>(); + //表头的行数 + int skipRows = typeConfig.getIntValue("skipRows"); + // 转换配置为ColumnConfig对象 for (String key : typeConfig.keySet()) { + if (key.equals("skipRows")) continue; JSONObject colConfig = typeConfig.getJSONObject(key); columnConfigs.put(key, new ColumnConfig( colConfig.getIntValue("index"), @@ -61,10 +75,14 @@ public class SchoolCountSummary { // 处理当前学校类型的数据 allResults.put(schoolType, processSheet(filePath, schoolType, skipRows, columnConfigs)); } + log(String.format("处理年份:%s完成", year)); // 保存统计结果到数据库 + log(String.format("开始保存年份:%s到数据库", year)); saveToDatabase(allResults, Integer.parseInt(year)); + log(String.format("保存年份:%s到数据库完成", year)); } + log("所有年份处理完成"); } /**