LessonExaminationMapper.xml 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  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. <mapper namespace="com.ym.mec.biz.dal.dao.LessonExaminationDao">
  4. <resultMap id="BaseResultMap" type="com.ym.mec.biz.dal.entity.LessonExamination">
  5. <id column="id_" property="id"/>
  6. <result column="teacher_id_" property="teacherId"/>
  7. <result column="class_group_id_" property="classGroupId"/>
  8. <result column="course_schedule_id_" property="courseScheduleId"/>
  9. <result column="heard_level_" property="heardLevel"/>
  10. <result column="batch_no_" property="batchNo"/>
  11. <result column="title_" property="title"/>
  12. <result column="attachments_" property="attachments"/>
  13. <result column="content_" property="content"/>
  14. <result column="expire_date_" jdbcType="TIMESTAMP" property="expireDate"/>
  15. <result column="completed_num_" property="completedNum"/>
  16. <result column="expect_num_" property="expectNum"/>
  17. <result column="music_score_id_" property="musicScoreId"/>
  18. <result column="create_time_" jdbcType="TIMESTAMP" property="createTime"/>
  19. <result column="update_time_" jdbcType="TIMESTAMP" property="updateTime"/>
  20. <result column="tenant_id_" property="tenantId"/>
  21. </resultMap>
  22. <sql id="Base_Column_List">
  23. id_
  24. , teacher_id_, batch_no_, title_, attachments_, content_, expire_date_, completed_num_, expect_num_, music_score_id_, create_time_, update_time_, tenant_id_
  25. </sql>
  26. <insert id="insertBatch" keyColumn="id_" keyProperty="id" useGeneratedKeys="true"
  27. parameterType="com.ym.mec.biz.dal.dto.LessonExaminationSaveDto">
  28. insert into lesson_examination(teacher_id_, batch_no_, title_, attachments_, content_, expire_date_,
  29. completed_num_, expect_num_, music_score_id_,tenant_id_)
  30. values
  31. <foreach collection="entities" item="entity" separator=",">
  32. (#{entity.teacherId}, #{entity.batchNo}, #{entity.title}, #{entity.attachments}, #{entity.content},
  33. #{entity.expireDate}, #{entity.completedNum}, #{entity.expectNum}, #{entity.musicScoreId},#{entity.tenantId})
  34. </foreach>
  35. </insert>
  36. <select id="queryPage" resultType="com.ym.mec.biz.dal.dto.LessonExaminationResultDto">
  37. select le.*,cg.name_ classGroupName
  38. from lesson_examination le
  39. left join class_group cg ON cg.id_ = le.class_group_id_
  40. <include refid="queryPageSql"/>
  41. GROUP BY le.id_ ORDER BY le.id_ DESC
  42. <include refid="global.limit"/>
  43. </select>
  44. <select id="findCount" resultType="java.lang.Integer">
  45. select COUNT(DISTINCT le.id_)
  46. from lesson_examination le
  47. left join class_group cg ON cg.id_ = le.class_group_id_
  48. <include refid="queryPageSql"/>
  49. </select>
  50. <sql id="queryPageSql">
  51. <where>
  52. <if test="musicGroupId != null and musicGroupId != ''">
  53. AND le.music_group_id_ = #{musicGroupId}
  54. </if>
  55. <if test="organId != null and organId != ''">
  56. AND FIND_IN_SET(le.organ_id_,#{organId})
  57. </if>
  58. <if test="teacherId != null">
  59. AND le.teacher_id_ = #{teacherId}
  60. </if>
  61. <if test="startTime != null and startTime != ''">
  62. AND DATE_FORMAT( le.create_time_, '%Y-%m-%d' ) BETWEEN #{startTime} AND #{endTime}
  63. </if>
  64. <if test="classGroupType != null and classGroupType != ''">
  65. AND cg.type_ = #{classGroupType}
  66. </if>
  67. <if test="expireFlag != null and expireFlag == true">
  68. AND le.expire_date_ &lt; DATE_FORMAT( NOW(), '%Y-%m-%d' )
  69. </if>
  70. <if test="expireFlag != null and expireFlag == false">
  71. AND le.expire_date_ >= DATE_FORMAT( NOW(), '%Y-%m-%d' )
  72. </if>
  73. </where>
  74. </sql>
  75. <sql id="queryPageByStudentSql">
  76. <where>
  77. <if test="lessonExaminationId != null">
  78. AND sle.lesson_examination_id_ = #{lessonExaminationId}
  79. </if>
  80. <if test="studentId != null">
  81. AND sle.user_id_ = #{studentId}
  82. </if>
  83. <if test="startTime != null and startTime != ''">
  84. AND DATE_FORMAT( le.create_time_, '%Y-%m-%d' ) BETWEEN #{startTime} AND #{endTime}
  85. </if>
  86. <if test="expireFlag != null and expireFlag == true">
  87. AND le.expire_date_ &lt; DATE_FORMAT( NOW(), '%Y-%m-%d' )
  88. </if>
  89. <if test="expireFlag != null and expireFlag == false">
  90. AND le.expire_date_ >= DATE_FORMAT( NOW(), '%Y-%m-%d' )
  91. </if>
  92. <if test="standardFlag != null">
  93. AND sle.standard_flag_ = #{standardFlag}
  94. </if>
  95. </where>
  96. </sql>
  97. <select id="queryPageByStudent" resultType="com.ym.mec.biz.dal.dto.LessonExaminationResultDto1">
  98. select le.expire_date_ expireDate,cg.name_ classGroupName,mg.name_ musicGroupName,
  99. sle.training_score_ trainingScore,sle.lesson_examination_id_ LessonExaminationId,sle.user_id_ userId
  100. from student_lesson_examination sle
  101. left join lesson_examination le ON sle.lesson_examination_id_ = le.id_
  102. left join class_group cg ON cg.id_ = le.class_group_id_
  103. left join music_group mg ON mg.id_ = cg.music_group_id_
  104. <include refid="queryPageByStudentSql"/>
  105. ORDER BY sle.id_ DESC
  106. </select>
  107. <select id="findCountByStudent" resultType="java.lang.Integer">
  108. select COUNT(sle.id_)
  109. from student_lesson_examination sle
  110. left join lesson_examination le ON sle.lesson_examination_id_ = le.id_
  111. <include refid="queryPageByStudentSql"/>
  112. </select>
  113. <select id="getOneByStudent" resultType="com.ym.mec.biz.dal.dto.LessonExaminationResultDto1">
  114. select le.expire_date_ expireDate,cg.name_ classGroupName,mg.name_ musicGroupName,
  115. sle.training_score_ trainingScore,sle.lesson_examination_id_ LessonExaminationId,sle.user_id_ userId
  116. from student_lesson_examination sle
  117. left join lesson_examination le ON sle.lesson_examination_id_ = le.id_
  118. left join class_group cg ON cg.id_ = le.class_group_id_
  119. left join music_group mg ON mg.id_ = cg.music_group_id_
  120. WHERE sle.lesson_examination_id_ = #{lessonExaminationId} AND sle.user_id_ = #{userId} LIMIT 1
  121. </select>
  122. </mapper>