zouxuan %!s(int64=5) %!d(string=hai) anos
pai
achega
be4699b9e9

+ 7 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/dao/ExamRoomStudentRelationDao.java

@@ -164,4 +164,11 @@ public interface ExamRoomStudentRelationDao extends BaseDAO<Long, ExamRoomStuden
      * @return
      */
     List<Map<Long,Integer>> getStudentNumMap(@Param("roomIds") Set<Long> roomIds);
+
+    /**
+     * 获取已签到学员数
+     * @param examRoomId
+     * @return
+     */
+    Integer countSignInNum(Long examRoomId);
 }

+ 11 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/entity/StudentExamResult.java

@@ -15,6 +15,9 @@ public class StudentExamResult {
 
 	@ApiModelProperty(value = "学员报考编号")
 	private Long examRegistrationId;
+
+	@ApiModelProperty(value = "考场编号")
+	private Long examRoomId;
 	
 	@ApiModelProperty(value = "考级项目编号")
 	private Long examinationBasicId;
@@ -59,6 +62,14 @@ public class StudentExamResult {
 
 	private Integer recordFlag;
 
+	public Long getExamRoomId() {
+		return examRoomId;
+	}
+
+	public void setExamRoomId(Long examRoomId) {
+		this.examRoomId = examRoomId;
+	}
+
 	public Date getRecordStartTime() {
 		return recordStartTime;
 	}

+ 7 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/ExamRoomStudentRelationService.java

@@ -149,4 +149,11 @@ public interface ExamRoomStudentRelationService extends BaseService<Long, ExamRo
      * @param roomId
      */
     void actionExam(Long roomId);
+
+    /**
+     * 获取已签到的学员
+     * @param examRoomId
+     * @return
+     */
+    Integer countSignInNum(Long examRoomId);
 }

+ 1 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/ExamRoomServiceImpl.java

@@ -686,6 +686,7 @@ public class ExamRoomServiceImpl extends BaseServiceImpl<Long, ExamRoom> impleme
 		if(openFlag == 0){
 			examRoom.setExamFlag(openFlag);
 		}
+		examRoomStudentRelationService.countSignInNum(examRoomId);
 		examRoomDao.update(examRoom);
 		SysUser sysUser = sysUserFeignService.queryUserInfo();
 		//加群退群

+ 5 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/ExamRoomStudentRelationServiceImpl.java

@@ -429,6 +429,11 @@ public class ExamRoomStudentRelationServiceImpl extends BaseServiceImpl<Long, Ex
 	}
 
 	@Override
+	public Integer countSignInNum(Long examRoomId) {
+		return examRoomStudentRelationDao.countSignInNum(examRoomId);
+	}
+
+	@Override
 	@Transactional(rollbackFor = Exception.class)
 	public void nextBit(Integer examStatus,Long examRoomId) {
 		List<RoomStudentListDto> roomStudentListDtos = examRoomStudentRelationDao.queryStudentList(examRoomId);

+ 3 - 0
edu-user/edu-user-server/src/main/resources/config/mybatis/ExamRoomStudentRelationMapper.xml

@@ -285,4 +285,7 @@
 		</foreach>
 		GROUP BY ersr.exam_room_id_
 	</select>
+	<select id="countSignInNum" resultType="java.lang.Integer">
+
+	</select>
 </mapper>

+ 9 - 4
edu-user/edu-user-server/src/main/resources/config/mybatis/StudentExamResultMapper.xml

@@ -23,6 +23,7 @@
 		<result column="create_time_" property="createTime" />
 		<result column="update_time_" property="updateTime" />
 		<result column="tenant_id_" property="tenantId" />
+		<result column="exam_room_id_" property="examRoomId" />
 		<association property="examRegistration" columnPrefix="regist_" resultMap="com.keao.edu.user.dao.ExamRegistrationDao.ExamRegistration"/>
 	</resultMap>
 	
@@ -39,18 +40,19 @@
 	<!-- 向数据库增加一条记录 -->
 	<insert id="insert" parameterType="com.keao.edu.user.entity.StudentExamResult" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
 		INSERT INTO student_exam_result (id_,examination_basic_id_,student_id_,result_,avg_score_,video_url_,
-		confirm_status_,memo_,operator_id_,is_finished_exam_,create_time_,update_time_,tenant_id_,exam_registration_id_)
+		confirm_status_,memo_,operator_id_,is_finished_exam_,create_time_,update_time_,tenant_id_,exam_registration_id_,exam_room_id_)
 		VALUES(#{id},#{examinationBasicId},#{studentId},#{result,typeHandler=com.keao.edu.common.dal.CustomEnumTypeHandler},
-		#{avgScore},#{#{videoUrl}},#{confirmStatus},#{memo},#{operatorId},#{isFinishedExam},NOW(),NOW(),#{tenantId},#{examRegistrationId})
+		#{avgScore},#{#{videoUrl}},#{confirmStatus},#{memo},#{operatorId},#{isFinishedExam},NOW(),NOW(),#{tenantId},#{examRegistrationId},#{examRoomId})
 	</insert>
 
 	<insert id="batchInsert" parameterType="com.keao.edu.user.entity.StudentExamResult" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
 		INSERT INTO student_exam_result (examination_basic_id_,student_id_,result_,avg_score_,video_url_,
-		confirm_status_,memo_,operator_id_,is_finished_exam_,create_time_,update_time_,tenant_id_,exam_registration_id_)
+		confirm_status_,memo_,operator_id_,is_finished_exam_,create_time_,update_time_,tenant_id_,exam_registration_id_,exam_room_id_)
 		VALUES
 		<foreach collection="results" item="result" separator=",">
 			(#{result.examinationBasicId},#{result.studentId},#{result.result,typeHandler=com.keao.edu.common.dal.CustomEnumTypeHandler},
-			#{result.avgScore},#{result.videoUrl},#{result.confirmStatus},#{result.memo},#{result.operatorId},#{result.isFinishedExam},NOW(),NOW(),#{result.tenantId},#{result.examRegistrationId})
+			#{result.avgScore},#{result.videoUrl},#{result.confirmStatus},#{result.memo},#{result.operatorId},#{result.isFinishedExam},
+			NOW(),NOW(),#{result.tenantId},#{result.examRegistrationId},#{result.examRoomId})
 		</foreach>
 	</insert>
 
@@ -58,6 +60,9 @@
 	<update id="update" parameterType="com.keao.edu.user.entity.StudentExamResult">
 		UPDATE student_exam_result
 		<set>
+			<if test="examRoomId != null">
+				exam_room_id_ = #{examRoomId},
+			</if>
 			<if test="isFinishedExam != null">
 				is_finished_exam_ = #{isFinishedExam},
 			</if>