kgdxpr 1 year ago
commit 8375e85c32

@ -543,7 +543,6 @@ public class ZbdcController extends Controller {
public void getSummaryBaseInfo(int year) {
if (year == 0) year = DateTime.now().year();//如果没有传入获取的年份,那么就是系统的默认当前年份
List<Record> list = zm.getSummaryBaseInfo(year);
list = zm.expandList(list);
renderJson(CommonUtil.renderJsonForLayUI(list));
}
@ -558,7 +557,6 @@ public class ZbdcController extends Controller {
public void getSummaryCgzb(int year) {
if (year == 0) year = DateTime.now().year();//如果没有传入获取的年份,那么就是系统的默认当前年份
List<Record> list = zm.getSummaryCgzb(year);
list = zm.expandList(list);
renderJson(CommonUtil.renderJsonForLayUI(list));
}

@ -413,6 +413,9 @@ public class ZbdcModel {
record.set("bureau_id", bureau_id);
record.set("xysl", xysl);
record.set("update_ts", DateTime.now());
Map<String, Record> _map = getSchoolAreaName();
record.set("area_id", _map.get(bureau_id).getStr("area_id"));
record.set("area_name", _map.get(bureau_id).getStr("area_name"));
Db.save("t_zbdc_fill", "year,templet_id,bureau_id", record);
} else {
record.set("xysl", xysl);
@ -1033,7 +1036,9 @@ public class ZbdcModel {
public List<Record> getSummaryBaseInfo(int year) {
Kv kv = Kv.by("year", year);
SqlPara sqlPara = Db.getSqlPara("Zbdc.getSummaryBaseInfo", kv);
return Db.find(sqlPara);
List<Record> list = Db.find(sqlPara);
list = expandList(list);
return list;
}
/**
@ -1045,7 +1050,48 @@ public class ZbdcModel {
public List<Record> getSummaryCgzb(int year) {
Kv kv = Kv.by("year", year);
SqlPara sqlPara = Db.getSqlPara("Zbdc.getSummaryCgzb", kv);
List<Record> list=Db.find(sqlPara);
List<Record> list = Db.find(sqlPara);
list = expandList(list);
//共七个配备率,需要重新计算
Map<String, Kv> wlPbl = calcPbl(year, new String[]{"初中物理", "高中物理"}); //key:市直,二道区,南关区 Kv:count,radio
Map<String, Kv> hxPbl = calcPbl(year, new String[]{"初中化学", "高中化学"});
Map<String, Kv> swPbl = calcPbl(year, new String[]{"初中生物", "高中生物"});
Map<String, Kv> kxPbl = calcPbl(year, new String[]{"小学科学"});
Map<String, Kv> yyPbl = calcPbl(year, new String[]{"小学音乐", "初中音乐"});
Map<String, Kv> tyPbl = calcPbl(year, new String[]{"小学体育", "初中体育", "高中体育"});
Map<String, Kv> msPbl = calcPbl(year, new String[]{"小学美术", "初中美术", "高中美术"});
//修改一下list
for (Record record : list) {
String area_name = record.getStr("area_name");
if (wlPbl.containsKey(area_name)) {//物理配备率
float value = wlPbl.get(area_name).getFloat("radio") / wlPbl.get(area_name).getInt("count");
record.set("wl_pbl", String.format("%.2f%%", value * 100));
}
if (hxPbl.containsKey(area_name)) {//化学配备率
float value = hxPbl.get(area_name).getFloat("radio") / hxPbl.get(area_name).getInt("count");
record.set("hx_pbl", String.format("%.2f%%", value * 100));
}
if (swPbl.containsKey(area_name)) {//生物配备率
float value = swPbl.get(area_name).getFloat("radio") / swPbl.get(area_name).getInt("count");
record.set("sw_pbl", String.format("%.2f%%", value * 100));
}
if (kxPbl.containsKey(area_name)) {//小学科学配备率
float value = kxPbl.get(area_name).getFloat("radio") / kxPbl.get(area_name).getInt("count");
record.set("kx_pbl", String.format("%.2f%%", value * 100));
}
if (yyPbl.containsKey(area_name)) {//音乐配备率
float value = yyPbl.get(area_name).getFloat("radio") / yyPbl.get(area_name).getInt("count");
record.set("yy_pbl", String.format("%.2f%%", value * 100));
}
if (tyPbl.containsKey(area_name)) {//体育配备率
float value = tyPbl.get(area_name).getFloat("radio") / tyPbl.get(area_name).getInt("count");
record.set("ty_pbl", String.format("%.2f%%", value * 100));
}
if (msPbl.containsKey(area_name)) {//美术配备率
float value = msPbl.get(area_name).getFloat("radio") / msPbl.get(area_name).getInt("count");
record.set("ms_pbl", String.format("%.2f%%", value * 100));
}
}
return list;
}
@ -1094,4 +1140,35 @@ public class ZbdcModel {
}
return res;
}
/**
* String[] kmList = {"初中物理", "高中物理"};
*
* @param year
* @param kmList
* @return
*/
public Map<String, Kv> calcPbl(int year, String[] kmList) {
Map<String, Kv> _map = new HashMap<>();
for (int i = 0; i < kmList.length; i++) {
Kv kv = Kv.by("year", year);
kv.set("km", kmList[i]);
SqlPara sqlPara = Db.getSqlPara("Zbdc.calcPbl", kv);
List<Record> list = Db.find(sqlPara);
for (Record record : list) {
String area_name = record.getStr("area_name");
if (!_map.containsKey(area_name)) {
kv = Kv.by("count", 1);
kv.set("radio", record.getFloat("radio"));
_map.put(area_name, kv);
} else {
kv = _map.get(area_name);
kv.set("count", kv.getInt("count") + 1);
kv.set("radio", kv.getFloat("radio") + record.getFloat("radio"));
}
}
}
return _map;
}
}

@ -75,15 +75,15 @@
sum(wl_cgss) as wl_cgss, ---()
sum(wl_tjss) as wl_tjss, ---()
sum(wl_yqsss) as wl_yqsss, ---
0 as wl_pbl, --
'0%' as wl_pbl, --
sum(hx_cgss) as hx_cgss, ---()
sum(hx_tjss) as hx_tjss, ---()
sum(hx_yqsss) as hx_yqsss, ---
0 as hx_pbl, --
'0%' as hx_pbl, --
sum(sw_cgss) as sw_cgss, ---()
sum(sw_tjss) as sw_tjss, ---()
sum(sw_yqsss) as sw_yqsss, ---
0 as sw_pbl, --
'0%' as sw_pbl, --
sum(dljs) as dljs, ---
sum(lsjs) as lsjs, -- 历史教室-室数
sum(tyjsjs) as tyjsjs, -- 通用技术教室-室数
@ -95,23 +95,23 @@
sum(xxkx_yqsmj) as xxkx_yqsmj,
sum(xxkx_yqyppz) as xxkx_yqyppz,
sum(xxkx_yqypjs) as xxkx_yqypjs,
0 as xxkx_pbl, --
'0%' as xxkx_pbl, --
sum(yy_jssj) as yy_jssj,
sum(yy_mj) as yy_mj,
sum(yy_qckjs) as yy_qckjs,
sum(yy_qcyppz) as yy_qcyppz,
sum(yy_qcypjs) as yy_qcypjs,
0 as yy_pbl, --
'0%' as yy_pbl, --
sum(ty_gs) as ty_gs,
sum(ty_qckjs) as ty_qckjs,
sum(ty_qcyppz) as ty_qcyppz,
sum(ty_qcypj) as ty_qcypj,
0 as ty_pbl, --
'0%' as ty_pbl, --
sum(ms_jsss) as ms_jsss,
sum(ms_qckjs) as ms_qckjs,
sum(ms_qcyppz) as ms_qcyppz,
sum(ms_qcypj) as ms_qcypj,
0 as ms_pbl, --
'0%' as ms_pbl, --
sum(sfjs) as sfjs,
sum(wsbj) as wsbj,
sum(lj_qjywsss) as lj_qjywsss,
@ -133,21 +133,73 @@
sum(hyd_wgzjss) as hyd_wgzjss
from t_zbdc_bureau_cgzb group by area_id,area_name;
#end
-- 计算配备率
#sql("calcPbl")
select bureau_id,area_name,nowcnt,needcnt,ROUND(1.0*nowCnt / needCnt, 2) AS radio from (
select t1.bureau_id,t1.area_id,t1.area_name,count(1) as nowCnt,
(select count(1) from t_zbdc_templet where km_name=#para(km) and bp='√') needCnt
from t_zbdc_fill as t1 where year=#para(year) and xysl>0 and templet_id in (
select templet_id from t_zbdc_templet where km_name=#para(km) and bp='√') group by t1.area_id,t1.area_name,t1.bureau_id
) as t2
#end
#sql("xxhzbSummary_a")
select area_name, sum(taishu) as a_taishu,
sum(case when lb_name='网络环境' then taishu else 0 end) as a_wlhj_count,
sum (case when lb_name='存储容量' then taishu else 0 end) as a_ccrl_count,
sum (case when lb_name='校园安全监控' then taishu else 0 end) as a_xyaqjk_count
-- 基础环境
#sql("xxhzbSummary_jchj")
select area_name, sum(taishu) as jchj_taishu,
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
#end
#sql("xxhbSummary_b")
select area_name, sum(taishu) as a_taishu,
sum(case when lb_name='学生用计算机教室1' or lb_name='学生用计算机教室2' then taishu else 0 end) as b_xsjsjjs_count,
sum (case when lb_name='智慧教室' then taishu else 0 end) as b_zhjs_count,
sum (case when lb_name='电子图书阅览室' then taishu else 0 end) as b_dztsyls_count,
sum(case when lb_name='教师用计算机1' or lb_name='教师用计算机2' then taishu else 0 end) as b_jsyjsj_count,
sum(case when lb_name='电子备课室' then taishu else 0 end) as b_dzbks_count
-- 数字终端
#sql("xxhbSummary_szzd")
select area_name, sum(taishu) as szzd_taishu,
sum(case when lb_name='学生用计算机教室1' or lb_name='学生用计算机教室2' then taishu else 0 end) as szzd_xsjsjjs_count,
sum (case when lb_name='智慧教室' then taishu else 0 end) as szzd_zhjs_count,
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
#end
#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
#end
-- 数字化教学空间2
#sql("xxhbSummary_szhjxkj2")
select area_name, sum(shuliang) as szhjxkj2_taishu,
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_dgnjs_count,
sum(case when lb_name='精品录播教室1' or lb_name='精品录播教室2' then shuliang else 0 end) as szhjxkj2_jplbsb_count,
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
#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;
#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;
#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;
#end
-- 互联网带宽
#sql("xxhbSummary_hlwdk")
select area_name, sum(hlwdk) as hlwdk_hlwdk
from t_zbdc_xxjs_szzd_wlaq GROUP BY area_name;
#end
#end
Loading…
Cancel
Save