kgdxpr 1 year ago
commit cd40370b77

@ -569,6 +569,8 @@ public class ZbdcController extends Controller {
@IsLoginInterface({})
// http://10.10.21.20:9000/QingLong/zbdc/getSummaryXxhsb
public void getSummaryXxhsb(int year) {
if (year == 0) year = DateTime.now().year();//如果没有传入获取的年份,那么就是系统的默认当前年份
List<Record> list = zm.getSummaryXxhsb(year);
renderJson(CommonUtil.renderJsonForLayUI(list));
}
}

@ -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;
}
}

@ -149,7 +149,7 @@
sum(case when lb_name='网络环境' then taishu else 0 end) as jchj_wlhj_count,
sum (case when lb_name='存储容量' then taishu else 0 end) as jchj_ccrl_count,
sum (case when lb_name='校园安全监控' then taishu else 0 end) as jchj_xyaqjk_count
from t_zbdc_xxjs_szzd_jchj GROUP BY area_name
from t_zbdc_xxjs_szzd_jchj where year=#para(year) GROUP BY area_name
#end
-- 数字终端
#sql("xxhbSummary_szzd")
@ -159,13 +159,13 @@
sum (case when lb_name='电子图书阅览室' then taishu else 0 end) as szzd_dztsyls_count,
sum(case when lb_name='教师用计算机1' or lb_name='教师用计算机2' then taishu else 0 end) as szzd_jsyjsj_count,
sum(case when lb_name='电子备课室' then taishu else 0 end) as szzd_dzbks_count
from t_zbdc_xxjs_szzd GROUP BY area_name
from t_zbdc_xxjs_szzd where year=#para(year) GROUP BY area_name
#end
-- 数字化教学空间1
#sql("xxhbSummary_szhjxkj1")
select area_name, sum(taishu) as szhjxkj1_taishu,
sum(case when lb_name='多媒体班级教室1' or lb_name='多媒体班级教室2' or lb_name='多媒体班级教室3' or lb_name='多媒体班级教室4' then taishu else 0 end) as szhjxkj1_dmtbjjs_count
from t_zbdc_xxjs_szzd_szhjxkj1 GROUP BY area_name
from t_zbdc_xxjs_szzd_szhjxkj1 where year=#para(year) GROUP BY area_name
#end
-- 数字化教学空间2
#sql("xxhbSummary_szhjxkj2")
@ -176,30 +176,30 @@
sum(case when lb_name='常态化录播' then shuliang else 0 end) as szhjxkj2_cthlb_count,
sum(case when lb_name='语音系统1' or lb_name='语音系统2' or lb_name='语音系统3' or lb_name='语音系统4' then shuliang else 0 end) as szhjxkj2_yyxtsb_count,
sum(case when lb_name='创新类活动室' then shuliang else 0 end) as szhjxkj2_cxhds_count
from t_zbdc_xxjs_szzd_szhjxkj2 GROUP BY area_name
from t_zbdc_xxjs_szzd_szhjxkj2 where year=#para(year) GROUP BY area_name
#end
-- 文化生活空间1
#sql("xxhbSummary_whsh1")
select area_name, sum(zhengchang) as whsh1_taishu,
sum(case when lb_name='校园广播1' or lb_name='校园广播2' then zhengchang else 0 end) as whsh1_xygb_count
from t_zbdc_xxjs_szzd_whkj1 GROUP BY area_name;
from t_zbdc_xxjs_szzd_whkj1 where year=#para(year) GROUP BY area_name;
#end
-- 文化生活空间2
#sql("xxhbSummary_whsh2")
select area_name, sum(zhengchang) as whsh2_taishu,
sum(case when lb_name='虚拟演播室' then zhengchang else 0 end) as whsh2_xnybs_count
from t_zbdc_xxjs_szzd_whkj2 GROUP BY area_name;
from t_zbdc_xxjs_szzd_whkj2 where year=#para(year) GROUP BY area_name;
#end
-- 文化生活空间3
#sql("xxhbSummary_whsh3")
select area_name, sum(zhengchang) as whsh3_taishu,
sum(case when lb_name='校园电视系统' then zhengchang else 0 end) as whsh3_xydsxt_count
from t_zbdc_xxjs_szzd_whkj3 GROUP BY area_name;
from t_zbdc_xxjs_szzd_whkj3 where year=#para(year) GROUP BY area_name;
#end
-- 互联网带宽
#sql("xxhbSummary_hlwdk")
select area_name, sum(hlwdk) as hlwdk_hlwdk
from t_zbdc_xxjs_szzd_wlaq GROUP BY area_name;
from t_zbdc_xxjs_szzd_wlaq where year=#para(year) GROUP BY area_name;
#end
#end
Loading…
Cancel
Save