ExamRoomStudentRelationMapper.xml 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3. <!--
  4. 这个文件是自动生成的。
  5. 不要修改此文件。所有改动将在下次重新自动生成时丢失。
  6. -->
  7. <mapper namespace="com.keao.edu.user.dao.ExamRoomStudentRelationDao">
  8. <resultMap type="com.keao.edu.user.entity.ExamRoomStudentRelation" id="ExamRoomStudentRelation">
  9. <result column="id_" property="id" />
  10. <result column="examination_basic_id_" property="examinationBasicId" />
  11. <result column="exam_room_id_" property="examRoomId" />
  12. <result column="student_id_" property="studentId" />
  13. <result column="classroom_switch_" property="classroomSwitch" typeHandler="com.keao.edu.common.dal.CustomEnumTypeHandler"/>
  14. <result column="create_time_" property="createTime" />
  15. <result column="update_time_" property="updateTime" />
  16. <result column="tenant_id_" property="tenantId" />
  17. </resultMap>
  18. <resultMap id="ExamRoomStudentRelationDto" type="com.keao.edu.user.dto.ExamRoomStudentRelationDto" extends="ExamRoomStudentRelation">
  19. <association property="studentInfo" columnPrefix="sys_user_" resultMap="com.keao.edu.user.dao.SysUserDao.SysUser"/>
  20. <association property="subject" columnPrefix="subject_" resultMap="com.keao.edu.user.dao.SubjectDao.Subject"/>
  21. <association property="examRegistration" columnPrefix="regist_" resultMap="com.keao.edu.user.dao.ExamRegistrationDao.ExamRegistration"/>
  22. </resultMap>
  23. <!-- 根据主键查询一条记录 -->
  24. <select id="get" resultMap="ExamRoomStudentRelation" >
  25. SELECT * FROM exam_room_student_relation WHERE id_ = #{id}
  26. </select>
  27. <!-- 全查询 -->
  28. <select id="findAll" resultMap="ExamRoomStudentRelation">
  29. SELECT * FROM exam_room_student_relation ORDER BY id_
  30. </select>
  31. <!-- 向数据库增加一条记录 -->
  32. <insert id="insert" parameterType="com.keao.edu.user.entity.ExamRoomStudentRelation" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
  33. INSERT INTO exam_room_student_relation (id_,examination_basic_id_,exam_room_id_,student_id_,create_time_,update_time_,tenant_id_)
  34. VALUES(#{id},#{examinationBasicId},#{examRoomId},#{studentId},NOW(),NOW(),#{tenantId})
  35. </insert>
  36. <insert id="batchInsert" parameterType="com.keao.edu.user.entity.ExamRoomStudentRelation" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
  37. INSERT INTO exam_room_student_relation (examination_basic_id_,exam_room_id_,student_id_,create_time_,update_time_,tenant_id_)
  38. VALUES
  39. <foreach collection="roomStudents" item="roomStudent" separator=",">
  40. (#{roomStudent.examinationBasicId},#{roomStudent.examRoomId},#{roomStudent.studentId},NOW(),NOW(),#{roomStudent.tenantId})
  41. </foreach>
  42. </insert>
  43. <!-- 根据主键查询一条记录 -->
  44. <update id="update" parameterType="com.keao.edu.user.entity.ExamRoomStudentRelation">
  45. UPDATE exam_room_student_relation
  46. <set>
  47. <if test="examinationBasicId != null">
  48. examination_basic_id_ = #{examinationBasicId},
  49. </if>
  50. <if test="classroomSwitch != null">
  51. classroom_switch_ = #{classroomSwitch,typeHandler=com.keao.edu.common.dal.CustomEnumTypeHandler},
  52. </if>
  53. <if test="id != null">
  54. id_ = #{id},
  55. </if>
  56. <if test="tenantId != null">
  57. tenant_id_ = #{tenantId},
  58. </if>
  59. <if test="examRoomId != null">
  60. exam_room_id_ = #{examRoomId},
  61. </if>
  62. <if test="studentId != null">
  63. student_id_ = #{studentId},
  64. </if>
  65. update_time_ = NOW()
  66. </set> WHERE id_ = #{id}
  67. </update>
  68. <update id="switchClassRoom">
  69. UPDATE exam_room_student_relation SET classroom_switch_ = #{openFlag},update_time_ = NOW()
  70. WHERE examination_basic_id_ = #{examinationBasicId} AND student_id_ = #{studentId}
  71. </update>
  72. <!-- 根据主键删除一条记录 -->
  73. <delete id="delete" >
  74. DELETE FROM exam_room_student_relation WHERE id_ = #{id}
  75. </delete>
  76. <delete id="deleteStudentsFromExamRoom">
  77. DELETE FROM exam_room_student_relation WHERE exam_room_id_=#{examRoomId}
  78. AND student_id_ IN
  79. <foreach collection="studentIds" item="studentId" separator="," open="(" close=")">
  80. #{studentId}
  81. </foreach>
  82. </delete>
  83. <delete id="deleteWithExamRooms">
  84. DELETE FROM exam_room_student_relation
  85. WHERE exam_room_id_ IN
  86. <foreach collection="examRoomIds" item="examRoomId" separator="," open="(" close=")">
  87. #{examRoomId}
  88. </foreach>
  89. </delete>
  90. <!-- 分页查询 -->
  91. <select id="queryPage" resultMap="ExamRoomStudentRelation" parameterType="map">
  92. SELECT * FROM exam_room_student_relation ORDER BY id_ <include refid="global.limit"/>
  93. </select>
  94. <!-- 查询当前表的总记录数 -->
  95. <select id="queryCount" resultType="int">
  96. SELECT COUNT(*) FROM exam_room_student_relation
  97. </select>
  98. <sql id="queryCondition">
  99. <where>
  100. <if test="examId!=null">
  101. AND er.examination_basic_id_ = 1
  102. </if>
  103. <if test="inRoom!=null and inRoom=0">
  104. AND ersr.id_ IS NULL
  105. </if>
  106. <if test="inRoom!=null and inRoom=1">
  107. AND ersr.exam_room_id_ =1
  108. </if>
  109. </where>
  110. </sql>
  111. <select id="findExamRoomStudents" resultMap="ExamRoomStudentRelationDto" parameterType="map">
  112. SELECT
  113. ersr.id_,
  114. ersr.student_id_,
  115. er.subject_id_ regist_subject_id_,
  116. er.level_ regist_level_,
  117. er.create_time_ regist_create_time_
  118. FROM
  119. exam_registration er
  120. LEFT JOIN exam_room_student_relation ersr ON ersr.student_id_ = er.student_id_ ON ersr.examination_basic_id_=er.examination_basic_id_
  121. <include refid="queryCondition"/>
  122. ORDER BY id_ <include refid="global.limit"/>
  123. </select>
  124. <select id="countExamRoomStudents" resultType="int">
  125. SELECT
  126. ersr.id_,
  127. ersr.student_id_,
  128. er.subject_id_,
  129. er.level_,
  130. er.create_time_
  131. FROM
  132. exam_registration er
  133. LEFT JOIN exam_room_student_relation ersr ON ersr.student_id_ = er.student_id_
  134. <include refid="queryCondition"/>
  135. </select>
  136. <select id="findStudentsWithExamRoom" resultMap="ExamRoomStudentRelation">
  137. SELECT id_, examination_basic_id_, exam_room_id_, student_id_ FROM exam_room_student_relation WHERE exam_room_id_=#{examRoomId}
  138. </select>
  139. <select id="findByBasicIdAndStudentId">
  140. </select>
  141. </mapper>