zouxuan 5 years ago
parent
commit
6dfb29af3c

+ 11 - 0
edu-user/edu-user-biz/src/main/java/com/keao/edu/user/dto/ExamCertificationDto.java

@@ -49,6 +49,17 @@ public class ExamCertificationDto{
     @ApiModelProperty(value = "呼叫时长")
     private Integer callTime;
 
+    @ApiModelProperty(value = "考试时长")
+    private Integer examDuration;
+
+    public Integer getExamDuration() {
+        return examDuration;
+    }
+
+    public void setExamDuration(Integer examDuration) {
+        this.examDuration = examDuration;
+    }
+
     public Integer getCallTime() {
         return callTime;
     }

+ 7 - 2
edu-user/edu-user-biz/src/main/java/com/keao/edu/user/service/ExamCertificationService.java

@@ -22,8 +22,13 @@ public interface ExamCertificationService extends BaseService<Long, ExamCertific
     ExamCertification findByStuAndBasicId(Long examRegistrationId);
 
     /**
-     * 获取学员的准考证列表
-     * @return
+     * @describe 获取学员的准考证列表
+     * @apiNote 时光荏苒,认真工作的时间总是过得很快,而我、享受这一刻!
+     * @author zouxuan
+     * @date 2020/8/27
+     * @time 11:34
+     * @param examRegistrationId:
+     * @return java.util.List<com.keao.edu.user.dto.ExamCertificationDto>
      */
     List<ExamCertificationDto> queryCertificationPage(Long examRegistrationId);
 

+ 10 - 2
edu-user/edu-user-biz/src/main/java/com/keao/edu/user/service/impl/ExamCertificationServiceImpl.java

@@ -7,6 +7,7 @@ import com.keao.edu.common.dal.BaseDAO;
 import com.keao.edu.common.service.impl.BaseServiceImpl;
 import com.keao.edu.user.api.entity.ExamRoomStudentRelation;
 import com.keao.edu.user.api.entity.Student;
+import com.keao.edu.user.api.entity.StudentAttendance;
 import com.keao.edu.user.dao.*;
 import com.keao.edu.user.dto.BasicNeedCheckingDetailDto;
 import com.keao.edu.user.dto.ExamCertificationDto;
@@ -38,6 +39,8 @@ public class ExamCertificationServiceImpl extends BaseServiceImpl<Long, ExamCert
 	@Autowired
 	private ExamRoomStudentRelationDao examRoomStudentRelationDao;
 	@Autowired
+	private StudentAttendanceDao studentAttendanceDao;
+	@Autowired
 	private SubjectDao subjectDao;
 	@Autowired
 	private SysUserFeignService sysUserFeignService;
@@ -62,7 +65,7 @@ public class ExamCertificationServiceImpl extends BaseServiceImpl<Long, ExamCert
 	public List<ExamCertificationDto> queryCertificationPage(Long examRegistrationId) {
 		SysUser sysUser = sysUserFeignService.queryUserInfo();
 		List<ExamCertificationDto> dataList = examCertificationDao.queryExamCertificationDtoPage(sysUser.getId(),examRegistrationId);
-		if(dataList == null || dataList.size() < 0){
+		if(dataList == null || dataList.size() == 0){
 			return dataList;
 		}
 		List<Integer> subjectIds = dataList.stream().map(e -> e.getSubjectId()).collect(Collectors.toList());
@@ -129,7 +132,12 @@ public class ExamCertificationServiceImpl extends BaseServiceImpl<Long, ExamCert
 			ExamRoomStudentRelation studentExamRoom = examRoomStudentRelationDao.getStudentExamRoom(examRegistrationId);
 			if(studentExamRoom.getCallTime() != null){
 				examCertificationDto.setCallTime(DateUtil.secondsBetween(studentExamRoom.getCallTime(),new Date()));
-				DateUtil.secondsBetween(studentExamRoom.getCallTime(),new Date());
+			}
+		}
+		if(studentExamResult.getIsFinishedExam() == 0){
+			StudentAttendance studentAttendance = studentAttendanceDao.findByRegistrationId(examRegistrationId);
+			if(studentAttendance != null && studentAttendance.getSignInTime() != null){
+				examCertificationDto.setExamDuration(DateUtil.secondsBetween(studentAttendance.getSignInTime(),new Date()));
 			}
 		}
 		return examCertificationDto;

+ 5 - 11
edu-user/edu-user-biz/src/main/resources/config/mybatis/ExamRegistrationMapper.xml

@@ -647,14 +647,10 @@
 	</select>
 
     <select id="getNotInRoomStudents" resultMap="ExamRegistration">
-		SELECT
-			*
-		FROM
-			exam_registration er
-		WHERE
-			examination_basic_id_ = #{examId}
-			AND er.status_ IN ('AUDIT_PASS')
-			AND NOT EXISTS ( SELECT id_ FROM exam_room_student_relation WHERE examination_basic_id_ = #{examId} AND er.id_ = exam_registration_id_ )
+		SELECT * FROM exam_registration er
+		WHERE examination_basic_id_ = #{examId} AND er.status_ IN ('AUDIT_PASS')
+			AND NOT EXISTS ( SELECT id_ FROM exam_room_student_relation
+			WHERE examination_basic_id_ = #{examId} AND er.id_ = exam_registration_id_ )
 			<if test="organIds!=null">
 				AND er.organ_id_ IN
 				<foreach collection="organIds" item="organId" separator="," open="(" close=")">
@@ -664,9 +660,7 @@
 	</select>
 
     <select id="getOrganExamRegistStatistics" resultType="com.keao.edu.user.dto.OrganExamRegistStatisticsDto">
-		SELECT
-			o.id_ 'organId',
-			o.name_ 'organName',
+		SELECT o.id_ 'organId', o.name_ 'organName',
 			SUM(CASE YEAR(er.create_time_) WHEN YEAR(NOW()) THEN 1 ELSE 0 END) 'thisYearRegistStudentNum',
 			SUM(CASE WHEN YEAR(er.create_time_)!=YEAR(NOW()) THEN 1 ELSE 0 END) 'historyRegistStudentNum'
 		FROM