|
|
|
@ -1,6 +1,7 @@
|
|
|
|
|
package com.dsideal.base.Tools.FillData.Area;
|
|
|
|
|
|
|
|
|
|
import cn.hutool.core.io.FileUtil;
|
|
|
|
|
import com.dsideal.base.DataEase.Model.DataEaseModel;
|
|
|
|
|
import com.dsideal.base.Tools.FillData.ExcelKit.ExcelKit;
|
|
|
|
|
import com.dsideal.base.Tools.Util.LocalMysqlConnectUtil;
|
|
|
|
|
import com.jfinal.kit.StrKit;
|
|
|
|
@ -16,7 +17,7 @@ import java.util.Arrays;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
|
|
public class A3 {
|
|
|
|
|
|
|
|
|
|
static DataEaseModel dm = new DataEaseModel();
|
|
|
|
|
//示例Excel
|
|
|
|
|
static String sampleExcelPath = "D:\\dsWork\\YunNanDsBase\\Doc\\待处理\\区\\【3】义务教育招生总量预测\\义务教育招生总量预测.xlsx";
|
|
|
|
|
|
|
|
|
@ -40,7 +41,7 @@ public class A3 {
|
|
|
|
|
//初始化数据库连接
|
|
|
|
|
LocalMysqlConnectUtil.Init();
|
|
|
|
|
//实例化
|
|
|
|
|
ReadDocxUtil ru = new ReadDocxUtil();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//结果Excel
|
|
|
|
|
XSSFWorkbook outWorkbook = new XSSFWorkbook();
|
|
|
|
@ -79,10 +80,10 @@ public class A3 {
|
|
|
|
|
if (flag) continue;
|
|
|
|
|
//只关心发展规模数据的表格
|
|
|
|
|
if (!file.getName().contains(fileNameKey)) continue;
|
|
|
|
|
//县区名称
|
|
|
|
|
String areaName = ru.getAreaName(file.getName());
|
|
|
|
|
//县区名称
|
|
|
|
|
String areaName = dm.getAreaName(file.getName());
|
|
|
|
|
//市州名称
|
|
|
|
|
String cityName = ru.getCityNameByAreaName(areaName);
|
|
|
|
|
String cityName = dm.getCityNameByAreaName(areaName);
|
|
|
|
|
|
|
|
|
|
if (StrKit.isBlank(cityName) || StrKit.isBlank(areaName)) {
|
|
|
|
|
System.out.println("发现异常数据,请人工处理:" + file.getName());
|
|
|
|
@ -120,7 +121,7 @@ public class A3 {
|
|
|
|
|
v = Integer.parseInt(stringList.get(ExcelKit.transLetter2Num("D")).split("\\.")[0]);
|
|
|
|
|
}
|
|
|
|
|
Row outRow = outSheet.createRow(++rowIndex);
|
|
|
|
|
ExcelKit.putData(outRow, Arrays.asList(String.valueOf(year),"", "总招生数",stageName,"", String.valueOf(v), areaName, cityName), dataStyle);
|
|
|
|
|
ExcelKit.putData(outRow, Arrays.asList(String.valueOf(year), "", "总招生数", stageName, "", String.valueOf(v), areaName, cityName), dataStyle);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//2022入园基数
|
|
|
|
@ -135,7 +136,7 @@ public class A3 {
|
|
|
|
|
v = Integer.parseInt(dataList.getFirst().get(ExcelKit.transLetter2Num("D")).split("\\.")[0]);
|
|
|
|
|
}
|
|
|
|
|
Row outRow = outSheet.createRow(++rowIndex);
|
|
|
|
|
ExcelKit.putData(outRow, Arrays.asList(String.valueOf(year),"", "2022年基数",stageName, "", String.valueOf(v), areaName, cityName), dataStyle);
|
|
|
|
|
ExcelKit.putData(outRow, Arrays.asList(String.valueOf(year), "", "2022年基数", stageName, "", String.valueOf(v), areaName, cityName), dataStyle);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//城区
|
|
|
|
@ -151,7 +152,7 @@ public class A3 {
|
|
|
|
|
}
|
|
|
|
|
Row outRow = outSheet.createRow(++rowIndex);
|
|
|
|
|
ExcelKit.putData(outRow, Arrays.asList(String.valueOf(year),
|
|
|
|
|
"城区", "",stageName, String.valueOf(v),"", areaName, cityName), dataStyle);
|
|
|
|
|
"城区", "", stageName, String.valueOf(v), "", areaName, cityName), dataStyle);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//预测镇区在校生数 修正县城外在校生数*30%
|
|
|
|
@ -166,7 +167,7 @@ public class A3 {
|
|
|
|
|
v = (int) (v * 0.3);//乘以0.3
|
|
|
|
|
}
|
|
|
|
|
Row outRow = outSheet.createRow(++rowIndex);
|
|
|
|
|
ExcelKit.putData(outRow, Arrays.asList(String.valueOf(year), "镇区", "",stageName, String.valueOf(v),"", areaName, cityName), dataStyle);
|
|
|
|
|
ExcelKit.putData(outRow, Arrays.asList(String.valueOf(year), "镇区", "", stageName, String.valueOf(v), "", areaName, cityName), dataStyle);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
for (List<String> stringList : dataList) {
|
|
|
|
@ -181,7 +182,7 @@ public class A3 {
|
|
|
|
|
v = v - d;//剩下70%
|
|
|
|
|
}
|
|
|
|
|
Row outRow = outSheet.createRow(++rowIndex);
|
|
|
|
|
ExcelKit.putData(outRow, Arrays.asList(String.valueOf(year), "乡村", "",stageName, String.valueOf(v),"", areaName, cityName), dataStyle);
|
|
|
|
|
ExcelKit.putData(outRow, Arrays.asList(String.valueOf(year), "乡村", "", stageName, String.valueOf(v), "", areaName, cityName), dataStyle);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|