114 lines
5.1 KiB
XML
114 lines
5.1 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.KCBBZMXMapper">
|
|
|
|
<!-- 教学保障计划列表结果映射 -->
|
|
<resultMap id="TeachingSupportPlanMap" type="com.roomroot.jwgl.vo.courserunning.TeachingSupportPlanVO">
|
|
<result column="保障明细编号" property="kcbbzmxbh"/>
|
|
<result column="课次编号" property="sskcbbh"/>
|
|
<result column="保障提供明细编号" property="bztgmxbh"/>
|
|
<result column="保障提供明细名称" property="bztgmxmc"/>
|
|
<result column="单位" property="dw"/>
|
|
<result column="保障类别名称" property="zzlmc"/>
|
|
<result column="年度" property="nd"/>
|
|
<result column="数量" property="sl"/>
|
|
<result column="备注" property="bz"/>
|
|
<result column="确认状态" property="qrzt"/>
|
|
<result column="确认人编号" property="qrrbh"/>
|
|
<result column="确认人姓名" property="qrrxm"/>
|
|
<result column="确认时间" property="qrsj"/>
|
|
<result column="确认备注" property="qrbz"/>
|
|
<result column="创建时间" property="cjsj"/>
|
|
<result column="更新时间" property="updateTime"/>
|
|
</resultMap>
|
|
|
|
<!-- 教学保障历史联想结果映射 -->
|
|
<resultMap id="TeachingSupportHistoryMap" type="com.roomroot.jwgl.vo.courserunning.TeachingSupportHistoryVO">
|
|
<result column="保障提供明细编号" property="bztgmxbh"/>
|
|
<result column="保障提供明细名称" property="bztgmxmc"/>
|
|
<result column="单位" property="dw"/>
|
|
<result column="保障类别编号" property="bzlbbh"/>
|
|
<result column="保障类别名称" property="zzlmc"/>
|
|
<result column="使用次数" property="syscs"/>
|
|
<result column="最近时间" property="zjsj"/>
|
|
<result column="平均数量" property="pjsl"/>
|
|
<result column="最近数量" property="zjsl"/>
|
|
</resultMap>
|
|
|
|
<!-- 根据实施_课程编号查询历史登记过的保障物资(历史联想) -->
|
|
<select id="selectHistoryBySskcbh" resultMap="TeachingSupportHistoryMap">
|
|
SELECT
|
|
a.保障提供明细编号 AS 保障提供明细编号,
|
|
m.名称 AS 保障提供明细名称,
|
|
m.单位,
|
|
m.保障类别编号,
|
|
l.名称 AS 保障类别名称,
|
|
COUNT(a.编号) AS 使用次数,
|
|
MAX(a.创建时间) AS 最近时间,
|
|
CAST(ROUND(AVG(a.数量), 0) AS INT) AS 平均数量,
|
|
MAX(a.数量) KEEP (DENSE_RANK LAST ORDER BY a.创建时间) AS 最近数量
|
|
FROM "课程表_保障明细" a
|
|
INNER JOIN "实施_课程表" b ON a.课程表编号 = b.编号
|
|
LEFT JOIN "保障提供明细" m ON a.保障提供明细编号 = m.编号
|
|
LEFT JOIN "保障类别" l ON m.保障类别编号 = l.编号
|
|
WHERE b.实施_课程编号 = #{sskcbh}
|
|
AND a.课程表编号 != #{sskcbbh}
|
|
GROUP BY
|
|
a.保障提供明细编号,
|
|
m.名称,
|
|
m.单位,
|
|
m.保障类别编号,
|
|
l.名称
|
|
ORDER BY 使用次数 DESC, 最近时间 DESC
|
|
</select>
|
|
|
|
<!-- 根据课次编号查询教学保障计划列表 -->
|
|
<select id="selectBySskcbbh" resultMap="TeachingSupportPlanMap">
|
|
SELECT
|
|
a.编号 AS 保障明细编号,
|
|
a.课程表编号 AS 课次编号,
|
|
a.保障提供明细编号,
|
|
m.名称 AS 保障提供明细名称,
|
|
m.单位,
|
|
l.名称 AS 保障类别名称,
|
|
a.年度,
|
|
a.数量,
|
|
a.备注,
|
|
CASE
|
|
WHEN a.备注 LIKE '%"confirmed":true%' THEN 1
|
|
ELSE 0
|
|
END AS 确认状态,
|
|
CASE
|
|
WHEN a.备注 LIKE '%"confirmed":true%' THEN
|
|
REGEXP_SUBSTR(a.备注, '"confirmedBy":"([^"]*)"', 1, 1, NULL, 1)
|
|
ELSE NULL
|
|
END AS 确认人编号,
|
|
t.姓名 AS 确认人姓名,
|
|
CASE
|
|
WHEN a.备注 LIKE '%"confirmed":true%' THEN
|
|
TO_DATE(REGEXP_SUBSTR(a.备注, '"confirmedAt":"([^"]*)"', 1, 1, NULL, 1), 'YYYY-MM-DD HH24:MI:SS')
|
|
ELSE NULL
|
|
END AS 确认时间,
|
|
CASE
|
|
WHEN a.备注 LIKE '%"confirmed":true%' THEN
|
|
REGEXP_SUBSTR(a.备注, '"confirmRemark":"([^"]*)"', 1, 1, NULL, 1)
|
|
ELSE NULL
|
|
END AS 确认备注,
|
|
a.创建时间,
|
|
a.update_time AS 更新时间
|
|
FROM "课程表_保障明细" a
|
|
LEFT JOIN "保障提供明细" m ON a.保障提供明细编号 = m.编号
|
|
LEFT JOIN "保障类别" l ON m.保障类别编号 = l.编号
|
|
LEFT JOIN "教员表" t ON (
|
|
CASE
|
|
WHEN a.备注 LIKE '%"confirmed":true%' THEN
|
|
REGEXP_SUBSTR(a.备注, '"confirmedBy":"([^"]*)"', 1, 1, NULL, 1)
|
|
ELSE NULL
|
|
END
|
|
) = t.编号
|
|
WHERE a.课程表编号 = #{sskcbbh}
|
|
ORDER BY a.创建时间 DESC
|
|
</select>
|
|
|
|
</mapper>
|