63 lines
3.0 KiB
XML
63 lines
3.0 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="AssignComm">
|
||
|
|
|
||
|
|
|
||
|
|
<insert id="insertAssignComm" parameterType="AssignComm">
|
||
|
|
INSERT INTO AssignComm ( AssignCommId,teacherId,assignmentId,toObject,objectId,created,voice,description,status,memo,voicelen )
|
||
|
|
Values ( #{assignCommId},#{teacherId},#{assignmentId},#{toObject},#{objectId},current_timestamp,#{voice},#{description},#{status},#{memo},#{voiceLen})
|
||
|
|
</insert>
|
||
|
|
|
||
|
|
<update id="updateAssignComm" parameterType="AssignComm">
|
||
|
|
UPDATE AssignComm
|
||
|
|
SET teacherId=#{teacherId},assignmentId=#{assignmentId},toObject=#{toObject},objectId=#{objectId},created=#{created},voice=#{voice},description=#{description},status=#{status},memo=#{memo},voicelen=#{voiceLen}
|
||
|
|
WHERE AssignCommId=#{assignCommId}
|
||
|
|
</update>
|
||
|
|
|
||
|
|
<select id="getAssignCommById" parameterType="java.lang.Integer" resultType="AssignComm">
|
||
|
|
SELECT assignCommId,teacherId,assignmentId,toObject,objectId,created,voice,description,status,memo,voiceLen
|
||
|
|
FROM AssignComm
|
||
|
|
WHERE assignCommId=#{assignCommId};
|
||
|
|
</select>
|
||
|
|
<select id="getSeqAssignComm" resultType="java.lang.Integer" useCache="false" flushCache="true">
|
||
|
|
|
||
|
|
SELECT nextval('seq_assignCommId') ;
|
||
|
|
|
||
|
|
</select>
|
||
|
|
<select id="getAssignComms" parameterType="java.util.Map" resultType="AssignComm">
|
||
|
|
|
||
|
|
SELECT a.assignCommId,a.teacherId,a.assignmentId,a.toObject,a.objectId,a.created,a.voice,a.description,a.status,a.memo,a.voiceLen
|
||
|
|
from assigncomm a
|
||
|
|
inner join studentownclass s
|
||
|
|
on a.objectid=s.studentid and s.classesid=#{classesId} and s.areaid=#{areaId} and a.assignmentid=#{assignmentId}
|
||
|
|
AND s.status = 1 and a.status = 1
|
||
|
|
union
|
||
|
|
SELECT a.assignCommId,a.teacherId,a.assignmentId,a.toObject,a.objectId,a.created,a.voice,a.description,a.status,a.memo,a.voiceLen
|
||
|
|
from assigncomm a where a.objectid= #{classesId} and a.assignmentid=#{assignmentId} and a.status = 1
|
||
|
|
|
||
|
|
</select>
|
||
|
|
|
||
|
|
<select id="getAssignComm" parameterType="java.util.Map" resultType="AssignComm">
|
||
|
|
SELECT assignCommId,teacherId,assignmentId,toObject,objectId,created,voice,description,status,memo,voiceLen
|
||
|
|
from assignComm
|
||
|
|
WHERE objectId=#{objectId} and assignmentId=#{assignmentId} and status=1
|
||
|
|
</select>
|
||
|
|
<select id="getIsCommByClassesId" parameterType="java.util.Map" resultType="java.util.HashMap">
|
||
|
|
|
||
|
|
with objectIds as(
|
||
|
|
select studentid objectId from studentownclass where classesid=#{classesId} and areaid=#{areaId} and status=1
|
||
|
|
union
|
||
|
|
select classesId objectId from classes where classesId = #{classesId} and status=1)
|
||
|
|
SELECT o.objectid,case when count(a.objectId)>0 then 1 else 0 end as isComm
|
||
|
|
from assigncomm a
|
||
|
|
right join objectIds o
|
||
|
|
on a.objectid=o.objectid and a.assignmentid=#{assignmentId}
|
||
|
|
and (a.voice!='' or a.voice!=null or a.description!='' or a.description!=null)
|
||
|
|
and a.status = 1
|
||
|
|
group by o.objectid
|
||
|
|
|
||
|
|
</select>
|
||
|
|
|
||
|
|
|
||
|
|
</mapper>
|