63 lines
3.0 KiB
XML
Raw Permalink Normal View History

2026-03-10 14:30:24 +08:00
<?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="UnivAssignComm">
<insert id="insertUnivAssignComm" parameterType="UnivAssignComm">
INSERT INTO UnivAssignComm ( 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="updateUnivAssignComm" parameterType="UnivAssignComm">
UPDATE UnivAssignComm
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="getUnivAssignCommById" parameterType="java.lang.Integer" resultType="UnivAssignComm">
SELECT assignCommId,teacherId,assignmentId,toObject,objectId,created,voice,description,status,memo,voiceLen
FROM UnivAssignComm
WHERE assignCommId=#{assignCommId};
</select>
<select id="getUnivSeqAssignComm" resultType="java.lang.Integer" useCache="false" flushCache="true">
SELECT nextval('seq_univassignCommId') ;
</select>
<select id="getUnivAssignComms" parameterType="java.util.Map" resultType="UnivAssignComm">
SELECT a.assignCommId,a.teacherId,a.assignmentId,a.toObject,a.objectId,a.created,a.voice,a.description,a.status,a.memo,a.voiceLen
from UnivAssignComm a
inner join univstudentownclass s
on a.objectid=s.studentid and s.classesid=#{classesId} 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 univassigncomm a where a.objectid= #{classesId} and a.assignmentid=#{assignmentId} and a.status = 1
</select>
<select id="getUnivAssignComm" parameterType="java.util.Map" resultType="AssignComm">
SELECT assignCommId,teacherId,assignmentId,toObject,objectId,created,voice,description,status,memo,voiceLen
from univassignComm
WHERE objectId=#{objectId} and assignmentId=#{assignmentId} and status=1
</select>
<select id="getUnivIsCommByClassesId" parameterType="java.util.Map" resultType="java.util.HashMap">
with objectIds as(
select studentid objectId from univstudentownclass where classesid=#{classesId} and status=1
union
select classesId objectId from univclasses where classesId = #{classesId} and status=1)
SELECT o.objectid,case when count(a.objectId)&gt;0 then 1 else 0 end as isComm
from univassigncomm 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>