|
@@ -1,5 +1,7 @@
|
|
|
package com.ssj.statistics.dao.impl;
|
|
|
|
|
|
+import com.ssj.api.domain.vo.homework.CheckDetailVO;
|
|
|
+import com.ssj.api.domain.vo.statistics.ListVO;
|
|
|
import com.ssj.framework.core.persistence.PagingHibernateJdbcDao;
|
|
|
import com.ssj.statistics.dao.IStatisticsQueryDao;
|
|
|
import org.apache.commons.collections4.MapUtils;
|
|
@@ -130,9 +132,9 @@ public class StatisticsQueryImpl implements IStatisticsQueryDao {
|
|
|
errorNums int list 报错页数
|
|
|
*/
|
|
|
StringBuffer sql = new StringBuffer();
|
|
|
- sql.append("select sum(a.overtimeNums) as correctTotalNums,sum(overtimeNums) as overtimeTotalNums, ");
|
|
|
- sql.append("sum(a.notCorrectNums) as notCorrectTotalNums,sum(notCommentNums) as notCommentTotalNums, ");
|
|
|
- sql.append("sum(a.repeatNums) as repeatTotalNums,avg(accuracy) as accuracyTotal, ");
|
|
|
+ sql.append("select ifnull(sum(a.overtimeNums),0) as correctTotalNums,ifnull(sum(overtimeNums),0) as overtimeTotalNums, ");
|
|
|
+ sql.append("ifnull(sum(a.notCorrectNums),0) as notCorrectTotalNums,ifnull(sum(notCommentNums),0) as notCommentTotalNums, ");
|
|
|
+ sql.append("ifnull(sum(a.repeatNums),0) as repeatTotalNums,ifnull(avg(accuracy),0) as accuracyTotal ");
|
|
|
sql.append(" from (");
|
|
|
List<Object> queryParams = new ArrayList<>();
|
|
|
listInfo(params,queryParams,sql);
|
|
@@ -140,47 +142,41 @@ public class StatisticsQueryImpl implements IStatisticsQueryDao {
|
|
|
return dao.findMap(sql.toString(),queryParams.toArray()).get(0);
|
|
|
}
|
|
|
|
|
|
-
|
|
|
- public Map<String, Object> findTotalData2(Map<String, Object> params) {
|
|
|
+ @Override
|
|
|
+ public List<ListVO> statisticsDataList(String dateTime) {
|
|
|
StringBuffer sql = new StringBuffer();
|
|
|
List<Object> queryParams = new ArrayList<>();
|
|
|
- sql.append("SELECT a.teacher_id,a.teacherName,a.`subject`,a.allSubject,a.correctNums,a.overtimeNums,a.notCorrectNums,a.notCommentNums,a.repeatNums,a.errorNums,\n");
|
|
|
- sql.append("floor(100*(a.total- a.errorNums-a.notCorrectNums)/a.total) as accuracy\n");
|
|
|
+ sql.append("SELECT a.teacher_id,a.teacher_name,a.`subject`,a.all_subject,a.correct_nums,a.overtime_nums,a.not_correct_nums,a.not_comment_nums,a.repeat_nums,a.error_nums,\n");
|
|
|
+ sql.append("floor(100*(a.total- a.error_nums-a.not_correct_nums)/a.total) as accuracy\n");
|
|
|
sql.append("from (\n");
|
|
|
- sql.append("SELECT t12.name as teacherName,t.teacher_id,t.`subject`,t12.course_name as allSubject,count(if(t.is_mark in (0,2) and t.is_feedback=1,true,NULL)) as correctNums, \n");
|
|
|
- sql.append("0 as overtimeNums,\n");
|
|
|
+ sql.append("SELECT t12.name as teacher_name,t.teacher_id,t.`subject`,t12.course_name as all_subject,count(if(t.is_mark in (0,2) and t.is_feedback=1,true,NULL)) as correct_nums, \n");
|
|
|
+ sql.append("0 as overtime_nums,\n");
|
|
|
sql.append("count(1) as total,\n");
|
|
|
- sql.append("count(if(t11.start_time is null,true,null)) as notCorrectNums,\n");
|
|
|
- sql.append("count(if(t.is_mark=10,true,null)) as notCommentNums,\n");
|
|
|
- sql.append("count(if(t.is_mark=15,true,null)) as repeatNums\n");
|
|
|
- sql.append("count(if(t11.is_check_error=1,true,null)) as errorNums,\n");
|
|
|
+ sql.append("count(if(t11.start_time is null,true,null)) as not_correct_nums,\n");
|
|
|
+ sql.append("count(if(t.is_mark=10,true,null)) as not_comment_nums,\n");
|
|
|
+ sql.append("count(if(t.is_mark=15,true,null)) as repeat_nums,\n");
|
|
|
+ sql.append("count(if(t11.is_check_error=1,true,null)) as error_nums\n");
|
|
|
sql.append("from scon_homework_picture t \n");
|
|
|
sql.append("left join scon_homework_picture_correct t11 on t.id = t11.homework_picture_id and t11.type = 8\n");
|
|
|
sql.append("left join tb_lib_manager t12 on t.teacher_id = t12.user_id\n");
|
|
|
- sql.append("where t12.type = 30 \n");
|
|
|
- if(Objects.nonNull(params.get("beginDate")) && StringUtils.isNotBlank(MapUtils.getString(params,"beginDate"))){
|
|
|
- sql.append(" and to_days(t11.end_time) >=to_days(?) ");
|
|
|
- queryParams.add(params.get("beginDate"));
|
|
|
- }
|
|
|
- if(Objects.nonNull(params.get("endDate")) && StringUtils.isNotBlank(MapUtils.getString(params,"endDate"))){
|
|
|
- sql.append(" and to_days(t11.end_time) <=to_days(?) ");
|
|
|
- queryParams.add(params.get("endDate"));
|
|
|
- }
|
|
|
+ sql.append("where t12.type = 30 and to_days(t.create_time)= to_days(?)\n");
|
|
|
+ queryParams.add(dateTime);
|
|
|
sql.append("GROUP BY t.teacher_id\n");
|
|
|
sql.append(")a");
|
|
|
- return dao.findMap(sql.toString(),queryParams.toArray()).get(0);
|
|
|
+ return dao.findList(sql.toString(),queryParams.toArray(),ListVO.class);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public List<Map<String, Object>> checkDetailList(String homeworkId) {
|
|
|
+ public List<CheckDetailVO> checkDetailList(String homeworkId) {
|
|
|
StringBuffer sql = new StringBuffer();
|
|
|
List<Object> queryParams = new ArrayList<>();
|
|
|
- sql.append("SELECT t.id as pictureId,t.corrected_picture_url as pictureUrl,2 as checkState from scon_homework_picture t \n");
|
|
|
+ sql.append("SELECT t.id as picture_id,t.corrected_picture_url as picture_url,2 as check_state \n");
|
|
|
+ sql.append("from scon_homework_picture t \n");
|
|
|
sql.append("left join scon_homework_picture_correct t11 on t.id = t11.homework_picture_id\n");
|
|
|
sql.append("where t11.type = 8 and t11.is_check_error=1\n");
|
|
|
sql.append(" and t.homework_id = ?");
|
|
|
queryParams.add(homeworkId);
|
|
|
- return dao.findMap(sql.toString(),queryParams.toArray());
|
|
|
+ return dao.findList(sql.toString(),queryParams.toArray(),CheckDetailVO.class);
|
|
|
}
|
|
|
|
|
|
@Override
|