2026-03-10 14:30:24 +08:00

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)&gt;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>