|
|
|
@ -1876,6 +1876,26 @@ public class ZbdcModel {
|
|
|
|
|
return list;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 功能:获取长春市的市直学校数量
|
|
|
|
|
*
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
public List<Record> getSchoolCountShiZhi() {
|
|
|
|
|
SqlPara sqlPara = Db.getSqlPara("Zbdc.getSchoolCountShiZhi");
|
|
|
|
|
return Db.find(sqlPara);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 功能:获取长春市各县区的学校数量
|
|
|
|
|
*
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
public List<Record> getSchoolCountXianQu() {
|
|
|
|
|
SqlPara sqlPara = Db.getSqlPara("Zbdc.getSchoolCountXianQu");
|
|
|
|
|
return Db.find(sqlPara);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 功能:获取常规装备信息汇总
|
|
|
|
|
*
|
|
|
|
@ -1894,6 +1914,7 @@ public class ZbdcModel {
|
|
|
|
|
//移除多余属性
|
|
|
|
|
j2.remove("id");
|
|
|
|
|
j2.remove("bureau_id");
|
|
|
|
|
String burea_name = j2.getString("bureau_name");
|
|
|
|
|
j2.remove("bureau_name");
|
|
|
|
|
j2.remove("year");
|
|
|
|
|
j2.remove("school_type_name");
|
|
|
|
@ -1905,21 +1926,90 @@ public class ZbdcModel {
|
|
|
|
|
j1 = convertBfhToDouble(j1);
|
|
|
|
|
//将jo中所有属性叠加到j2上去,并重新将j2放入到map中, 将j2的所有属性值累加到j1上
|
|
|
|
|
CommonUtil.mergeJsonObjects(j1, j2);
|
|
|
|
|
//放回去
|
|
|
|
|
j1.put("cnt", j1.getInteger("cnt") + 1);
|
|
|
|
|
map.put(area_name, j1);
|
|
|
|
|
} else {//不包含
|
|
|
|
|
j2.put("cnt", 1);
|
|
|
|
|
map.put(area_name, j2);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//市直学校数量
|
|
|
|
|
List<Record> shiZhiList = getSchoolCountShiZhi();
|
|
|
|
|
//县区学校数量
|
|
|
|
|
List<Record> xianQuList = getSchoolCountXianQu();
|
|
|
|
|
Map<String, Record> _map = new HashMap<>();
|
|
|
|
|
for (Record record : xianQuList) {
|
|
|
|
|
_map.put(record.getStr("area_name"), record);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//所有以pbl结尾的字段,都需要再除以cnt
|
|
|
|
|
for (String key : map.keySet()) {
|
|
|
|
|
JSONObject j = map.get(key);
|
|
|
|
|
for (String k : j.keySet()) {
|
|
|
|
|
if (k.endsWith("pbl")) {
|
|
|
|
|
int xx_count, cz_count, gz_count, wq_count, jn_count;
|
|
|
|
|
if (key.equals("市直")) {
|
|
|
|
|
xx_count = shiZhiList.getFirst().getInt("xx_count");
|
|
|
|
|
cz_count = shiZhiList.getFirst().getInt("cz_count");
|
|
|
|
|
gz_count = shiZhiList.getFirst().getInt("gz_count");
|
|
|
|
|
wq_count = shiZhiList.getFirst().getInt("wq_count");
|
|
|
|
|
jn_count = shiZhiList.getFirst().getInt("jn_count");
|
|
|
|
|
} else {
|
|
|
|
|
Record r = _map.get(key);
|
|
|
|
|
xx_count = r.getInt("xx_count");
|
|
|
|
|
cz_count = r.getInt("cz_count");
|
|
|
|
|
gz_count = r.getInt("gz_count");
|
|
|
|
|
wq_count = r.getInt("wq_count");
|
|
|
|
|
jn_count = r.getInt("jn_count");
|
|
|
|
|
}
|
|
|
|
|
int cnt = 0;
|
|
|
|
|
//xx_kxpbl 小学科学
|
|
|
|
|
//xx_typbl 小学体育
|
|
|
|
|
//xx_mspbl 小学美术
|
|
|
|
|
//xx_yypbl 小学音乐
|
|
|
|
|
//上面四个需要除以本区域小学学校个数+九年一贯制学校个数
|
|
|
|
|
if (k.equals("xx_kxpbl") || k.equals("xx_typbl") || k.equals("xx_mspbl") || k.equals("xx_yypbl")) {
|
|
|
|
|
cnt = xx_count + jn_count;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//cz_typbl 初中体育
|
|
|
|
|
//cz_swpbl 初中生物
|
|
|
|
|
//cz_hxpbl 初中化学
|
|
|
|
|
//cz_yypbl 初中音乐
|
|
|
|
|
//cz_wlpbl 初中物理
|
|
|
|
|
//cz_mspbl 初中美术
|
|
|
|
|
//上面六个需要除以本区域初中学校个数+九年一贯制学校个数+完全中学学校个数
|
|
|
|
|
if (k.equals("cz_typbl") || k.equals("cz_swpbl") || k.equals("cz_hxpbl") || k.equals("cz_yypbl") || k.equals("cz_wlpbl") || k.equals("cz_mspbl")) {
|
|
|
|
|
cnt = cz_count + jn_count + wq_count;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//gz_hxpbl 高中化学
|
|
|
|
|
//gz_swpbl 高中生物
|
|
|
|
|
//gz_mspbl 高中美术
|
|
|
|
|
//gz_yypbl 高中音乐
|
|
|
|
|
//gz_wlpbl 高中物理
|
|
|
|
|
//gz_typbl 高中体育
|
|
|
|
|
//上面六个需要除以本区域高中学校个数+完全中学学校个数
|
|
|
|
|
if (k.equals("gz_hxpbl") || k.equals("gz_swpbl") || k.equals("gz_mspbl") || k.equals("gz_yypbl") || k.equals("gz_wlpbl") || k.equals("gz_typbl")) {
|
|
|
|
|
cnt = gz_count + wq_count;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//summary_hxpbl 化学总
|
|
|
|
|
//summary_wlpbl 物理总
|
|
|
|
|
//summary_swpbl 生物总
|
|
|
|
|
//上面三个需要除以本区域初中学校个数+高中学校个数+完全中学学校个数
|
|
|
|
|
if (k.equals("summary_hxpbl") || k.equals("summary_wlpbl") || k.equals("summary_swpbl")) {
|
|
|
|
|
cnt = cz_count + gz_count + wq_count;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//summary_mspbl 美术总
|
|
|
|
|
//summary_yypbl 音乐总
|
|
|
|
|
//summary_typbl 体育总
|
|
|
|
|
//上面三个需要除以本区域小学学校个数+初中学校个数+高中学校个数+完全中学学校个数
|
|
|
|
|
if (k.equals("summary_mspbl") || k.equals("summary_yypbl") || k.equals("summary_typbl")) {
|
|
|
|
|
cnt = xx_count + cz_count + gz_count + wq_count;
|
|
|
|
|
}
|
|
|
|
|
// 计算百分比
|
|
|
|
|
String percentage = String.format("%.1f%%", j.getDouble(k) / j.getInteger("cnt"));
|
|
|
|
|
String percentage = String.format("%.2f%%", j.getDouble(k) / cnt);
|
|
|
|
|
j.put(k, percentage);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -1950,10 +2040,7 @@ public class ZbdcModel {
|
|
|
|
|
if (list.isEmpty()) return null;
|
|
|
|
|
|
|
|
|
|
//行政区划
|
|
|
|
|
List<Record> listXzqh = getQueryXzqh(year, -2);
|
|
|
|
|
Record r = new Record();
|
|
|
|
|
r.set("area_name", "市直");
|
|
|
|
|
listXzqh.add(r);
|
|
|
|
|
List<Record> listXzqh = getXzqhList();
|
|
|
|
|
//有用的记录
|
|
|
|
|
Record originalRecord = list.getFirst();
|
|
|
|
|
// 遍历每个属性,如果不是area_name,那么给初值0
|
|
|
|
|