|
@@ -115,15 +115,18 @@
|
|
|
</update>
|
|
|
|
|
|
<select id="findStudentsByOrganId" resultMap="studentManageListDto">
|
|
|
- SELECT sr.user_id_,su.username_ real_name_,su.gender_,sr.parents_name_,sr.parents_phone_
|
|
|
- FROM (SELECT * FROM student_registration WHERE id_ IN(SELECT MAX(id_) FROM student_registration GROUP BY user_id_)) sr
|
|
|
- LEFT JOIN sys_user su ON sr.user_id_ = su.id_
|
|
|
+ SELECT su.id_ user_id_,su.username_ real_name_,su.gender_,
|
|
|
+ MAX(sr.parents_name_) parents_name_,MAX(sr.parents_phone_) parents_phone_
|
|
|
+ FROM sys_user su
|
|
|
+ LEFT JOIN student_registration sr ON su.id_ = sr.user_id_
|
|
|
<include refid="findStudentsByOrganIdSql"/>
|
|
|
- ORDER BY sr.create_time_ DESC
|
|
|
+ GROUP BY su.id_
|
|
|
+ ORDER BY su.create_time_ DESC
|
|
|
<include refid="global.limit"/>
|
|
|
</select>
|
|
|
<sql id="findStudentsByOrganIdSql">
|
|
|
<where>
|
|
|
+ su.user_type_ = "STUDENT"
|
|
|
<if test="organId != null">
|
|
|
AND FIND_IN_SET(su.organ_id_,#{organId})
|
|
|
</if>
|
|
@@ -137,9 +140,9 @@
|
|
|
</sql>
|
|
|
|
|
|
<select id="countStudentByOrganId" resultType="java.lang.Integer">
|
|
|
- SELECT COUNT(DISTINCT sr.user_id_)
|
|
|
- FROM student_registration sr
|
|
|
- LEFT JOIN sys_user su ON sr.user_id_ = su.id_
|
|
|
+ SELECT COUNT(DISTINCT su.id_)
|
|
|
+ FROM sys_user su
|
|
|
+ LEFT JOIN student_registration sr ON su.id_ = sr.user_id_
|
|
|
<include refid="findStudentsByOrganIdSql"/>
|
|
|
</select>
|
|
|
<select id="findStudentBaseInfoByUserID" resultMap="studentManageListDto">
|