integrated_traffic/src/main/resources/mybatis/dsno3/eduArchives/ArchivesEduManagerMapper.xml

77 lines
3.0 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.zcloud.mapper.dsno3.eduArchives.ArchivesEduManagerMapper">
<!-- 列表(全部) -->
<select id="listAll" parameterType="pd" resultType="pd">
SELECT
c.START_TIME,
c.END_TIME,
d.NAME AS TRAINING_TYPE,
l.NAME AS TRAINLEVEL_NAME,
GROUP_CONCAT(DISTINCT p.POST_NAME) as TRAINING_OBJECT,
GROUP_CONCAT(DISTINCT cu.CURRICULUMNAME ORDER BY CONVERT( cu.CURRICULUMNAME USING gbk )) as TRAINING_CONTENT,
GROUP_CONCAT(DISTINCT t.NAME) as TRAINING_TEACHERS,
IFNULL(temp.CLASSHOUR,0) as CLASS_HOURS,
s.PERSON_NUMBER,
s.PASS_NUMBER,
s.NOPASS_NUMBER,
s.GETPASS_NUMBER,
co.CORP_NAME
FROM
BUS_CLASS c
LEFT JOIN
BUS_CLASS_POST p ON p.CLASS_ID = c.CLASS_ID
LEFT JOIN
`qa-traffic-prevention`.`bus_corp_info` co ON co.CORPINFO_ID = c.CORPINFO_ID
LEFT JOIN
BUS_POST_TYPE d on d.POSTTYPE_ID = c.POSTTYPE
LEFT JOIN
BUS_TRAIN_LEVEL_TYPE l on l.TRAINLEVEL_ID = c.TRAINLEVEL
LEFT JOIN
BUS_CLASS_CURRICULUM_CHAPTER ccc ON ccc.CLASS_ID = c.CLASS_ID AND ccc.ISDELETE = '0'
LEFT JOIN
bus_curriculum cu ON cu.CURRICULUM_ID = ccc.CURRICULUM_ID
LEFT JOIN
bus_chapter f ON ccc.CHAPTER_ID = f.CHAPTER_ID
LEFT JOIN
BUS_VIDEOCOURSEWARE cv ON cv.VIDEOCOURSEWARE_ID = f.VIDEOCOURSEWARE_ID AND cv.ISDELETE = '0'
LEFT JOIN
BUS_TEACHER t ON t.TEACHER_ID = cv.SPEAKER
LEFT JOIN (
SELECT
ts.class_id,
count( DISTINCT ts.STAGESTUDENTRELATION_ID ) AS PERSON_NUMBER,
count( ts.STAGEEXAMSTATE = 2 OR NULL ) AS PASS_NUMBER,
count( ts.STAGEEXAMSTATE != 2 OR NULL ) AS NOPASS_NUMBER,
count( DISTINCT IF ( ts.STAGEEXAMSTATE = 3, ts.STAGESTUDENTRELATION_ID, NULL ) ) AS GETPASS_NUMBER
FROM
BUS_STAGESTUDENTRELATION ts
LEFT JOIN bus_class cz ON cz.CLASS_ID = ts.CLASS_ID
WHERE
ts.isdelete = '0'
AND cz.ISDELETE = '0'
<if test="CORPINFO_ID != null and CORPINFO_ID != ''">
AND cz.CORPINFO_ID = #{CORPINFO_ID}
</if>
GROUP BY
ts.CLASS_ID
) s ON s.CLASS_ID = c.CLASS_ID
LEFT JOIN (SELECT CLASS_ID,SUM(CLASSHOUR) CLASSHOUR from bus_class_curriculum GROUP BY CLASS_ID) temp on temp.CLASS_ID = c.CLASS_ID
WHERE p.ISDELETE = '0'
AND c.ISDELETE = '0'
AND c.STATE &gt; 1
<if test="CORPINFO_ID != null and CORPINFO_ID != ''">
AND c.CORPINFO_ID = #{CORPINFO_ID}
</if>
<if test="YEAR != null and YEAR != ''">
AND c.CREATTIME LIKE CONCAT(#{YEAR},'%')
</if>
<if test="TRAINTYPE_ID != null and TRAINTYPE_ID != ''"><!-- 培训类型 -->
AND c.TRAINTYPE != #{TRAINTYPE_ID}
</if>
GROUP BY c.CLASS_ID
ORDER BY c.START_TIME
</select>
</mapper>