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

169 lines
5.5 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="HearPaper">
<insert id="insertHearPaper" parameterType="HearPaper">
INSERT INTO hearpaper( hearpaperid, teacherid, examlevel, title,
subtitle, memo, content, status, areaid )
VALUES (#{hearPaperId}, #{teacherId}, #{examLevel}, #{title}, #{subTitle},
#{memo}, #{content}, #{status}, #{areaId})
</insert>
<update id="updateHearPaper" parameterType="HearPaper">
UPDATE hearpaper
SET hearpaperid=#{hearPaperId}, teacherid=#{teacherId},
examlevel=#{examLevel}, title=#{title}, subtitle=#{subTitle},
memo=#{memo}, content=#{content}, status=#{status}, areaid=#{areaId}
WHERE hearPaperId=#{hearPaperId}
</update>
<select id="getHearPaperByKey" parameterType="java.lang.Integer" resultType="HearPaper">
SELECT hearpaperid, teacherid, examlevel, title, subtitle, memo,
content, status, areaid
FROM HearPaper
WHERE hearPaperId=#{hearPaperId}
</select>
<select id="getSeqHearPaper" resultType="Integer" useCache="false" flushCache="true">
SELECT nextval('seq_hearPaperId')
</select>
<select id="getHearPaperByPaperName" parameterType="java.util.HashMap" resultType="HearPaper">
SELECT hearpaperid, teacherid, examlevel, title, subtitle, memo,
'' as content, status, areaid
FROM HearPaper
WHERE teacherid = #{teacherId} and status = 1
<if test="title!=null">
and title like '%${title}%'
</if>
order by hearPaperId desc
<if test="pageSize!=null">
limit #{pageSize}
</if>
<if test="offset!=null">
offset #{offset}
</if>
</select>
<select id="getHearPaperCountByPaperName" parameterType="java.util.HashMap" resultType="Integer">
SELECT count(*)
FROM HearPaper
WHERE teacherid = #{teacherId} and status = 1
<if test="title!=null">
and title like '%${title}%'
</if>
</select>
<select id="getHearPaperByPaperNameByAuth" parameterType="java.util.HashMap" resultType="HearPaper">
SELECT hearpaperid, teacherid, examlevel, title, subtitle, memo,
'' as content, status, areaid
FROM V_HearPaper
WHERE teacherid = #{teacherId} and status = 1 and isOral=-1
<if test="title!=null">
and title like '%${title}%'
</if>
order by hearPaperId desc
<if test="pageSize!=null">
limit #{pageSize}
</if>
<if test="offset!=null">
offset #{offset}
</if>
</select>
<select id="getHearPaperCountByPaperNameByAuth" parameterType="java.util.HashMap" resultType="Integer">
SELECT count(*)
FROM V_HearPaper
WHERE teacherid = #{teacherId} and status = 1 and isOral=-1
<if test="title!=null">
and title like '%${title}%'
</if>
</select>
<update id="hearPaperBatchUpdateByHearPaperId">
UPDATE HearPaper SET status = 0
WHERE hearPaperId in
<foreach collection="list" index="index" item="item" separator="," close=")" open="(">
#{item}
</foreach>
</update>
<select id="getHearPaperByName" parameterType="java.util.Map" resultType="HearPaper">
SELECT a.hearpaperid, teacherid, examlevel, title, subtitle, memo,
'' as content, status, areaid
FROM HearPaper a
left join HearPaperAuth b
on a.hearpaperid = b.hearpaperid
WHERE status = 1 and title like '%${name}%'
ORDER BY hearpaperid desc
LIMIT #{pageSize} OFFSET #{offset}
</select>
<select id="getHearPaperCountByName" parameterType="java.util.HashMap" resultType="Integer">
SELECT count(*)
FROM HearPaper a left join hearPaperAuth b on a.hearpaperid = b.hearpaperid
WHERE status = 1 and title like '%${name}%'
and ( teacherId=0 or teacherId = #{teacherId} or (objectid = #{teacherId} and objecttype = 1)
or (objectid = #{schoolId} and objecttype = 2) or (objectid = #{areaId} and objecttype = 3))
</select>
<select id="getHearpaperCountByUnivTeacherId" parameterType="java.util.HashMap" resultType="Integer">
SELECT count(*)
FROM V_UnivHearPaper
WHERE teacherid = #{teacherId} and status = 1
<if test="title!=null">
and title like '%${title}%'
</if>
</select>
<select id="getHearpapersByUnivTeacherId" parameterType="java.util.HashMap" resultType="HearPaper">
SELECT hearpaperid, teacherid, examlevel, title, subtitle, memo,
'' as content, status, areaid
FROM V_UnivHearPaper
WHERE teacherid = #{teacherId} and status = 1
<if test="title!=null">
and title like '%${title}%'
</if>
order by hearPaperId desc
<if test="pageSize!=null">
limit #{pageSize}
</if>
<if test="offset!=null">
offset #{offset}
</if>
</select>
<select id="getHearPapersForExcel" parameterType="java.lang.Integer" resultType="java.util.HashMap">
select hearpaperid , examlevel , title ,subtitle ,memo from hearpaper where status=1 and teacherId=0
<if test="value!=null">
and examlevel = #{examLevel}
</if>
order by examlevel asc,hearpaperid desc
</select>
</mapper>