kgdxpr 8 months ago
commit e61d4d6111

@ -157,9 +157,8 @@ public class DataEaseModel {
* @return
*/
public String getCityCode(String cityName) {
String full_name = getFullAreaName(cityName);
String sql = "select area_code from t_city_code where area_name=?";
return Db.findFirst(sql, full_name).getStr("area_code");
return Db.findFirst(sql, cityName).getStr("area_code");
}
/**
@ -518,20 +517,6 @@ public class DataEaseModel {
Db.update(sql, area_name);
}
/**
*
*
* @param area_name
* @return
*/
public String getFullAreaName(String area_name) {
String sql = "select * from t_dm_area where full_name = ?";
Record record = Db.findFirst(sql, area_name);
if (record != null) return area_name;
sql = "select * from t_dm_area where area_name=?";
record = Db.findFirst(sql, area_name);
return record.getStr("full_name");
}
/**
*
@ -637,7 +622,7 @@ public class DataEaseModel {
Record record = Db.findById("t_dp_dataset", "id", id);
String tableName = record.getStr("table_name");
String sql = "select * from `" + tableName+"`";
String sql = "select * from `" + tableName + "`";
return Db.use(DB_NAME).find(sql);
}

@ -54,11 +54,10 @@ public class A11 {
for (Record record : list) {
String areaName = record.getStr("area_name");
String cityName = record.getStr("city_name");
String fullName = record.getStr("full_name");
String memo = record.getStr("memo");
Row outRow = outSheet.createRow(++rowIndex);
ExcelKit.putData(outRow, new ArrayList<>(
Arrays.asList(areaName, fullName, memo, cityName)), dataStyle);
Arrays.asList(areaName, areaName, memo, cityName)), dataStyle);
}
//保存文件

@ -55,17 +55,17 @@ public class C9 {
for (File file : files) {
//判断file是不是目录是目录的需要跳过
if (file.isDirectory()) continue;
//城市名称
String cityName = ru.getCityOrAreaName(file.getName());
String fileName = file.getName();
//判断是否为docx文件
if (fileName.endsWith(".docx") && !fileName.startsWith("~")) {
//城市名称
String cityName = ru.getCityOrAreaName(file.getName());
if (StrKit.isBlank(cityName)) {
System.out.println("文件名无法解析为城市:" + fileName);
System.exit(0);
}
System.out.println("正在处理" + cityName + "市州文件...");
System.out.println("正在处理" + cityName + "...");
//数据在图表1
int chartNumber = 1;
//chartNumber:第几个图表
@ -73,8 +73,10 @@ public class C9 {
//expectLimit:期望的数据行数,首先用POI进行解析如果获取的行数大于预期行数就是正确的否则就需要二次调用python进行读取
List<List<String>> source = ExcelKit.getChartData(file.getAbsolutePath(), chartNumber - 1, 6);
System.out.println("当前城市数据条目数量=" + source.size());
//遍历source
for (List<String> r : source) {
Row outRow = outSheet.createRow(++rowIndex);
// 导出数据
//上级行政区划,行政区划,年份,总人口变化,总人口预测
@ -82,13 +84,13 @@ public class C9 {
double value = Double.parseDouble(r.get(1));
if (year < 2023) {
ExcelKit.putData(outRow, new ArrayList<>(Arrays.asList( "云南省",cityName, r.getFirst().substring(0, 4), String.format("%.2f", value), "")), dataStyle);
ExcelKit.putData(outRow, new ArrayList<>(Arrays.asList("云南省", cityName, r.getFirst().substring(0, 4), String.format("%.2f", value), "")), dataStyle);
}
if (year > 2023) {
ExcelKit.putData(outRow, new ArrayList<>(Arrays.asList("云南省",cityName, r.getFirst().substring(0, 4), "", String.format("%.2f", value))), dataStyle);
ExcelKit.putData(outRow, new ArrayList<>(Arrays.asList("云南省", cityName, r.getFirst().substring(0, 4), "", String.format("%.2f", value))), dataStyle);
}
if (year == 2023) {
ExcelKit.putData(outRow, new ArrayList<>(Arrays.asList("云南省",cityName, r.getFirst().substring(0, 4), String.format("%.2f", value), String.format("%.2f", value))), dataStyle);
ExcelKit.putData(outRow, new ArrayList<>(Arrays.asList("云南省", cityName, r.getFirst().substring(0, 4), String.format("%.2f", value), String.format("%.2f", value))), dataStyle);
}
}
}

@ -419,7 +419,7 @@ public class ExcelKit {
&& row.getCell(0).toString().contains(keyword)) {
if (start == -1) {
start = rowIndex;
System.out.println("找到" + keyword + ",start=" + start);
//System.out.println("找到" + keyword + ",start=" + start);
}
}
if (start > 0 && (row == null || row.getCell(0) == null)) {
@ -429,7 +429,7 @@ public class ExcelKit {
}
start += headRows;//第二个表的表头有几行
//System.out.println("第二个表格开始行索引=" + start + ",结束行索引=" + end);
System.out.println("表格开始行索引=" + start + ",结束行索引=" + end);
//输出第二个表格的数据
for (rowIndex = start; rowIndex <= end; rowIndex++) {
Row row = sheet.getRow(rowIndex);

@ -29,12 +29,10 @@ public class ReadDocxUtil {
List<com.jfinal.plugin.activerecord.Record> listCity = dm.getAreaList(privinceId);
List<String> listCityName = new ArrayList<>();
for (Record record : listCity) {
listCityName.add(record.getStr("full_name"));
if (!listCityName.contains(record.getStr("area_name"))) {
listCityName.add(record.getStr("area_name"));
}
}
listCityName.add("怒江傈僳族自治州");
return listCityName;
}
@ -55,11 +53,14 @@ public class ReadDocxUtil {
//合并下listArea,listCity
listCity.addAll(listArea);
//城市名称的前两位一样就视为一样
String top2= fileName.substring(0,2);
//判断是哪个城市
boolean found = false;
String cityName = "";
for (String s : listCity) {
if (fileName.contains(s)) {
if (s.startsWith(top2)) {
found = true;
cityName = s;
}
@ -122,7 +123,7 @@ public class ReadDocxUtil {
List<XWPFChart> charts = doc.getCharts();
//System.out.println("图表数量=" + charts.size() + ",图例个数=" + num);
for (int i = 0; i < charts.size(); i++) {
if(i==4){
if (i == 4) {
System.out.println("Here!");
}
XWPFChart chart = charts.get(i);

@ -28,7 +28,7 @@
-- 获取县区的描述信息
#sql("getAreaMemo")
select t1.id as area_id,t1.area_name,t1.memo,t1.full_name,t2.area_name as city_name from t_dm_area as t1
select t1.id as area_id,t1.area_name,t1.memo,t2.area_name as city_name from t_dm_area as t1
left join t_dm_area as t2 on t1.parent_id=t2.id
where t1.province_id='FD61813E-70A1-42AB-9A8E-141ED4D47B98' and t1.level_id=5
order by t1.city_id

Loading…
Cancel
Save