|
|
|
@ -14,6 +14,7 @@ import com.jfinal.plugin.activerecord.SqlPara;
|
|
|
|
|
|
|
|
|
|
import java.util.*;
|
|
|
|
|
import java.text.SimpleDateFormat;
|
|
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
|
|
public class ZbdcModel {
|
|
|
|
|
/**
|
|
|
|
@ -1171,4 +1172,153 @@ public class ZbdcModel {
|
|
|
|
|
}
|
|
|
|
|
return _map;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private Map<String, Record> getMap(List<Record> list) {
|
|
|
|
|
Map<String, Record> map = new HashMap<>();
|
|
|
|
|
for (Record record : list) {
|
|
|
|
|
map.put(record.getStr("area_name"), record);
|
|
|
|
|
}
|
|
|
|
|
return map;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 功能:合并两个 Record 对象
|
|
|
|
|
*
|
|
|
|
|
* @param r1
|
|
|
|
|
* @param r2
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
private void mergeRecord(Record r1, Record r2) {
|
|
|
|
|
// 获取 record1 的所有字段和值,设置到 mergedRecord 中
|
|
|
|
|
Set<String> fields1 = r1.getColumns().keySet();
|
|
|
|
|
// 获取 record2 的所有字段和值,设置到 mergedRecord 中,注意避免重复设置已经在 record1 中设置过的字段
|
|
|
|
|
Set<String> fields2 = r2.getColumns().keySet();
|
|
|
|
|
for (String field : fields2) {
|
|
|
|
|
if (!fields1.contains(field)) { // 检查字段是否已经在 record1 中设置过
|
|
|
|
|
r1.set(field, r2.get(field));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 功能:信息化设备统计分析
|
|
|
|
|
*
|
|
|
|
|
* @param year
|
|
|
|
|
*/
|
|
|
|
|
public List<Record> getSummaryXxhsb(int year) {
|
|
|
|
|
Kv kv = Kv.by("year", year);
|
|
|
|
|
SqlPara sqlPara = Db.getSqlPara("Zbdc.xxhzbSummary_jchj", kv);
|
|
|
|
|
List<Record> listJchj = Db.find(sqlPara);//基础环境
|
|
|
|
|
Map<String, Record> mJcjh = getMap(listJchj);
|
|
|
|
|
|
|
|
|
|
sqlPara = Db.getSqlPara("Zbdc.xxhbSummary_szzd", kv);
|
|
|
|
|
List<Record> listSzzd = Db.find(sqlPara);//数字终端
|
|
|
|
|
Map<String, Record> mSzzd = getMap(listSzzd);
|
|
|
|
|
|
|
|
|
|
sqlPara = Db.getSqlPara("Zbdc.xxhbSummary_szhjxkj1", kv);
|
|
|
|
|
List<Record> listSzhjxkj1 = Db.find(sqlPara);//数字化教学空间1
|
|
|
|
|
Map<String, Record> mSzhjxkj1 = getMap(listSzhjxkj1);
|
|
|
|
|
|
|
|
|
|
sqlPara = Db.getSqlPara("Zbdc.xxhbSummary_szhjxkj2", kv);
|
|
|
|
|
List<Record> listSzhjxkj2 = Db.find(sqlPara);////数字化教学空间2
|
|
|
|
|
Map<String, Record> mSzhjxkj2 = getMap(listSzhjxkj2);
|
|
|
|
|
|
|
|
|
|
sqlPara = Db.getSqlPara("Zbdc.xxhbSummary_whsh1", kv);
|
|
|
|
|
List<Record> listWhsh1 = Db.find(sqlPara);//文化生活空间1
|
|
|
|
|
Map<String, Record> mWhsh1 = getMap(listWhsh1);
|
|
|
|
|
|
|
|
|
|
sqlPara = Db.getSqlPara("Zbdc.xxhbSummary_whsh2", kv);
|
|
|
|
|
List<Record> listWhsh2 = Db.find(sqlPara);//文化生活空间2
|
|
|
|
|
Map<String, Record> mWhsh2 = getMap(listWhsh2);
|
|
|
|
|
|
|
|
|
|
sqlPara = Db.getSqlPara("Zbdc.xxhbSummary_whsh3", kv);
|
|
|
|
|
List<Record> listWhsh3 = Db.find(sqlPara);//文化生活空间3
|
|
|
|
|
Map<String, Record> mWhsh3 = getMap(listWhsh3);
|
|
|
|
|
|
|
|
|
|
sqlPara = Db.getSqlPara("Zbdc.xxhbSummary_hlwdk", kv);
|
|
|
|
|
List<Record> listHlwdk = Db.find(sqlPara);//互联网带宽
|
|
|
|
|
Map<String, Record> mHlwdk = getMap(listHlwdk);
|
|
|
|
|
|
|
|
|
|
//行政区划
|
|
|
|
|
List<Record> list = getQueryXzqh();
|
|
|
|
|
for (Record record : list) {
|
|
|
|
|
String area_name = record.getStr("area_name");
|
|
|
|
|
if (mJcjh.containsKey(area_name)) {
|
|
|
|
|
Record r = mJcjh.get(area_name);
|
|
|
|
|
r.remove("area_name");
|
|
|
|
|
mergeRecord(record, r);
|
|
|
|
|
}
|
|
|
|
|
if (mSzzd.containsKey(area_name)) {
|
|
|
|
|
Record r = mSzzd.get(area_name);
|
|
|
|
|
r.remove("area_name");
|
|
|
|
|
mergeRecord(record, r);
|
|
|
|
|
}
|
|
|
|
|
if (mSzhjxkj1.containsKey(area_name)) {
|
|
|
|
|
Record r = mSzhjxkj1.get(area_name);
|
|
|
|
|
r.remove("area_name");
|
|
|
|
|
mergeRecord(record, r);
|
|
|
|
|
}
|
|
|
|
|
if (mSzhjxkj2.containsKey(area_name)) {
|
|
|
|
|
Record r = mSzhjxkj2.get(area_name);
|
|
|
|
|
r.remove("area_name");
|
|
|
|
|
mergeRecord(record, r);
|
|
|
|
|
}
|
|
|
|
|
if (mWhsh1.containsKey(area_name)) {
|
|
|
|
|
Record r = mWhsh1.get(area_name);
|
|
|
|
|
r.remove("area_name");
|
|
|
|
|
mergeRecord(record, r);
|
|
|
|
|
}
|
|
|
|
|
if (mWhsh2.containsKey(area_name)) {
|
|
|
|
|
Record r = mWhsh2.get(area_name);
|
|
|
|
|
r.remove("area_name");
|
|
|
|
|
mergeRecord(record, r);
|
|
|
|
|
}
|
|
|
|
|
if (mWhsh3.containsKey(area_name)) {
|
|
|
|
|
Record r = mWhsh3.get(area_name);
|
|
|
|
|
r.remove("area_name");
|
|
|
|
|
mergeRecord(record, r);
|
|
|
|
|
}
|
|
|
|
|
if (mHlwdk.containsKey(area_name)) {
|
|
|
|
|
Record r = mHlwdk.get(area_name);
|
|
|
|
|
r.remove("area_name");
|
|
|
|
|
mergeRecord(record, r);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
String[] columns = {
|
|
|
|
|
"area_name",
|
|
|
|
|
"jchj_taishu",
|
|
|
|
|
"jchj_wlhj_count",
|
|
|
|
|
"jchj_ccrl_count",
|
|
|
|
|
"jchj_xyaqjk_count",
|
|
|
|
|
"szzd_taishu",
|
|
|
|
|
"szzd_xsjsjjs_count",
|
|
|
|
|
"szzd_zhjs_count",
|
|
|
|
|
"szzd_dztsyls_count",
|
|
|
|
|
"szzd_jsyjsj_count",
|
|
|
|
|
"szzd_dzbks_count",
|
|
|
|
|
"szhjxkj1_taishu",
|
|
|
|
|
"szhjxkj1_dmtbjjs_count",
|
|
|
|
|
"szhjxkj2_taishu",
|
|
|
|
|
"szhjxkj2_dgnjs_count",
|
|
|
|
|
"szhjxkj2_jplbsb_count",
|
|
|
|
|
"szhjxkj2_cthlb_count",
|
|
|
|
|
"szhjxkj2_yyxtsb_count",
|
|
|
|
|
"szhjxkj2_cxhds_count",
|
|
|
|
|
"whsh1_taishu",
|
|
|
|
|
"whsh1_xygb_count",
|
|
|
|
|
"whsh2_taishu",
|
|
|
|
|
"whsh2_xnybs_count",
|
|
|
|
|
"whsh3_taishu",
|
|
|
|
|
"whsh3_xydsxt_count",
|
|
|
|
|
"hlwdk_hlwdk"
|
|
|
|
|
};
|
|
|
|
|
for (Record record : list) {
|
|
|
|
|
for (int i = 0; i < columns.length; i++) {
|
|
|
|
|
if (!record.getColumns().containsKey(columns[i]))
|
|
|
|
|
record.set(columns[i], 0);
|
|
|
|
|
}
|
|
|
|
|
record.remove("id");
|
|
|
|
|
}
|
|
|
|
|
return list;
|
|
|
|
|
}
|
|
|
|
|
}
|