536 lines
21 KiB
XML
536 lines
21 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="com._3e.dao.ClassesDao">
|
|
|
|
<select id= "getNextSeqClassmessage" resultType="int">
|
|
SELECT NEXTVAL('seq_classmessageid')
|
|
</select>
|
|
|
|
<select id= "getNextSeqClass" resultType="int">
|
|
SELECT NEXTVAL('seq_classesid')
|
|
</select>
|
|
|
|
<select id= "findClassesByID" parameterType="long" resultType="com._3e.entity.Classes" >
|
|
SELECT * FROM classes WHERE classesid = #{classesid}
|
|
</select>
|
|
|
|
<select id= "findClassesByNameAndTeacher" parameterType="map" resultType="com._3e.entity.Classes" >
|
|
SELECT * FROM classes WHERE classname = #{className} and teacherid = #{teacherId} and status = 1
|
|
</select>
|
|
|
|
<insert id= "doSave" parameterType="com._3e.entity.Classes" >
|
|
INSERT INTO classes(
|
|
classesid, classlevel, classname, description, schoolyear, classorder,
|
|
schoolid, areaid, teacherid, classtype, status, source)
|
|
VALUES (
|
|
<if test="classesid == 0">
|
|
(SELECT NEXTVAL('seq_classesid')),
|
|
</if>
|
|
<if test="classesid != 0">
|
|
#{classesid},
|
|
</if>
|
|
#{classlevel}, #{classname}, #{description}, #{schoolyear}, #{classorder},
|
|
#{schoolid}, #{areaid}, #{teacherid}, #{classtype}, #{status}, #{source})
|
|
</insert>
|
|
<insert id= "doSaveClass" parameterType="com._3e.entity.Classes" >
|
|
INSERT INTO classes(
|
|
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= "doUpdateSave" parameterType="com._3e.entity.Classes">
|
|
UPDATE classes
|
|
<set>
|
|
<if test="classlevel != null">
|
|
classlevel = #{classlevel},
|
|
</if>
|
|
<if test="classname != null">
|
|
classname = #{classname},
|
|
</if>
|
|
<if test="description != null">
|
|
description = #{description},
|
|
</if>
|
|
<if test="schoolyear != null">
|
|
schoolyear = #{schoolyear},
|
|
</if>
|
|
<if test="classorder != null">
|
|
classorder = #{classorder},
|
|
</if>
|
|
<if test="schoolid != null">
|
|
schoolid = #{schoolid},
|
|
</if>
|
|
<if test="areaid != null">
|
|
areaid = #{areaid},
|
|
</if>
|
|
<if test="teacherid != null">
|
|
teacherid = #{teacherid},
|
|
</if>
|
|
<if test="classtype != null">
|
|
classtype = #{classtype},
|
|
</if>
|
|
<if test="status != null">
|
|
status = #{status},
|
|
</if>
|
|
<if test="source != null">
|
|
source = #{source}
|
|
</if>
|
|
</set>
|
|
WHERE classesid=#{classesid}
|
|
</update>
|
|
|
|
<select id= "findSchoolByClassid" parameterType="long" resultType="com._3e.entity.School" >
|
|
SELECT * FROM school WHERE schoolid = (select schoolid from classes where classesid = #{classesid})
|
|
</select>
|
|
|
|
<select id= "findStudentsByClassid_1" parameterType="long" resultType="com._3e.entity.Student" >
|
|
SELECT a.*,u.goldmedalcount,u.userlevel FROM student a
|
|
INNER JOIN userhonor u on a.studentid=u.uid
|
|
WHERE studentid in (SELECT b.studentid from studentownclass b where b.classesid = #{classesid} and b.status = 1)
|
|
order by u.goldmedalcount desc nulls last,a.studentid
|
|
</select>
|
|
<select id= "findStudentsByClassid_map" parameterType="map" resultType="com._3e.entity.Student" >
|
|
with temp AS (
|
|
select s.* from studentownclass st INNER JOIN student s on st.studentid = s.studentid and s.areaid = #{areaId}
|
|
where st.areaid = #{areaId} and st.classesid = #{classesId} and st.status = 1
|
|
)
|
|
SELECT a.*,u.goldmedalcount,u.userlevel FROM temp a INNER JOIN userhonor u on a.studentid=u.uid where u.areaid = #{areaId}
|
|
order by u.goldmedalcount desc nulls last,a.studentid
|
|
</select>
|
|
<select id= "findStudentsByClassid_map3" parameterType="map" resultType="com._3e.http.myspace.dto._3EResClassMates" >
|
|
with temp AS (
|
|
select s.* from studentownclass st INNER JOIN student s on st.studentid = s.studentid and s.areaid = #{areaId}
|
|
where st.areaid = #{areaId} and st.classesid = #{classesId} and st.status = 1
|
|
)
|
|
SELECT a.*,u.goldmedalcount,u.userlevel FROM temp a INNER JOIN userhonor u on a.studentid=u.uid where u.areaid = #{areaId}
|
|
order by u.goldmedalcount desc nulls last,a.studentid
|
|
</select>
|
|
<select id= "findStudentsByClassid_3" parameterType="long" resultType="com._3e.http.myspace.dto._3EResClassMates" >
|
|
SELECT a.*,u.goldmedalcount,u.userlevel FROM student a
|
|
INNER JOIN userhonor u on a.studentid=u.uid
|
|
WHERE studentid in (SELECT b.studentid from studentownclass b where b.classesid = #{classesid} and b.status = 1)
|
|
order by u.goldmedalcount desc nulls last,a.studentid
|
|
</select>
|
|
<select id= "findStudentsByClassid" parameterType="long" resultType="com._3e.entity.Student" >
|
|
SELECT * FROM student
|
|
WHERE studentid in (SELECT b.studentid from studentownclass b where b.classesid = #{classesid} and b.status = 1)
|
|
ORDER BY trueName
|
|
</select>
|
|
<select id= "findStudesByClassid" parameterType="map" resultType="com._3e.dto.ClassStudentDto" >
|
|
SELECT s.*,c.isdelegate FROM Student s inner join StudentOwnClass c on
|
|
s.studentid = c.studentId
|
|
where classesId = #{classesId}
|
|
and c.status= 1
|
|
and s.status = 1
|
|
<if test="orderby != null">
|
|
order by ${orderby}
|
|
</if>
|
|
<if test="page != null">
|
|
LIMIT #{page.limit} OFFSET #{page.offset}
|
|
</if>
|
|
</select>
|
|
|
|
<select id= "findClassByTeacherid" parameterType="long" resultType="com._3e.entity.Classes" >
|
|
SELECT * FROM classes
|
|
WHERE teacherid = #{teacherid} and status = 1
|
|
ORDER BY classType
|
|
</select>
|
|
|
|
<select id= "findClassesByTeacherid_1" parameterType="long" resultType="com._3e.entity.Classes" >
|
|
SELECT * FROM classes
|
|
WHERE teacherid = #{teacherid} and status = 1 and classtype = 1
|
|
ORDER BY created desc
|
|
</select>
|
|
|
|
<select id= "findClassesByTeacherid" parameterType="long" resultType="com._3e.entity.Classes" >
|
|
SELECT * FROM classes
|
|
WHERE teacherid = #{teacherid} and status = 1 and classtype = 1
|
|
</select>
|
|
<select id= "findClassesByTeacherid_2" parameterType="long" resultType="com._3e.entity.Classes" >
|
|
SELECT * FROM classes
|
|
WHERE teacherid = #{teacherid} and status = 1 and classtype = 1 and classlevel>1
|
|
</select>
|
|
|
|
<select id= "findClassesAndTagNameByTeacherid" parameterType="long" resultType="com._3e.entity.Classes" >
|
|
SELECT * FROM classes
|
|
WHERE teacherid = #{teacherid} and status = 1 and classtype = 1
|
|
</select>
|
|
|
|
<select id= "findAllClassByTeacherid" parameterType="long" resultType="com._3e.entity.Classes" >
|
|
SELECT * FROM classes
|
|
WHERE teacherid = #{teacherid}
|
|
</select>
|
|
|
|
<select id= "findTeamByTeacherid" parameterType="long" resultType="com._3e.entity.Classes" >
|
|
SELECT * FROM classes
|
|
WHERE teacherid = #{teacherid} and classtype = 2 and status = 1
|
|
</select>
|
|
|
|
<select id= "findStudesByTeacherid_1" parameterType="long" resultType="com._3e.entity.Student" >
|
|
<!-- select a.*,u.goldmedalcount,u.userlevel,l.welcome from student a,studentownclass b,
|
|
classes c, userhonor u,leavemessmaster l
|
|
where a.studentid =u.uid and u.uid=l.uid and l.uid=b.studentid and b.classesid = c.classesid
|
|
and c.classtype = 1 and c.teacherid =#{teacherid} -->
|
|
|
|
select s.*,u.goldmedalcount,u.userlevel
|
|
from classes c
|
|
inner join studentownclass b on c.classesid = b.classesid and c.teacherid =#{teacherid} and b.status = 1 and c.classtype=1
|
|
inner join student s on b.studentId=s.studentid and s.status=1
|
|
inner join userhonor u on s.studentid =u.uid
|
|
order by u.goldmedalcount desc nulls last,s.studentid
|
|
|
|
</select>
|
|
<select id= "findStudesByTeacherid_2" parameterType="long" resultType="com._3e.entity.Student" >
|
|
<!-- select a.*,u.goldmedalcount,u.userlevel,l.welcome from student a,studentownclass b,
|
|
classes c, userhonor u,leavemessmaster l
|
|
where a.studentid =u.uid and u.uid=l.uid and l.uid=b.studentid and b.classesid = c.classesid
|
|
and c.classtype = 1 and c.teacherid =#{teacherid} -->
|
|
|
|
select s.*,u.goldmedalcount,u.userlevel
|
|
from classes c
|
|
inner join studentownclass b on c.classesid = b.classesid and c.teacherid =#{teacherid} and c.classtype=1
|
|
inner join student s on b.studentId=s.studentid
|
|
inner join userhonor u on s.studentid =u.uid
|
|
order by u.goldmedalcount desc nulls last,s.studentid
|
|
|
|
</select>
|
|
<select id= "findStudesByTeacherid_4" parameterType="long" resultType="com._3e.http.myspace.dto._3EResClassMates" >
|
|
<!-- select a.*,u.goldmedalcount,u.userlevel,l.welcome from student a,studentownclass b,
|
|
classes c, userhonor u,leavemessmaster l
|
|
where a.studentid =u.uid and u.uid=l.uid and l.uid=b.studentid and b.classesid = c.classesid
|
|
and c.classtype = 1 and c.teacherid =#{teacherid} -->
|
|
|
|
select s.*,u.goldmedalcount,u.userlevel,c.classesid,c.classname,c.source
|
|
from classes c
|
|
inner join studentownclass b on c.classesid = b.classesid and c.teacherid =#{teacherid} and c.classtype=1
|
|
inner join student s on b.studentId=s.studentid
|
|
inner join userhonor u on s.studentid =u.uid
|
|
order by u.goldmedalcount desc nulls last,s.studentid
|
|
|
|
</select>
|
|
|
|
<select id= "findStudesByTeacherid_5" parameterType="map" resultType="com._3e.http.myspace.dto._3EResClassMates" >
|
|
<!-- select a.*,u.goldmedalcount,u.userlevel,l.welcome from student a,studentownclass b,
|
|
classes c, userhonor u,leavemessmaster l
|
|
where a.studentid =u.uid and u.uid=l.uid and l.uid=b.studentid and b.classesid = c.classesid
|
|
and c.classtype = 1 and c.teacherid =#{teacherid} -->
|
|
|
|
select s.*,u.goldmedalcount,u.userlevel,c.classesid,c.classname,c.source
|
|
from classes c
|
|
inner join studentownclass b on c.classesid = b.classesid and c.teacherid =#{teacherId} and c.classtype=1 and c.classesid= #{classesId}
|
|
inner join student s on b.studentId=s.studentid
|
|
inner join userhonor u on s.studentid =u.uid
|
|
order by u.goldmedalcount desc nulls last,s.studentid
|
|
|
|
</select>
|
|
|
|
<select id= "findStudesByTeacherid" parameterType="long" resultType="com._3e.entity.Student" >
|
|
select a.* from student a,studentownclass b,classes c
|
|
where a.studentid = b.studentid and b.classesid = c.classesid and c.classtype = 1 and c.teacherid = #{teacherid}
|
|
</select>
|
|
<select id= "findMessageByTeacherid" parameterType="map" resultType="com._3e.entity.Classmessage" >
|
|
SELECT * FROM Classmessage
|
|
WHERE teacherid = #{teacherId} and status = 1 and source = 1
|
|
ORDER BY created desc
|
|
<if test="page != null">
|
|
LIMIT #{page.limit} OFFSET #{page.offset}
|
|
</if>
|
|
</select>
|
|
|
|
<insert id= "doPublishClassNotice" parameterType="com._3e.entity.Classmessage">
|
|
INSERT INTO classmessage(
|
|
classmessageid, content, teacherid, created, starttime, endtime,
|
|
status, areaid,isexam)
|
|
VALUES (
|
|
<if test="classmessageid == 0">
|
|
(SELECT NEXTVAL('seq_classmessageid')),
|
|
</if>
|
|
<if test="classmessageid != 0">
|
|
#{classmessageid},
|
|
</if>
|
|
#{content}, #{teacherid}, #{created}, #{starttime}, #{endtime},
|
|
#{status}, #{areaid},#{isexam})
|
|
</insert>
|
|
|
|
<insert id= "doClassMessageLink" parameterType="com._3e.entity.ClassOwnMessage">
|
|
INSERT INTO classownmessage(
|
|
classesid, classmessageid, areaid)
|
|
VALUES (#{classesid}, #{classmessageid}, #{areaid})
|
|
</insert>
|
|
|
|
<update id= "doDelClassNotice" parameterType="int">
|
|
update classmessage set status = 0 where classmessageid = #{classmessageid}
|
|
</update>
|
|
|
|
<update id= "doDelClassNotice1" parameterType="map">
|
|
update classmessage set status = 0 where classmessageid in
|
|
<foreach item="classmessageId" index="index" collection="classmessageIds"
|
|
open="(" separator="," close=")">
|
|
#{classmessageId}
|
|
</foreach>
|
|
</update>
|
|
|
|
<select id= "findClassdelegate" parameterType="long" resultType="com._3e.entity.StudentOwnClass">
|
|
SELECT * FROM studentOwnClass
|
|
WHERE isdelegate = 1 and classesid = #{classesid}
|
|
</select>
|
|
|
|
<update id= "doDelClassesDelegate" parameterType="long" >
|
|
update studentownclass set isdelegate = 0 where classesid = #{classesid}
|
|
</update>
|
|
|
|
<update id="doAssignDelegate" parameterType="map">
|
|
update studentownclass set isdelegate = 1 where classesid = #{classesId} and studentid = #{studentId}
|
|
</update>
|
|
|
|
<select id= "findClassAchivement" parameterType="map" resultType="com._3e.dto.ClassAchivement" >
|
|
select b.studentId as uid , b.recognizeCode , b.trueName , b.nickname ,
|
|
c.totalTime , c.totalNum , d.avgScore , d.totalLesson , e.totalAssign
|
|
from StudentOwnClass a
|
|
inner join Student b
|
|
on a.classesId = #{classesId}
|
|
<if test="areaid != null and areaid != 0">
|
|
and b.areaid = #{areaid}
|
|
</if>
|
|
and a.studentId = b.studentId
|
|
<if test="areaid != null and areaid != 0">
|
|
and a.areaid = #{areaid}
|
|
</if>
|
|
and a.status = 1
|
|
and b.status = 1
|
|
left join (
|
|
select m.studentId , sum( timeLength ) as totalTime , count(*) as totalNum
|
|
from StudentOwnClass m
|
|
inner join ConnectLog n
|
|
on m.classesId = #{classesId}
|
|
<if test="areaid != null and areaid != 0">
|
|
and m.areaid = #{areaid}
|
|
</if>
|
|
and m.studentId = n.uid
|
|
where n.starttime > #{startTime} and n.endTime <= #{endTime}
|
|
group by m.studentId ) c
|
|
on a.studentId = c.studentId
|
|
left join (
|
|
select p.studentId , avg( q.score ) as avgScore ,
|
|
count( objectId ) as totalLesson
|
|
from StudentOwnClass p
|
|
inner join Achivement q
|
|
on p.classesId = #{classesId}
|
|
<if test="areaid != null and areaid != 0">
|
|
and p.areaid = #{areaid}
|
|
</if>
|
|
and p.studentId = q.uid
|
|
<if test="areaid != null and areaid != 0">
|
|
and q.areaid = #{areaid}
|
|
</if>
|
|
and q.pointCaseType in (3, 4 ,5 , 6 , 7 , 8 )
|
|
and q.achiveType in ( 'L' , 'W' )
|
|
where q.created > #{startTime} and q.created <= #{endTime}
|
|
group by p.studentId ) d
|
|
on a.studentId = d.studentId
|
|
left join (
|
|
select t.studentId,count(case when f.lessoncount is not null and f.lessoncount=f.completecount then 1 else null end)
|
|
as totalAssign from studentownclass t
|
|
inner join finishassignstat f on t.studentid=f.uid
|
|
<if test="areaid != null and areaid != 0">
|
|
and t.areaid = #{areaid}
|
|
</if>
|
|
and t.classesId=#{classesId}
|
|
<if test="areaid != null and areaid != 0">
|
|
and f.areaid = #{areaid}
|
|
</if>
|
|
and f.created >#{startTime} and f.created <= #{endTime}
|
|
group by t.studentId) e
|
|
on a.studentId = e.studentId
|
|
order by d.avgScore desc nulls last,d.totalLesson desc nulls last,e.totalAssign desc nulls last,a.studentId
|
|
<if test="page != null">
|
|
LIMIT #{page.limit} OFFSET #{page.offset}
|
|
</if>
|
|
</select>
|
|
|
|
<select id= "findClassByTeacheridV3" parameterType="long" resultType="com._3e.dto.ClassesDto" >
|
|
select a.*,b.truename as teachername
|
|
from Classes a
|
|
left join teacher b on a.teacherid = b.teacherid
|
|
where a.teacherid = #{teacherid} and a.classtype = 1 and (a.status=1 or a.status = 2)
|
|
</select>
|
|
|
|
<select id= "findTeamByTeacheridV3" parameterType="long" resultType="com._3e.dto.ClassesDto" >
|
|
select a.*,b.truename as teachername
|
|
from Classes a
|
|
left join teacher b on a.teacherid = b.teacherid
|
|
where a.teacherid = #{teacherid} and a.classtype = 2 and a.status = 1
|
|
</select>
|
|
|
|
<select id= "findAllClass" resultType="map" >
|
|
SELECT classesId FROM classes WHERE classType = 1 AND status = 1
|
|
</select>
|
|
|
|
<delete id= "doDelTeamMember" parameterType="map">
|
|
DELETE FROM studentOwnClass
|
|
WHERE classesId = #{classesId}
|
|
AND studentId IN (${studentIds})
|
|
</delete>
|
|
|
|
<select id= "findTeamsByLookLike" parameterType="map" resultType="com._3e.dto.ClassesDto" >
|
|
SELECT c.classesid,c.classlevel,c.classname,c.description,c.schoolyear,
|
|
c.classorder,c.schoolid,c.areaid,c.teacherid,c.classtype,0 AS status,
|
|
t.truename AS teachername, COALESCE(a.source , 0) AS source
|
|
FROM classes c
|
|
INNER JOIN teacher t ON t.teacherid = c.teacherid
|
|
LEFT JOIN (SELECT count(s.studentid) AS source ,s.classesid
|
|
FROM studentownclass s
|
|
WHERE s.status = 1
|
|
<if test="areaid != null and areaid != 0">
|
|
and s.areaid = #{areaid}
|
|
</if>
|
|
GROUP BY s.classesid) a
|
|
ON a.classesid = c.classesid
|
|
WHERE c.classType = 2 AND c.status = 1
|
|
<if test="title != null and title != ''.toString()">
|
|
AND c.classname like '%'||#{title}||'%'
|
|
</if>
|
|
ORDER BY source DESC
|
|
<if test="page != null">
|
|
LIMIT #{page.limit} OFFSET #{page.offset}
|
|
</if>
|
|
</select>
|
|
|
|
<select id= "findMyTeams" parameterType="map" resultType="com._3e.dto.ClassesDto" >
|
|
SELECT c.classesid,c.classlevel,c.classname,c.description,c.schoolyear,
|
|
c.classorder,c.schoolid,c.areaid,c.teacherid,c.classtype,
|
|
t.truename AS teachername, COALESCE(a.source , 0) AS source,
|
|
CASE o.status WHEN 0 THEN 1
|
|
WHEN 1 THEN 2
|
|
END AS status
|
|
FROM classes c
|
|
INNER JOIN teacher t ON t.teacherid = c.teacherid
|
|
LEFT JOIN studentownclass o ON c.classesid = o.classesid
|
|
<if test="areaid != null and areaid != 0">
|
|
and o.areaid = #{areaid}
|
|
</if>
|
|
LEFT JOIN (SELECT count(s.studentid) AS source ,s.classesid
|
|
FROM studentownclass s
|
|
WHERE s.status = 1
|
|
<if test="areaid != null and areaid != 0">
|
|
and s.areaid = #{areaid}
|
|
</if>
|
|
GROUP BY s.classesid) a
|
|
ON a.classesid = c.classesid
|
|
WHERE o.studentid = #{studentId} AND c.classType = 2 AND c.status = 1
|
|
ORDER BY source DESC
|
|
<if test="page != null">
|
|
LIMIT #{page.limit} OFFSET #{page.offset}
|
|
</if>
|
|
</select>
|
|
|
|
<select id= "findTeamByIsdelegate" parameterType="long" resultType="com._3e.dto.ClassesDto" >
|
|
SELECT c.*
|
|
FROM studentownclass s
|
|
INNER JOIN classes c ON c.classesid = s.classesid
|
|
WHERE s.studentid = #{studentid} AND c.status = 1 AND s.isdelegate = 1
|
|
</select>
|
|
|
|
|
|
<delete id= "doDelClassesMember" parameterType="java.lang.Long">
|
|
DELETE FROM studentOwnClass
|
|
WHERE classesId in
|
|
(select s.classesid
|
|
from studentownclass s inner join
|
|
classes c
|
|
on s.classesid=c.classesid and s.status=1 and c.classtype=1 and s.studentId=#{studentId})
|
|
AND studentId=#{studentId}
|
|
</delete>
|
|
|
|
<select id= "findVirtualClassesBySchoolID" parameterType="long" resultType="com._3e.entity.Classes" >
|
|
SELECT * FROM classes WHERE schoolid = #{schoolId} and teacherid=0 and classtype=1 and status=1 order by classesid desc limit 1
|
|
</select>
|
|
|
|
<select id= "findClassesBySchoolID" parameterType="long" resultType="com._3e.entity.Classes" >
|
|
SELECT * FROM classes WHERE schoolid = #{schoolId} and teacherid != 0 and classtype=1 and status=1 order by classesid desc
|
|
</select>
|
|
|
|
<select id= "findClassesBySchoolIDAndClassLevel" parameterType="map" resultType="com._3e.entity.Classes" >
|
|
SELECT * FROM classes WHERE schoolid = #{schoolId} and classlevel = #{classLevel} and teacherid != 0 and classtype=1 and status=1 order by classesid desc
|
|
</select>
|
|
<update id="changeClasses" parameterType="map">
|
|
update studentownclass set classesid=#{newClassesId} where classesId=#{oldClassesId} and studentId = #{studentId}
|
|
|
|
</update>
|
|
|
|
|
|
<update id="deleteStudentOwnClasses" parameterType="map">
|
|
delete from studentownclass where classesId=#{classesId} and studentId = #{studentId}
|
|
|
|
</update>
|
|
|
|
<update id="deleteClassById" parameterType="long">
|
|
update classes set status = 0 where classesId=#{classesId}
|
|
</update>
|
|
|
|
|
|
<select id= "findClassesApplyNum" parameterType="java.util.Map" resultType="int">
|
|
SELECT count(*) FROM studentOwnClass s inner join student sd on s.studentid=sd.studentid
|
|
<if test="areaid != null and areaid != 0">
|
|
and sd.areaid = #{areaid}
|
|
</if>
|
|
and sd.status=1
|
|
WHERE s.status = #{status}
|
|
<if test="areaid != null and areaid != 0">
|
|
and s.areaid = #{areaid}
|
|
</if>
|
|
and s.classesid = #{classesId}
|
|
</select>
|
|
|
|
<select id="findUserLevel" parameterType="map" resultType="int">
|
|
select cs.classlevel from student s
|
|
inner JOIN studentownclass sc on s.studentid = sc.studentid
|
|
INNER JOIN classes cs on cs.classesid = sc.classesid
|
|
and s.studentid = #{uid} and cs.classtype = 1
|
|
</select>
|
|
|
|
<select id="findClassBySourceAndAreaId" parameterType="map" resultType="com._3e.entity.Classes">
|
|
select * from classes where source = #{source} and areaid = #{areaId}
|
|
</select>
|
|
|
|
<select id="findSchoolClassByClassId" parameterType="map" resultType="com._3e.http.myspace.dto._3EResSchoolClass">
|
|
select s.schoolid,s.schoolname,s.areaId,c.classesid,c.classname,c.teacherid from classes c
|
|
INNER JOIN school s on c.schoolid =s.schoolid
|
|
where substring(cast(c.classesid as varchar),7,6) = #{classid} and source = #{source} and c.status =1
|
|
</select>
|
|
|
|
<select id="findFictitiousClass" parameterType="map" resultType="com._3e.entity.Classes">
|
|
select classesid from classes where schoolid = #{schoolId} and teacherid = #{teacherId}
|
|
and source = #{source} and classtype = 1 and status = 1 limit 1
|
|
</select>
|
|
<select id="findGroupByStudentId" resultType="com._3e.http.myspace.dto.ResGroupDto">
|
|
select c.classesId,c.className,c.classType from classes c inner join studentownclass st on c.classesid = st.classesid and st.status = 1
|
|
inner join student s on st.studentid = s.studentid and s.status = 1
|
|
where c.classtype = 2 and c.status = 1 and s.studentid = #{studentId}
|
|
</select>
|
|
<select id="findStudentsByClassesId" resultType="com._3e.entity.Student">
|
|
select s.* from classes c inner join studentownclass st on c.classesid = st.classesid and st.areaId = #{areaId} and st.status = 1
|
|
inner join student s on st.studentid = s.studentid and s.areaId = #{areaId} and s.status = 1
|
|
where c.classesid = #{classesId} order by s.studentid
|
|
</select>
|
|
<select id="findTeacherTeamsByLookLike" resultType="com._3e.dto.ClassesDto">
|
|
SELECT c.classesid,c.classlevel,c.classname,c.description,c.schoolyear,
|
|
c.classorder,c.schoolid,c.areaid,c.teacherid,c.classtype,0 AS status,
|
|
t.truename AS teachername
|
|
FROM classes c INNER JOIN teacher t ON t.teacherid = c.teacherid
|
|
where c.teacherId = #{teacherId} and c.classType = 2 AND c.status = 1
|
|
<if test="title != null and title != ''.toString()">
|
|
AND c.classname like '%'||#{title}||'%'
|
|
</if>
|
|
ORDER BY c.classesid asc
|
|
<if test="page != null">
|
|
LIMIT #{page.limit} OFFSET #{page.offset}
|
|
</if>
|
|
</select>
|
|
</mapper>
|