2024年7月26日 修复问题,修补合行后斑马纹不正常的问题,修复部分图表没有【非常不满意】的问题

This commit is contained in:
bai 2024-07-26 02:15:39 +08:00
parent d26d77b570
commit bee06cd0c6
5 changed files with 302 additions and 68 deletions

View File

@ -140,6 +140,8 @@ public interface BlStuAnswerMapper extends BaseMapper<BlStuAnswer> {
String b2_1_4(BlStuInfo blStuMain); String b2_1_4(BlStuInfo blStuMain);
String b2_1_4_1(BlStuInfo blStuMain);
@InterceptorIgnore(tenantLine = "true") @InterceptorIgnore(tenantLine = "true")
@MapKey("key") @MapKey("key")
List<Map<String, String>> i2_1(BlStuInfo blStuMain); List<Map<String, String>> i2_1(BlStuInfo blStuMain);

View File

@ -302,7 +302,7 @@
</select> </select>
<select id="b1_3_2" resultType="String"> <select id="b1_3_2" resultType="String">
select concat(round(round(sum(INTERACT_METHOD1)/count('x'),2)*100)) from bl_stu_answer where main_id = #{id} select concat(round(round(sum(INTERACT_RESEARCH1)/count('x'),2)*100)) from bl_stu_answer where main_id = #{id}
</select> </select>
<select id="b1_3_3" resultType="String"> <select id="b1_3_3" resultType="String">
@ -310,21 +310,10 @@
</select> </select>
<select id="b1_3_4" resultType="String"> <select id="b1_3_4" resultType="String">
select concat(round(round(sum(INTERACT_RESEARCH1)/count('x'),2)*100)) from bl_stu_answer where main_id = #{id} select concat(round(round(sum(INTERACT_METHOD1)/count('x'),2)*100)) from bl_stu_answer where main_id = #{id}
</select> </select>
<select id="i1_9" resultType="java.util.LinkedHashMap"> <select id="i1_9" resultType="java.util.LinkedHashMap">
select '和同学合作完成课程任务或作业' as 'key',
round(round(a.fc_cnt/f.tot_cnt,2)*100) as '总是',
round(round(b.bj_cnt/f.tot_cnt,2)*100) as '经常',
round(round(c.yb_cnt/f.tot_cnt,2)*100) as '偶尔',
round(round(e.fcb_cnt/f.tot_cnt,2)*100) as '从不' from
(select count('x') as fc_cnt from bl_stu_answer where main_id = #{id} and INTERACT_TASK = '总是')a,
(select count('x') as bj_cnt from bl_stu_answer where main_id = #{id} and INTERACT_TASK = '经常')b,
(select count('x') as yb_cnt from bl_stu_answer where main_id = #{id} and INTERACT_TASK = '偶尔')c,
(select count('x') as fcb_cnt from bl_stu_answer where main_id = #{id} and INTERACT_TASK = '从不')e,
(select count('x') as tot_cnt from bl_stu_answer where main_id = #{id})f
union all
select '从同学那里学习、吸收好的学习方法' as 'key', select '从同学那里学习、吸收好的学习方法' as 'key',
round(round(a.fc_cnt/f.tot_cnt,2)*100) as '总是', round(round(a.fc_cnt/f.tot_cnt,2)*100) as '总是',
round(round(b.bj_cnt/f.tot_cnt,2)*100) as '经常', round(round(b.bj_cnt/f.tot_cnt,2)*100) as '经常',
@ -336,15 +325,15 @@
(select count('x') as fcb_cnt from bl_stu_answer where main_id = #{id} and INTERACT_METHOD = '从不')e, (select count('x') as fcb_cnt from bl_stu_answer where main_id = #{id} and INTERACT_METHOD = '从不')e,
(select count('x') as tot_cnt from bl_stu_answer where main_id = #{id})f (select count('x') as tot_cnt from bl_stu_answer where main_id = #{id})f
union all union all
select '和同学一起参加学科竞赛' as 'key', select '和同学合作完成课程任务或作业' as 'key',
round(round(a.fc_cnt/f.tot_cnt,2)*100) as '总是', round(round(a.fc_cnt/f.tot_cnt,2)*100) as '总是',
round(round(b.bj_cnt/f.tot_cnt,2)*100) as '经常', round(round(b.bj_cnt/f.tot_cnt,2)*100) as '经常',
round(round(c.yb_cnt/f.tot_cnt,2)*100) as '偶尔', round(round(c.yb_cnt/f.tot_cnt,2)*100) as '偶尔',
round(round(e.fcb_cnt/f.tot_cnt,2)*100) as '从不' from round(round(e.fcb_cnt/f.tot_cnt,2)*100) as '从不' from
(select count('x') as fc_cnt from bl_stu_answer where main_id = #{id} and INTERACT_COMPETITION = '总是')a, (select count('x') as fc_cnt from bl_stu_answer where main_id = #{id} and INTERACT_TASK = '总是')a,
(select count('x') as bj_cnt from bl_stu_answer where main_id = #{id} and INTERACT_COMPETITION = '经常')b, (select count('x') as bj_cnt from bl_stu_answer where main_id = #{id} and INTERACT_TASK = '经常')b,
(select count('x') as yb_cnt from bl_stu_answer where main_id = #{id} and INTERACT_COMPETITION = '偶尔')c, (select count('x') as yb_cnt from bl_stu_answer where main_id = #{id} and INTERACT_TASK = '偶尔')c,
(select count('x') as fcb_cnt from bl_stu_answer where main_id = #{id} and INTERACT_COMPETITION = '从不')e, (select count('x') as fcb_cnt from bl_stu_answer where main_id = #{id} and INTERACT_TASK = '从不')e,
(select count('x') as tot_cnt from bl_stu_answer where main_id = #{id})f (select count('x') as tot_cnt from bl_stu_answer where main_id = #{id})f
union all union all
select '和同学一起参与老师科研团队' as 'key', select '和同学一起参与老师科研团队' as 'key',
@ -357,6 +346,17 @@
(select count('x') as yb_cnt from bl_stu_answer where main_id = #{id} and INTERACT_RESEARCH = '偶尔')c, (select count('x') as yb_cnt from bl_stu_answer where main_id = #{id} and INTERACT_RESEARCH = '偶尔')c,
(select count('x') as fcb_cnt from bl_stu_answer where main_id = #{id} and INTERACT_RESEARCH = '从不')e, (select count('x') as fcb_cnt from bl_stu_answer where main_id = #{id} and INTERACT_RESEARCH = '从不')e,
(select count('x') as tot_cnt from bl_stu_answer where main_id = #{id})f (select count('x') as tot_cnt from bl_stu_answer where main_id = #{id})f
union all
select '和同学一起参加学科竞赛' as 'key',
round(round(a.fc_cnt/f.tot_cnt,2)*100) as '总是',
round(round(b.bj_cnt/f.tot_cnt,2)*100) as '经常',
round(round(c.yb_cnt/f.tot_cnt,2)*100) as '偶尔',
round(round(e.fcb_cnt/f.tot_cnt,2)*100) as '从不' from
(select count('x') as fc_cnt from bl_stu_answer where main_id = #{id} and INTERACT_COMPETITION = '总是')a,
(select count('x') as bj_cnt from bl_stu_answer where main_id = #{id} and INTERACT_COMPETITION = '经常')b,
(select count('x') as yb_cnt from bl_stu_answer where main_id = #{id} and INTERACT_COMPETITION = '偶尔')c,
(select count('x') as fcb_cnt from bl_stu_answer where main_id = #{id} and INTERACT_COMPETITION = '从不')e,
(select count('x') as tot_cnt from bl_stu_answer where main_id = #{id})f
</select> </select>
<select id="t1_10" resultType="java.util.LinkedHashMap"> <select id="t1_10" resultType="java.util.LinkedHashMap">
@ -383,10 +383,10 @@
union all union all
select '从同学那里学习、吸收好的学习方法' as 'key',a.d1 as '01',b.d2 as '02',c.d3 as '03',d.d4 as '04' select '从同学那里学习、吸收好的学习方法' as 'key',a.d1 as '01',b.d2 as '02',c.d3 as '03',d.d4 as '04'
from from
(select round(round(sum(INTERACT_RESEARCH1)/count('x'),2)*100)as d1 from bl_stu_answer where main_id = #{id} and nianji = '大一' )a, (select round(round(sum(INTERACT_METHOD1)/count('x'),2)*100)as d1 from bl_stu_answer where main_id = #{id} and nianji = '大一' )a,
(select round(round(sum(INTERACT_RESEARCH1)/count('x'),2)*100)as d2 from bl_stu_answer where main_id = #{id} and nianji = '大二' )b, (select round(round(sum(INTERACT_METHOD1)/count('x'),2)*100)as d2 from bl_stu_answer where main_id = #{id} and nianji = '大二' )b,
(select round(round(sum(INTERACT_RESEARCH1)/count('x'),2)*100)as d3 from bl_stu_answer where main_id = #{id} and nianji = '大三' )c, (select round(round(sum(INTERACT_METHOD1)/count('x'),2)*100)as d3 from bl_stu_answer where main_id = #{id} and nianji = '大三' )c,
(select round(round(sum(INTERACT_RESEARCH1)/count('x'),2)*100)as d4 from bl_stu_answer where main_id = #{id} and nianji = '大四' )d (select round(round(sum(INTERACT_METHOD1)/count('x'),2)*100)as d4 from bl_stu_answer where main_id = #{id} and nianji = '大四' )d
</select> </select>
<select id="t1_11" resultType="java.util.LinkedHashMap"> <select id="t1_11" resultType="java.util.LinkedHashMap">
@ -395,7 +395,7 @@
round(round(sum(INTERACT_TASK1)/count('x'),2)*100) as '01', round(round(sum(INTERACT_TASK1)/count('x'),2)*100) as '01',
round(round(sum(INTERACT_RESEARCH1)/count('x'),2)*100) as '02', round(round(sum(INTERACT_RESEARCH1)/count('x'),2)*100) as '02',
round(round(sum(INTERACT_COMPETITION1)/count('x'),2)*100) as '03', round(round(sum(INTERACT_COMPETITION1)/count('x'),2)*100) as '03',
round(round(sum(INTERACT_RESEARCH1)/count('x'),2)*100) as '04' round(round(sum(INTERACT_METHOD1)/count('x'),2)*100) as '04'
from bl_stu_answer where main_id = #{id} GROUP BY major from bl_stu_answer where main_id = #{id} GROUP BY major
HAVING count(*) > #{minNum} HAVING count(*) > #{minNum}
order by CONVERT(major USING gbk) COLLATE gbk_chinese_ci order by CONVERT(major USING gbk) COLLATE gbk_chinese_ci
@ -470,10 +470,10 @@
<select id="t1_14" resultType="java.util.LinkedHashMap"> <select id="t1_14" resultType="java.util.LinkedHashMap">
select z.major as 'key',round(round(z.z_cnt/t.tot_cnt,2)*100) as '01',round(round(y.y_cnt/t.tot_cnt,2)*100) as '02',round(round(x.x_cnt/t.tot_cnt,2)*100) as '03',round(round(n.n_cnt/t.tot_cnt,2)*100) as '04' select z.major as 'key',round(round(z.z_cnt/t.tot_cnt,2)*100) as '01',round(round(y.y_cnt/t.tot_cnt,2)*100) as '02',round(round(x.x_cnt/t.tot_cnt,2)*100) as '03',round(round(n.n_cnt/t.tot_cnt,2)*100) as '04'
from from
(select major,count('x') as z_cnt from bl_stu_answer where main_id = #{id} and EXCHANGE_FREQ = '每周至少一次' GROUP BY major HAVING count(*) > #{minNum})z, (select major,count('x') as z_cnt from bl_stu_answer where main_id = #{id} and EXCHANGE_FREQ = '每周至少一次' GROUP BY major)z,
(select major,count('x') as y_cnt from bl_stu_answer where main_id = #{id} and EXCHANGE_FREQ = '每月至少一次' GROUP BY major HAVING count(*) > #{minNum})y, (select major,count('x') as y_cnt from bl_stu_answer where main_id = #{id} and EXCHANGE_FREQ = '每月至少一次' GROUP BY major)y,
(select major,count('x') as x_cnt from bl_stu_answer where main_id = #{id} and EXCHANGE_FREQ = '每学期至少一次' GROUP BY major HAVING count(*) > #{minNum})x, (select major,count('x') as x_cnt from bl_stu_answer where main_id = #{id} and EXCHANGE_FREQ = '每学期至少一次' GROUP BY major)x,
(select major,count('x') as n_cnt from bl_stu_answer where main_id = #{id} and EXCHANGE_FREQ = '每年至少一次' GROUP BY major HAVING count(*) > #{minNum})n, (select major,count('x') as n_cnt from bl_stu_answer where main_id = #{id} and EXCHANGE_FREQ = '每年至少一次' GROUP BY major)n,
(select major,count('x') as tot_cnt from bl_stu_answer where main_id = #{id} GROUP BY major HAVING count(*) > #{minNum})t (select major,count('x') as tot_cnt from bl_stu_answer where main_id = #{id} GROUP BY major HAVING count(*) > #{minNum})t
where z.major = y.major where z.major = y.major
and z.major = x.major and z.major = x.major
@ -508,17 +508,25 @@
(select count('x') as tot_cnt from bl_stu_answer where main_id = #{id})b (select count('x') as tot_cnt from bl_stu_answer where main_id = #{id})b
</select> </select>
<select id="b2_1_4_1" resultType="String">
select concat(round(round(a.fc_cnt/b.tot_cnt,2)*100)) from
(select count('x') as fc_cnt from bl_stu_answer where main_id = #{id} and SXZZK_SATI = '非常不满意')a,
(select count('x') as tot_cnt from bl_stu_answer where main_id = #{id})b
</select>
<select id="i2_1" resultType="java.util.LinkedHashMap"> <select id="i2_1" resultType="java.util.LinkedHashMap">
select '思政课程总体满意度' as 'key', select '思政课程总体满意度' as 'key',
round(round(a.fc_cnt/f.tot_cnt,2)*100) as '非常满意', round(round(a.fc_cnt/f.tot_cnt,2)*100) as '非常满意',
round(round(b.bj_cnt/f.tot_cnt,2)*100) as '比较满意', round(round(b.bj_cnt/f.tot_cnt,2)*100) as '比较满意',
round(round(c.yb_cnt/f.tot_cnt,2)*100) as '一般', round(round(c.yb_cnt/f.tot_cnt,2)*100) as '一般',
round(round(d.bjb_cnt/f.tot_cnt,2)*100) as '比较不满意' round(round(d.bjb_cnt/f.tot_cnt,2)*100) as '比较不满意',
round(round(e.bjb_cnt/f.tot_cnt,2)*100) as '非常不满意'
from from
(select count('x') as fc_cnt from bl_stu_answer where main_id = #{id} and SXZZK_SATI = '非常满意')a, (select count('x') as fc_cnt from bl_stu_answer where main_id = #{id} and SXZZK_SATI = '非常满意')a,
(select count('x') as bj_cnt from bl_stu_answer where main_id = #{id} and SXZZK_SATI = '比较满意')b, (select count('x') as bj_cnt from bl_stu_answer where main_id = #{id} and SXZZK_SATI = '比较满意')b,
(select count('x') as yb_cnt from bl_stu_answer where main_id = #{id} and SXZZK_SATI = '一般')c, (select count('x') as yb_cnt from bl_stu_answer where main_id = #{id} and SXZZK_SATI = '一般')c,
(select count('x') as bjb_cnt from bl_stu_answer where main_id = #{id} and SXZZK_SATI = '比较不满意')d, (select count('x') as bjb_cnt from bl_stu_answer where main_id = #{id} and SXZZK_SATI = '比较不满意')d,
(select count('x') as bjb_cnt from bl_stu_answer where main_id = #{id} and SXZZK_SATI = '非常不满意')e,
(select count('x') as tot_cnt from bl_stu_answer where main_id = #{id})f (select count('x') as tot_cnt from bl_stu_answer where main_id = #{id})f
</select> </select>
@ -553,44 +561,56 @@
round(round(a.fc_cnt/f.tot_cnt,2)*100) as '非常满意', round(round(a.fc_cnt/f.tot_cnt,2)*100) as '非常满意',
round(round(b.bj_cnt/f.tot_cnt,2)*100) as '比较满意', round(round(b.bj_cnt/f.tot_cnt,2)*100) as '比较满意',
round(round(c.yb_cnt/f.tot_cnt,2)*100) as '一般', round(round(c.yb_cnt/f.tot_cnt,2)*100) as '一般',
round(round(d.bjb_cnt/f.tot_cnt,2)*100) as '比较不满意' from round(round(d.bjb_cnt/f.tot_cnt,2)*100) as '比较不满意',
round(round(e.bjb_cnt/f.tot_cnt,2)*100) as '非常不满意'
from
(select count('x') as fc_cnt from bl_stu_answer where main_id = #{id} and SXZZK_ZHILIANG = '非常满意')a, (select count('x') as fc_cnt from bl_stu_answer where main_id = #{id} and SXZZK_ZHILIANG = '非常满意')a,
(select count('x') as bj_cnt from bl_stu_answer where main_id = #{id} and SXZZK_ZHILIANG = '比较满意')b, (select count('x') as bj_cnt from bl_stu_answer where main_id = #{id} and SXZZK_ZHILIANG = '比较满意')b,
(select count('x') as yb_cnt from bl_stu_answer where main_id = #{id} and SXZZK_ZHILIANG = '一般')c, (select count('x') as yb_cnt from bl_stu_answer where main_id = #{id} and SXZZK_ZHILIANG = '一般')c,
(select count('x') as bjb_cnt from bl_stu_answer where main_id = #{id} and SXZZK_ZHILIANG = '比较不满意')d, (select count('x') as bjb_cnt from bl_stu_answer where main_id = #{id} and SXZZK_ZHILIANG = '比较不满意')d,
(select count('x') as bjb_cnt from bl_stu_answer where main_id = #{id} and SXZZK_ZHILIANG = '非常不满意')e,
(select count('x') as tot_cnt from bl_stu_answer where main_id = #{id})f (select count('x') as tot_cnt from bl_stu_answer where main_id = #{id})f
union all union all
select '教学质量' as 'key', select '教学质量' as 'key',
round(round(a.fc_cnt/f.tot_cnt,2)*100) as '非常满意', round(round(a.fc_cnt/f.tot_cnt,2)*100) as '非常满意',
round(round(b.bj_cnt/f.tot_cnt,2)*100) as '比较满意', round(round(b.bj_cnt/f.tot_cnt,2)*100) as '比较满意',
round(round(c.yb_cnt/f.tot_cnt,2)*100) as '一般', round(round(c.yb_cnt/f.tot_cnt,2)*100) as '一般',
round(round(d.bjb_cnt/f.tot_cnt,2)*100) as '比较不满意'from round(round(d.bjb_cnt/f.tot_cnt,2)*100) as '比较不满意',
round(round(e.bjb_cnt/f.tot_cnt,2)*100) as '非常不满意'
from
(select count('x') as fc_cnt from bl_stu_answer where main_id = #{id} and SXZZK_ZHILIANG = '非常满意')a, (select count('x') as fc_cnt from bl_stu_answer where main_id = #{id} and SXZZK_ZHILIANG = '非常满意')a,
(select count('x') as bj_cnt from bl_stu_answer where main_id = #{id} and SXZZK_ZHILIANG = '比较满意')b, (select count('x') as bj_cnt from bl_stu_answer where main_id = #{id} and SXZZK_ZHILIANG = '比较满意')b,
(select count('x') as yb_cnt from bl_stu_answer where main_id = #{id} and SXZZK_ZHILIANG = '一般')c, (select count('x') as yb_cnt from bl_stu_answer where main_id = #{id} and SXZZK_ZHILIANG = '一般')c,
(select count('x') as bjb_cnt from bl_stu_answer where main_id = #{id} and SXZZK_ZHILIANG = '比较不满意')d, (select count('x') as bjb_cnt from bl_stu_answer where main_id = #{id} and SXZZK_ZHILIANG = '比较不满意')d,
(select count('x') as bjb_cnt from bl_stu_answer where main_id = #{id} and SXZZK_ZHILIANG = '非常不满意')e,
(select count('x') as tot_cnt from bl_stu_answer where main_id = #{id})f (select count('x') as tot_cnt from bl_stu_answer where main_id = #{id})f
union all union all
select '教学内容' as 'key', select '教学内容' as 'key',
round(round(a.fc_cnt/f.tot_cnt,2)*100) as '非常满意', round(round(a.fc_cnt/f.tot_cnt,2)*100) as '非常满意',
round(round(b.bj_cnt/f.tot_cnt,2)*100) as '比较满意', round(round(b.bj_cnt/f.tot_cnt,2)*100) as '比较满意',
round(round(c.yb_cnt/f.tot_cnt,2)*100) as '一般', round(round(c.yb_cnt/f.tot_cnt,2)*100) as '一般',
round(round(d.bjb_cnt/f.tot_cnt,2)*100) as '比较不满意'from round(round(d.bjb_cnt/f.tot_cnt,2)*100) as '比较不满意',
round(round(e.bjb_cnt/f.tot_cnt,2)*100) as '非常不满意'
from
(select count('x') as fc_cnt from bl_stu_answer where main_id = #{id} and SXZZK_NEIRONG = '非常满意')a, (select count('x') as fc_cnt from bl_stu_answer where main_id = #{id} and SXZZK_NEIRONG = '非常满意')a,
(select count('x') as bj_cnt from bl_stu_answer where main_id = #{id} and SXZZK_NEIRONG = '比较满意')b, (select count('x') as bj_cnt from bl_stu_answer where main_id = #{id} and SXZZK_NEIRONG = '比较满意')b,
(select count('x') as yb_cnt from bl_stu_answer where main_id = #{id} and SXZZK_NEIRONG = '一般')c, (select count('x') as yb_cnt from bl_stu_answer where main_id = #{id} and SXZZK_NEIRONG = '一般')c,
(select count('x') as bjb_cnt from bl_stu_answer where main_id = #{id} and SXZZK_NEIRONG = '比较不满意')d, (select count('x') as bjb_cnt from bl_stu_answer where main_id = #{id} and SXZZK_NEIRONG = '比较不满意')d,
(select count('x') as bjb_cnt from bl_stu_answer where main_id = #{id} and SXZZK_NEIRONG = '非常不满意')e,
(select count('x') as tot_cnt from bl_stu_answer where main_id = #{id})f (select count('x') as tot_cnt from bl_stu_answer where main_id = #{id})f
union all union all
select '教学效果' as 'key', select '教学效果' as 'key',
round(round(a.fc_cnt/f.tot_cnt,2)*100) as '非常满意', round(round(a.fc_cnt/f.tot_cnt,2)*100) as '非常满意',
round(round(b.bj_cnt/f.tot_cnt,2)*100) as '比较满意', round(round(b.bj_cnt/f.tot_cnt,2)*100) as '比较满意',
round(round(c.yb_cnt/f.tot_cnt,2)*100) as '一般', round(round(c.yb_cnt/f.tot_cnt,2)*100) as '一般',
round(round(d.bjb_cnt/f.tot_cnt,2)*100) as '比较不满意' from round(round(d.bjb_cnt/f.tot_cnt,2)*100) as '比较不满意',
round(round(e.bjb_cnt/f.tot_cnt,2)*100) as '非常不满意'
from
(select count('x') as fc_cnt from bl_stu_answer where main_id = #{id} and SXZZK_XIAOGUO = '非常满意')a, (select count('x') as fc_cnt from bl_stu_answer where main_id = #{id} and SXZZK_XIAOGUO = '非常满意')a,
(select count('x') as bj_cnt from bl_stu_answer where main_id = #{id} and SXZZK_XIAOGUO = '比较满意')b, (select count('x') as bj_cnt from bl_stu_answer where main_id = #{id} and SXZZK_XIAOGUO = '比较满意')b,
(select count('x') as yb_cnt from bl_stu_answer where main_id = #{id} and SXZZK_XIAOGUO = '一般')c, (select count('x') as yb_cnt from bl_stu_answer where main_id = #{id} and SXZZK_XIAOGUO = '一般')c,
(select count('x') as bjb_cnt from bl_stu_answer where main_id = #{id} and SXZZK_XIAOGUO = '比较不满意')d, (select count('x') as bjb_cnt from bl_stu_answer where main_id = #{id} and SXZZK_XIAOGUO = '比较不满意')d,
(select count('x') as bjb_cnt from bl_stu_answer where main_id = #{id} and SXZZK_XIAOGUO = '非常不满意')e,
(select count('x') as tot_cnt from bl_stu_answer where main_id = #{id})f (select count('x') as tot_cnt from bl_stu_answer where main_id = #{id})f
</select> </select>
@ -968,6 +988,7 @@
</select> </select>
<select id="i2_16" resultType="java.util.LinkedHashMap"> <select id="i2_16" resultType="java.util.LinkedHashMap">
select a.* from (
select '卷面考试' as 'key' ,round(round(b.no_cnt/a.tot_cnt,2)*100) as '01' from (select count('x') as tot_cnt from bl_stu_answer where main_id = #{id})a,(select count('x') as no_cnt from bl_stu_answer where main_id = #{id} and EVALUATE_JUANMIAN = '1')b select '卷面考试' as 'key' ,round(round(b.no_cnt/a.tot_cnt,2)*100) as '01' from (select count('x') as tot_cnt from bl_stu_answer where main_id = #{id})a,(select count('x') as no_cnt from bl_stu_answer where main_id = #{id} and EVALUATE_JUANMIAN = '1')b
union all union all
select '随堂提问或测试' as 'key' ,round(round(b.no_cnt/a.tot_cnt,2)*100) as '01' from (select count('x') as tot_cnt from bl_stu_answer where main_id = #{id})a,(select count('x') as no_cnt from bl_stu_answer where main_id = #{id} and EVALUATE_TIWEN = '1')b select '随堂提问或测试' as 'key' ,round(round(b.no_cnt/a.tot_cnt,2)*100) as '01' from (select count('x') as tot_cnt from bl_stu_answer where main_id = #{id})a,(select count('x') as no_cnt from bl_stu_answer where main_id = #{id} and EVALUATE_TIWEN = '1')b
@ -979,6 +1000,7 @@
select '个人独立完成的课程作业' as 'key' ,round(round(b.no_cnt/a.tot_cnt,2)*100) as '01' from (select count('x') as tot_cnt from bl_stu_answer where main_id = #{id})a,(select count('x') as no_cnt from bl_stu_answer where main_id = #{id} and EVALUATE_GEREN = '1')b select '个人独立完成的课程作业' as 'key' ,round(round(b.no_cnt/a.tot_cnt,2)*100) as '01' from (select count('x') as tot_cnt from bl_stu_answer where main_id = #{id})a,(select count('x') as no_cnt from bl_stu_answer where main_id = #{id} and EVALUATE_GEREN = '1')b
union all union all
select '过课程论文或实验报告' as 'key' ,round(round(b.no_cnt/a.tot_cnt,2)*100) as '01' from (select count('x') as tot_cnt from bl_stu_answer where main_id = #{id})a,(select count('x') as no_cnt from bl_stu_answer where main_id = #{id} and EVALUATE_LUNWEN = '1')b select '过课程论文或实验报告' as 'key' ,round(round(b.no_cnt/a.tot_cnt,2)*100) as '01' from (select count('x') as tot_cnt from bl_stu_answer where main_id = #{id})a,(select count('x') as no_cnt from bl_stu_answer where main_id = #{id} and EVALUATE_LUNWEN = '1')b
) a ORDER BY a.`01` desc
</select> </select>
<select id="i2_17" resultType="java.util.LinkedHashMap"> <select id="i2_17" resultType="java.util.LinkedHashMap">
@ -1105,6 +1127,7 @@
</select> </select>
<select id="i2_21" resultType="java.util.LinkedHashMap"> <select id="i2_21" resultType="java.util.LinkedHashMap">
select a.* from (
select '学生社团活动' as 'key' ,round(round(sum(ACTIVITY_SOCIETY)/count('x'),2)*100) as '01' from bl_stu_answer where main_id = #{id} select '学生社团活动' as 'key' ,round(round(sum(ACTIVITY_SOCIETY)/count('x'),2)*100) as '01' from bl_stu_answer where main_id = #{id}
UNION all UNION all
select '校园文化活动' as 'key' ,round(round(sum(ACTIVITY_CULTURE)/count('x'),2)*100) as '01' from bl_stu_answer where main_id = #{id} select '校园文化活动' as 'key' ,round(round(sum(ACTIVITY_CULTURE)/count('x'),2)*100) as '01' from bl_stu_answer where main_id = #{id}
@ -1114,6 +1137,7 @@
select '创新创业活动' as 'key' ,round(round(sum(ACTIVITY_INNO)/count('x'),2)*100) as '01' from bl_stu_answer where main_id = #{id} select '创新创业活动' as 'key' ,round(round(sum(ACTIVITY_INNO)/count('x'),2)*100) as '01' from bl_stu_answer where main_id = #{id}
UNION all UNION all
select '国际交流活动' as 'key' ,round(round(sum(ACTIVITY_GLOBAL)/count('x'),2)*100) as '01' from bl_stu_answer where main_id = #{id} select '国际交流活动' as 'key' ,round(round(sum(ACTIVITY_GLOBAL)/count('x'),2)*100) as '01' from bl_stu_answer where main_id = #{id}
) a ORDER BY a.`01` desc
</select> </select>
<select id="i2_22" resultType="java.util.LinkedHashMap"> <select id="i2_22" resultType="java.util.LinkedHashMap">
@ -1241,11 +1265,11 @@
<select id="t2_25" resultType="java.util.LinkedHashMap"> <select id="t2_25" resultType="java.util.LinkedHashMap">
select a.MAJOR as 'key',a.d1 as '01',b.d2 as '02',c.d3 as '03',d.d4 as '04',e.d5 as '05' from select a.MAJOR as 'key',a.d1 as '01',b.d2 as '02',c.d3 as '03',d.d4 as '04',e.d5 as '05' from
(select major,round(avg(ACTISATI_SOCIETY2)) as d1 from bl_stu_answer where main_id = #{id} and ACTISATI_SOCIETY2 + 0 > 0 GROUP BY MAJOR HAVING count(*) > #{minNum})a, (select major,round(avg(ACTISATI_SOCIETY2)) as d1 from bl_stu_answer where main_id = #{id} and ACTISATI_SOCIETY2 + 0 > 0 GROUP BY MAJOR)a,
(select major,round(avg(ACTISATI_CULTURE2)) as d2 from bl_stu_answer where main_id = #{id} and ACTISATI_CULTURE2 + 0 > 0 GROUP BY MAJOR HAVING count(*) > #{minNum})b, (select major,round(avg(ACTISATI_CULTURE2)) as d2 from bl_stu_answer where main_id = #{id} and ACTISATI_CULTURE2 + 0 > 0 GROUP BY MAJOR)b,
(select major,round(avg(ACTISATI_INNO2)) as d3 from bl_stu_answer where main_id = #{id} and ACTISATI_INNO2 + 0 > 0 GROUP BY MAJOR HAVING count(*) > #{minNum})c, (select major,round(avg(ACTISATI_INNO2)) as d3 from bl_stu_answer where main_id = #{id} and ACTISATI_INNO2 + 0 > 0 GROUP BY MAJOR)c,
(select major,round(avg(ACTISATI_GLOBAL2)) as d4 from bl_stu_answer where main_id = #{id} and ACTISATI_GLOBAL2 + 0 > 0 GROUP BY MAJOR HAVING count(*) > #{minNum})d, (select major,round(avg(ACTISATI_GLOBAL2)) as d4 from bl_stu_answer where main_id = #{id} and ACTISATI_GLOBAL2 + 0 > 0 GROUP BY MAJOR)d,
(select major,round(avg(ACTISATI_INTERN2)) as d5 from bl_stu_answer where main_id = #{id} and ACTISATI_INTERN2 + 0 > 0 GROUP BY MAJOR HAVING count(*) > #{minNum})e (select major,round(avg(ACTISATI_INTERN2)) as d5 from bl_stu_answer where main_id = #{id} and ACTISATI_INTERN2 + 0 > 0 GROUP BY MAJOR)e
where a.major = b.MAJOR where a.major = b.MAJOR
and a.major = c.MAJOR and a.major = c.MAJOR
and a.major = d.MAJOR and a.major = d.MAJOR
@ -1780,21 +1804,21 @@
(select round(round(sum(TEACHERSATI_MORAL2)/count('x'),2))as d3 from bl_stu_answer where main_id = #{id} and nianji = '大三' )c, (select round(round(sum(TEACHERSATI_MORAL2)/count('x'),2))as d3 from bl_stu_answer where main_id = #{id} and nianji = '大三' )c,
(select round(round(sum(TEACHERSATI_MORAL2)/count('x'),2))as d4 from bl_stu_answer where main_id = #{id} and nianji = '大四' )d (select round(round(sum(TEACHERSATI_MORAL2)/count('x'),2))as d4 from bl_stu_answer where main_id = #{id} and nianji = '大四' )d
union all union all
select '科学精神' as 'key',a.d1 as '01',b.d2 as '02',c.d3 as '03',d.d4 as '04' select '教学投入' as 'key',a.d1 as '01',b.d2 as '02',c.d3 as '03',d.d4 as '04'
from from
(select round(round(sum(TEACHERSATI_INPUT2)/count('x'),2))as d1 from bl_stu_answer where main_id = #{id} and nianji = '大一' )a, (select round(round(sum(TEACHERSATI_INPUT2)/count('x'),2))as d1 from bl_stu_answer where main_id = #{id} and nianji = '大一' )a,
(select round(round(sum(TEACHERSATI_INPUT2)/count('x'),2))as d2 from bl_stu_answer where main_id = #{id} and nianji = '大二' )b, (select round(round(sum(TEACHERSATI_INPUT2)/count('x'),2))as d2 from bl_stu_answer where main_id = #{id} and nianji = '大二' )b,
(select round(round(sum(TEACHERSATI_INPUT2)/count('x'),2))as d3 from bl_stu_answer where main_id = #{id} and nianji = '大三' )c, (select round(round(sum(TEACHERSATI_INPUT2)/count('x'),2))as d3 from bl_stu_answer where main_id = #{id} and nianji = '大三' )c,
(select round(round(sum(TEACHERSATI_INPUT2)/count('x'),2))as d4 from bl_stu_answer where main_id = #{id} and nianji = '大四' )d (select round(round(sum(TEACHERSATI_INPUT2)/count('x'),2))as d4 from bl_stu_answer where main_id = #{id} and nianji = '大四' )d
union all union all
select '学会学习' as 'key',a.d1 as '01',b.d2 as '02',c.d3 as '03',d.d4 as '04' select '依法依规,履行教师职责' as 'key',a.d1 as '01',b.d2 as '02',c.d3 as '03',d.d4 as '04'
from from
(select round(round(sum(TEACHERSATI_LAW2)/count('x'),2))as d1 from bl_stu_answer where main_id = #{id} and nianji = '大一' )a, (select round(round(sum(TEACHERSATI_LAW2)/count('x'),2))as d1 from bl_stu_answer where main_id = #{id} and nianji = '大一' )a,
(select round(round(sum(TEACHERSATI_LAW2)/count('x'),2))as d2 from bl_stu_answer where main_id = #{id} and nianji = '大二' )b, (select round(round(sum(TEACHERSATI_LAW2)/count('x'),2))as d2 from bl_stu_answer where main_id = #{id} and nianji = '大二' )b,
(select round(round(sum(TEACHERSATI_LAW2)/count('x'),2))as d3 from bl_stu_answer where main_id = #{id} and nianji = '大三' )c, (select round(round(sum(TEACHERSATI_LAW2)/count('x'),2))as d3 from bl_stu_answer where main_id = #{id} and nianji = '大三' )c,
(select round(round(sum(TEACHERSATI_LAW2)/count('x'),2))as d4 from bl_stu_answer where main_id = #{id} and nianji = '大四' )d (select round(round(sum(TEACHERSATI_LAW2)/count('x'),2))as d4 from bl_stu_answer where main_id = #{id} and nianji = '大四' )d
union all union all
select '健康生活' as 'key',a.d1 as '01',b.d2 as '02',c.d3 as '03',d.d4 as '04' select '关心爱护学生' as 'key',a.d1 as '01',b.d2 as '02',c.d3 as '03',d.d4 as '04'
from from
(select round(round(sum(TEACHERSATI_CARE2)/count('x'),2))as d1 from bl_stu_answer where main_id = #{id} and nianji = '大一' )a, (select round(round(sum(TEACHERSATI_CARE2)/count('x'),2))as d1 from bl_stu_answer where main_id = #{id} and nianji = '大一' )a,
(select round(round(sum(TEACHERSATI_CARE2)/count('x'),2))as d2 from bl_stu_answer where main_id = #{id} and nianji = '大二' )b, (select round(round(sum(TEACHERSATI_CARE2)/count('x'),2))as d2 from bl_stu_answer where main_id = #{id} and nianji = '大二' )b,
@ -2162,6 +2186,7 @@
</select> </select>
<select id="i4_5" resultType="java.util.LinkedHashMap"> <select id="i4_5" resultType="java.util.LinkedHashMap">
select a.* from (
select '学校或学院提供的辅导课程或相关活动' as 'key' ,round(round(b.no_cnt/a.tot_cnt,2)*100) as '01' from (select count('x') as tot_cnt from bl_stu_answer where main_id = #{id})a,(select count('x') as no_cnt from bl_stu_answer where main_id = #{id} and XYZD_KECHENG = '1')b select '学校或学院提供的辅导课程或相关活动' as 'key' ,round(round(b.no_cnt/a.tot_cnt,2)*100) as '01' from (select count('x') as tot_cnt from bl_stu_answer where main_id = #{id})a,(select count('x') as no_cnt from bl_stu_answer where main_id = #{id} and XYZD_KECHENG = '1')b
union all union all
select '任课教师帮助解决相关问题' as 'key' ,round(round(b.no_cnt/a.tot_cnt,2)*100) as '01' from (select count('x') as tot_cnt from bl_stu_answer where main_id = #{id})a,(select count('x') as no_cnt from bl_stu_answer where main_id = #{id} and XYZD_JIAOSHI = '1')b select '任课教师帮助解决相关问题' as 'key' ,round(round(b.no_cnt/a.tot_cnt,2)*100) as '01' from (select count('x') as tot_cnt from bl_stu_answer where main_id = #{id})a,(select count('x') as no_cnt from bl_stu_answer where main_id = #{id} and XYZD_JIAOSHI = '1')b
@ -2173,6 +2198,7 @@
select '本科生导师帮助解决相关问题' as 'key' ,round(round(b.no_cnt/a.tot_cnt,2)*100) as '01' from (select count('x') as tot_cnt from bl_stu_answer where main_id = #{id})a,(select count('x') as no_cnt from bl_stu_answer where main_id = #{id} and XYZD_DAOSHI = '1')b select '本科生导师帮助解决相关问题' as 'key' ,round(round(b.no_cnt/a.tot_cnt,2)*100) as '01' from (select count('x') as tot_cnt from bl_stu_answer where main_id = #{id})a,(select count('x') as no_cnt from bl_stu_answer where main_id = #{id} and XYZD_DAOSHI = '1')b
union all union all
select '没有接受过本校提供的学业指导服务' as 'key' ,round(round(b.no_cnt/a.tot_cnt,2)*100) as '01' from (select count('x') as tot_cnt from bl_stu_answer where main_id = #{id})a,(select count('x') as no_cnt from bl_stu_answer where main_id = #{id} and XYZD_NO = '1')b select '没有接受过本校提供的学业指导服务' as 'key' ,round(round(b.no_cnt/a.tot_cnt,2)*100) as '01' from (select count('x') as tot_cnt from bl_stu_answer where main_id = #{id})a,(select count('x') as no_cnt from bl_stu_answer where main_id = #{id} and XYZD_NO = '1')b
) a ORDER BY a.`01` desc
</select> </select>
<select id="t4_6" resultType="java.util.LinkedHashMap"> <select id="t4_6" resultType="java.util.LinkedHashMap">

View File

@ -90,10 +90,11 @@ public class BlStuAnswerServiceImpl extends ServiceImpl<BlStuAnswerMapper, BlStu
//多线程执行 //多线程执行
CompletionService<Boolean> threadService = ThreadUtil.newCompletionService(Executors.newFixedThreadPool(100)); CompletionService<Boolean> threadService = ThreadUtil.newCompletionService(Executors.newFixedThreadPool(100));
List<Callable<Boolean>> calls = Lists.newArrayList(); List<Callable<Boolean>> calls = Lists.newArrayList();
List<TableMerge> allMergeList = Lists.newArrayList(); List<TableMerge> mergeListT1_1 = Lists.newArrayList();
List<TableMerge> mergeListT2_10 = Lists.newArrayList();
calls.add(() -> { calls.add(() -> {
var mergeList = t1_1(wo, result, blStuMain); var mergeList = t1_1(wo, result, blStuMain);
allMergeList.addAll(mergeList); mergeListT1_1.addAll(mergeList);
return true; return true;
}); });
calls.add(() -> { calls.add(() -> {
@ -225,7 +226,8 @@ public class BlStuAnswerServiceImpl extends ServiceImpl<BlStuAnswerMapper, BlStu
return true; return true;
}); });
calls.add(() -> { calls.add(() -> {
t2_10(wo, result, blStuMain); var mergeList = t2_10(wo, result, blStuMain);
mergeListT2_10.addAll(mergeList);
return true; return true;
}); });
calls.add(() -> { calls.add(() -> {
@ -542,8 +544,24 @@ public class BlStuAnswerServiceImpl extends ServiceImpl<BlStuAnswerMapper, BlStu
WordOperator wo2 = WordOperator.twoReplaceWord(wo); WordOperator wo2 = WordOperator.twoReplaceWord(wo);
//合并行 //合并行
allMergeList.forEach(wo2::addTableMerge); int i = 0;
for (TableMerge tableMerge : mergeListT1_1){
wo2.addTableMerge(tableMerge, i % 2 == 0?"c5d5e9":"f6f8fc");
i++;
wo2.changeTableFillColor(tableMerge.getTableIndex(), tableMerge.getEndRow()+1, tableMerge.getCol(), i % 2 == 0?"c5d5e9":"f6f8fc");
i++;
}
i = 0;
for (TableMerge tableMerge : mergeListT2_10){
wo2.addTableMerge(tableMerge, i % 2 == 0?"c5d5e9":"f6f8fc");
i++;
}
//allMergeList.forEach(wo2::addTableMerge);
WordOperator wo3 = WordOperator.twoReplaceWord(wo2); WordOperator wo3 = WordOperator.twoReplaceWord(wo2);
//更改颜色
//wo3.changeTableFillColor(0, 0, 10, null, i -> i % 2 == 0?"c5d5e9":"f6f8fc");
wo3.replaceTextPlus(result); wo3.replaceTextPlus(result);
return wo3; return wo3;
@ -657,10 +675,17 @@ public class BlStuAnswerServiceImpl extends ServiceImpl<BlStuAnswerMapper, BlStu
axisLabel: { textStyle: { color: '#000', fontSize: 20, fontFamily: '宋体' }, }, axisLabel: { textStyle: { color: '#000', fontSize: 20, fontFamily: '宋体' }, },
axisLine: { show: true, }, axisLine: { show: true, },
axisTick: { show: true, inside: false, }, axisTick: { show: true, inside: false, },
splitLine: { show: false },
}, },
axisLabel: { color:'#000', fontSize: 20, fontFamily: '宋体' }, axisLabel: { color:'#000', fontSize: 20, fontFamily: '宋体' },
barWidth: '25%%', barWidth: '25%%',
series: [ { label: { show: true, color: '#000', position: 'top', fontSize: 20, fontFamily: '宋体' }, type: 'bar', data: %s } ] series: [
{
label: { show: true, color: '#000', position: 'top', fontSize: 20, fontFamily: '宋体' }, type: 'bar',
itemStyle: { color: '#2350a0' },
data: %s
}
]
} }
"""; """;
json = json.formatted(JSONUtil.toJsonStr(xAxisData), JSONUtil.toJsonStr(yAxisData)); json = json.formatted(JSONUtil.toJsonStr(xAxisData), JSONUtil.toJsonStr(yAxisData));
@ -697,7 +722,8 @@ public class BlStuAnswerServiceImpl extends ServiceImpl<BlStuAnswerMapper, BlStu
type: 'value', position: 'top', max: %s, type: 'value', position: 'top', max: %s,
axisLabel: { textStyle: { color: '#000', fontSize: 20, fontFamily: '宋体' }, }, axisLabel: { textStyle: { color: '#000', fontSize: 20, fontFamily: '宋体' }, },
axisLine: { show: true, }, axisLine: { show: true, },
axisTick: { show: true, inside: true, } axisTick: { show: true, inside: true, },
splitLine: { show: false },
}, },
yAxis: { yAxis: {
type: 'category', inverse: true, type: 'category', inverse: true,
@ -709,6 +735,7 @@ public class BlStuAnswerServiceImpl extends ServiceImpl<BlStuAnswerMapper, BlStu
{ {
data: %s, data: %s,
type: 'bar', type: 'bar',
itemStyle: { color: '#2350a0' },
label: { show: true, color: '#000', position: 'right', fontFamily: '宋体', fontSize: 20 }, label: { show: true, color: '#000', position: 'right', fontFamily: '宋体', fontSize: 20 },
} }
] ]
@ -742,7 +769,9 @@ public class BlStuAnswerServiceImpl extends ServiceImpl<BlStuAnswerMapper, BlStu
* @return * @return
*/ */
public String getStackHistogram(List<Map<String, String>> list, boolean isAutoCompletionPercentage) { public String getStackHistogram(List<Map<String, String>> list, boolean isAutoCompletionPercentage) {
return getStackHistogram(list, isAutoCompletionPercentage, null, null, null); var colorList = List.of("#0f447f","#2350a0", "#008ac8", "#57b8e7", "#beedf8");
var textColorList = List.of("#FFF","#FFF", "#FFF", "#000", "#000");
return getStackHistogram(list, isAutoCompletionPercentage, colorList, textColorList, null, null, null);
} }
/** /**
@ -752,6 +781,15 @@ public class BlStuAnswerServiceImpl extends ServiceImpl<BlStuAnswerMapper, BlStu
*/ */
public String getStackHistogram(List<Map<String, String>> list, boolean isAutoCompletionPercentage, String height, String laberWidth, String textNextRowNum) { public String getStackHistogram(List<Map<String, String>> list, boolean isAutoCompletionPercentage, String height, String laberWidth, String textNextRowNum) {
var colorList = List.of("#0f447f","#2350a0", "#008ac8", "#57b8e7", "#beedf8"); var colorList = List.of("#0f447f","#2350a0", "#008ac8", "#57b8e7", "#beedf8");
var textColorList = List.of("#FFF","#FFF", "#FFF", "#000", "#000");
return getStackHistogram(list, isAutoCompletionPercentage, colorList, textColorList, height, laberWidth, textNextRowNum);
}
/**
* 堆叠横向柱状图
* @param list
* @return
*/
public String getStackHistogram(List<Map<String, String>> list, boolean isAutoCompletionPercentage, List<String> colorList, List<String> textColorList, String height, String laberWidth, String textNextRowNum) {
if(laberWidth == null) { if(laberWidth == null) {
laberWidth = "12"; laberWidth = "12";
} }
@ -759,6 +797,7 @@ public class BlStuAnswerServiceImpl extends ServiceImpl<BlStuAnswerMapper, BlStu
textNextRowNum = "12"; textNextRowNum = "12";
} }
AtomicInteger i = new AtomicInteger(0); AtomicInteger i = new AtomicInteger(0);
AtomicInteger i2 = new AtomicInteger(0);
Function<AtomicInteger, String> getColor = _i -> { Function<AtomicInteger, String> getColor = _i -> {
if(colorList.size() - 1 < _i.get()) { if(colorList.size() - 1 < _i.get()) {
//重置坐标为0 //重置坐标为0
@ -766,13 +805,22 @@ public class BlStuAnswerServiceImpl extends ServiceImpl<BlStuAnswerMapper, BlStu
} }
return colorList.get(_i.getAndAdd(1)); return colorList.get(_i.getAndAdd(1));
}; };
Function<AtomicInteger, String> getTextColor = _i -> {
if(textColorList.size() - 1 < _i.get()) {
//重置坐标为0
_i.set(0);
}
return textColorList.get(_i.getAndAdd(1));
};
var seriesTemp = """ var seriesTemp = """
{ {
name: '%s', type: 'bar', stack: 'total', label: { show: true, textStyle: { fontSize: 20, fontFamily: '宋体', color: '#FFF' } }, name: '%s', type: 'bar', stack: 'total', label: { show: true, textStyle: { fontSize: 20, fontFamily: '宋体', color: '%s' } },
//emphasis: { focus: 'series' }, //emphasis: { focus: 'series' },
data: %s, data: %s,
barMinHeight: 40, barMinHeight: 40,
barWidth: 40,itemStyle: {color: '%s'} //barHeight: '50%%',
barWidth: 50,
itemStyle: {color: '%s', barBorderColor: 'white',barBorderWidth: 1}
}, },
"""; """;
var yAxisTemp = "{ value: '%s', textStyle: { color: '#000', fontSize: 20, fontFamily: '宋体' } },"; var yAxisTemp = "{ value: '%s', textStyle: { color: '#000', fontSize: 20, fontFamily: '宋体' } },";
@ -834,7 +882,7 @@ public class BlStuAnswerServiceImpl extends ServiceImpl<BlStuAnswerMapper, BlStu
nameList.forEach(x -> { nameList.forEach(x -> {
if(valueListMap.containsKey(x)) { if(valueListMap.containsKey(x)) {
var seriesData = valueListMap.get(x); var seriesData = valueListMap.get(x);
var series = seriesTemp.formatted(x, seriesData, getColor.apply(i)); var series = seriesTemp.formatted(x, getTextColor.apply(i2), seriesData, getColor.apply(i));
seriesList.add(series); seriesList.add(series);
} }
}); });
@ -847,7 +895,10 @@ public class BlStuAnswerServiceImpl extends ServiceImpl<BlStuAnswerMapper, BlStu
tooltip: { trigger: 'axis', axisPointer: { type: 'shadow' } }, tooltip: { trigger: 'axis', axisPointer: { type: 'shadow' } },
legend: {}, legend: {},
grid: { left: '%s%%', right: '3%%', bottom: '0%%', containLabel: true }, grid: { left: '%s%%', right: '3%%', bottom: '0%%', containLabel: true },
xAxis: { type: 'value' }, xAxis: {
type: 'value',
splitLine: { show: false },
},
yAxis: { type: 'category', inverse: true, yAxis: { type: 'category', inverse: true,
data: %s, data: %s,
axisLabel: { axisLabel: {
@ -937,8 +988,12 @@ public class BlStuAnswerServiceImpl extends ServiceImpl<BlStuAnswerMapper, BlStu
}, },
radar: { radar: {
radius: '50%%', radius: '50%%',
//虚线
splitLine: { show: true, lineStyle: { type: 'dashed', color: '#000' } },
//不显示斑马纹背景
splitArea: { show: false },
axisName: { axisName: {
fontSize: 15, fontSize: 20,
fontFamily: '宋体', fontFamily: '宋体',
color: '#000', color: '#000',
padding: 70, padding: 70,
@ -956,7 +1011,13 @@ public class BlStuAnswerServiceImpl extends ServiceImpl<BlStuAnswerMapper, BlStu
{ {
name: 'data', type: 'radar', name: 'data', type: 'radar',
label: { position: 'top' }, label: { position: 'top' },
data: [ { value: dataList, name: 'value', }, ] data: [
{
name: 'value',
itemStyle: { color: '#2350a0' },
value: dataList,
},
]
} }
] ]
} }
@ -1062,6 +1123,7 @@ public class BlStuAnswerServiceImpl extends ServiceImpl<BlStuAnswerMapper, BlStu
//计算合并列 //计算合并列
//设置结束值 //设置结束值
endRow.set(startRow.get() + v.size() -1); endRow.set(startRow.get() + v.size() -1);
// mergeList.add(new TableMerge(tableIndex, col, startRow.get(), endRow.get(), true, rowIndex.get() % 2 == 0?"c5d5e9":"f6f8fc"));
mergeList.add(new TableMerge(tableIndex, col, startRow.get(), endRow.get())); mergeList.add(new TableMerge(tableIndex, col, startRow.get(), endRow.get()));
//设置下一个的初始值+2 跳过小计 //设置下一个的初始值+2 跳过小计
startRow.set(endRow.get() + 2); startRow.set(endRow.get() + 2);
@ -1244,7 +1306,11 @@ public class BlStuAnswerServiceImpl extends ServiceImpl<BlStuAnswerMapper, BlStu
//图片i1_9 //图片i1_9
public void i1_9(WordOperator wo, Map<String, Object> result, BlStuInfo blStuMain) { public void i1_9(WordOperator wo, Map<String, Object> result, BlStuInfo blStuMain) {
var list = baseMapper.i1_9(blStuMain); var list = baseMapper.i1_9(blStuMain);
String imagePath = getStackHistogram(list); //public String getStackHistogram(List<Map<String, String>> list, boolean isAutoCompletionPercentage, List<String> colorList, List<String> textColorList, String height, String laberWidth, String textNextRowNum) {
var colorList = List.of("#0f447f","#2350a0", "#008ac8", "#57b8e7", "#beedf8");
var textColorList = List.of("#FFF","#FFF", "#FFF", "#000", "#000");
String imagePath = getStackHistogram(list, true, colorList, textColorList, null, null, null);
result.put("i1_9", imagePath); result.put("i1_9", imagePath);
} }
@ -1325,6 +1391,7 @@ public class BlStuAnswerServiceImpl extends ServiceImpl<BlStuAnswerMapper, BlStu
result.put("b2_1_2", getMapStr(baseMapper.b2_1_2(blStuMain))); result.put("b2_1_2", getMapStr(baseMapper.b2_1_2(blStuMain)));
result.put("b2_1_3", getMapStr(baseMapper.b2_1_3(blStuMain))); result.put("b2_1_3", getMapStr(baseMapper.b2_1_3(blStuMain)));
result.put("b2_1_4", getMapStr(baseMapper.b2_1_4(blStuMain))); result.put("b2_1_4", getMapStr(baseMapper.b2_1_4(blStuMain)));
result.put("b2_1_4_1", getMapStr(baseMapper.b2_1_4_1(blStuMain)));
} }
//图片i2_1 //图片i2_1
@ -1439,10 +1506,17 @@ public class BlStuAnswerServiceImpl extends ServiceImpl<BlStuAnswerMapper, BlStu
} }
} }
//表格 t2_10 这个需要再看看有合并行 //表格 t2_10 这个需要再看看有合并行
public void t2_10(WordOperator wo, Map<String, Object> result, BlStuInfo blStuMain) { public List<TableMerge> t2_10(WordOperator wo, Map<String, Object> result, BlStuInfo blStuMain) {
//TODO 需要聚合第一列 List<TableMerge> mergeList = Lists.newArrayList();
var list = baseMapper.t2_10(blStuMain); var list = baseMapper.t2_10(blStuMain);
List<List<String>> table = Lists.newArrayList(); List<List<String>> table = Lists.newArrayList();
Map<String, List<Map<String, String>>> map = Maps.newLinkedHashMap();
int tableIndex = 13;
int colIndex = 0;
AtomicInteger startRow = new AtomicInteger(1);
AtomicInteger endRow = new AtomicInteger(1);
list.forEach(x -> { list.forEach(x -> {
List<String> col = Lists.newArrayList(); List<String> col = Lists.newArrayList();
table.add(col); table.add(col);
@ -1452,8 +1526,28 @@ public class BlStuAnswerServiceImpl extends ServiceImpl<BlStuAnswerMapper, BlStu
col.add(getMapStrTo00(x.get(K03))); col.add(getMapStrTo00(x.get(K03)));
col.add(getMapStrTo00(x.get(K04))); col.add(getMapStrTo00(x.get(K04)));
col.add(getMapStrTo00(x.get(K05))); col.add(getMapStrTo00(x.get(K05)));
if(map.containsKey(x.get(KEY))) {
var _list = map.get(x.get(KEY));
_list.add(x);
} else {
List<Map<String, String>> _list = Lists.newArrayList();
_list.add(x);
map.put(x.get(KEY), _list);
}
});
map.forEach((k,v) -> {
endRow.set(startRow.get() + v.size() -1);
// mergeList.add(new TableMerge(tableIndex, col, startRow.get(), endRow.get(), true, rowIndex.get() % 2 == 0?"c5d5e9":"f6f8fc"));
mergeList.add(new TableMerge(tableIndex, colIndex, startRow.get(), endRow.get()));
//设置下一个的初始值+2 跳过小计
startRow.set(endRow.get() + 1);
}); });
wo.insert2Table(13,1,true,table); wo.insert2Table(13,1,true,table);
return mergeList;
} }
//表格 t2_11 //表格 t2_11
@ -1770,7 +1864,7 @@ public class BlStuAnswerServiceImpl extends ServiceImpl<BlStuAnswerMapper, BlStu
//图片i2_33 //图片i2_33
public void i2_33(WordOperator wo, Map<String, Object> result, BlStuInfo blStuMain) { public void i2_33(WordOperator wo, Map<String, Object> result, BlStuInfo blStuMain) {
var list = baseMapper.i2_33(blStuMain); var list = baseMapper.i2_33(blStuMain);
var imagePath = getStackHistogram(list, true, "500", null, null); var imagePath = getStackHistogram(list, true, "600", null, null);
result.put("i2_33", imagePath); result.put("i2_33", imagePath);
} }
//b2_9_1~7 //b2_9_1~7
@ -1881,10 +1975,42 @@ public class BlStuAnswerServiceImpl extends ServiceImpl<BlStuAnswerMapper, BlStu
} }
//b3_2_1~4 //b3_2_1~4
public void b3_2_1(WordOperator wo, Map<String, Object> result, BlStuInfo blStuMain) { public void b3_2_1(WordOperator wo, Map<String, Object> result, BlStuInfo blStuMain) {
result.put("b3_2_1", getMapStr(baseMapper.b3_2_1(blStuMain))); String t1 = getMapStr(baseMapper.b3_2_1(blStuMain));
result.put("b3_2_2", getMapStr(baseMapper.b3_2_2(blStuMain))); String t2 = getMapStr(baseMapper.b3_2_2(blStuMain));
result.put("b3_2_3", getMapStr(baseMapper.b3_2_3(blStuMain))); String t3 = getMapStr(baseMapper.b3_2_3(blStuMain));
result.put("b3_2_4", getMapStr(baseMapper.b3_2_4(blStuMain))); String t4 = getMapStr(baseMapper.b3_2_4(blStuMain));
//自动补100
var n1 = new BigDecimal(t1);
var n2 = new BigDecimal(t2);
var n3 = new BigDecimal(t3);
var n4 = new BigDecimal(t4);
var sum = n1.add(n2).add(n3).add(n4);
var sumi = Integer.parseInt(NumberUtil.decimalFormat("#", sum));
var diffi = sumi - 100;
if(diffi != 0){
//大了减一减
if(Integer.parseInt(t1) != 0) {
var outNum = new BigDecimal(t1).add(new BigDecimal(diffi).negate());
t1 = NumberUtil.decimalFormat("#", outNum);
} else if(Integer.parseInt(t2) != 0) {
var outNum = new BigDecimal(t2).add(new BigDecimal(diffi).negate());
t2 = NumberUtil.decimalFormat("#", outNum);
} else if(Integer.parseInt(t3) != 0) {
var outNum = new BigDecimal(t3).add(new BigDecimal(diffi).negate());
t3 = NumberUtil.decimalFormat("#", outNum);
} else if(Integer.parseInt(t4) != 0) {
var outNum = new BigDecimal(t4).add(new BigDecimal(diffi).negate());
t4 = NumberUtil.decimalFormat("#", outNum);
}
}
result.put("b3_2_1", t1);
result.put("b3_2_2", t2);
result.put("b3_2_3", t3);
result.put("b3_2_4", t4);
} }
//图片i3_5 //图片i3_5
public void i3_5(WordOperator wo, Map<String, Object> result, BlStuInfo blStuMain) { public void i3_5(WordOperator wo, Map<String, Object> result, BlStuInfo blStuMain) {
@ -2157,7 +2283,7 @@ public class BlStuAnswerServiceImpl extends ServiceImpl<BlStuAnswerMapper, BlStu
//图片i4_12 //图片i4_12
public void i4_12(WordOperator wo, Map<String, Object> result, BlStuInfo blStuMain) { public void i4_12(WordOperator wo, Map<String, Object> result, BlStuInfo blStuMain) {
var list = baseMapper.i4_12(blStuMain); var list = baseMapper.i4_12(blStuMain);
var imagePath = getStackHistogram(list); var imagePath = getStackHistogram(list, true, "600", null, null);
result.put("i4_12", imagePath); result.put("i4_12", imagePath);
} }

View File

@ -22,6 +22,12 @@ import java.io.*;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.function.Consumer;
import java.util.function.Function;
import java.util.function.IntFunction;
/** /**
* 对word模板的操作包含替换文本和列表向下扩展两种<br> * 对word模板的操作包含替换文本和列表向下扩展两种<br>
@ -1185,8 +1191,8 @@ public class WordOperator {
* @param tableMerge * @param tableMerge
* @return * @return
*/ */
public WordOperator addTableMerge(TableMerge tableMerge){ public WordOperator addTableMerge(TableMerge tableMerge, String color){
addTableMerge(tableMerge.getTableIndex(), tableMerge.getCol(), tableMerge.getStartRow(), tableMerge.getEndRow()); addTableMerge(tableMerge.getTableIndex(), tableMerge.getCol(), tableMerge.getStartRow(), tableMerge.getEndRow(), StringUtils.isNotBlank(color), color);
return this; return this;
} }
@ -1198,7 +1204,7 @@ public class WordOperator {
* @param endRow 第几行结束从0开始 * @param endRow 第几行结束从0开始
* @return * @return
*/ */
public WordOperator addTableMerge(int tableIndex,int col,int startRow,int endRow){ public WordOperator addTableMerge(int tableIndex,int col,int startRow,int endRow, boolean isAddColor, String color){
XWPFTable table = doc.getTables().get(tableIndex); XWPFTable table = doc.getTables().get(tableIndex);
if(table == null){ if(table == null){
logger.error("没有找到表格!tableIndex: [{}] col: [{}] startRow: [{}] endRow: [{}]",tableIndex,col,startRow,endRow); logger.error("没有找到表格!tableIndex: [{}] col: [{}] startRow: [{}] endRow: [{}]",tableIndex,col,startRow,endRow);
@ -1232,17 +1238,18 @@ public class WordOperator {
// endTcPr.addNewVMerge().setVal(STMerge.CONTINUE); // endTcPr.addNewVMerge().setVal(STMerge.CONTINUE);
// endTcPr.addNewHMerge().setVal(STMerge.CONTINUE); // endTcPr.addNewHMerge().setVal(STMerge.CONTINUE);
mergeCellsVertically(table, col, startRow,endRow); mergeCellsVertically(table, col, startRow,endRow, isAddColor, color);
//table.getRow(startRow).getCell(startCol).getCTTc().addNewTcPr().addNewHMerge().setVal(STMerge.RESTART);//开始 //table.getRow(startRow).getCell(startCol).getCTTc().addNewTcPr().addNewHMerge().setVal(STMerge.RESTART);//开始
//table.getRow(endRow).getCell(endCol).getCTTc().addNewTcPr().addNewHMerge().setVal(STMerge.CONTINUE);//结尾 //table.getRow(endRow).getCell(endCol).getCTTc().addNewTcPr().addNewHMerge().setVal(STMerge.CONTINUE);//结尾
return this; return this;
} }
public static void mergeCellsVertically(XWPFTable table, int col, int fromRow, int toRow) { public static void mergeCellsVertically(XWPFTable table, int col, int fromRow, int toRow, boolean isAddColor, String color) {
if (toRow > fromRow) { if (toRow > fromRow) {
for(int rowIndex = fromRow; rowIndex <= toRow; ++rowIndex) { for(int rowIndex = fromRow; rowIndex <= toRow; ++rowIndex) {
XWPFTableCell cell = table.getRow(rowIndex).getCell(col); XWPFTableCell cell = table.getRow(rowIndex).getCell(col);
CTTcPr tcPr = cell.getCTTc().getTcPr(); CTTc ctTc = cell.getCTTc();
CTTcPr tcPr = ctTc.getTcPr();
if(tcPr == null) { if(tcPr == null) {
tcPr = cell.getCTTc().addNewTcPr(); tcPr = cell.getCTTc().addNewTcPr();
} }
@ -1252,11 +1259,84 @@ public class WordOperator {
} else { } else {
vMerge.setVal(STMerge.CONTINUE); vMerge.setVal(STMerge.CONTINUE);
} }
if(isAddColor){
CTShd ctShd = tcPr.isSetShd() ? tcPr.getShd() : tcPr.addNewShd();
ctShd.setFill(color);// 设置背景色
}
// if (i % 2 == 0) {
// ctShd.setFill("c5d5e9"); // 设置背景色
// }else{
// ctShd.setFill("f6f8fc"); // 设置背景色
// }
}
} else if(toRow == fromRow) {
XWPFTableCell cell = table.getRow(fromRow).getCell(col);
CTTc ctTc = cell.getCTTc();
CTTcPr tcPr = ctTc.getTcPr();
if(tcPr == null) {
tcPr = cell.getCTTc().addNewTcPr();
}
if(isAddColor){
CTShd ctShd = tcPr.isSetShd() ? tcPr.getShd() : tcPr.addNewShd();
ctShd.setFill(color);// 设置背景色
} }
} }
} }
/**
*
* @param tableIndex 哪个表
* @param col 哪一列
* @param startRow 开始行
* @param endRow 结束行
* @param getColorFn 返回颜色字符串带过去当前行号
*/
public void changeTableFillColor(int tableIndex, int col, int startRow, Integer endRow, IntFunction<String> getColorFn) {
XWPFTable table = doc.getTables().get(tableIndex);
if(endRow == null) {
endRow = table.getRows().size() - 1;
}
for(int rowIndex = startRow; rowIndex <= endRow; ++rowIndex) {
XWPFTableCell cell = table.getRow(rowIndex).getCell(col);
CTTc ctTc = cell.getCTTc();
CTTcPr tcPr = ctTc.getTcPr();
if(tcPr == null) {
tcPr = cell.getCTTc().addNewTcPr();
}
CTShd ctShd = tcPr.isSetShd() ? tcPr.getShd() : tcPr.addNewShd();
String color = getColorFn.apply(rowIndex);
if(StringUtils.isNotBlank(color)) {
ctShd.setFill(color);// 设置背景色
}
}
}
/**
*
* @param tableIndex 哪个表格从0开始
* @param row 哪行从0开始
* @param col 哪列从0开始
* @param color 颜色如c5d5e9f6f8fc
*/
public void changeTableFillColor(int tableIndex, int row, int col, String color) {
XWPFTable table = doc.getTables().get(tableIndex);
XWPFTableCell cell = table.getRow(row).getCell(col);
CTTc ctTc = cell.getCTTc();
CTTcPr tcPr = ctTc.getTcPr();
if(tcPr == null) {
tcPr = cell.getCTTc().addNewTcPr();
}
CTShd ctShd = tcPr.isSetShd() ? tcPr.getShd() : tcPr.addNewShd();
ctShd.setFill(color);// 设置背景色
}
/** /**
* *
* 功能说明 : 文档再次替换时使用因为之前已经替换一次了所有需要将文档片段存入内存流中在读取到文档类里才能替换成功 * 功能说明 : 文档再次替换时使用因为之前已经替换一次了所有需要将文档片段存入内存流中在读取到文档类里才能替换成功

View File

@ -89,7 +89,7 @@ Z
学习主动性 学习主动性
学习主动性:指学生在自我意识的支配下,有目的自觉自愿地进行学习,从课前、课堂、课后三个维度衡量学生的学习主动性。 学习主动性:指学生在自我意识的支配下,有目的自觉自愿地进行学习,从课前、课堂、课后三个维度衡量学生的学习主动性。
学生对于自身学习主动性各方面的评价各项占比详见下图。 学生对于自身学习主动性各方面的评价各项占比详见下图。
<i1_1,400,170> <i1_1,400,190>
学生学习主动性评价各项占比 学生学习主动性评价各项占比
@ -196,8 +196,8 @@ Z
注:个别专业由于样本较少没有展示。 注:个别专业由于样本较少没有展示。
同辈互动 同辈互动
同辈互动频率:指学生和其他同学的学习互动情况。评价结果分为"总是"、"经常"、"偶尔"、"从不",其中选择"总是"、"经常"的人群属于积极互动。该校学生"总是"和"经常""和同学合作完成课程任务或作业"的比例为{b1_3_1}%"从同学那里学习、吸收好的学习方法"的比例为{b1_3_2}%"和同学一起参加学科竞赛"的比例为{b1_3_3}%"和同学一起参与老师科研团队"的比例为{b1_3_4}%。 同辈互动频率:指学生和其他同学的学习互动情况。评价结果分为"总是"、"经常"、"偶尔"、"从不",其中选择"总是"、"经常"的人群属于积极互动。该校学生"总是"和"经常""从同学那里学习、吸收好的学习方法"的比例为{b1_3_4}%"和同学合作完成课程任务或作业"的比例为{b1_3_1}%"和同学一起参与老师科研团队"的比例为{b1_3_2}%"和同学一起参加学科竞赛"的比例为{b1_3_3}%。
<i1_9,400,170> <i1_9,400,190>
学生同辈互动频率 学生同辈互动频率
各年级学生高频同辈互动比例 各年级学生高频同辈互动比例
@ -258,7 +258,7 @@ Z
教育体验 教育体验
思政课程 思政课程
思政课程满意度:指学生对本校思想政治课的总体满意度,以及分别对思想政治课的课程设置、教学内容、教学质量、教学效果的满意度评价。 思政课程满意度:指学生对本校思想政治课的总体满意度,以及分别对思想政治课的课程设置、教学内容、教学质量、教学效果的满意度评价。
从思政课程总体满意度评价的各项占比来看,该校学生选择"非常满意"的占{b2_1_1}%"比较满意"的占{b2_1_2}%"一般"的占{b2_1_3}%"比较不满意"的占{b2_1_4}%。 从思政课程总体满意度评价的各项占比来看,该校学生选择"非常满意"的占{b2_1_1}%"比较满意"的占{b2_1_2}%"一般"的占{b2_1_3}%"比较不满意"的占{b2_1_4}%"非常不满意"的占{b2_1_4_1}%
<i2_1,400,170> <i2_1,400,170>
思政课程总体满意度评价各项占比 思政课程总体满意度评价各项占比
@ -319,7 +319,7 @@ Z
专业课"两性一度" 专业课"两性一度"
专业课"两性一度"评价:指学生对专业课程的"高阶性"、"创新性"、"挑战度"的评价。 专业课"两性一度"评价:指学生对专业课程的"高阶性"、"创新性"、"挑战度"的评价。
学生对于专业课"两性一度"各方面的评价各项占比详见下图。 学生对于专业课"两性一度"各方面的评价各项占比详见下图。
<i2_8,400,200> <i2_8,400,210>
专业课"两性一度"评价各项占比 专业课"两性一度"评价各项占比
在落实课堂教学改革、提高课程两性一度方面,该校学生对专业课程的评价如下:高阶性方面,"课程将知识、能力、素养进行了有机融合"的符合程度得分为{b2_2_1}分,"课程教学培养了我解决复杂问题的综合能力"的符合程度得分为{b2_2_2}分;创新性方面,"课程内容注重学科间的交叉与融合"的符合程度得分为{b2_2_3}分,"课程内容反映了学科发展的前沿内容"的符合程度得分为{b2_2_4}分,"课程教学内容重视实践与理论的结合"的符合程度得分为{b2_2_5}分;挑战度方面,"需要非常努力才能达到课程要求"的符合程度得分为{b2_2_6}分。 在落实课堂教学改革、提高课程两性一度方面,该校学生对专业课程的评价如下:高阶性方面,"课程将知识、能力、素养进行了有机融合"的符合程度得分为{b2_2_1}分,"课程教学培养了我解决复杂问题的综合能力"的符合程度得分为{b2_2_2}分;创新性方面,"课程内容注重学科间的交叉与融合"的符合程度得分为{b2_2_3}分,"课程内容反映了学科发展的前沿内容"的符合程度得分为{b2_2_4}分,"课程教学内容重视实践与理论的结合"的符合程度得分为{b2_2_5}分;挑战度方面,"需要非常努力才能达到课程要求"的符合程度得分为{b2_2_6}分。
@ -412,7 +412,7 @@ Z
考核方式 考核方式
考核方式参与情况:指学生本学年参与本校各项考核方式的情况,考核方式包括卷面考试、随堂提问或测试、课程论文或实验报告、课堂展示、个人独立完成的课程作业、小组合作完成的课程作业等。 考核方式参与情况:指学生本学年参与本校各项考核方式的情况,考核方式包括卷面考试、随堂提问或测试、课程论文或实验报告、课堂展示、个人独立完成的课程作业、小组合作完成的课程作业等。
本学年,该校学生有{b2_4_1}%参与过卷面考试,有{b2_4_2}%参与过随堂提问或测试,有{b2_4_3}%参与过小组合作完成的课程作业,有{b2_4_4}%参与过课堂展示,有{b2_4_5}%参与过个人独立完成的课程作业,有{b2_4_6}%参与过课程论文或实验报告。 本学年,该校学生有{b2_4_5}%参与过个人独立完成的课程作业,有{b2_4_4}%参与过课堂展示,有{b2_4_3}%参与过小组合作完成的课程作业,有{b2_4_2}%参与过随堂提问或测试,有{b2_4_1}%参与过卷面考试,有{b2_4_6}%参与过课程论文或实验报告。
<i2_16,400,170> <i2_16,400,170>
各项考核方式参与情况 各项考核方式参与情况
@ -876,11 +876,11 @@ Z
资源条件 资源条件
资源条件满意度:指学生对本校资源条件各方面的评价。 资源条件满意度:指学生对本校资源条件各方面的评价。
学生对于本校资源条件各方面评价的各项占比详见下图。 学生对于本校资源条件各方面评价的各项占比详见下图。
<i4_12,400,170> <i4_12,400,200>
资源条件满意度评价各项占比 资源条件满意度评价各项占比
在落实条件保障方面,该校学生评价本校"教室及教学设备"的满意度为{b4_4_1}%"实验实训室条件"的满意度为{b4_4_2}%"图书馆资源"的满意度为{b4_4_3}%"网络资源"的满意度为{b4_4_4}%"体育文化等基础设施"的满意度为{b4_4_5}%"住宿条件"的满意度为{b4_4_6}%。 在落实条件保障方面,该校学生评价本校"教室及教学设备"的满意度为{b4_4_1}%"实验实训室条件"的满意度为{b4_4_2}%"图书馆资源"的满意度为{b4_4_3}%"网络资源"的满意度为{b4_4_4}%"体育文化等基础设施"的满意度为{b4_4_5}%"住宿条件"的满意度为{b4_4_6}%。
<i4_13,400,250> <i4_13,400,300>
资源条件各方面满意度 资源条件各方面满意度
注:图表中数值为计算所得平均分数。 注:图表中数值为计算所得平均分数。