Files
education/backend/roomroot-jwgl/target/classes/com/roomroot/jwgl/mapper/SSKCBMapper.xml
T
2026-08-21 14:39:03 +08:00

134 lines
5.6 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.roomroot.jwgl.mapper.SSKCBMapper">
<!-- 教学实施计划课次列表结果映射 -->
<resultMap id="TeachingPlanLessonMap" type="com.roomroot.jwgl.vo.courserunning.TeachingPlanLessonVO">
<result column="课次编号" property="sskcbbh"/>
<result column="实施课程编号" property="sskcbh"/>
<result column="课程名称" property="kcmc"/>
<result column="课次序号" property="kcxh"/>
<result column="年度" property="nd"/>
<result column="上课日期" property="rq"/>
<result column="节次" property="jc"/>
<result column="教学内容" property="jxnr"/>
<result column="教学方法" property="jxff"/>
<result column="填写状态" property="txzt"/>
<result column="创建时间" property="cjsj"/>
<result column="变动时间" property="bdsj"/>
</resultMap>
<!-- 教学实施计划详情结果映射 -->
<resultMap id="TeachingPlanDetailMap" type="com.roomroot.jwgl.vo.courserunning.TeachingPlanDetailVO">
<result column="课次编号" property="sskcbbh"/>
<result column="实施课程编号" property="sskcbh"/>
<result column="课程名称" property="kcmc"/>
<result column="课次序号" property="kcxh"/>
<result column="年度" property="nd"/>
<result column="教学内容" property="jxnr"/>
<result column="教学要点" property="jxyd"/>
<result column="教学方法" property="jxff"/>
<result column="上课日期" property="rq"/>
<result column="节次" property="jc"/>
<result column="班组模式" property="bzms"/>
<result column="班组划分信息" property="bzhfxx"/>
<result column="用车信息" property="ycxx"/>
<result column="教学保障备注" property="jxbzbz"/>
<result column="教员备注" property="jybz"/>
<result column="填写状态" property="txzt"/>
<result column="创建时间" property="cjsj"/>
<result column="变动时间" property="bdsj"/>
</resultMap>
<!-- 分页查询课次列表(用于教学实施计划填写) -->
<select id="selectPageListForPlan" resultMap="TeachingPlanLessonMap">
SELECT
b.编号 AS 课次编号,
b.实施_课程编号 AS 实施课程编号,
c.课名称 AS 课程名称,
ROW_NUMBER() OVER (PARTITION BY b.实施_课程编号 ORDER BY b.创建时间) AS 课次序号,
b.年度,
b.日期 AS 上课日期,
b.节次,
b.教学内容,
b.教学方法,
CASE
WHEN b.教学内容 IS NULL AND b.教学要点 IS NULL AND b.教学方法 IS NULL THEN 0
WHEN b.jsonzd LIKE '%submitted%' THEN 2
ELSE 1
END AS 填写状态,
b.创建时间,
b.变动时间
FROM "实施_课程表" b
LEFT JOIN "实施_课程" a ON b.实施_课程编号 = a.编号
LEFT JOIN "课程表" c ON a.课编号 = c.课编号
WHERE b.删除状态 = 0
<if test="sskcbh != null and sskcbh != ''">
AND b.实施_课程编号 = #{sskcbh}
</if>
<if test="nd != null">
AND b.年度 = #{nd}
</if>
<if test="jxff != null and jxff != ''">
AND b.教学方法 = #{jxff}
</if>
<if test="rqStart != null and rqStart != ''">
AND b.日期 &gt;= TO_DATE(#{rqStart}, 'YYYY-MM-DD HH24:MI:SS')
</if>
<if test="rqEnd != null and rqEnd != ''">
AND b.日期 &lt;= TO_DATE(#{rqEnd}, 'YYYY-MM-DD HH24:MI:SS')
</if>
<if test="txzt != null">
AND (
CASE
WHEN b.教学内容 IS NULL AND b.教学要点 IS NULL AND b.教学方法 IS NULL THEN 0
WHEN b.提交状态 = 1 THEN 2
ELSE 1
END
) = #{txzt}
</if>
ORDER BY b.实施_课程编号, b.创建时间
</select>
<!-- 根据课次编号查询教学实施计划详情 -->
<select id="selectDetailById" resultMap="TeachingPlanDetailMap">
SELECT
b.编号 AS 课次编号,
b.实施_课程编号 AS 实施课程编号,
c.课名称 AS 课程名称,
ROW_NUMBER() OVER (PARTITION BY b.实施_课程编号 ORDER BY b.创建时间) AS 课次序号,
b.年度,
b.教学内容,
b.教学要点,
b.教学方法,
b.日期 AS 上课日期,
b.节次,
b.班组模式,
b.班组划分信息,
b.用车信息,
b.教学保障备注,
b.教员备注,
CASE
WHEN b.教学内容 IS NULL AND b.教学要点 IS NULL AND b.教学方法 IS NULL THEN 0
WHEN b.jsonzd LIKE '%submitted%' THEN 2
ELSE 1
END AS 填写状态,
b.创建时间,
b.变动时间
FROM "实施_课程表" b
LEFT JOIN "实施_课程" a ON b.实施_课程编号 = a.编号
LEFT JOIN "课程表" c ON a.课编号 = c.课编号
WHERE b.编号 = #{sskcbbh}
AND b.删除状态 = 0
</select>
<!-- 根据实施_课程编号查询课次数量 -->
<select id="countBySskcbh" resultType="java.lang.Integer">
SELECT COUNT(*)
FROM "实施_课程表"
WHERE 实施_课程编号 = #{sskcbh}
AND 删除状态 = 0
</select>
</mapper>