zouxuan 5 rokov pred
rodič
commit
ec75561fc0

+ 4 - 11
edu-user/edu-user-biz/src/main/java/com/keao/edu/user/dao/ExamRoomStudentRelationDao.java

@@ -116,25 +116,18 @@ public interface ExamRoomStudentRelationDao extends BaseDAO<Long, ExamRoomStuden
     List<RoomStudentListDto> queryStudentList(Long roomId);
 
     /**
-     * 获取签到总人数
+     * 获取总人数
      * @param roomId
      * @return
      */
-    Integer querySignTotalNum(Long roomId);
+    Integer queryTotalNum(Long roomId);
 
     /**
-     * 获取未签到总人数
+     * 获取已完成总人数
      * @param roomId
      * @return
      */
-    Integer queryNoSignTotalNum(Long roomId);
-
-    /**
-     * 获取未考试学院数
-     * @param roomId
-     * @return
-     */
-    Integer querySurplusNum(Long roomId);
+    Integer queryEndNum(Long roomId);
 
     /**
      * 获取当前学员需要等待人数

+ 4 - 6
edu-user/edu-user-biz/src/main/java/com/keao/edu/user/service/impl/ExamRoomServiceImpl.java

@@ -26,10 +26,7 @@ import com.keao.edu.user.api.entity.ExamRoom;
 import com.keao.edu.user.api.entity.ExamRoomStudentRelation;
 import com.keao.edu.user.api.enums.ExamModeEnum;
 import com.keao.edu.user.dao.*;
-import com.keao.edu.user.dto.ExamRoomDto;
-import com.keao.edu.user.dto.ExamRoomExamTimeDto;
-import com.keao.edu.user.dto.ExamRoomListDto;
-import com.keao.edu.user.dto.ExamRoomStatisticsDto;
+import com.keao.edu.user.dto.*;
 import com.keao.edu.user.entity.*;
 import com.keao.edu.user.page.ExamRoomListQueryInfo;
 import com.keao.edu.user.page.ExamRoomQueryInfo;
@@ -821,8 +818,9 @@ public class ExamRoomServiceImpl extends BaseServiceImpl<Long, ExamRoom> impleme
 			publishMessageDto.setMemberChangedMessage(msg);
 			imFeignService.publishMessage(publishMessageDto);
 			if(StringUtils.isNotEmpty(studentIds)){
-				List<ExamRoomStudentRelation> studentRelations = examRoomStudentRelationDao.findStudentsWithExamRoom(examRoomId);
-				studentRelations.forEach(e->{
+				List<RoomStudentListDto> roomStudentListDtos = examRoomStudentRelationDao.queryStudentList(examRoomId);
+//				List<ExamRoomStudentRelation> studentRelations = examRoomStudentRelationDao.findStudentsWithExamRoom(examRoomId);
+				roomStudentListDtos.forEach(e->{
 					Map<Integer, String> userPhoneMap = new HashMap<>(1);
 					userPhoneMap.put(e.getStudentId(),e.getStudentId().toString());
 					String notifyUrl = "3?examRegistrationId=" + e.getExamRegistrationId();

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

@@ -570,8 +570,8 @@ public class ExamRoomStudentRelationServiceImpl extends BaseServiceImpl<Long, Ex
 		List<RoomStudentListDto> roomStudentListDtos = examRoomStudentRelationDao.queryStudentList(roomId);
 		Map<String,Object> resultMap = new HashMap<>(3);
 		resultMap.put("studentList",roomStudentListDtos);
-		resultMap.put("signTotalNum",examRoomStudentRelationDao.querySignTotalNum(roomId));
-		resultMap.put("noSignTotalNum",examRoomStudentRelationDao.queryNoSignTotalNum(roomId));
+		resultMap.put("totalNum",examRoomStudentRelationDao.queryTotalNum(roomId));
+		resultMap.put("endNum",examRoomStudentRelationDao.queryEndNum(roomId));
 //		resultMap.put("surplusNum",examRoomStudentRelationDao.querySurplusNum(roomId));
 		return resultMap;
 	}

+ 5 - 10
edu-user/edu-user-biz/src/main/resources/config/mybatis/ExamRoomStudentRelationMapper.xml

@@ -225,18 +225,13 @@
 		WHERE ersr.exam_room_id_ = #{roomId} AND ser.is_finished_exam_ != 5
 		ORDER BY ersr.sign_in_time_ IS NULL,ser.is_finished_exam_ ASC,ersr.sign_in_time_ ASC
 	</select>
-    <select id="querySignTotalNum" resultType="java.lang.Integer">
+    <select id="queryTotalNum" resultType="java.lang.Integer">
 		SELECT COUNT(ersr.id_) FROM exam_room_student_relation ersr
-		WHERE ersr.exam_room_id_ = #{roomId} AND ersr.sign_in_time_ IS NOT NULL
+		WHERE ersr.exam_room_id_ = #{roomId}
 	</select>
-    <select id="queryNoSignTotalNum" resultType="java.lang.Integer">
-		SELECT COUNT(ersr.id_) FROM exam_room_student_relation ersr
-		WHERE ersr.exam_room_id_ = #{roomId} AND ersr.sign_in_time_ IS NULL
-	</select>
-	<select id="querySurplusNum" resultType="java.lang.Integer">
-		SELECT COUNT(DISTINCT ersr.id_) FROM exam_room_student_relation ersr
-		LEFT JOIN student_exam_result ser ON ersr.exam_registration_id_ = ser.exam_registration_id_
-		WHERE ersr.exam_room_id_ = #{roomId} AND ersr.sign_in_time_ IS NOT NULL AND ser.is_finished_exam_ IN (1,2,3)
+    <select id="queryEndNum" resultType="java.lang.Integer">
+		SELECT COUNT(ser.id_) FROM student_exam_result ser
+		WHERE ser.is_finished_exam_ = 5 AND ser.exam_room_id_ = 1
 	</select>
 	<select id="sumWaitNum" resultType="java.lang.Integer">
 		SELECT COUNT(DISTINCT ersr.id_)