2024年7月26日 修复问题,修补合行后斑马纹不正常的问题,修复部分图表没有【非常不满意】的问题
This commit is contained in:
parent
d26d77b570
commit
bee06cd0c6
|
|
@ -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);
|
||||||
|
|
|
||||||
|
|
@ -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">
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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 颜色,如c5d5e9,f6f8fc
|
||||||
|
*/
|
||||||
|
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);// 设置背景色
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* 功能说明 : 文档再次替换时使用,因为之前已经替换一次了,所有需要将文档片段存入内存流中,在读取到文档类里,才能替换成功
|
* 功能说明 : 文档再次替换时使用,因为之前已经替换一次了,所有需要将文档片段存入内存流中,在读取到文档类里,才能替换成功
|
||||||
|
|
|
||||||
|
|
@ -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>
|
||||||
资源条件各方面满意度
|
资源条件各方面满意度
|
||||||
|
|
||||||
注:图表中数值为计算所得平均分数。
|
注:图表中数值为计算所得平均分数。
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue