229 lines
7.8 KiB
XML
229 lines
7.8 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="StudentOwnClass">
|
||
|
|
|
||
|
|
<insert id="insertStudentOwnClass" parameterType="StudentOwnClass">
|
||
|
|
INSERT INTO StudentOwnClass ( studentId, classesId, isDelegate, status ,areaid ) Values ( #{studentId}, #{classesId}, #{isDelegate}, #{status} , #{areaid} )
|
||
|
|
|
||
|
|
</insert>
|
||
|
|
|
||
|
|
<update id="updateStudentOwnClass" parameterType="StudentOwnClass">
|
||
|
|
|
||
|
|
|
||
|
|
UPDATE StudentOwnClass SET
|
||
|
|
|
||
|
|
studentId = #{studentId}, classesId = #{classesId}, isDelegate = #{isDelegate}, status = #{status} , areaid = #{areaid}
|
||
|
|
where studentId=#{studentId} and classesId=#{classesId} and areaid= #{areaid}
|
||
|
|
|
||
|
|
</update>
|
||
|
|
|
||
|
|
|
||
|
|
<update id="updateStudentOwnClassForRegister" parameterType="StudentOwnClassDto">
|
||
|
|
|
||
|
|
|
||
|
|
UPDATE StudentOwnClass SET
|
||
|
|
|
||
|
|
studentId = #{studentId}, classesId = #{classesId}, isDelegate = #{isDelegate}, status = #{status} , areaid = #{areaid}
|
||
|
|
where studentId=#{studentId} and areaid= #{areaid} and classesId=#{oldClassesId}
|
||
|
|
|
||
|
|
</update>
|
||
|
|
|
||
|
|
<!-- 更新声彩飞扬学生班级 -->
|
||
|
|
<update id="updateStudentOwnClassForShenCaiFeiYang" parameterType="java.util.Map">
|
||
|
|
|
||
|
|
|
||
|
|
UPDATE StudentOwnClass SET
|
||
|
|
classesId = #{classesId}
|
||
|
|
where studentId=#{studentId} and classesId=#{oldClassesId}
|
||
|
|
|
||
|
|
</update>
|
||
|
|
|
||
|
|
<select id="getStudentOwnClassByKey" parameterType="java.util.Map" resultType="StudentOwnClass">
|
||
|
|
|
||
|
|
|
||
|
|
SELECT studentId , classesId , isDelegate , status , areaid
|
||
|
|
FROM StudentOwnClass WHERE studentId=#{studentId} and classesId=#{classesId} and areaid= #{areaid}
|
||
|
|
|
||
|
|
</select>
|
||
|
|
|
||
|
|
|
||
|
|
<select id="getSeqStudentOwnClass" resultType="Integer" useCache="false" flushCache="true">
|
||
|
|
|
||
|
|
SELECT nextval('seq_studentOwnClassId') ;
|
||
|
|
|
||
|
|
</select>
|
||
|
|
|
||
|
|
|
||
|
|
<insert id="insertStudentOwnClassBatch" parameterType="java.util.List">
|
||
|
|
|
||
|
|
INSERT INTO StudentOwnClass ( studentId, classesId, isDelegate, status , areaid ) Values
|
||
|
|
|
||
|
|
<foreach collection="list" index="index" item="item" separator=",">
|
||
|
|
|
||
|
|
( #{item.studentId}, #{item.classesId}, #{item.isDelegate}, #{item.status} , #{item.areaid} )
|
||
|
|
|
||
|
|
</foreach>
|
||
|
|
</insert>
|
||
|
|
|
||
|
|
<select id="getStudentOwnClasssCountByClassesId" parameterType="java.util.Map" resultType="Integer">
|
||
|
|
|
||
|
|
SELECT count(*) as howmuch from StudentOwnClass s
|
||
|
|
inner join student st on s.studentid=st.studentid
|
||
|
|
WHERE classesId=#{classesId} and s.areaId=#{areaId} and st.areaId=#{areaId} and s.status = 1
|
||
|
|
|
||
|
|
</select>
|
||
|
|
<select id="getStudentOwnClasssByClassesId" parameterType="java.util.Map" resultType="StudentOwnClass">
|
||
|
|
|
||
|
|
|
||
|
|
SELECT studentId , classesId , isDelegate , status , areaid
|
||
|
|
FROM StudentOwnClass
|
||
|
|
WHERE classesId=#{classesId} and status = 1 and areaId=#{areaId}
|
||
|
|
order by isDelegate desc, studentId
|
||
|
|
<if test="pageSize!=null">
|
||
|
|
LIMIT #{pageSize}
|
||
|
|
</if>
|
||
|
|
<if test="offset!=null">
|
||
|
|
OFFSET #{offset}
|
||
|
|
</if>
|
||
|
|
|
||
|
|
|
||
|
|
</select>
|
||
|
|
|
||
|
|
<update id="clearClassBatchAllDelegate" parameterType="java.util.Map">
|
||
|
|
|
||
|
|
UPDATE StudentOwnClass SET isdelegate = 0
|
||
|
|
WHERE classesId = #{classesId} and areaid = #{areaid}
|
||
|
|
|
||
|
|
</update>
|
||
|
|
|
||
|
|
<update id="SOClassBatchDelegate" parameterType="java.util.Map">
|
||
|
|
UPDATE StudentOwnClass SET isdelegate = 1
|
||
|
|
WHERE classesId = #{classesId}
|
||
|
|
AND studentId in
|
||
|
|
<foreach collection="studentIds" item="item" separator="," close=")" open="(">
|
||
|
|
#{item}
|
||
|
|
</foreach>
|
||
|
|
</update>
|
||
|
|
|
||
|
|
<update id="SOClassBatchUpdateStatus" parameterType="java.util.Map">
|
||
|
|
UPDATE StudentOwnClass SET status = #{status}
|
||
|
|
WHERE classesId = #{classesId}
|
||
|
|
AND studentId in
|
||
|
|
<foreach collection="studentIds" item="item" separator="," close=")" open="(">
|
||
|
|
#{item}
|
||
|
|
</foreach>
|
||
|
|
</update>
|
||
|
|
|
||
|
|
<select id="getNormalClassIdBystudentId" parameterType="Long" resultType="Long">
|
||
|
|
|
||
|
|
SELECT a.classesId
|
||
|
|
FROM StudentOwnClass a
|
||
|
|
INNER JOIN Classes b
|
||
|
|
ON a.classesId = b.classesId and b.classType = 1 <!-- and b.status = 1 -->
|
||
|
|
WHERE a.studentId= #{studentId}
|
||
|
|
AND a.status = 1
|
||
|
|
LIMIT 1
|
||
|
|
|
||
|
|
</select>
|
||
|
|
|
||
|
|
<select id="getStudyClassByUid" parameterType="Long" resultType="Classes">
|
||
|
|
|
||
|
|
select c.* from studentownclass s inner join
|
||
|
|
classes c on c.classesid = s.classesid and c.classtype = 2 and c.status = 1
|
||
|
|
and s.studentid = #{studentid} where s.status = 1
|
||
|
|
|
||
|
|
</select>
|
||
|
|
|
||
|
|
<!-- 获取学生对应的正常班级 -->
|
||
|
|
<select id="getClassByUid" parameterType="Long" resultType="Classes">
|
||
|
|
|
||
|
|
select c.* from studentownclass s inner join
|
||
|
|
classes c on c.classesid = s.classesid and c.classtype = 1 and c.status = 1
|
||
|
|
and s.studentid = #{studentid} where s.status = 1
|
||
|
|
|
||
|
|
</select>
|
||
|
|
|
||
|
|
|
||
|
|
<select id="getAuditInfoByTeacherId" parameterType="java.util.Map" resultType="HashMap">
|
||
|
|
|
||
|
|
select s.studentId , s.truename ,c.classesId , c.classname , s.recognizecode from studentownclass so
|
||
|
|
inner join classes c on c.classesId = so.classesId
|
||
|
|
and c.teacherId = #{teacherId} and c.classtype = 2 and c.status = 1
|
||
|
|
inner join student s on s.studentId = so.studentId
|
||
|
|
where so.status = 0
|
||
|
|
LIMIT #{pageSize} OFFSET #{offset}
|
||
|
|
|
||
|
|
</select>
|
||
|
|
|
||
|
|
|
||
|
|
<select id="getAuditInfoCountByTeacherId" parameterType="Long" resultType="Integer">
|
||
|
|
|
||
|
|
select count(*) from studentownclass so
|
||
|
|
inner join classes c on c.classesId = so.classesId
|
||
|
|
and c.teacherId = #{teacherId} and classtype = 2 and c.status = 1
|
||
|
|
inner join student s on s.studentId = so.studentId
|
||
|
|
where so.status = 0
|
||
|
|
|
||
|
|
</select>
|
||
|
|
|
||
|
|
<delete id="deleteByClassesId" parameterType="java.lang.Long">
|
||
|
|
delete from studentownclass where classesId = #{classesId}
|
||
|
|
</delete>
|
||
|
|
|
||
|
|
|
||
|
|
<delete id="deleteByStudentIds" parameterType="java.util.ArrayList">
|
||
|
|
delete from studentownclass s using classes c
|
||
|
|
where c.classesid = s.classesid and c.classtype = 1 and studentid in
|
||
|
|
<foreach collection="list" index="index" item="item" separator="," close=")" open="(">
|
||
|
|
#{item}
|
||
|
|
</foreach>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
</delete>
|
||
|
|
|
||
|
|
|
||
|
|
<select id="getStudentIdsByClassesIds" parameterType="java.util.ArrayList" resultType="Long">
|
||
|
|
|
||
|
|
select so.studentId from studentownclass so
|
||
|
|
inner join classes c on c.classesId = so.classesId
|
||
|
|
and c.classtype = 1 and c.status = 1
|
||
|
|
where so.status = 1 and c.classesid in
|
||
|
|
<foreach collection="list" index="index" item="item" separator="," close=")" open="(">
|
||
|
|
#{item}
|
||
|
|
</foreach>
|
||
|
|
|
||
|
|
</select>
|
||
|
|
|
||
|
|
<delete id="SOClassBatchDelete" parameterType="java.util.Map">
|
||
|
|
delete from StudentOwnClass
|
||
|
|
WHERE classesId = #{classesId}
|
||
|
|
AND studentId in
|
||
|
|
<foreach collection="studentIds" item="item" separator="," close=")" open="(">
|
||
|
|
#{item}
|
||
|
|
</foreach>
|
||
|
|
</delete>
|
||
|
|
<select id="getClassesIdsByStudentId" parameterType="java.lang.Long" resultType="java.util.Map">
|
||
|
|
select classesId as "classesId",status from studentownclass where studentid=#{studentId}
|
||
|
|
</select>
|
||
|
|
|
||
|
|
<delete id="deleteStudentOwnClassByStudentId" parameterType="java.lang.Long">
|
||
|
|
delete from studentownclass where studentid=#{studentId}
|
||
|
|
</delete>
|
||
|
|
|
||
|
|
<update id="restoreStudentOwnClassByStudentId" parameterType="java.lang.Long">
|
||
|
|
|
||
|
|
update studentownclass set status=1 where studentid=#{studentId}
|
||
|
|
and classesid in (
|
||
|
|
select c.classesId
|
||
|
|
from classes c inner join
|
||
|
|
studentownclass soc
|
||
|
|
on c.classesId=soc.classesId where c.classtype in (1,2) and soc.status=0 and c.status =1 and soc.studentId=#{studentId} )
|
||
|
|
</update>
|
||
|
|
|
||
|
|
<select id="getClassOwnStudents" parameterType="java.util.Map" resultType="Student">
|
||
|
|
select * from studentownclass as sol inner join student as stu on stu.studentid = sol.studentid and stu.areaid = #{areaId} where sol.classesid = #{classesId} and stu.status = 1 and sol.status = 1
|
||
|
|
</select>
|
||
|
|
|
||
|
|
</mapper>
|