224 lines
10 KiB
XML
224 lines
10 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.XYJXQJBMapper">
|
|
|
|
<resultMap id="BaseResultMap" type="com.roomroot.jwgl.entity.XYJXQJB">
|
|
<id column="编号" property="bh"/>
|
|
<result column="名称" property="mc"/>
|
|
<result column="起始时间" property="qssj"/>
|
|
<result column="结束时间" property="jssj"/>
|
|
<result column="状态" property="zt"/>
|
|
<result column="原因" property="yy"/>
|
|
<result column="请假类型" property="qjlx"/>
|
|
<result column="备注" property="bz"/>
|
|
<result column="学员队编号" property="xydbh"/>
|
|
<result column="课堂数" property="kts"/>
|
|
<result column="学员人数" property="xyrs"/>
|
|
<result column="创建时间" property="cjsj"/>
|
|
<result column="上报时间" property="sbsj"/>
|
|
<result column="目的地" property="mdd"/>
|
|
<result column="佐证文件1编号" property="zzwj1bh"/>
|
|
<result column="佐证文件2编号" property="zzwj2bh"/>
|
|
</resultMap>
|
|
|
|
<select id="selectByXydbh" resultMap="BaseResultMap">
|
|
SELECT * FROM "学员教学请假表"
|
|
WHERE "学员队编号" = #{xydbh}
|
|
AND "状态" != '4'
|
|
<if test="nd != null">
|
|
AND EXTRACT(YEAR FROM "起始时间") = #{nd}
|
|
</if>
|
|
ORDER BY "起始时间" DESC
|
|
</select>
|
|
|
|
<resultMap id="AbsenceResultMap" type="com.roomroot.jwgl.vo.elective.StudentAbsenceVO">
|
|
<result column="请假编号" property="qjbh"/>
|
|
<result column="名称" property="mc"/>
|
|
<result column="起始时间" property="qssj"/>
|
|
<result column="结束时间" property="jssj"/>
|
|
<result column="原因" property="yy"/>
|
|
<result column="学员编号" property="xybh"/>
|
|
<result column="姓名" property="xm"/>
|
|
<result column="学号" property="xh"/>
|
|
<result column="课堂数" property="kts"/>
|
|
</resultMap>
|
|
|
|
<select id="selectAbsenceByXydbh" resultMap="AbsenceResultMap">
|
|
SELECT
|
|
q."编号" AS 请假编号, q."名称", q."起始时间", q."结束时间", q."原因",
|
|
q."课堂数",
|
|
qj."学员编号" AS 学员编号, xy."姓名", xy."学号"
|
|
FROM "学员教学请假表" q
|
|
JOIN "请假学员表" qj ON qj."请假编号" = q."编号"
|
|
LEFT JOIN "学员信息表" xy ON xy."编号" = qj."学员编号"
|
|
WHERE q."学员队编号" = #{xydbh}
|
|
AND q."状态" != '4'
|
|
<if test="nd != null">
|
|
AND EXTRACT(YEAR FROM q."起始时间") = #{nd}
|
|
</if>
|
|
ORDER BY q."起始时间" DESC
|
|
</select>
|
|
|
|
<resultMap id="StudentLeaveApplyMap" type="com.roomroot.jwgl.vo.courserunning.StudentLeaveApplyVO">
|
|
<result column="请假编号" property="qjbh"/>
|
|
<result column="学员编号" property="xybh"/>
|
|
<result column="学员姓名" property="xyxm"/>
|
|
<result column="学员队编号" property="xydbh"/>
|
|
<result column="学员队名称" property="xydmc"/>
|
|
<result column="原因" property="yy"/>
|
|
<result column="请假类型" property="qjlx"/>
|
|
<result column="起始时间" property="qssj"/>
|
|
<result column="结束时间" property="jssj"/>
|
|
<result column="审批状态" property="spzt"/>
|
|
<result column="审批状态名称" property="spztmc"/>
|
|
<result column="创建时间" property="cjsj"/>
|
|
</resultMap>
|
|
|
|
<select id="selectPageList" resultMap="StudentLeaveApplyMap">
|
|
SELECT
|
|
q."编号" AS 请假编号,
|
|
qjxy."学员编号",
|
|
xy."姓名" AS 学员姓名,
|
|
q."学员队编号",
|
|
xyd."学员队名称",
|
|
q."原因",
|
|
q."请假类型",
|
|
q."起始时间",
|
|
q."结束时间",
|
|
q."创建时间",
|
|
sp."审批状态",
|
|
CASE
|
|
WHEN q."状态" = '4' THEN '已撤回'
|
|
WHEN sp."审批状态" = '0' THEN '待审批'
|
|
WHEN sp."审批状态" = '1' THEN '已同意'
|
|
WHEN sp."审批状态" = '2' THEN '已拒绝'
|
|
WHEN sp."审批状态" = '3' THEN '已发回'
|
|
ELSE '待审批'
|
|
END AS 审批状态名称
|
|
FROM "学员教学请假表" q
|
|
LEFT JOIN "请假学员表" qjxy ON qjxy."请假编号" = q."编号"
|
|
LEFT JOIN "学员信息表" xy ON xy."编号" = qjxy."学员编号"
|
|
LEFT JOIN "学员队表" xyd ON xyd."学员队编号" = q."学员队编号"
|
|
LEFT JOIN (
|
|
SELECT "请假编号", "审批状态"
|
|
FROM "学员请假审批表" sp1
|
|
WHERE sp1."审批时间" = (
|
|
SELECT MAX(sp2."审批时间")
|
|
FROM "学员请假审批表" sp2
|
|
WHERE sp2."请假编号" = sp1."请假编号"
|
|
)
|
|
) sp ON sp."请假编号" = q."编号"
|
|
<where>
|
|
<if test="qjbh != null and qjbh != ''">
|
|
AND q."编号" = #{qjbh}
|
|
</if>
|
|
<if test="xybh != null and xybh != ''">
|
|
AND qjxy."学员编号" = #{xybh}
|
|
</if>
|
|
<if test="xyxm != null and xyxm != ''">
|
|
AND xy."姓名" LIKE '%' || #{xyxm} || '%'
|
|
</if>
|
|
<if test="xydbh != null and xydbh != ''">
|
|
AND q."学员队编号" = #{xydbh}
|
|
</if>
|
|
<if test="qjlx != null and qjlx != ''">
|
|
AND q."请假类型" = #{qjlx}
|
|
</if>
|
|
<if test="spzt != null">
|
|
AND sp."审批状态" = CAST(#{spzt} AS VARCHAR(50))
|
|
</if>
|
|
<if test="nd != null">
|
|
AND EXTRACT(YEAR FROM q."起始时间") = #{nd}
|
|
</if>
|
|
<if test="cjsjStart != null and cjsjStart != ''">
|
|
AND TO_CHAR(q."创建时间", 'YYYY-MM-DD HH24:MI:SS') >= #{cjsjStart}
|
|
</if>
|
|
<if test="cjsjEnd != null and cjsjEnd != ''">
|
|
AND TO_CHAR(q."创建时间", 'YYYY-MM-DD HH24:MI:SS') <= #{cjsjEnd}
|
|
</if>
|
|
</where>
|
|
ORDER BY q."创建时间" DESC
|
|
</select>
|
|
|
|
<resultMap id="LeaveLessonMap" type="com.roomroot.jwgl.vo.courserunning.LeaveLessonVO">
|
|
<result column="课次编号" property="sskcbbh"/>
|
|
<result column="课程名称" property="kcmc"/>
|
|
<result column="上课日期" property="rq"/>
|
|
<result column="节次" property="jc"/>
|
|
</resultMap>
|
|
|
|
<resultMap id="StudentLeaveDetailMap" type="com.roomroot.jwgl.vo.courserunning.StudentLeaveDetailVO">
|
|
<result column="请假编号" property="qjbh"/>
|
|
<result column="学员编号" property="xybh"/>
|
|
<result column="学员姓名" property="xyxm"/>
|
|
<result column="学员队编号" property="xydbh"/>
|
|
<result column="学员队名称" property="xydmc"/>
|
|
<result column="原因" property="yy"/>
|
|
<result column="请假类型" property="qjlx"/>
|
|
<result column="起始时间" property="qssj"/>
|
|
<result column="结束时间" property="jssj"/>
|
|
<result column="目的地" property="mdd"/>
|
|
<result column="备注" property="bz"/>
|
|
<result column="审批状态" property="spzt"/>
|
|
<result column="审批状态名称" property="spztmc"/>
|
|
<result column="审批人编号" property="sprbh"/>
|
|
<result column="审批人姓名" property="sprxm"/>
|
|
<result column="审批时间" property="spsj"/>
|
|
<result column="审批意见" property="spyj"/>
|
|
<result column="创建时间" property="cjsj"/>
|
|
<collection property="lessonList" resultMap="LeaveLessonMap"/>
|
|
</resultMap>
|
|
|
|
<select id="selectDetailById" resultMap="StudentLeaveDetailMap">
|
|
SELECT
|
|
q."编号" AS 请假编号,
|
|
qjxy."学员编号",
|
|
xy."姓名" AS 学员姓名,
|
|
q."学员队编号",
|
|
xyd."学员队名称",
|
|
q."原因",
|
|
q."请假类型",
|
|
q."起始时间",
|
|
q."结束时间",
|
|
q."目的地",
|
|
q."备注",
|
|
q."创建时间",
|
|
sp."审批状态",
|
|
CASE
|
|
WHEN q."状态" = '4' THEN '已撤回'
|
|
WHEN sp."审批状态" = '0' THEN '待审批'
|
|
WHEN sp."审批状态" = '1' THEN '已同意'
|
|
WHEN sp."审批状态" = '2' THEN '已拒绝'
|
|
WHEN sp."审批状态" = '3' THEN '已发回'
|
|
ELSE '待审批'
|
|
END AS 审批状态名称,
|
|
sp."审批人编号",
|
|
j."教员姓名" AS 审批人姓名,
|
|
sp."审批时间",
|
|
sp."发回意见" AS 审批意见,
|
|
sskcb."编号" AS 课次编号,
|
|
kb."课名称" AS 课程名称,
|
|
sskcb."日期" AS 上课日期,
|
|
sskcb."节次"
|
|
FROM "学员教学请假表" q
|
|
LEFT JOIN "请假学员表" qjxy ON qjxy."请假编号" = q."编号"
|
|
LEFT JOIN "学员信息表" xy ON xy."编号" = qjxy."学员编号"
|
|
LEFT JOIN "学员队表" xyd ON xyd."学员队编号" = q."学员队编号"
|
|
LEFT JOIN (
|
|
SELECT "请假编号", "审批状态", "审批人编号", "审批时间", "发回意见"
|
|
FROM "学员请假审批表" sp1
|
|
WHERE sp1."审批时间" = (
|
|
SELECT MAX(sp2."审批时间")
|
|
FROM "学员请假审批表" sp2
|
|
WHERE sp2."请假编号" = sp1."请假编号"
|
|
)
|
|
) sp ON sp."请假编号" = q."编号"
|
|
LEFT JOIN "教员表" j ON j."教员编号" = sp."审批人编号"
|
|
LEFT JOIN "请假课堂表" qjkt ON qjkt."请假编号" = q."编号"
|
|
LEFT JOIN "实施_课程表" sskcb ON sskcb."编号" = qjkt."实施_课堂编号"
|
|
LEFT JOIN "实施_课程" sskc ON sskcb."实施_课程编号" = sskc."编号"
|
|
LEFT JOIN "课表" kb ON sskc."科目编号" = kb."课编号"
|
|
WHERE q."编号" = #{qjbh}
|
|
</select>
|
|
</mapper>
|