140 lines
5.7 KiB
XML
140 lines
5.7 KiB
XML
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
||
|
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||
|
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||
|
|
<mapper namespace="UnivClasses">
|
||
|
|
|
||
|
|
|
||
|
|
<insert id="insertUnivClasses" parameterType="UnivClasses">
|
||
|
|
INSERT INTO UnivClasses ( classesId, classLevel, className, description,
|
||
|
|
schoolYear, classOrder, schoolId, areaId, teacherId,
|
||
|
|
classType, status, source )
|
||
|
|
Values ( #{classesId}, #{classLevel}, #{className}, #{description},
|
||
|
|
#{schoolYear}, #{classOrder}, #{schoolId}, #{areaId}, #{teacherId},
|
||
|
|
#{classType}, #{status}, #{source} )
|
||
|
|
</insert>
|
||
|
|
|
||
|
|
<update id="updateUnivClasses" parameterType="UnivClasses">
|
||
|
|
UPDATE UnivClasses
|
||
|
|
SET classesId = #{classesId}, classLevel = #{classLevel},
|
||
|
|
className = #{className}, description = #{description},
|
||
|
|
schoolYear = #{schoolYear}, classOrder = #{classOrder},
|
||
|
|
schoolId = #{schoolId}, areaId = #{areaId}, teacherId = #{teacherId},
|
||
|
|
classType = #{classType}, status = #{status}, source = #{source}
|
||
|
|
where classesId=#{classesId}
|
||
|
|
</update>
|
||
|
|
|
||
|
|
<select id="getUnivClassesByKey" parameterType="java.lang.Long" resultType="UnivClasses">
|
||
|
|
SELECT classesId , classLevel , className , description , schoolYear ,
|
||
|
|
classOrder , schoolId , areaId , teacherId , classType ,
|
||
|
|
status , source
|
||
|
|
FROM UnivClasses
|
||
|
|
WHERE classesId=#{classesId}
|
||
|
|
</select>
|
||
|
|
|
||
|
|
<select id="getSeqUnivClasses" resultType="Integer" useCache="false" flushCache="true">
|
||
|
|
SELECT nextval('seq_UnivclassesId') ;
|
||
|
|
</select>
|
||
|
|
|
||
|
|
<select id="getAllUnivClasses" resultType="UnivClasses">
|
||
|
|
SELECT classesId , classLevel , className , description , schoolYear ,
|
||
|
|
classOrder , schoolId , areaId , teacherId , classType ,
|
||
|
|
status , source
|
||
|
|
FROM UnivClasses
|
||
|
|
</select>
|
||
|
|
|
||
|
|
<insert id="insertUnivClassesBatch" parameterType="java.util.List">
|
||
|
|
INSERT INTO UnivClasses ( classesId, classLevel, className, description,
|
||
|
|
schoolYear, classOrder, schoolId, areaId, teacherId, classType,
|
||
|
|
status, source ) Values
|
||
|
|
<foreach collection="list" index="index" item="item" separator=",">
|
||
|
|
( #{item.classesId}, #{item.classLevel},
|
||
|
|
#{item.className}, #{item.description},
|
||
|
|
#{item.schoolYear}, #{item.classOrder},
|
||
|
|
#{item.schoolId}, #{item.areaId},
|
||
|
|
#{item.teacherId}, #{item.classType},
|
||
|
|
#{item.status}, #{item.source} )
|
||
|
|
</foreach>
|
||
|
|
</insert>
|
||
|
|
|
||
|
|
<select id="getUnivClassessCountBySchoolId" parameterType="java.lang.Long" resultType="Integer">
|
||
|
|
SELECT count(*) as howmuch
|
||
|
|
from UnivClasses
|
||
|
|
WHERE schoolId=#{schoolId}
|
||
|
|
AND status = 1
|
||
|
|
</select>
|
||
|
|
|
||
|
|
<select id="getUnivClassessBySchoolId" parameterType="java.util.Map" resultType="UnivClasses">
|
||
|
|
SELECT classesId , classLevel , className , description , schoolYear ,
|
||
|
|
classOrder , schoolId , areaId , teacherId , classType ,
|
||
|
|
status , source
|
||
|
|
FROM UnivClasses
|
||
|
|
WHERE schoolId=#{schoolId} and status = 1
|
||
|
|
ORDER BY schoolyear desc , classorder asc
|
||
|
|
LIMIT #{pageSize} OFFSET #{offset}
|
||
|
|
</select>
|
||
|
|
|
||
|
|
<select id="getUnivClassessByTeacherId" parameterType="java.lang.Long" resultType="UnivClasses">
|
||
|
|
SELECT classesId , classLevel , className , description , schoolYear ,
|
||
|
|
classOrder , schoolId , areaId , teacherId , classType ,
|
||
|
|
status , source
|
||
|
|
FROM UnivClasses
|
||
|
|
WHERE teacherId=#{teacherId} and status = 1
|
||
|
|
</select>
|
||
|
|
|
||
|
|
<select id="getUnivStudyClassCountByName" parameterType="String" resultType="Integer">
|
||
|
|
select count(distinct(c.classesid))
|
||
|
|
from Univclasses c
|
||
|
|
inner join Univteacher t
|
||
|
|
on c.teacherid = t.teacherid
|
||
|
|
left join Univstudentownclass s
|
||
|
|
on s.classesid = c.classesid and s.status = 1
|
||
|
|
where classname like '%${_parameter}%'
|
||
|
|
and classtype = 2 and c.status = 1
|
||
|
|
</select>
|
||
|
|
|
||
|
|
<select id="getUnivStudyClassByName" parameterType="java.util.HashMap" resultType="java.util.HashMap">
|
||
|
|
select distinct(c.classesid) , c.classname , t.truename , count(s.*) ,
|
||
|
|
case when max(ss.status) is null then -1
|
||
|
|
else max(ss.status)
|
||
|
|
end as status
|
||
|
|
from Univclasses c
|
||
|
|
inner join Univteacher t
|
||
|
|
on c.teacherid = t.teacherid
|
||
|
|
left join Univstudentownclass s
|
||
|
|
on s.classesid = c.classesid and s.status = 1
|
||
|
|
left join Univstudentownclass ss
|
||
|
|
on ss.classesid = c.classesid and ss.studentid = #{userId}
|
||
|
|
where classname like '%${classname}%'
|
||
|
|
and classtype = 2 and c.status = 1
|
||
|
|
group by c.classesid , t.truename
|
||
|
|
order by c.classesid
|
||
|
|
limit #{pageSize} offset #{offset}
|
||
|
|
</select>
|
||
|
|
|
||
|
|
|
||
|
|
<select id="getUnivClassmatesInfoByClassesId" parameterType="java.util.HashMap" resultType="java.util.HashMap">
|
||
|
|
select s.studentId "studentId",st.avatar, st.truename ,st.nickname ,signature,userlevel "userLevel",
|
||
|
|
levelname "levelName",goldmedalcount "goldMedalCount"
|
||
|
|
from univstudentownclass s
|
||
|
|
inner join
|
||
|
|
univstudent st on s.classesid=#{classesId} and s.status=1
|
||
|
|
and st.studentid=s.studentId and st.status=1
|
||
|
|
inner join univuserhonor u on u.uid=s.studentid
|
||
|
|
order by goldmedalcount desc nulls last,s.studentid
|
||
|
|
<if test="pageSize!=null">
|
||
|
|
LIMIT #{pageSize}
|
||
|
|
</if>
|
||
|
|
<if test="offset!=null">
|
||
|
|
OFFSET #{offset}
|
||
|
|
</if>
|
||
|
|
|
||
|
|
</select>
|
||
|
|
|
||
|
|
<select id="getUnivClassmatesInfoByClassesIdCount" parameterType="java.util.HashMap" resultType="java.lang.Integer">
|
||
|
|
select count(s.studentId)
|
||
|
|
from Univstudentownclass s
|
||
|
|
inner join
|
||
|
|
univstudent st on s.classesid=#{classesId} and s.status=1
|
||
|
|
and st.studentid=s.studentId and st.status=1
|
||
|
|
</select>
|
||
|
|
</mapper>
|