ExamRoomStudentRelationMapper.xml 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  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>
  70. <!-- 根据主键删除一条记录 -->
  71. <delete id="delete" >
  72. DELETE FROM exam_room_student_relation WHERE id_ = #{id}
  73. </delete>
  74. <delete id="deleteStudentsFromExamRoom">
  75. DELETE FROM exam_room_student_relation WHERE exam_room_id_=#{examRoomId}
  76. AND student_id_ IN
  77. <foreach collection="studentIds" item="studentId" separator="," open="(" close=")">
  78. #{studentId}
  79. </foreach>
  80. </delete>
  81. <delete id="deleteWithExamRooms">
  82. DELETE FROM exam_room_student_relation
  83. WHERE exam_room_id_ IN
  84. <foreach collection="examRoomIds" item="examRoomId" separator="," open="(" close=")">
  85. #{examRoomId}
  86. </foreach>
  87. </delete>
  88. <!-- 分页查询 -->
  89. <select id="queryPage" resultMap="ExamRoomStudentRelation" parameterType="map">
  90. SELECT * FROM exam_room_student_relation ORDER BY id_ <include refid="global.limit"/>
  91. </select>
  92. <!-- 查询当前表的总记录数 -->
  93. <select id="queryCount" resultType="int">
  94. SELECT COUNT(*) FROM exam_room_student_relation
  95. </select>
  96. <sql id="queryCondition">
  97. <where>
  98. <if test="examId!=null">
  99. AND er.examination_basic_id_ = 1
  100. </if>
  101. <if test="inRoom!=null and inRoom=0">
  102. AND ersr.id_ IS NULL
  103. </if>
  104. <if test="inRoom!=null and inRoom=1">
  105. AND ersr.exam_room_id_ =1
  106. </if>
  107. </where>
  108. </sql>
  109. <select id="findExamRoomStudents" resultMap="ExamRoomStudentRelationDto" parameterType="map">
  110. SELECT
  111. ersr.id_,
  112. ersr.student_id_,
  113. er.subject_id_ regist_subject_id_,
  114. er.level_ regist_level_,
  115. er.create_time_ regist_create_time_
  116. FROM
  117. exam_registration er
  118. LEFT JOIN exam_room_student_relation ersr ON ersr.student_id_ = er.student_id_ ON ersr.examination_basic_id_=er.examination_basic_id_
  119. <include refid="queryCondition"/>
  120. ORDER BY id_ <include refid="global.limit"/>
  121. </select>
  122. <select id="countExamRoomStudents" resultType="int">
  123. SELECT
  124. ersr.id_,
  125. ersr.student_id_,
  126. er.subject_id_,
  127. er.level_,
  128. er.create_time_
  129. FROM
  130. exam_registration er
  131. LEFT JOIN exam_room_student_relation ersr ON ersr.student_id_ = er.student_id_
  132. <include refid="queryCondition"/>
  133. </select>
  134. <select id="findStudentsWithExamRoom" resultMap="ExamRoomStudentRelation">
  135. SELECT id_, examination_basic_id_, exam_room_id_, student_id_ FROM exam_room_student_relation WHERE exam_room_id_=#{examRoomId}
  136. </select>
  137. </mapper>