SmartScoreMapper.xml 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  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.template.mapper.SmartScoreMapper">
  4. <resultMap type="com.template.model.vo.ScorePageVo" id="smartScorePageMap">
  5. <result property="id" column="id"/>
  6. <result property="semester" column="semester"/>
  7. <result property="semesterId" column="semester_id"/>
  8. <result property="grade" column="grade"/>
  9. <result property="gradeId" column="grade_id"/>
  10. <result property="schoolClass" column="school_class"/>
  11. <result property="schoolClassId" column="school_class_id"/>
  12. <result property="subjectId" column="subject_id"/>
  13. <result property="examType" column="exam_type"/>
  14. <result property="name" column="name"/>
  15. <result property="userId" column="user_id"/>
  16. <result property="cardNo" column="card_no"/>
  17. <result property="score" column="score"/>
  18. </resultMap>
  19. <select id="querySmartScorePage" resultType="com.template.model.vo.ScorePageVo" resultMap="smartScorePageMap">
  20. select ss.semester_id,ss.user_id,ss.id,ss.semester,ss.grade_id,ss.school_class_id,ss.grade,ss.school_class,ss.subject_id,ss.exam_type,su.name,ss.card_no,ss.score from
  21. smart_score ss
  22. left join smart_user su on su.deleted = 0 and su.id = ss.user_id
  23. where ss.deleted = 0
  24. <if test="name != null and name != ''">
  25. and (ss.name like '%' #{name} '%' or ss.card_no like '%' #{name} '%')
  26. </if>
  27. <if test="semester != null and semester != ''">
  28. and ss.semester like '%' #{semester} '%'
  29. </if>
  30. <if test="userGradeId != null">
  31. and ss.grade_id = #{userGradeId}
  32. </if>
  33. <if test="grade != null and grade != ''">
  34. and ss.grade like '%' #{grade} '%'
  35. </if>
  36. <if test="userSchoolClass != null">
  37. and ss.school_class_id = #{userSchoolClass}
  38. </if>
  39. <if test="schoolClass != null and schoolClass != ''">
  40. and ss.school_class like '%' #{schoolClass} '%'
  41. </if>
  42. <if test="subject != null and subject != ''">
  43. and ss.subject_id = #{subject}
  44. </if>
  45. <if test="examType != null and examType != ''">
  46. and ss.exam_type = #{examType}
  47. </if>
  48. <if test="MinScore != null and MinScore != ''">
  49. and ss.score >= #{MinScore}
  50. </if>
  51. <if test="MaxScore != null and MaxScore != ''">
  52. and ss.score &lt;= #{MaxScore}
  53. </if>
  54. </select>
  55. <select id="querySmartScores" resultType="com.template.model.vo.ScorePageVo" resultMap="smartScorePageMap">
  56. select ss.semester_id,ss.user_id,ss.id,ss.semester,ss.grade_id,ss.grade,ss.school_class_id,ss.school_class,ss.subject_id,ss.exam_type,su.name,ss.card_no,ss.score from
  57. smart_score ss
  58. left join smart_user su on su.deleted = 0 and su.id = ss.user_id
  59. where ss.deleted = 0
  60. <if test="name != null and name != ''">
  61. and (ss.name like '%' #{name} '%' or ss.card_no like '%' #{name} '%')
  62. </if>
  63. <if test="semester != null and semester != ''">
  64. and ss.semester like '%' #{semester} '%'
  65. </if>
  66. <if test="grade != null and grade != ''">
  67. and ss.grade like '%' #{grade} '%'
  68. </if>
  69. <if test="schoolClass != null and schoolClass != ''">
  70. and ss.school_class like '%' #{schoolClass} '%'
  71. </if>
  72. <if test="subject != null and subject != ''">
  73. and ss.subject_id = #{subject}
  74. </if>
  75. <if test="examType != null and examType != ''">
  76. and ss.exam_type = #{examType}
  77. </if>
  78. <if test="MinScore != null and MinScore != ''">
  79. and ss.score >= #{MinScore}
  80. </if>
  81. <if test="MaxScore != null and MaxScore != ''">
  82. and ss.score &lt;= #{MaxScore}
  83. </if>
  84. </select>
  85. <select id="getAverageScore" resultType="java.lang.Double">
  86. SELECT ROUND(AVG(score), 2) as score
  87. FROM `smart_score`
  88. WHERE user_id = #{userId}
  89. AND subject_id = #{smartSemesterId}
  90. AND semester_id = #{semesterId} AND deleted=0
  91. </select>
  92. <select id="getStudentExamName" resultType="com.template.model.vo.StudentExamNameVo">
  93. SELECT
  94. ss.semester_id as semesterId,
  95. ss.semester as semester,
  96. ss.exam_type as examTypeId,
  97. me.`name` as examTypeName ,
  98. CONCAT(ss.semester,me.`name`) as totalName
  99. FROM
  100. `smart_score` ss
  101. LEFT JOIN smart_examtype me ON ss.exam_type = me.id
  102. where ss.deleted=0 AND ss.user_id=#{userId}
  103. GROUP BY
  104. ss.semester_id,
  105. ss.exam_type
  106. </select>
  107. <select id="getHistoricalExam" resultType="com.template.model.vo.HistoricalExamVo">
  108. SELECT
  109. ss.score,
  110. s.`name` as subjectName
  111. FROM
  112. `smart_score` ss
  113. LEFT JOIN smart_subject s ON ss.subject_id = s.id
  114. WHERE
  115. user_id = #{userId}
  116. AND ss.semester_id = #{semesterId}
  117. AND ss.exam_type = #{examTypeId}
  118. AND ss.deleted=0
  119. </select>
  120. <select id="getTeachingResultsExamName" resultType="com.template.model.vo.StudentExamNameVo">
  121. SELECT
  122. ss.semester_id AS semesterId,
  123. ss.semester AS semester,
  124. ss.exam_type AS examTypeId,
  125. me.`name` AS examTypeName,
  126. CONCAT( ss.semester, me.`name` ) AS totalName,
  127. ss.school_class AS schoolClass,
  128. ss.school_class_id AS schoolClassId
  129. FROM
  130. `smart_score` ss
  131. LEFT JOIN smart_examtype me ON ss.exam_type = me.id
  132. WHERE
  133. ss.deleted = 0
  134. AND ss.school_class_id = #{schoolClassId}
  135. GROUP BY
  136. ss.semester_id,
  137. ss.exam_type
  138. </select>
  139. </mapper>