|
@@ -224,7 +224,7 @@ public class ExamStudentServiceImpl implements ExamStudentService {
|
|
StringBuffer sql = new StringBuffer();
|
|
StringBuffer sql = new StringBuffer();
|
|
sql.append("select id,exam_student_id,exam_id,course_id,course_code,course_level");
|
|
sql.append("select id,exam_student_id,exam_id,course_id,course_code,course_level");
|
|
if ((ExamType.ONLINE.name().equals(examBean.getExamType()) || ExamType.ONLINE_HOMEWORK.name().equals(examBean.getExamType()))&&query.getFinished() == null) {
|
|
if ((ExamType.ONLINE.name().equals(examBean.getExamType()) || ExamType.ONLINE_HOMEWORK.name().equals(examBean.getExamType()))&&query.getFinished() == null) {
|
|
- sql.append(",case when finished = 1 OR EXISTS ( SELECT 1 FROM ec_oes_exam_record_data t2 WHERE t2.exam_student_id = t1.exam_student_id ) then 1 else 0 end finished");
|
|
|
|
|
|
+ sql.append(",case when finished = 1 OR t1.exam_student_id in ( SELECT t2.exam_student_id FROM ec_oes_exam_record_data t2 WHERE t2.exam_id="+query.getExamId()+" ) then 1 else 0 end finished");
|
|
}else {
|
|
}else {
|
|
sql.append(",finished");
|
|
sql.append(",finished");
|
|
}
|
|
}
|
|
@@ -286,7 +286,7 @@ public class ExamStudentServiceImpl implements ExamStudentService {
|
|
StringBuffer sql = new StringBuffer();
|
|
StringBuffer sql = new StringBuffer();
|
|
sql.append("select id,exam_student_id,exam_id,course_id,course_code,course_level");
|
|
sql.append("select id,exam_student_id,exam_id,course_id,course_code,course_level");
|
|
if ((ExamType.ONLINE.name().equals(examBean.getExamType()) || ExamType.ONLINE_HOMEWORK.name().equals(examBean.getExamType()))&&query.getFinished() == null) {
|
|
if ((ExamType.ONLINE.name().equals(examBean.getExamType()) || ExamType.ONLINE_HOMEWORK.name().equals(examBean.getExamType()))&&query.getFinished() == null) {
|
|
- sql.append(",case when finished = 1 OR EXISTS ( SELECT 1 FROM ec_oes_exam_record_data t2 WHERE t2.exam_student_id = t1.exam_student_id ) then 1 else 0 end finished");
|
|
|
|
|
|
+ sql.append(",case when finished = 1 OR t1.exam_student_id in ( SELECT t2.exam_student_id FROM ec_oes_exam_record_data t2 WHERE t2.exam_id="+query.getExamId()+" ) then 1 else 0 end finished");
|
|
}else {
|
|
}else {
|
|
sql.append(",finished");
|
|
sql.append(",finished");
|
|
}
|
|
}
|
|
@@ -357,10 +357,10 @@ public class ExamStudentServiceImpl implements ExamStudentService {
|
|
if (ExamType.ONLINE.name().equals(examType) || ExamType.ONLINE_HOMEWORK.name().equals(examType)) {
|
|
if (ExamType.ONLINE.name().equals(examType) || ExamType.ONLINE_HOMEWORK.name().equals(examType)) {
|
|
// sql.append(" and finished = " + query.getFinished());
|
|
// sql.append(" and finished = " + query.getFinished());
|
|
if(query.getFinished().intValue()==1) {
|
|
if(query.getFinished().intValue()==1) {
|
|
- sql.append(" AND ( finished = 1 OR EXISTS ( SELECT 1 FROM ec_oes_exam_record_data t2 WHERE t2.exam_student_id = t1.exam_student_id ) )");
|
|
|
|
|
|
+ sql.append(" AND ( finished = 1 OR t1.exam_student_id in ( SELECT t2.exam_student_id FROM ec_oes_exam_record_data t2 WHERE t2.exam_id="+query.getExamId()+" ) )");
|
|
}
|
|
}
|
|
if(query.getFinished().intValue()==0) {
|
|
if(query.getFinished().intValue()==0) {
|
|
- sql.append(" AND ( finished = 0 and NOT EXISTS ( SELECT 1 FROM ec_oes_exam_record_data t2 WHERE t2.exam_student_id = t1.exam_student_id ) )");
|
|
|
|
|
|
+ sql.append(" AND ( finished = 0 and t1.exam_student_id not in ( SELECT t2.exam_student_id FROM ec_oes_exam_record_data t2 WHERE t2.exam_id="+query.getExamId()+" ) )");
|
|
}
|
|
}
|
|
} else if (ExamType.OFFLINE.name().equals(examType)) {
|
|
} else if (ExamType.OFFLINE.name().equals(examType)) {
|
|
//如果忽略是否上传答案时,只要是已抽题则认为已参加考试
|
|
//如果忽略是否上传答案时,只要是已抽题则认为已参加考试
|
|
@@ -595,7 +595,7 @@ public class ExamStudentServiceImpl implements ExamStudentService {
|
|
StringBuffer finishsql = new StringBuffer();
|
|
StringBuffer finishsql = new StringBuffer();
|
|
finishsql.append("select count(t1.id) from ec_oe_exam_student t1 where 1=1 ");
|
|
finishsql.append("select count(t1.id) from ec_oe_exam_student t1 where 1=1 ");
|
|
finishsql.append(" and exam_id = " + examId);
|
|
finishsql.append(" and exam_id = " + examId);
|
|
- finishsql.append(" AND ( finished = 1 OR EXISTS ( SELECT 1 FROM ec_oes_exam_record_data t2 WHERE t2.exam_student_id = t1.exam_student_id ) )");
|
|
|
|
|
|
+ finishsql.append(" AND ( finished = 1 OR t1.exam_student_id in ( SELECT t2.exam_student_id FROM ec_oes_exam_record_data t2 WHERE t2.exam_id="+examId+" ) )");
|
|
Integer finish=jdbcTemplate.queryForObject(finishsql.toString(), Integer.class);
|
|
Integer finish=jdbcTemplate.queryForObject(finishsql.toString(), Integer.class);
|
|
statistic.setFinished(finish);
|
|
statistic.setFinished(finish);
|
|
statistic.setUnFinished(total-finish);
|
|
statistic.setUnFinished(total-finish);
|
|
@@ -644,7 +644,7 @@ public class ExamStudentServiceImpl implements ExamStudentService {
|
|
if (orgId != null) {
|
|
if (orgId != null) {
|
|
finishsql.append(" and org_id = " + orgId);
|
|
finishsql.append(" and org_id = " + orgId);
|
|
}
|
|
}
|
|
- finishsql.append(" AND ( finished = 1 OR EXISTS ( SELECT 1 FROM ec_oes_exam_record_data t2 WHERE t2.exam_student_id = t1.exam_student_id ) )");
|
|
|
|
|
|
+ finishsql.append(" AND ( finished = 1 OR t1.exam_student_id in ( SELECT t2.exam_student_id FROM ec_oes_exam_record_data t2 WHERE t2.exam_id="+examId+" ) )");
|
|
finishsql.append(" group by t1.org_id ");
|
|
finishsql.append(" group by t1.org_id ");
|
|
|
|
|
|
List<ExamStudentOrgStatistic> finishList=jdbcTemplate.query(finishsql.toString(), new BeanPropertyRowMapper<ExamStudentOrgStatistic>(ExamStudentOrgStatistic.class));
|
|
List<ExamStudentOrgStatistic> finishList=jdbcTemplate.query(finishsql.toString(), new BeanPropertyRowMapper<ExamStudentOrgStatistic>(ExamStudentOrgStatistic.class));
|
|
@@ -760,7 +760,7 @@ public class ExamStudentServiceImpl implements ExamStudentService {
|
|
if (courseId != null) {
|
|
if (courseId != null) {
|
|
finishsql.append(" and course_id = " + courseId);
|
|
finishsql.append(" and course_id = " + courseId);
|
|
}
|
|
}
|
|
- finishsql.append(" AND ( finished = 1 OR EXISTS ( SELECT 1 FROM ec_oes_exam_record_data t2 WHERE t2.exam_student_id = t1.exam_student_id ) )");
|
|
|
|
|
|
+ finishsql.append(" AND ( finished = 1 OR t1.exam_student_id in ( SELECT t2.exam_student_id FROM ec_oes_exam_record_data t2 WHERE t2.exam_id="+examId+" ))");
|
|
finishsql.append(" group by t1.course_id ");
|
|
finishsql.append(" group by t1.course_id ");
|
|
|
|
|
|
List<CourseProgressInfo> finishList=jdbcTemplate.query(finishsql.toString(), new BeanPropertyRowMapper<CourseProgressInfo>(CourseProgressInfo.class));
|
|
List<CourseProgressInfo> finishList=jdbcTemplate.query(finishsql.toString(), new BeanPropertyRowMapper<CourseProgressInfo>(CourseProgressInfo.class));
|