2024年11月2日 修复多线程时cpu达到100%时再启动chromedriver会造成2秒内无法响应,造成后续获取图片错误,导致无法生成图片的问题,延长其超时时间,修复两性一度部分sql查询为正确筛选的问题

This commit is contained in:
bai 2024-11-02 04:06:42 +08:00
parent dd4685c69d
commit 17ff8e559e
4 changed files with 278 additions and 485 deletions

View File

@ -592,8 +592,8 @@ public class BlStuAnswerServiceImpl extends ServiceImpl<BlStuAnswerMapper, BlStu
/**
* 将数据转换成Sting
* @param o
* @return
* @param o 不知是什么类型的变量
* @return 字符或格式化后的数字,带0.00
*/
public String getMapStrTo00(Object o) {
return getMapStr(o, false, "0.00");
@ -601,8 +601,8 @@ public class BlStuAnswerServiceImpl extends ServiceImpl<BlStuAnswerMapper, BlStu
/**
* 将数据转换成Sting
* @param o
* @return
* @param o 不知是什么类型的变量
* @return 字符或格式化后的数字
*/
public String getMapStr(Object o) {
return getMapStr(o, true, null);
@ -610,8 +610,8 @@ public class BlStuAnswerServiceImpl extends ServiceImpl<BlStuAnswerMapper, BlStu
/**
* 将数据转换成Sting
* @param o
* @return
* @param o 不知是什么类型的变量
* @return 字符或格式化后的数字
*/
public String getMapStr(Object o, boolean autoDecimalFormat, String decimalFormat) {
try {
@ -649,10 +649,108 @@ public class BlStuAnswerServiceImpl extends ServiceImpl<BlStuAnswerMapper, BlStu
return null;
}
private List<List<String>> genColTable01(List<Map<String, String>> tableData) {
List<List<String>> table = Lists.newArrayList();
tableData.forEach(x -> {
List<String> col = Lists.newArrayList();
table.add(col);
col.add(x.get(KEY));
col.add(getMapStr(x.get(K01)));
});
return table;
}
private List<List<String>> genColTable02(List<Map<String, String>> tableData) {
List<List<String>> table = Lists.newArrayList();
tableData.forEach(x -> {
List<String> col = Lists.newArrayList();
table.add(col);
col.add(x.get(KEY));
col.add(getMapStr(x.get(K01)));
col.add(getMapStr(x.get(K02)));
});
return table;
}
private List<List<String>> genColTable03(List<Map<String, String>> tableData) {
List<List<String>> table = Lists.newArrayList();
tableData.forEach(x -> {
List<String> col = Lists.newArrayList();
table.add(col);
col.add(x.get(KEY));
col.add(getMapStr(x.get(K01)));
col.add(getMapStr(x.get(K02)));
col.add(getMapStr(x.get(K03)));
});
return table;
}
private List<List<String>> genColTable04(List<Map<String, String>> tableData) {
List<List<String>> table = Lists.newArrayList();
tableData.forEach(x -> {
List<String> col = Lists.newArrayList();
table.add(col);
col.add(x.get(KEY));
col.add(getMapStr(x.get(K01)));
col.add(getMapStr(x.get(K02)));
col.add(getMapStr(x.get(K03)));
col.add(getMapStr(x.get(K04)));
});
return table;
}
private List<List<String>> genColTable05(List<Map<String, String>> tableData) {
List<List<String>> table = Lists.newArrayList();
tableData.forEach(x -> {
List<String> col = Lists.newArrayList();
table.add(col);
col.add(x.get(KEY));
col.add(getMapStr(x.get(K01)));
col.add(getMapStr(x.get(K02)));
col.add(getMapStr(x.get(K03)));
col.add(getMapStr(x.get(K04)));
col.add(getMapStr(x.get(K05)));
});
return table;
}
private List<List<String>> genColTable06(List<Map<String, String>> tableData) {
List<List<String>> table = Lists.newArrayList();
tableData.forEach(x -> {
List<String> col = Lists.newArrayList();
table.add(col);
col.add(x.get(KEY));
col.add(getMapStr(x.get(K01)));
col.add(getMapStr(x.get(K02)));
col.add(getMapStr(x.get(K03)));
col.add(getMapStr(x.get(K04)));
col.add(getMapStr(x.get(K05)));
col.add(getMapStr(x.get(K06)));
});
return table;
}
private List<List<String>> genColTable07(List<Map<String, String>> tableData) {
List<List<String>> table = Lists.newArrayList();
tableData.forEach(x -> {
List<String> col = Lists.newArrayList();
table.add(col);
col.add(x.get(KEY));
col.add(getMapStr(x.get(K01)));
col.add(getMapStr(x.get(K02)));
col.add(getMapStr(x.get(K03)));
col.add(getMapStr(x.get(K04)));
col.add(getMapStr(x.get(K05)));
col.add(getMapStr(x.get(K06)));
col.add(getMapStr(x.get(K07)));
});
return table;
}
/**
* 标准最简单柱状图
* @param list
* @return
* @param list 数据
* @return 图片地址
*/
public String getBaseHistogram(List<Map<String, String>> list){
List<String> xAxisData = Lists.newArrayList();
@ -695,8 +793,8 @@ public class BlStuAnswerServiceImpl extends ServiceImpl<BlStuAnswerMapper, BlStu
/**
* 标准最简单横向柱状图
* @param list
* @return
* @param list 数据
* @return 图片地址
*/
public String getBaseTransverseHistogram(List<Map<String, String>> list){
return getBaseTransverseHistogram(list, 100);
@ -704,8 +802,8 @@ public class BlStuAnswerServiceImpl extends ServiceImpl<BlStuAnswerMapper, BlStu
/**
* 标准最简单横向柱状图
* @param list
* @return
* @param list 数据
* @return 图片地址
*/
public String getBaseTransverseHistogram(List<Map<String, String>> list, Integer max){
List<String> yAxisData = Lists.newArrayList();
@ -747,6 +845,12 @@ public class BlStuAnswerServiceImpl extends ServiceImpl<BlStuAnswerMapper, BlStu
return WebDriverUtil.getImgByte400(json);
}
/**
* 获取不为空的数据
* @param dataList
* @param i
* @return
*/
public int getNotZeroData(List<String> dataList, int i) {
var data = dataList.get(i);
if(Integer.parseInt(data) == 0){
@ -758,8 +862,8 @@ public class BlStuAnswerServiceImpl extends ServiceImpl<BlStuAnswerMapper, BlStu
/**
* 堆叠横向柱状图
* @param list
* @return
* @param list 数据
* @return 图片地址
*/
public String getStackHistogram(List<Map<String, String>> list) {
return getStackHistogram(list, true);
@ -767,8 +871,8 @@ public class BlStuAnswerServiceImpl extends ServiceImpl<BlStuAnswerMapper, BlStu
/**
* 堆叠横向柱状图
* @param list
* @return
* @param list 数据
* @return 图片地址
*/
public String getStackHistogram(List<Map<String, String>> list, boolean isAutoCompletionPercentage) {
var colorList = List.of("#0f447f","#2350a0", "#008ac8", "#57b8e7", "#beedf8");
@ -778,8 +882,8 @@ public class BlStuAnswerServiceImpl extends ServiceImpl<BlStuAnswerMapper, BlStu
/**
* 堆叠横向柱状图
* @param list
* @return
* @param list 数据
* @return 图片地址
*/
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");
@ -788,8 +892,8 @@ public class BlStuAnswerServiceImpl extends ServiceImpl<BlStuAnswerMapper, BlStu
}
/**
* 堆叠横向柱状图
* @param list
* @return
* @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) {
@ -936,18 +1040,27 @@ public class BlStuAnswerServiceImpl extends ServiceImpl<BlStuAnswerMapper, BlStu
return getRadarChart(map, "100", "单位:%", imageHeight);
}
/**
* 雷达图
* @param map 数据
* @return 图片地址
*/
public String getRadarChart100(Map<String, String> map){
return getRadarChart(map, "100", "单位:%", null);
}
/**
* 雷达图
* @param map 数据
* @return 图片地址
*/
public String getRadarChart(Map<String, String> map) {
return getRadarChart(map, "5", "单位:分", null);
}
/**
* 雷达图
* @param map
* @return
* @param map 数据
* @return 图片地址
*/
public String getRadarChart(Map<String, String> map, String maxNumber, String titleText, String imageHeight) {
String indicatorDataTemp = "{ name: '%s', max: " + maxNumber + " },";
@ -1192,16 +1305,7 @@ public class BlStuAnswerServiceImpl extends ServiceImpl<BlStuAnswerMapper, BlStu
//学习主动性各方面 大一 大二 大三 大四
public void t1_3(WordOperator wo, Map<String, Object> result, BlStuInfo blStuMain) {
var list = baseMapper.t1_3(blStuMain);
List<List<String>> table = Lists.newArrayList();
list.forEach(x -> {
List<String> col = Lists.newArrayList();
table.add(col);
col.add(x.get(KEY));
col.add(getMapStrTo00(x.get(K01)));
col.add(getMapStrTo00(x.get(K02)));
col.add(getMapStrTo00(x.get(K03)));
col.add(getMapStrTo00(x.get(K04)));
});
List<List<String>> table = genColTable04(list);
wo.insert2Table(1,1,true,table);
}
@ -1209,16 +1313,7 @@ public class BlStuAnswerServiceImpl extends ServiceImpl<BlStuAnswerMapper, BlStu
//专业名称 课前运用网络课程平台教材或资料进行自主预学梳理知识并发现问题 课堂上能跟上老师的讲解主动提问或参与讨论每节课学有所获 课后复习笔记及总结课堂教学相关知识 除了阅读教材还延伸阅读教师推荐的其他相关书目
public void t1_4(WordOperator wo, Map<String, Object> result, BlStuInfo blStuMain) {
var list = baseMapper.t1_4(blStuMain);
List<List<String>> table = Lists.newArrayList();
list.forEach(x -> {
List<String> col = Lists.newArrayList();
table.add(col);
col.add(x.get(KEY));
col.add(getMapStrTo00(x.get(K01)));
col.add(getMapStrTo00(x.get(K02)));
col.add(getMapStrTo00(x.get(K03)));
col.add(getMapStrTo00(x.get(K04)));
});
List<List<String>> table = genColTable04(list);
wo.insert2Table(2,1,true,table);
}
@ -1234,17 +1329,7 @@ public class BlStuAnswerServiceImpl extends ServiceImpl<BlStuAnswerMapper, BlStu
//课外学习各方面 总体 大一 大二 大三 大四
public void t1_5(WordOperator wo, Map<String, Object> result, BlStuInfo blStuMain) {
var list = baseMapper.t1_5(blStuMain);
List<List<String>> table = Lists.newArrayList();
list.forEach(x -> {
List<String> col = Lists.newArrayList();
table.add(col);
col.add(x.get(KEY));
col.add(getMapStr(x.get(K01)));
col.add(getMapStr(x.get(K02)));
col.add(getMapStr(x.get(K03)));
col.add(getMapStr(x.get(K04)));
col.add(getMapStr(x.get(K05)));
});
List<List<String>> table = genColTable05(list);
wo.insert2Table(3,1,true,table);
}
@ -1252,16 +1337,7 @@ public class BlStuAnswerServiceImpl extends ServiceImpl<BlStuAnswerMapper, BlStu
//专业名称 完成作业 除作业外的自习如预习复习资料阅读 阅读专业相关的课外书籍 花费在网络课程平台上的时间
public void t1_6(WordOperator wo, Map<String, Object> result, BlStuInfo blStuMain) {
var list = baseMapper.t1_6(blStuMain);
List<List<String>> table = Lists.newArrayList();
list.forEach(x -> {
List<String> col = Lists.newArrayList();
table.add(col);
col.add(x.get(KEY));
col.add(getMapStr(x.get(K01)));
col.add(getMapStr(x.get(K02)));
col.add(getMapStr(x.get(K03)));
col.add(getMapStr(x.get(K04)));
});
List<List<String>> table = genColTable04(list);
wo.insert2Table(4,1,true,table);
}
//普通文本b1_2_5~8
@ -1276,17 +1352,7 @@ public class BlStuAnswerServiceImpl extends ServiceImpl<BlStuAnswerMapper, BlStu
//课外活动各方面 总体 大一 大二 大三 大四
public void t1_7(WordOperator wo, Map<String, Object> result, BlStuInfo blStuMain) {
var list = baseMapper.t1_7(blStuMain);
List<List<String>> table = Lists.newArrayList();
list.forEach(x -> {
List<String> col = Lists.newArrayList();
table.add(col);
col.add(x.get(KEY));
col.add(getMapStr(x.get(K01)));
col.add(getMapStr(x.get(K02)));
col.add(getMapStr(x.get(K03)));
col.add(getMapStr(x.get(K04)));
col.add(getMapStr(x.get(K05)));
});
List<List<String>> table = genColTable05(list);
wo.insert2Table(5,1,true,table);
}
@ -1294,16 +1360,7 @@ public class BlStuAnswerServiceImpl extends ServiceImpl<BlStuAnswerMapper, BlStu
//专业名称 做实验科研项目 参与专业相关社团活动 参与学科竞赛活动 参与其他学习活动如升学
public void t1_8(WordOperator wo, Map<String, Object> result, BlStuInfo blStuMain) {
var list = baseMapper.t1_8(blStuMain);
List<List<String>> table = Lists.newArrayList();
list.forEach(x -> {
List<String> col = Lists.newArrayList();
table.add(col);
col.add(x.get(KEY));
col.add(getMapStr(x.get(K01)));
col.add(getMapStr(x.get(K02)));
col.add(getMapStr(x.get(K03)));
col.add(getMapStr(x.get(K04)));
});
List<List<String>> table = genColTable04(list);
wo.insert2Table(6,1,true,table);
}
@ -1330,16 +1387,7 @@ public class BlStuAnswerServiceImpl extends ServiceImpl<BlStuAnswerMapper, BlStu
//同辈互动各方面 大一 大二 大三 大四
public void t1_10(WordOperator wo, Map<String, Object> result, BlStuInfo blStuMain) {
var list = baseMapper.t1_10(blStuMain);
List<List<String>> table = Lists.newArrayList();
list.forEach(x -> {
List<String> col = Lists.newArrayList();
table.add(col);
col.add(x.get(KEY));
col.add(getMapStr(x.get(K01)));
col.add(getMapStr(x.get(K02)));
col.add(getMapStr(x.get(K03)));
col.add(getMapStr(x.get(K04)));
});
List<List<String>> table = genColTable04(list);
wo.insert2Table(7,1,true,table);
}
@ -1347,16 +1395,7 @@ public class BlStuAnswerServiceImpl extends ServiceImpl<BlStuAnswerMapper, BlStu
//专业名称 和同学合作完成课程任务或作业 和同学一起参与老师科研团队 和同学一起参加学科竞赛 从同学那里学习吸收好的学习方法
public void t1_11(WordOperator wo, Map<String, Object> result, BlStuInfo blStuMain) {
var list = baseMapper.t1_11(blStuMain);
List<List<String>> table = Lists.newArrayList();
list.forEach(x -> {
List<String> col = Lists.newArrayList();
table.add(col);
col.add(x.get(KEY));
col.add(getMapStr(x.get(K01)));
col.add(getMapStr(x.get(K02)));
col.add(getMapStr(x.get(K03)));
col.add(getMapStr(x.get(K04)));
});
List<List<String>> table = genColTable04(list);
wo.insert2Table(8,1,true,table);
}
@ -1384,16 +1423,7 @@ public class BlStuAnswerServiceImpl extends ServiceImpl<BlStuAnswerMapper, BlStu
//专业名称 每周至少一次 每月至少一次 每学期至少一次 每年至少一次
public void t1_14(WordOperator wo, Map<String, Object> result, BlStuInfo blStuMain) {
var list = baseMapper.t1_14(blStuMain);
List<List<String>> table = Lists.newArrayList();
list.forEach(x -> {
List<String> col = Lists.newArrayList();
table.add(col);
col.add(x.get(KEY));
col.add(getMapStr(x.get(K01)));
col.add(getMapStr(x.get(K02)));
col.add(getMapStr(x.get(K03)));
col.add(getMapStr(x.get(K04)));
});
List<List<String>> table = genColTable04(list);
wo.insert2Table(9,1,true,table);
}
@ -1426,29 +1456,14 @@ public class BlStuAnswerServiceImpl extends ServiceImpl<BlStuAnswerMapper, BlStu
// 大一 大二 大三 大四
public void t2_3(WordOperator wo, Map<String, Object> result, BlStuInfo blStuMain) {
var list = baseMapper.t2_3(blStuMain);
List<List<String>> table = Lists.newArrayList();
list.forEach(x -> {
List<String> col = Lists.newArrayList();
table.add(col);
col.add(x.get(KEY));
col.add(getMapStr(x.get(K01)));
col.add(getMapStr(x.get(K02)));
col.add(getMapStr(x.get(K03)));
col.add(getMapStr(x.get(K04)));
});
List<List<String>> table = genColTable04(list);
wo.insert2Table(10,1,true,table);
}
//表格 t2_4
//专业名称 思政课程总体满意度
public void t2_4(WordOperator wo, Map<String, Object> result, BlStuInfo blStuMain) {
var list = baseMapper.t2_4(blStuMain);
List<List<String>> table = Lists.newArrayList();
list.forEach(x -> {
List<String> col = Lists.newArrayList();
table.add(col);
col.add(x.get(KEY));
col.add(getMapStr(x.get(K01)));
});
List<List<String>> table = genColTable01(list);
wo.insert2Table(11,1,true,table);
}
@ -1480,16 +1495,7 @@ public class BlStuAnswerServiceImpl extends ServiceImpl<BlStuAnswerMapper, BlStu
//思政课程各分项 大一 大二 大三 大四
public void t2_7(WordOperator wo, Map<String, Object> result, BlStuInfo blStuMain) {
var list = baseMapper.t2_7(blStuMain);
List<List<String>> table = Lists.newArrayList();
list.forEach(x -> {
List<String> col = Lists.newArrayList();
table.add(col);
col.add(x.get(KEY));
col.add(getMapStr(x.get(K01)));
col.add(getMapStr(x.get(K02)));
col.add(getMapStr(x.get(K03)));
col.add(getMapStr(x.get(K04)));
});
List<List<String>> table = genColTable04(list);
wo.insert2Table(12,1,true,table);
}
//图片i2_8
@ -1565,18 +1571,7 @@ public class BlStuAnswerServiceImpl extends ServiceImpl<BlStuAnswerMapper, BlStu
//表格 t2_11
public void t2_11(WordOperator wo, Map<String, Object> result, BlStuInfo blStuMain) {
var list = baseMapper.t2_11(blStuMain);
List<List<String>> table = Lists.newArrayList();
list.forEach(x -> {
List<String> col = Lists.newArrayList();
table.add(col);
col.add(x.get(KEY));
col.add(getMapStrTo00(x.get(K01)));
col.add(getMapStrTo00(x.get(K02)));
col.add(getMapStrTo00(x.get(K03)));
col.add(getMapStrTo00(x.get(K04)));
col.add(getMapStrTo00(x.get(K05)));
col.add(getMapStrTo00(x.get(K06)));
});
List<List<String>> table = genColTable06(list);
wo.insert2Table(14,2,true,table);
}
//专业名称 课程将知识能力素养进行了有机融合 课程教学培养了我解决复杂问题的综合能力 课程内容注重学科间的交叉与融合 课程内容反映了学科发展的前沿内容 课程教学内容重视实践与理论的结合 需要非常努力才能达到课程要求
@ -1606,16 +1601,7 @@ public class BlStuAnswerServiceImpl extends ServiceImpl<BlStuAnswerMapper, BlStu
//教学方法 大一 大二 大三 大四
public void t2_14(WordOperator wo, Map<String, Object> result, BlStuInfo blStuMain) {
var list = baseMapper.t2_14(blStuMain);
List<List<String>> table = Lists.newArrayList();
list.forEach(x -> {
List<String> col = Lists.newArrayList();
table.add(col);
col.add(x.get(KEY));
col.add(getMapStrTo00(x.get(K01)));
col.add(getMapStrTo00(x.get(K02)));
col.add(getMapStrTo00(x.get(K03)));
col.add(getMapStrTo00(x.get(K04)));
});
List<List<String>> table = genColTable04(list);
wo.insert2Table(15,1,true,table);
}
@ -1623,16 +1609,7 @@ public class BlStuAnswerServiceImpl extends ServiceImpl<BlStuAnswerMapper, BlStu
//专业名称 课程以传统的教师讲授为主 课堂中加入互动环节注重学生参与提问讨论 提供案例或实例讨论 采用小组合作的项目式教学方式
public void t2_15(WordOperator wo, Map<String, Object> result, BlStuInfo blStuMain) {
var list = baseMapper.t2_15(blStuMain);
List<List<String>> table = Lists.newArrayList();
list.forEach(x -> {
List<String> col = Lists.newArrayList();
table.add(col);
col.add(x.get(KEY));
col.add(getMapStrTo00(x.get(K01)));
col.add(getMapStrTo00(x.get(K02)));
col.add(getMapStrTo00(x.get(K03)));
col.add(getMapStrTo00(x.get(K04)));
});
List<List<String>> table = genColTable04(list);
wo.insert2Table(16,1,true,table);
}
@ -1678,31 +1655,14 @@ public class BlStuAnswerServiceImpl extends ServiceImpl<BlStuAnswerMapper, BlStu
//具体方面 大一 大二 大三 大四
public void t2_19(WordOperator wo, Map<String, Object> result, BlStuInfo blStuMain) {
var list = baseMapper.t2_19(blStuMain);
List<List<String>> table = Lists.newArrayList();
list.forEach(x -> {
List<String> col = Lists.newArrayList();
table.add(col);
col.add(x.get(KEY));
col.add(getMapStr(x.get(K01)));
col.add(getMapStr(x.get(K02)));
col.add(getMapStr(x.get(K03)));
col.add(getMapStr(x.get(K04)));
});
List<List<String>> table = genColTable04(list);
wo.insert2Table(17,1,true,table);
}
//表格 t2_20
//专业名称 体育教育 美育教育 劳动教育
public void t2_20(WordOperator wo, Map<String, Object> result, BlStuInfo blStuMain) {
var list = baseMapper.t2_20(blStuMain);
List<List<String>> table = Lists.newArrayList();
list.forEach(x -> {
List<String> col = Lists.newArrayList();
table.add(col);
col.add(x.get(KEY));
col.add(getMapStr(x.get(K01)));
col.add(getMapStr(x.get(K02)));
col.add(getMapStr(x.get(K03)));
});
List<List<String>> table = genColTable03(list);
wo.insert2Table(18,1,true,table);
}
//b2_6_1~5
@ -1750,16 +1710,7 @@ public class BlStuAnswerServiceImpl extends ServiceImpl<BlStuAnswerMapper, BlStu
//学生发展活动 大一 大二 大三 大四
public void t2_24(WordOperator wo, Map<String, Object> result, BlStuInfo blStuMain) {
var list = baseMapper.t2_24(blStuMain);
List<List<String>> table = Lists.newArrayList();
list.forEach(x -> {
List<String> col = Lists.newArrayList();
table.add(col);
col.add(x.get(KEY));
col.add(getMapStr(x.get(K01)));
col.add(getMapStr(x.get(K02)));
col.add(getMapStr(x.get(K03)));
col.add(getMapStr(x.get(K04)));
});
List<List<String>> table = genColTable04(list);
wo.insert2Table(19,1,true,table);
}
@ -1767,17 +1718,7 @@ public class BlStuAnswerServiceImpl extends ServiceImpl<BlStuAnswerMapper, BlStu
//专业名称 学生社团活动 校园文化活动 创新创业活动 国际交流活动 社会实践活动
public void t2_25(WordOperator wo, Map<String, Object> result, BlStuInfo blStuMain) {
var list = baseMapper.t2_25(blStuMain);
List<List<String>> table = Lists.newArrayList();
list.forEach(x -> {
List<String> col = Lists.newArrayList();
table.add(col);
col.add(x.get(KEY));
col.add(getMapStr(x.get(K01)));
col.add(getMapStr(x.get(K02)));
col.add(getMapStr(x.get(K03)));
col.add(getMapStr(x.get(K04)));
col.add(getMapStr(x.get(K05)));
});
List<List<String>> table = genColTable05(list);
wo.insert2Table(20,1,true,table);
}
@ -1806,16 +1747,7 @@ public class BlStuAnswerServiceImpl extends ServiceImpl<BlStuAnswerMapper, BlStu
//图片i2_28
public void t2_28(WordOperator wo, Map<String, Object> result, BlStuInfo blStuMain) {
var list = baseMapper.t2_28(blStuMain);
List<List<String>> table = Lists.newArrayList();
list.forEach(x -> {
List<String> col = Lists.newArrayList();
table.add(col);
col.add(x.get(KEY));
col.add(getMapStr(x.get(K01)));
col.add(getMapStr(x.get(K02)));
col.add(getMapStr(x.get(K03)));
col.add(getMapStr(x.get(K04)));
});
List<List<String>> table = genColTable04(list);
wo.insert2Table(21,1,true,table);
}
//图片i2_29
@ -1844,33 +1776,14 @@ public class BlStuAnswerServiceImpl extends ServiceImpl<BlStuAnswerMapper, BlStu
// 大一 大二 大三 大四
public void t2_31(WordOperator wo, Map<String, Object> result, BlStuInfo blStuMain) {
var list = baseMapper.t2_31(blStuMain);
List<List<String>> table = Lists.newArrayList();
list.forEach(x -> {
List<String> col = Lists.newArrayList();
table.add(col);
col.add(x.get(KEY));
col.add(getMapStrTo00(x.get(K01)));
col.add(getMapStrTo00(x.get(K02)));
col.add(getMapStrTo00(x.get(K03)));
col.add(getMapStrTo00(x.get(K04)));
});
List<List<String>> table = genColTable04(list);
wo.insert2Table(22,1,true,table);
}
//表格 t2_32
//专业名称 分析问题解决问题能力提升 自主学习能力提升 合作能力提升 书面表达和沟通能力提升 有能力规划未来工作生活
public void t2_32(WordOperator wo, Map<String, Object> result, BlStuInfo blStuMain) {
var list = baseMapper.t2_32(blStuMain);
List<List<String>> table = Lists.newArrayList();
list.forEach(x -> {
List<String> col = Lists.newArrayList();
table.add(col);
col.add(x.get(KEY));
col.add(getMapStrTo00(x.get(K01)));
col.add(getMapStrTo00(x.get(K02)));
col.add(getMapStrTo00(x.get(K03)));
col.add(getMapStrTo00(x.get(K04)));
col.add(getMapStrTo00(x.get(K05)));
});
List<List<String>> table = genColTable05(list);
wo.insert2Table(23,1,true,table);
}
//图片i2_33
@ -1901,35 +1814,14 @@ public class BlStuAnswerServiceImpl extends ServiceImpl<BlStuAnswerMapper, BlStu
// 大一 大二 大三 大四
public void t2_35(WordOperator wo, Map<String, Object> result, BlStuInfo blStuMain) {
var list = baseMapper.t2_35(blStuMain);
List<List<String>> table = Lists.newArrayList();
list.forEach(x -> {
List<String> col = Lists.newArrayList();
table.add(col);
col.add(x.get(KEY));
col.add(getMapStr(x.get(K01)));
col.add(getMapStr(x.get(K02)));
col.add(getMapStr(x.get(K03)));
col.add(getMapStr(x.get(K04)));
});
List<List<String>> table = genColTable04(list);
wo.insert2Table(24,1,true,table);
}
//表格 t2_36
//专业名称 人文底蕴 科学精神 学会学习 健康生活 责任担当 实践创新 自我提升
public void t2_36(WordOperator wo, Map<String, Object> result, BlStuInfo blStuMain) {
var list = baseMapper.t2_36(blStuMain);
List<List<String>> table = Lists.newArrayList();
list.forEach(x -> {
List<String> col = Lists.newArrayList();
table.add(col);
col.add(x.get(KEY));
col.add(getMapStr(x.get(K01)));
col.add(getMapStr(x.get(K02)));
col.add(getMapStr(x.get(K03)));
col.add(getMapStr(x.get(K04)));
col.add(getMapStr(x.get(K05)));
col.add(getMapStr(x.get(K06)));
col.add(getMapStr(x.get(K07)));
});
List<List<String>> table = genColTable07(list);
wo.insert2Table(25,1,true,table);
}
//图片i3_1
@ -1957,32 +1849,14 @@ public class BlStuAnswerServiceImpl extends ServiceImpl<BlStuAnswerMapper, BlStu
//教学工作各方面 大一 大二 大三 大四
public void t3_3(WordOperator wo, Map<String, Object> result, BlStuInfo blStuMain) {
var list = baseMapper.t3_3(blStuMain);
List<List<String>> table = Lists.newArrayList();
list.forEach(x -> {
List<String> col = Lists.newArrayList();
table.add(col);
col.add(x.get(KEY));
col.add(getMapStr(x.get(K01)));
col.add(getMapStr(x.get(K02)));
col.add(getMapStr(x.get(K03)));
col.add(getMapStr(x.get(K04)));
});
List<List<String>> table = genColTable04(list);
wo.insert2Table(26,1,true,table);
}
//表格 t3_4
//专业名称 师德师风及精神面貌 教学投入 依法依规履行教师职责 关心爱护学生
public void t3_4(WordOperator wo, Map<String, Object> result, BlStuInfo blStuMain) {
var list = baseMapper.t3_4(blStuMain);
List<List<String>> table = Lists.newArrayList();
list.forEach(x -> {
List<String> col = Lists.newArrayList();
table.add(col);
col.add(x.get(KEY));
col.add(getMapStr(x.get(K01)));
col.add(getMapStr(x.get(K02)));
col.add(getMapStr(x.get(K03)));
col.add(getMapStr(x.get(K04)));
});
List<List<String>> table = genColTable04(list);
wo.insert2Table(27,1,true,table);
}
//b3_2_1~4
@ -2045,29 +1919,14 @@ public class BlStuAnswerServiceImpl extends ServiceImpl<BlStuAnswerMapper, BlStu
//大一 大二 大三 大四
public void t3_7(WordOperator wo, Map<String, Object> result, BlStuInfo blStuMain) {
var list = baseMapper.t3_7(blStuMain);
List<List<String>> table = Lists.newArrayList();
list.forEach(x -> {
List<String> col = Lists.newArrayList();
table.add(col);
col.add(x.get(KEY));
col.add(getMapStr(x.get(K01)));
col.add(getMapStr(x.get(K02)));
col.add(getMapStr(x.get(K03)));
col.add(getMapStr(x.get(K04)));
});
List<List<String>> table = genColTable04(list);
wo.insert2Table(28,1,true,table);
}
//表格 t3_8
//专业名称 教学满意度
public void t3_8(WordOperator wo, Map<String, Object> result, BlStuInfo blStuMain) {
var list = baseMapper.t3_8(blStuMain);
List<List<String>> table = Lists.newArrayList();
list.forEach(x -> {
List<String> col = Lists.newArrayList();
table.add(col);
col.add(x.get(KEY));
col.add(getMapStr(x.get(K01)));
});
List<List<String>> table = genColTable01(list);
wo.insert2Table(29,1,true,table);
}
//图片i3_9
@ -2097,33 +1956,14 @@ public class BlStuAnswerServiceImpl extends ServiceImpl<BlStuAnswerMapper, BlStu
//教学行为各方面 大一 大二 大三 大四
public void t3_11(WordOperator wo, Map<String, Object> result, BlStuInfo blStuMain) {
var list = baseMapper.t3_11(blStuMain);
List<List<String>> table = Lists.newArrayList();
list.forEach(x -> {
List<String> col = Lists.newArrayList();
table.add(col);
col.add(x.get(KEY));
col.add(getMapStrTo00(x.get(K01)));
col.add(getMapStrTo00(x.get(K02)));
col.add(getMapStrTo00(x.get(K03)));
col.add(getMapStrTo00(x.get(K04)));
});
List<List<String>> table = genColTable04(list);
wo.insert2Table(30,1,true,table);
}
//表格 t3_12
//专业名称 重视立德树人注重发挥课程育人的作用 清楚地向学生解释了所学课程的目标和要求 教学方法灵活多样引导学生进行创造性思考 课堂上激发学生的学习兴趣 课后为学生提供辅导答疑
public void t3_12(WordOperator wo, Map<String, Object> result, BlStuInfo blStuMain) {
var list = baseMapper.t3_12(blStuMain);
List<List<String>> table = Lists.newArrayList();
list.forEach(x -> {
List<String> col = Lists.newArrayList();
table.add(col);
col.add(x.get(KEY));
col.add(getMapStrTo00(x.get(K01)));
col.add(getMapStrTo00(x.get(K02)));
col.add(getMapStrTo00(x.get(K03)));
col.add(getMapStrTo00(x.get(K04)));
col.add(getMapStrTo00(x.get(K05)));
});
List<List<String>> table = genColTable05(list);
wo.insert2Table(31,1,true,table);
}
//图片i4_1
@ -2152,32 +1992,14 @@ public class BlStuAnswerServiceImpl extends ServiceImpl<BlStuAnswerMapper, BlStu
//具体方面 大一 大二 大三 大四
public void t4_3(WordOperator wo, Map<String, Object> result, BlStuInfo blStuMain) {
var list = baseMapper.t4_3(blStuMain);
List<List<String>> table = Lists.newArrayList();
list.forEach(x -> {
List<String> col = Lists.newArrayList();
table.add(col);
col.add(x.get(KEY));
col.add(getMapStrTo00(x.get(K01)));
col.add(getMapStrTo00(x.get(K02)));
col.add(getMapStrTo00(x.get(K03)));
col.add(getMapStrTo00(x.get(K04)));
});
List<List<String>> table = genColTable04(list);
wo.insert2Table(32,1,true,table);
}
//表格 t4_4
//专业名称 学生服务能够做到一站式的服务与解决体现了对学生的关怀 重视实验实训的安全教育与管理 任课教师积极参与学生活动 校内学术讲座报告活动多
public void t4_4(WordOperator wo, Map<String, Object> result, BlStuInfo blStuMain) {
var list = baseMapper.t4_4(blStuMain);
List<List<String>> table = Lists.newArrayList();
list.forEach(x -> {
List<String> col = Lists.newArrayList();
table.add(col);
col.add(x.get(KEY));
col.add(getMapStrTo00(x.get(K01)));
col.add(getMapStrTo00(x.get(K02)));
col.add(getMapStrTo00(x.get(K03)));
col.add(getMapStrTo00(x.get(K04)));
});
List<List<String>> table = genColTable04(list);
wo.insert2Table(33,1,true,table);
}
//b4_2_1~6
@ -2200,16 +2022,7 @@ public class BlStuAnswerServiceImpl extends ServiceImpl<BlStuAnswerMapper, BlStu
//学业指导各方面 大一 大二 大三 大四
public void t4_6(WordOperator wo, Map<String, Object> result, BlStuInfo blStuMain) {
var list = baseMapper.t4_6(blStuMain);
List<List<String>> table = Lists.newArrayList();
list.forEach(x -> {
List<String> col = Lists.newArrayList();
table.add(col);
col.add(x.get(KEY));
col.add(getMapStr(x.get(K01)));
col.add(getMapStr(x.get(K02)));
col.add(getMapStr(x.get(K03)));
col.add(getMapStr(x.get(K04)));
});
List<List<String>> table = genColTable04(list);
wo.insert2Table(34,1,true,table);
}
@ -2217,18 +2030,7 @@ public class BlStuAnswerServiceImpl extends ServiceImpl<BlStuAnswerMapper, BlStu
//专业名称 学校或学院提供的辅导课程或相关活动 学业指导网站相关服务 任课教师帮助解决相关问题 本科生导师帮助解决相关问题 辅导员帮助解决相关问题 没有接受过学业指导服务
public void t4_7(WordOperator wo, Map<String, Object> result, BlStuInfo blStuMain) {
var list = baseMapper.t4_7(blStuMain);
List<List<String>> table = Lists.newArrayList();
list.forEach(x -> {
List<String> col = Lists.newArrayList();
table.add(col);
col.add(x.get(KEY));
col.add(getMapStr(x.get(K01)));
col.add(getMapStr(x.get(K02)));
col.add(getMapStr(x.get(K03)));
col.add(getMapStr(x.get(K04)));
col.add(getMapStr(x.get(K05)));
col.add(getMapStr(x.get(K06)));
});
List<List<String>> table = genColTable06(list);
wo.insert2Table(35,1,true,table);
}
@ -2261,16 +2063,7 @@ public class BlStuAnswerServiceImpl extends ServiceImpl<BlStuAnswerMapper, BlStu
//学生工作各方面 大一 大二 大三 大四
public void t4_10(WordOperator wo, Map<String, Object> result, BlStuInfo blStuMain) {
var list = baseMapper.t4_10(blStuMain);
List<List<String>> table = Lists.newArrayList();
list.forEach(x -> {
List<String> col = Lists.newArrayList();
table.add(col);
col.add(x.get(KEY));
col.add(getMapStr(x.get(K01)));
col.add(getMapStr(x.get(K02)));
col.add(getMapStr(x.get(K03)));
col.add(getMapStr(x.get(K04)));
});
List<List<String>> table = genColTable04(list);
wo.insert2Table(36,1,true,table);
}
@ -2278,17 +2071,7 @@ public class BlStuAnswerServiceImpl extends ServiceImpl<BlStuAnswerMapper, BlStu
//专业名称 心理健康教育咨询 职业生涯规划和就业创业指导 班主任辅导员工作 学业指导工作 重视家庭经济困难学生资助工作
public void t4_11(WordOperator wo, Map<String, Object> result, BlStuInfo blStuMain) {
var list = baseMapper.t4_11(blStuMain);
List<List<String>> table = Lists.newArrayList();
list.forEach(x -> {
List<String> col = Lists.newArrayList();
table.add(col);
col.add(x.get(KEY));
col.add(getMapStr(x.get(K01)));
col.add(getMapStr(x.get(K02)));
col.add(getMapStr(x.get(K03)));
col.add(getMapStr(x.get(K04)));
col.add(getMapStr(x.get(K05)));
});
List<List<String>> table = genColTable05(list);
wo.insert2Table(37,1,true,table);
}
@ -2322,16 +2105,7 @@ public class BlStuAnswerServiceImpl extends ServiceImpl<BlStuAnswerMapper, BlStu
//资源条件各方面 大一 大二 大三 大四
public void t4_14(WordOperator wo, Map<String, Object> result, BlStuInfo blStuMain) {
var list = baseMapper.t4_14(blStuMain);
List<List<String>> table = Lists.newArrayList();
list.forEach(x -> {
List<String> col = Lists.newArrayList();
table.add(col);
col.add(x.get(KEY));
col.add(getMapStr(x.get(K01)));
col.add(getMapStr(x.get(K02)));
col.add(getMapStr(x.get(K03)));
col.add(getMapStr(x.get(K04)));
});
List<List<String>> table = genColTable04(list);
wo.insert2Table(38,1,true,table);
}
@ -2339,18 +2113,7 @@ public class BlStuAnswerServiceImpl extends ServiceImpl<BlStuAnswerMapper, BlStu
//专业名称 教室及教学设备 实验实训室条件 图书馆资源 网络资源 体育文化等基础设施 住宿条件
public void t4_15(WordOperator wo, Map<String, Object> result, BlStuInfo blStuMain) {
var list = baseMapper.t4_15(blStuMain);
List<List<String>> table = Lists.newArrayList();
list.forEach(x -> {
List<String> col = Lists.newArrayList();
table.add(col);
col.add(x.get(KEY));
col.add(getMapStr(x.get(K01)));
col.add(getMapStr(x.get(K02)));
col.add(getMapStr(x.get(K03)));
col.add(getMapStr(x.get(K04)));
col.add(getMapStr(x.get(K05)));
col.add(getMapStr(x.get(K06)));
});
List<List<String>> table = genColTable06(list);
wo.insert2Table(39,1,true,table);
}
@ -2412,16 +2175,7 @@ public class BlStuAnswerServiceImpl extends ServiceImpl<BlStuAnswerMapper, BlStu
// 大一 大二 大三 大四
public void t5_3(WordOperator wo, Map<String, Object> result, BlStuInfo blStuMain) {
var list = baseMapper.t5_3(blStuMain);
List<List<String>> table = Lists.newArrayList();
list.forEach(x -> {
List<String> col = Lists.newArrayList();
table.add(col);
col.add(x.get(KEY));
col.add(getMapStr(x.get(K01)));
col.add(getMapStr(x.get(K02)));
col.add(getMapStr(x.get(K03)));
col.add(getMapStr(x.get(K04)));
});
List<List<String>> table = genColTable04(list);
wo.insert2Table(40,1,true,table);
}
@ -2429,16 +2183,11 @@ public class BlStuAnswerServiceImpl extends ServiceImpl<BlStuAnswerMapper, BlStu
//专业名称 对学校的总体满意度
public void t5_4(WordOperator wo, Map<String, Object> result, BlStuInfo blStuMain) {
var list = baseMapper.t5_4(blStuMain);
List<List<String>> table = Lists.newArrayList();
list.forEach(x -> {
List<String> col = Lists.newArrayList();
table.add(col);
col.add(x.get(KEY));
col.add(getMapStr(x.get(K01)));
});
List<List<String>> table = genColTable01(list);
wo.insert2Table(41,1,true,table);
}
// todo合并单元格
// wo.addTableMerge(1, 1,1,oneList.size(),1);
// wo.addTableMerge(1, 1,1,oneList.size(),1);

View File

@ -882,45 +882,45 @@
<!-- 不同职称教师在课程“两性一度”的实施情况-->
<select id="getSelectkclxydbtzc" resultType="org.jeecg.modules.demo.blTeacherAnswer.entity.BlTeacherAnswer">
SELECT '高阶性' as lsname2,'课程将知识、能力、素养进行了有机融合' as lsname,
max(CASE POSITION = '正高级' WHEN '正高级' THEN (select format(sum(ZYK_SKILL2)/count('x'),2) from bl_teacher_answer where POSITION = '正高级' and POSITIONTYPE not in ('辅导员','科研型') GROUP BY POSITION) END) as tj1,
max(CASE POSITION = '副高级' WHEN '副高级' THEN (select format(sum(ZYK_SKILL2)/count('x'),2) from bl_teacher_answer where POSITION = '副高级' and POSITIONTYPE not in ('辅导员','科研型') GROUP BY POSITION) END) as tj2,
max(CASE POSITION = '中级' WHEN '中级' THEN (select format(sum(ZYK_SKILL2)/count('x'),2) from bl_teacher_answer where POSITION = '中级' and POSITIONTYPE not in ('辅导员','科研型') GROUP BY POSITION) END) as tj3,
max(CASE POSITION = '初级' WHEN '初级' THEN (select format(sum(ZYK_SKILL2)/count('x'),2) from bl_teacher_answer where POSITION = '初级' and POSITIONTYPE not in ('辅导员','科研型') GROUP BY POSITION) END) as tj4
max(CASE POSITION = '正高级' WHEN '正高级' THEN (select format(sum(ZYK_SKILL2)/count('x'),2) from bl_teacher_answer where main_id = #{id} and POSITION = '正高级' and POSITIONTYPE not in ('辅导员','科研型') GROUP BY POSITION) END) as tj1,
max(CASE POSITION = '副高级' WHEN '副高级' THEN (select format(sum(ZYK_SKILL2)/count('x'),2) from bl_teacher_answer where main_id = #{id} and POSITION = '副高级' and POSITIONTYPE not in ('辅导员','科研型') GROUP BY POSITION) END) as tj2,
max(CASE POSITION = '中级' WHEN '中级' THEN (select format(sum(ZYK_SKILL2)/count('x'),2) from bl_teacher_answer where main_id = #{id} and POSITION = '中级' and POSITIONTYPE not in ('辅导员','科研型') GROUP BY POSITION) END) as tj3,
max(CASE POSITION = '初级' WHEN '初级' THEN (select format(sum(ZYK_SKILL2)/count('x'),2) from bl_teacher_answer where main_id = #{id} and POSITION = '初级' and POSITIONTYPE not in ('辅导员','科研型') GROUP BY POSITION) END) as tj4
FROM bl_teacher_answer where main_id = #{id}
union ALL
SELECT '高阶性' as lsname2,'课程教学培养了学生解决复杂问题的综合能力' as lsname,
max(CASE POSITION = '正高级' WHEN '正高级' THEN (select format(sum(ZYK_PROBLEM2)/count('x'),2) from bl_teacher_answer where POSITION = '正高级' and POSITIONTYPE not in ('辅导员','科研型') GROUP BY POSITION) END) as tj1,
max(CASE POSITION = '副高级' WHEN '副高级' THEN (select format(sum(ZYK_PROBLEM2)/count('x'),2) from bl_teacher_answer where POSITION = '副高级' and POSITIONTYPE not in ('辅导员','科研型') GROUP BY POSITION) END) as tj2,
max(CASE POSITION = '中级' WHEN '中级' THEN (select format(sum(ZYK_PROBLEM2)/count('x'),2) from bl_teacher_answer where POSITION = '中级' and POSITIONTYPE not in ('辅导员','科研型') GROUP BY POSITION) END) as tj3,
max(CASE POSITION = '初级' WHEN '初级' THEN (select format(sum(ZYK_PROBLEM2)/count('x'),2) from bl_teacher_answer where POSITION = '初级' and POSITIONTYPE not in ('辅导员','科研型') GROUP BY POSITION) END) as tj4
max(CASE POSITION = '正高级' WHEN '正高级' THEN (select format(sum(ZYK_PROBLEM2)/count('x'),2) from bl_teacher_answer where main_id = #{id} and POSITION = '正高级' and POSITIONTYPE not in ('辅导员','科研型') GROUP BY POSITION) END) as tj1,
max(CASE POSITION = '副高级' WHEN '副高级' THEN (select format(sum(ZYK_PROBLEM2)/count('x'),2) from bl_teacher_answer where main_id = #{id} and POSITION = '副高级' and POSITIONTYPE not in ('辅导员','科研型') GROUP BY POSITION) END) as tj2,
max(CASE POSITION = '中级' WHEN '中级' THEN (select format(sum(ZYK_PROBLEM2)/count('x'),2) from bl_teacher_answer where main_id = #{id} and POSITION = '中级' and POSITIONTYPE not in ('辅导员','科研型') GROUP BY POSITION) END) as tj3,
max(CASE POSITION = '初级' WHEN '初级' THEN (select format(sum(ZYK_PROBLEM2)/count('x'),2) from bl_teacher_answer where main_id = #{id} and POSITION = '初级' and POSITIONTYPE not in ('辅导员','科研型') GROUP BY POSITION) END) as tj4
FROM bl_teacher_answer where main_id = #{id}
union ALL
SELECT '创新性' as lsname2,'课程内容注重学科间的交叉与融合' as lsname,
max(CASE POSITION = '正高级' WHEN '正高级' THEN (select format(sum(ZYK_CROSS2)/count('x'),2) from bl_teacher_answer where POSITION = '正高级' and POSITIONTYPE not in ('辅导员','科研型') GROUP BY POSITION) END) as tj1,
max(CASE POSITION = '副高级' WHEN '副高级' THEN (select format(sum(ZYK_CROSS2)/count('x'),2) from bl_teacher_answer where POSITION = '副高级' and POSITIONTYPE not in ('辅导员','科研型') GROUP BY POSITION) END) as tj2,
max(CASE POSITION = '中级' WHEN '中级' THEN (select format(sum(ZYK_CROSS2)/count('x'),2) from bl_teacher_answer where POSITION = '中级' and POSITIONTYPE not in ('辅导员','科研型') GROUP BY POSITION) END) as tj3,
max(CASE POSITION = '初级' WHEN '初级' THEN (select format(sum(ZYK_CROSS2)/count('x'),2) from bl_teacher_answer where POSITION = '初级' and POSITIONTYPE not in ('辅导员','科研型') GROUP BY POSITION) END) as tj4
max(CASE POSITION = '正高级' WHEN '正高级' THEN (select format(sum(ZYK_CROSS2)/count('x'),2) from bl_teacher_answer where main_id = #{id} and POSITION = '正高级' and POSITIONTYPE not in ('辅导员','科研型') GROUP BY POSITION) END) as tj1,
max(CASE POSITION = '副高级' WHEN '副高级' THEN (select format(sum(ZYK_CROSS2)/count('x'),2) from bl_teacher_answer where main_id = #{id} and POSITION = '副高级' and POSITIONTYPE not in ('辅导员','科研型') GROUP BY POSITION) END) as tj2,
max(CASE POSITION = '中级' WHEN '中级' THEN (select format(sum(ZYK_CROSS2)/count('x'),2) from bl_teacher_answer where main_id = #{id} and POSITION = '中级' and POSITIONTYPE not in ('辅导员','科研型') GROUP BY POSITION) END) as tj3,
max(CASE POSITION = '初级' WHEN '初级' THEN (select format(sum(ZYK_CROSS2)/count('x'),2) from bl_teacher_answer where main_id = #{id} and POSITION = '初级' and POSITIONTYPE not in ('辅导员','科研型') GROUP BY POSITION) END) as tj4
FROM bl_teacher_answer where main_id = #{id}
union ALL
SELECT '创新性' as lsname2,'课程内容反映了学科发展的前沿内容' as lsname,
max(CASE POSITION = '正高级' WHEN '正高级' THEN (select format(sum(ZYK_NEW2)/count('x'),2) from bl_teacher_answer where POSITION = '正高级' and POSITIONTYPE not in ('辅导员','科研型') GROUP BY POSITION) END) as tj1,
max(CASE POSITION = '副高级' WHEN '副高级' THEN (select format(sum(ZYK_NEW2)/count('x'),2) from bl_teacher_answer where POSITION = '副高级' and POSITIONTYPE not in ('辅导员','科研型') GROUP BY POSITION) END) as tj2,
max(CASE POSITION = '中级' WHEN '中级' THEN (select format(sum(ZYK_NEW2)/count('x'),2) from bl_teacher_answer where POSITION = '中级' and POSITIONTYPE not in ('辅导员','科研型') GROUP BY POSITION) END) as tj3,
max(CASE POSITION = '初级' WHEN '初级' THEN (select format(sum(ZYK_NEW2)/count('x'),2) from bl_teacher_answer where POSITION = '初级' and POSITIONTYPE not in ('辅导员','科研型') GROUP BY POSITION) END) as tj4
max(CASE POSITION = '正高级' WHEN '正高级' THEN (select format(sum(ZYK_NEW2)/count('x'),2) from bl_teacher_answer where main_id = #{id} and POSITION = '正高级' and POSITIONTYPE not in ('辅导员','科研型') GROUP BY POSITION) END) as tj1,
max(CASE POSITION = '副高级' WHEN '副高级' THEN (select format(sum(ZYK_NEW2)/count('x'),2) from bl_teacher_answer where main_id = #{id} and POSITION = '副高级' and POSITIONTYPE not in ('辅导员','科研型') GROUP BY POSITION) END) as tj2,
max(CASE POSITION = '中级' WHEN '中级' THEN (select format(sum(ZYK_NEW2)/count('x'),2) from bl_teacher_answer where main_id = #{id} and POSITION = '中级' and POSITIONTYPE not in ('辅导员','科研型') GROUP BY POSITION) END) as tj3,
max(CASE POSITION = '初级' WHEN '初级' THEN (select format(sum(ZYK_NEW2)/count('x'),2) from bl_teacher_answer where main_id = #{id} and POSITION = '初级' and POSITIONTYPE not in ('辅导员','科研型') GROUP BY POSITION) END) as tj4
FROM bl_teacher_answer where main_id = #{id}
union ALL
SELECT '创新性' as lsname2,'课程教学内容重视实践与理论的结合' as lsname,
max(CASE POSITION = '正高级' WHEN '正高级' THEN (select format(sum(ZYK_INTERN2)/count('x'),2) from bl_teacher_answer where POSITION = '正高级' and POSITIONTYPE not in ('辅导员','科研型') GROUP BY POSITION) END) as tj1,
max(CASE POSITION = '副高级' WHEN '副高级' THEN (select format(sum(ZYK_INTERN2)/count('x'),2) from bl_teacher_answer where POSITION = '副高级' and POSITIONTYPE not in ('辅导员','科研型') GROUP BY POSITION) END) as tj2,
max(CASE POSITION = '中级' WHEN '中级' THEN (select format(sum(ZYK_INTERN2)/count('x'),2) from bl_teacher_answer where POSITION = '中级' and POSITIONTYPE not in ('辅导员','科研型') GROUP BY POSITION) END) as tj3,
max(CASE POSITION = '初级' WHEN '初级' THEN (select format(sum(ZYK_INTERN2)/count('x'),2) from bl_teacher_answer where POSITION = '初级' and POSITIONTYPE not in ('辅导员','科研型') GROUP BY POSITION) END) as tj4
max(CASE POSITION = '正高级' WHEN '正高级' THEN (select format(sum(ZYK_INTERN2)/count('x'),2) from bl_teacher_answer where main_id = #{id} and POSITION = '正高级' and POSITIONTYPE not in ('辅导员','科研型') GROUP BY POSITION) END) as tj1,
max(CASE POSITION = '副高级' WHEN '副高级' THEN (select format(sum(ZYK_INTERN2)/count('x'),2) from bl_teacher_answer where main_id = #{id} and POSITION = '副高级' and POSITIONTYPE not in ('辅导员','科研型') GROUP BY POSITION) END) as tj2,
max(CASE POSITION = '中级' WHEN '中级' THEN (select format(sum(ZYK_INTERN2)/count('x'),2) from bl_teacher_answer where main_id = #{id} and POSITION = '中级' and POSITIONTYPE not in ('辅导员','科研型') GROUP BY POSITION) END) as tj3,
max(CASE POSITION = '初级' WHEN '初级' THEN (select format(sum(ZYK_INTERN2)/count('x'),2) from bl_teacher_answer where main_id = #{id} and POSITION = '初级' and POSITIONTYPE not in ('辅导员','科研型') GROUP BY POSITION) END) as tj4
FROM bl_teacher_answer where main_id = #{id}
union ALL
SELECT '挑战度' as lsname2,'学生需要非常努力才能达到课程要求' as lsname,
max(CASE POSITION = '正高级' WHEN '正高级' THEN (select format(sum(ZYK_EFFORT2)/count('x'),2) from bl_teacher_answer where POSITION = '正高级' and POSITIONTYPE not in ('辅导员','科研型') GROUP BY POSITION) END) as tj1,
max(CASE POSITION = '副高级' WHEN '副高级' THEN (select format(sum(ZYK_EFFORT2)/count('x'),2) from bl_teacher_answer where POSITION = '副高级' and POSITIONTYPE not in ('辅导员','科研型') GROUP BY POSITION) END) as tj2,
max(CASE POSITION = '中级' WHEN '中级' THEN (select format(sum(ZYK_EFFORT2)/count('x'),2) from bl_teacher_answer where POSITION = '中级' and POSITIONTYPE not in ('辅导员','科研型') GROUP BY POSITION) END) as tj3,
max(CASE POSITION = '初级' WHEN '初级' THEN (select format(sum(ZYK_EFFORT2)/count('x'),2) from bl_teacher_answer where POSITION = '初级' and POSITIONTYPE not in ('辅导员','科研型') GROUP BY POSITION) END) as tj4
max(CASE POSITION = '正高级' WHEN '正高级' THEN (select format(sum(ZYK_EFFORT2)/count('x'),2) from bl_teacher_answer where main_id = #{id} and POSITION = '正高级' and POSITIONTYPE not in ('辅导员','科研型') GROUP BY POSITION) END) as tj1,
max(CASE POSITION = '副高级' WHEN '副高级' THEN (select format(sum(ZYK_EFFORT2)/count('x'),2) from bl_teacher_answer where main_id = #{id} and POSITION = '副高级' and POSITIONTYPE not in ('辅导员','科研型') GROUP BY POSITION) END) as tj2,
max(CASE POSITION = '中级' WHEN '中级' THEN (select format(sum(ZYK_EFFORT2)/count('x'),2) from bl_teacher_answer where main_id = #{id} and POSITION = '中级' and POSITIONTYPE not in ('辅导员','科研型') GROUP BY POSITION) END) as tj3,
max(CASE POSITION = '初级' WHEN '初级' THEN (select format(sum(ZYK_EFFORT2)/count('x'),2) from bl_teacher_answer where main_id = #{id} and POSITION = '初级' and POSITIONTYPE not in ('辅导员','科研型') GROUP BY POSITION) END) as tj4
FROM bl_teacher_answer where main_id = #{id}
</select>

View File

@ -1,7 +1,6 @@
package org.jeecg.modules.demo.blTeacherAnswer.service.impl;
import cn.hutool.core.thread.ThreadUtil;
import cn.hutool.core.util.NumberUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.google.common.collect.Lists;
@ -17,11 +16,9 @@ import org.jeecg.modules.tools.WebDriverUtil;
import org.jeecg.modules.tools.word.ExportWord;
import org.jeecg.modules.tools.word.TableMerge;
import org.jeecg.modules.tools.word.WordOperator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;
import java.util.concurrent.Callable;
@ -29,7 +26,6 @@ import java.util.concurrent.CompletionService;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.Executors;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicReference;
/**
* @Description: 教室问卷信息
@ -41,7 +37,7 @@ import java.util.concurrent.atomic.AtomicReference;
@Service
public class BlTeacherAnswerServiceImpl extends ServiceImpl<BlTeacherAnswerMapper, BlTeacherAnswer> implements IBlTeacherAnswerService {
@Autowired
@Resource
public BlTeacherInfoMapper blTeacherInfoMapper;
//@Resource

View File

@ -38,7 +38,7 @@ public class WebDriverUtil {
//驱动
// private static WebDriver driver;
private static ChromeDriverService driverService;
//private static ChromeDriverService driverService;
//private static BASE64Decoder decoder = new sun.misc.BASE64Decoder();
@ -50,7 +50,7 @@ public class WebDriverUtil {
// String currentDir = System.getProperty("user.dir");
// log.info(currentDir);
// if(driver == null) {
WebDriver driver = null;
WebDriver driver = null;
System.setProperty("webdriver.chrome.driver", getUrlStr("web/webDriver/130.0.6723.70/chromedriver.exe"));
// System.setProperty("webdriver.chrome.driver", "D:/developkit/driver/chromedriver.exe");
//设置 chrome 的无头模式
@ -76,8 +76,6 @@ public class WebDriverUtil {
driver.get("https://www.baidu.com/");
WebDriver driver2 = driver.switchTo().newWindow(WindowType.TAB);
driver2.get("https://cn.bing.com/");
@ -92,24 +90,24 @@ public class WebDriverUtil {
}
public static void createService() throws IOException {
Duration duration = Duration.of(500, ChronoUnit.SECONDS);
ChromeDriverService service = new ChromeDriverService.Builder()
//超时时间
.withTimeout(duration)
//执行驱动
//.usingDriverExecutable(getUrl(global.getConfig("webDriver.driverPath")))
.build();
// service.start();
driverService = service;
}
// public static void createService() {
// Duration duration = Duration.of(500, ChronoUnit.SECONDS);
// ChromeDriverService service = new ChromeDriverService.Builder()
// .withLogLevel(ChromeDriverLogLevel.WARNING)
// //超时时间
// .withTimeout(duration)
// //执行驱动
// //.usingDriverExecutable(getUrl(global.getConfig("webDriver.driverPath")))
// .build();
//// service.start();
// driverService = service;
// }
/**
* 初始化WebDriver
*
* @return
* @return 驱动
*/
public static WebDriver getWebDriver() throws IOException {
public static WebDriver getWebDriver() {
// 设置ChromeDriver的路径加载驱动
//"D:/APPLICATION/chromedriver/chromedriver.exe"
System.setProperty(global.getConfig("webDriver.driverName"), getUrlStr(global.getConfig("webDriver.driverPath")));
@ -117,7 +115,7 @@ public class WebDriverUtil {
//设置 chrome 的无头模式
ChromeOptions chromeOptions = new ChromeOptions();
//js执行超时时间
Duration duration = Duration.of(500, ChronoUnit.SECONDS);
Duration duration = Duration.of(5, ChronoUnit.MINUTES);//5分钟超时时间 - js执行超时时间页面加载超时时间驱动连接超时时间
chromeOptions.setScriptTimeout(duration);
//页面加载超时时间
@ -133,28 +131,33 @@ public class WebDriverUtil {
//设置浏览器完整路径
chromeOptions.setBinary(global.getConfig("webDriver.webExamplePath"));
chromeOptions.setLogLevel(ChromeDriverLogLevel.ALL);
//chromeOptions.setLogLevel(ChromeDriverLogLevel.ALL);
//启动一个 chrome 实例
// if(driverService == null) {
// createService();
// }
ChromeDriverService service = new ChromeDriverService.Builder()
.withLogLevel(ChromeDriverLogLevel.SEVERE)
//超时时间
.withTimeout(duration)
//执行驱动
//执行驱动,由chromeOptions提供
//.usingDriverExecutable(getUrl(global.getConfig("webDriver.driverPath")))
.build();
// service.start();
return new ChromeDriver(service, chromeOptions);
}
/**
* 获取jar resources里的文件到固定位置
* @param path 文件路径
* @return 缓存后文件对象
*/
public static File getResourcesFileToTempFile(String path) {
//判断文件存不存在
String currentDir = System.getProperty("user.dir");
var file = new File(currentDir + File.separator + "applicationTemp");
var tempFile = new File(file.getPath() + File.separator + path);
var tempFile = new File(file.getPath() + File.separator + path);
if(!tempFile.exists()){
log.info("往缓存写入jar包里的资源:{}",tempFile.getPath());
var is = ResourceUtil.getStream(path);
@ -168,22 +171,50 @@ public class WebDriverUtil {
return tempFile;
}
/**
* 获取jar resources里的文件到固定位置
* @param path 文件路径
* @return 缓存后文件对象
*/
public static File getUrl(String path) {
return getResourcesFileToTempFile(path);
}
/**
* 获取jar resources里的文件到固定位置
* @param path 文件路径
* @return 缓存后文件地址
*/
public static String getUrlStr(String path) {
return getUrl(path).getPath();
}
/**
* 使用json生成图片
* @param json 生成图片使用的json
* @return 图片地址
*/
public static String getImgByte(String json) {
return getImgByte(json, null, null);
}
/**
* 使用json生成图片
* @param json 生成图片使用的json
* @param path 使用哪个html模板
* @return 图片地址
*/
public static String getImgByte(String json, String path) {
return getImgByte(json, path, null);
}
/**
* 使用json生成图片
* @param json 生成图片使用的json
* @param path 使用哪个html模板
* @param runJs 执行js组
* @return 图片地址
*/
public static String getImgByte(String json, String path, Map<String, String> runJs) {
WebDriver driver = null;
try {
@ -201,7 +232,12 @@ public class WebDriverUtil {
}
/**
* 获取图片byte
* 使用json生成图片
* @param driver 浏览器驱动
* @param json 生成图片使用的json
* @param path 使用哪个html模板
* @param runJs 执行js组
* @return 图片地址
*/
public static String getImgByte(WebDriver driver, String json, String path, Map<String, String> runJs) {
log.info("发往浏览器的json: {}",json);
@ -239,24 +275,30 @@ public class WebDriverUtil {
js.executeScript(runJsStr);
//延迟1秒等待折线图绘制完成
Thread.sleep(1000);
//执行js返回base64
String imgTxt = js.executeScript("return returnEchartImg()").toString().replace("data:image/png;base64,", "");
//生成返回图片文件名
String uid = RandomUtil.randomString(6);
String imageName = DateUtils.formatDate(new Date(), "yyyyMMddHHmmss") + uid + ".png";
return base64StringToImage(imgTxt, imageName);
} catch (Exception e) {
log.error("在获取图片时发生未知错误,检查下面是输出,确认问题");
log.error(e.getMessage(), e);
} finally {
if(Boolean.parseBoolean(global.getConfig("webDriver.isClose")) && driver != null){
//关闭页面但是不关闭驱动
// driver.close();
//全部页面并关闭驱动
driver.quit();
}
}
return null;
}
/**
* 获取图片300高度
* @param json 生成图片使用的json
* @return 图片地址
*/
public static String getImgByte300(String json) {
return getImgByte(json, "echarts300.html");
@ -264,14 +306,17 @@ public class WebDriverUtil {
/**
* 获取图片400高度
* @param json 生成图片使用的json
* @return 图片地址
*/
public static String getImgByte400(String json) {
return getImgByte(json, "echarts400.html");
}
/**
* 获取图片500高度
* @param json 生成图片使用的json
* @return 图片地址
*/
public static String getImgByte500(String json) {
return getImgByte(json, "echarts500.html");
@ -279,6 +324,9 @@ public class WebDriverUtil {
/**
* 获取图片自定义高度
* @param json 生成图片使用的json
* @param runJs 执行js组
* @return 图片地址
*/
public static String getImgByteAuto(String json, Map<String, String> runJs) {
return getImgByte(json, "echartsAuto.html", runJs);
@ -286,8 +334,8 @@ public class WebDriverUtil {
/**
* 保存图片
*
* @param base64String
* @param base64String base64图片
* @param imageName 文件名
*/
public static String base64StringToImage(String base64String,String imageName) {
String downloadName = "/tjfxChart/" + imageName;