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

102 lines
4.4 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.TeacherHoursMapper">
<!-- 教员课时查询管理:学期教员信息表 JOIN 教员表 JOIN 教研室表 -->
<select id="selectTeacherHoursPage" resultType="com.roomroot.jwgl.vo.log.TeacherHoursVO">
SELECT
jys.教研室名称 AS jysmc,
jy.教员姓名 AS jyxm,
jy.教员类别 AS jylb,
jy.职称 AS dqzc,
xqj.职称 AS xqzc,
jy.专业技术职务等级 AS dqzyjszwdj,
xqj.专业技术职务等级 AS xqzyjszwdj,
xqj.课程主讲课时 AS zjks,
xqj.课程辅讲课时 AS fjks,
xqj.课程总课时 AS kczks,
xqj.课程折算总课时 AS kczszks,
xqj.项目补助课时 AS xmbzks,
xqj.折算总课时 AS zszks
FROM 学期教员信息表 xqj
INNER JOIN 教员表 jy ON xqj.教员编号 = jy.教员编号
LEFT JOIN 教研室表 jys ON jy.教研室代号 = jys.教研室代号
<where>
<if test="cond.jybh != null and cond.jybh != ''">
AND jy.教员编号 = #{cond.jybh}
</if>
<if test="cond.jyxm != null and cond.jyxm != ''">
AND jy.教员姓名 LIKE CONCAT('%', #{cond.jyxm}, '%')
</if>
<if test="cond.jysdh != null and cond.jysdh != ''">
AND jy.教研室代号 = #{cond.jysdh}
</if>
<if test="cond.jysmc != null and cond.jysmc != ''">
AND jys.教研室名称 LIKE CONCAT('%', #{cond.jysmc}, '%')
</if>
<if test="cond.dqzc != null and cond.dqzc != ''">
AND jy.职称 = #{cond.dqzc}
</if>
<if test="cond.xqzc != null and cond.xqzc != ''">
AND xqj.职称 = #{cond.xqzc}
</if>
<if test="cond.dqzyjszwdj != null and cond.dqzyjszwdj != ''">
AND jy.专业技术职务等级 = #{cond.dqzyjszwdj}
</if>
<if test="cond.xqzyjszwdj != null and cond.xqzyjszwdj != ''">
AND xqj.专业技术职务等级 = #{cond.xqzyjszwdj}
</if>
<if test="cond.bx != null and cond.bx != ''">
AND jys.部系 LIKE CONCAT('%', #{cond.bx}, '%')
</if>
<if test="cond.nd != null">
AND xqj.年度 = #{cond.nd}
</if>
<!-- 主讲课时范围 -->
<if test="cond.zjksMin != null">
AND xqj.课程主讲课时 &gt;= #{cond.zjksMin}
</if>
<if test="cond.zjksMax != null">
AND xqj.课程主讲课时 &lt;= #{cond.zjksMax}
</if>
<!-- 辅讲课时范围 -->
<if test="cond.fjksMin != null">
AND xqj.课程辅讲课时 &gt;= #{cond.fjksMin}
</if>
<if test="cond.fjksMax != null">
AND xqj.课程辅讲课时 &lt;= #{cond.fjksMax}
</if>
<!-- 课程总课时范围 -->
<if test="cond.kczksMin != null">
AND xqj.课程总课时 &gt;= #{cond.kczksMin}
</if>
<if test="cond.kczksMax != null">
AND xqj.课程总课时 &lt;= #{cond.kczksMax}
</if>
<!-- 课程折算总课时范围 -->
<if test="cond.kczszksMin != null">
AND xqj.课程折算总课时 &gt;= #{cond.kczszksMin}
</if>
<if test="cond.kczszksMax != null">
AND xqj.课程折算总课时 &lt;= #{cond.kczszksMax}
</if>
<!-- 项目补助课时范围 -->
<if test="cond.xmbzksMin != null">
AND xqj.项目补助课时 &gt;= #{cond.xmbzksMin}
</if>
<if test="cond.xmbzksMax != null">
AND xqj.项目补助课时 &lt;= #{cond.xmbzksMax}
</if>
<!-- 总课时范围 -->
<if test="cond.zszksMin != null">
AND xqj.折算总课时 &gt;= #{cond.zszksMin}
</if>
<if test="cond.zszksMax != null">
AND xqj.折算总课时 &lt;= #{cond.zszksMax}
</if>
</where>
ORDER BY jys.教研室代号, jy.教员编号
</select>
</mapper>