forked from integrated_whb/integrated_whb
827 lines
33 KiB
XML
827 lines
33 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.ArchivesMapper">
|
|
|
|
<!-- 获取班级列表 -->
|
|
<select id="getClasseslistPage" parameterType="page" resultType="pd">
|
|
SELECT
|
|
f.*,
|
|
c.CORP_NAME,
|
|
ifnull(pn.count,0) as POST_NUM
|
|
FROM
|
|
BUS_CLASS f
|
|
LEFT JOIN
|
|
BUS_CORP_INFO c ON c.CORPINFO_ID = f.CORPINFO_ID
|
|
LEFT JOIN
|
|
(SELECT COUNT(1) count,p.CLASS_ID FROM bus_class_post p WHERE p.ISDELETE = 0 GROUP BY p.CLASS_ID) pn ON
|
|
pn.CLASS_ID=f.CLASS_ID
|
|
WHERE
|
|
f.ISDELETE = '0'
|
|
AND f.STATE > 1
|
|
<if test="pd.CORPINFO_ID != null and pd.CORPINFO_ID != ''">
|
|
AND f.CORPINFO_ID = #{pd.CORPINFO_ID}
|
|
</if>
|
|
<if test="pd.KEYWORDS != null and pd.KEYWORDS != ''">
|
|
AND ( f.NAME LIKE CONCAT(CONCAT('%', #{pd.KEYWORDS}),'%') )
|
|
</if>
|
|
<if test="pd.STATUS != null and pd.STATUS != ''">
|
|
AND f.STATE = #{pd.STATUS}
|
|
</if>
|
|
<if test="pd.TRAINTYPE_ID != null and pd.TRAINTYPE_ID != ''"><!-- 培训类型 -->
|
|
AND f.TRAINTYPE != #{pd.TRAINTYPE_ID}
|
|
</if>
|
|
ORDER BY f.CREATTIME DESC
|
|
</select>
|
|
|
|
<!-- 获取班级内的工种 -->
|
|
<select id="getPostlistPage" parameterType="page" resultType="pd">
|
|
SELECT
|
|
f.*,
|
|
ifnull(sn.count,0) AS STUDENT_NUM,
|
|
( select sum(bv.CLASSHOUR)
|
|
from bus_class_post bcp
|
|
left join bus_curriculum_post c1 on bcp.POST_ID = c1.POST_ID
|
|
and c1.CLASS_ID = bcp.CLASS_ID
|
|
and c1.ISDELETE = '0'
|
|
left join bus_curriculum c2 on c1.CURRICULUM_ID = c2.CURRICULUM_ID and c2.ISDELETE = '0'
|
|
left join bus_class_curriculum_chapter ccc on ccc.CLASSCURRICULUM_ID = c1.CLASSCURRICULUM_ID
|
|
and ccc.CURRICULUM_ID = c2.CURRICULUM_ID
|
|
and ccc.ISDELETE = '0'
|
|
left join BUS_VIDEOCOURSEWARE bv on bv.VIDEOCOURSEWARE_ID = ccc.VIDEOCOURSEWARE_ID
|
|
and bv.ISDELETE = '0'
|
|
where bcp.CLASS_ID = f.CLASS_ID
|
|
and bcp.POST_ID = f.POST_ID
|
|
and bcp.ISDELETE = '0'
|
|
group by bcp.POST_ID) as CLASSHOUR
|
|
FROM
|
|
bus_class_post f
|
|
LEFT JOIN
|
|
(SELECT COUNT(1) count,s.CLASS_ID,s.POST_ID FROM bus_student s WHERE s.ISDELETE = 0 GROUP BY
|
|
s.CLASS_ID,s.POST_ID) sn
|
|
ON sn.CLASS_ID=f.CLASS_ID AND sn.POST_ID = f.POST_ID
|
|
WHERE
|
|
f.ISDELETE = '0'
|
|
<if test="pd.KEYWORDS != null and pd.KEYWORDS != ''">
|
|
AND ( f.POST_NAME LIKE CONCAT(CONCAT('%', #{pd.KEYWORDS}),'%') )
|
|
</if>
|
|
<if test="pd.CLASS_ID != null and pd.CLASS_ID != ''">
|
|
AND f.CLASS_ID = #{pd.CLASS_ID}
|
|
</if>
|
|
group by f.POST_ID
|
|
order by CONVERT( f.POST_NAME USING gbk )
|
|
</select>
|
|
|
|
<!-- 列表(全部)课程 -->
|
|
<select id="getCurriculums" parameterType="pd" resultType="pd">
|
|
SELECT
|
|
c.CURRICULUM_ID,
|
|
c.CATALOGUELEVEL,
|
|
c.CURRICULUMNAME
|
|
FROM
|
|
BUS_CURRICULUM_POST f
|
|
LEFT JOIN
|
|
BUS_CURRICULUM c ON c.CURRICULUM_ID = f.CURRICULUM_ID
|
|
WHERE 1=1 and f.ISDELETE = '0'
|
|
<if test="CLASS_ID != null and CLASS_ID != ''">
|
|
AND f.CLASS_ID = #{CLASS_ID}
|
|
</if>
|
|
<if test="POST_ID != null and POST_ID != ''">
|
|
AND f.POST_ID = #{POST_ID}
|
|
</if>
|
|
<if test="CURRICULUM_ID != null and CURRICULUM_ID != ''">
|
|
AND c.CURRICULUM_ID = #{CURRICULUM_ID}
|
|
</if>
|
|
GROUP BY c.CURRICULUM_ID
|
|
ORDER BY CONVERT( c.CURRICULUMNAME USING gbk )
|
|
</select>
|
|
|
|
<!-- 列表(全部)课件 -->
|
|
<select id="getCoursewares" parameterType="pd" resultType="pd">
|
|
SELECT
|
|
f.NAME AS CHAPTER_NAME,
|
|
cv.COURSEWARENAME,
|
|
t.NAME AS TEACHERNAME,
|
|
cv.COURSEWAREINTRODUCE,
|
|
cv.CLASSHOUR,
|
|
cv.VIDEOTIME,
|
|
tdic.NAME AS TRAININGTYPE_NAME,
|
|
cdic.NAME AS POSTTYPE_NAME,
|
|
CONCAT_WS('-',IF( tdic.NAME= '',null ,tdic.NAME ),IF( lei.NAME= '',null , lei.NAME ),IF( cdic.NAME= '',null ,
|
|
cdic.NAME )) TYPENAME,
|
|
cv.INDUSTRY_ALL_NAME
|
|
FROM
|
|
BUS_CLASS_CURRICULUM_CHAPTER ccc
|
|
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 BUS_TRAINING_TYPE tdic ON cv.TRAINTYPE = tdic.TRAININGTYPE_ID
|
|
LEFT JOIN BUS_POST_TYPE cdic ON cv.POSTTYPE = cdic.POSTTYPE_ID
|
|
LEFT JOIN bus_industry_type lei ON lei.INDUSTRYTYPE_ID = cv.INDUSTRY_END_ID
|
|
WHERE ccc.ISDELETE = '0' AND cv.VIDEOCOURSEWARE_ID IS NOT NULL
|
|
<if test="PARENT_ID != null and PARENT_ID != ''">
|
|
AND f.PARENT_ID = #{PARENT_ID}
|
|
</if>
|
|
<if test="CURRICULUM_ID != null and CURRICULUM_ID != ''">
|
|
AND f.CURRICULUM_ID = #{CURRICULUM_ID}
|
|
</if>
|
|
<if test="CLASS_ID != null and CLASS_ID != ''">
|
|
AND ccc.CLASS_ID = #{CLASS_ID}
|
|
</if>
|
|
<if test="ArrayDATA_IDS != null and ArrayDATA_IDS.size() > 0">
|
|
AND f.CURRICULUM_ID in
|
|
<foreach item="item" index="index" collection="ArrayDATA_IDS" open="(" separator="," close=")">
|
|
#{item}
|
|
</foreach>
|
|
</if>
|
|
ORDER BY f.SORT
|
|
</select>
|
|
|
|
<!-- 列表(全部)学生 -->
|
|
<select id="getStudents" parameterType="pd" resultType="pd">
|
|
SELECT
|
|
f.NAME,
|
|
f.USER_ID_CARD,
|
|
f.PHONE,
|
|
f.DEPARTMENT_NAME,
|
|
f.SIGNATURE_PATH,
|
|
case if(length(f.USER_ID_CARD)=18, cast(substring(f.USER_ID_CARD,17,1) as UNSIGNED)%2,
|
|
if(length(f.USER_ID_CARD)=15,cast(substring(f.USER_ID_CARD,15,1) as UNSIGNED)%2,3))
|
|
when 1 then '男' when 0 then '女' else '未知' end as SEX_NAME,
|
|
s.STAGEEXAMSTATE,
|
|
s.STUDYSTATE,
|
|
s.STAGEEXAMSCORE,
|
|
IFNULL(s.COMPLETE_CLASSHOUR,0) COMPLETE_CLASSHOUR,
|
|
(select COUNT(*) from bus_stageexam bs where bs.STUDENT_ID = f.STUDENT_ID ) examnum
|
|
FROM
|
|
BUS_STUDENT f
|
|
LEFT JOIN
|
|
BUS_STAGESTUDENTRELATION s ON s.STUDENT_ID = f.STUDENT_ID
|
|
WHERE f.ISDELETE = '0'
|
|
<if test="CLASS_ID != null and CLASS_ID != ''">
|
|
AND f.CLASS_ID = #{CLASS_ID}
|
|
</if>
|
|
<if test="POST_ID != null and POST_ID != ''">
|
|
AND f.POST_ID = #{POST_ID}
|
|
</if>
|
|
<if test="STUDENT_ID != null and STUDENT_ID != ''">
|
|
AND f.STUDENT_ID = #{STUDENT_ID}
|
|
</if>
|
|
ORDER BY CONVERT( f.NAME USING gbk )
|
|
</select>
|
|
|
|
<!-- 列表(全部)学生人脸 -->
|
|
<select id="getStudentsFace" parameterType="pd" resultType="pd">
|
|
SELECT
|
|
f.NAME,
|
|
f.USER_ID_CARD,
|
|
f.PHONE,
|
|
ui.PORTRAIT,
|
|
face.FACES
|
|
FROM
|
|
BUS_STUDENT f
|
|
LEFT JOIN
|
|
BUS_STAGESTUDENTRELATION s ON s.STUDENT_ID = f.STUDENT_ID
|
|
LEFT JOIN
|
|
SYS_USERINFO ui on ui.USER_ID = f.USER_ID
|
|
LEFT JOIN
|
|
(SELECT i.STUDENT_ID,GROUP_CONCAT(i.FILEPATH) FACES FROM bus_faceimglog i
|
|
LEFT JOIN bus_student bs on bs.STUDENT_ID = i.STUDENT_ID
|
|
where i.CLASS_ID = #{CLASS_ID}
|
|
GROUP BY bs.STUDENT_ID
|
|
ORDER BY i.CREATTIME desc) face on face.STUDENT_ID = f.STUDENT_ID
|
|
WHERE f.ISDELETE = '0'
|
|
AND s.ISDELETE = '0'
|
|
AND f.CLASS_ID = #{CLASS_ID}
|
|
ORDER BY CONVERT( f.NAME USING gbk )
|
|
</select>
|
|
|
|
<!-- 查询机构内学员列表(分页) -->
|
|
<select id="getStudentslistPage" parameterType="page" resultType="pd">
|
|
SELECT
|
|
u.USER_ID,
|
|
u.USERNAME,
|
|
u.NAME,
|
|
ui.NATION,
|
|
ui.SEX,
|
|
ui.POLITICAL_OUTLOOK,
|
|
ui.DATE_OF_BIRTH,
|
|
ui.DEGREE_OF_EDUCATION,
|
|
ui.DUTIES,
|
|
ui.ENTRY_DATE,
|
|
ui.WORKING_DATE,
|
|
ui.INCUMBENCY,
|
|
ui.TITLE,
|
|
ui.PERSONNEL_TYPE,
|
|
ui.USER_ID_CARD,
|
|
ui.USER_SIGN_FILE_PATH,
|
|
ui.CERTIFICATETYPE,
|
|
ui.AUTHENTICATION,
|
|
ui.PORTRAIT,
|
|
ui.ID_PHOTO,
|
|
<if test="pd.CORPINFO_ID != null and pd.CORPINFO_ID != ''">
|
|
aapl.ARCHIVES_AWARD_PUN_LOG_ID,
|
|
asw.ARCHIVES_SPECIAL_WORK_ID,
|
|
</if>
|
|
COUNT(DISTINCT s.CLASS_ID) CLASS_COUNT,
|
|
COUNT(IF(r.STUDYSTATE = 3, 1, NULL)) COMPLETE_COUNT
|
|
FROM
|
|
SYS_USER u
|
|
LEFT JOIN
|
|
BUS_STUDENT s ON u.USER_ID = s.USER_ID
|
|
LEFT JOIN
|
|
BUS_CLASS c ON c.CLASS_ID = s.CLASS_ID
|
|
LEFT JOIN
|
|
BUS_STAGESTUDENTRELATION r ON r.STUDENT_ID = s.STUDENT_ID
|
|
LEFT JOIN
|
|
SYS_USERINFO ui ON ui.USER_ID = u.USER_ID
|
|
<if test="pd.CORPINFO_ID != null and pd.CORPINFO_ID != ''">
|
|
LEFT JOIN
|
|
BUS_ARCHIVES_AWARD_PUN_LOG aapl on aapl.USER_ID = u.USER_ID and aapl.CORPINFO_ID = #{pd.CORPINFO_ID}
|
|
LEFT JOIN
|
|
BUS_ARCHIVES_SPECIAL_WORK asw on asw.USER_ID = u.USER_ID and asw.CORPINFO_ID = #{pd.CORPINFO_ID}
|
|
</if>
|
|
WHERE
|
|
s.ISDELETE = 0
|
|
AND r.ISDELETE = 0
|
|
AND c.isdelete = '0'
|
|
AND c.STATE > 1
|
|
<if test="pd.KEYWORDS != null and pd.KEYWORDS != ''">
|
|
AND ( u.NAME LIKE CONCAT(CONCAT('%', #{pd.KEYWORDS}),'%') )
|
|
</if>
|
|
<if test="pd.CORPINFO_ID != null and pd.CORPINFO_ID != ''">
|
|
AND s.CORPINFO_ID = #{pd.CORPINFO_ID}
|
|
</if>
|
|
<if test="pd.TRAINTYPE_ID != null and pd.TRAINTYPE_ID != ''"><!-- 培训类型 -->
|
|
AND c.TRAINTYPE != #{pd.TRAINTYPE_ID}
|
|
</if>
|
|
GROUP BY u.USER_ID
|
|
</select>
|
|
|
|
<!-- 查询学员所属机构-企业列表(分页) -->
|
|
<select id="getStuCorpEntlistPage" parameterType="page" resultType="pd">
|
|
SELECT
|
|
s.*,
|
|
en.NAME ENT_NAME,
|
|
ci.NAME CORP_NAME,
|
|
COUNT(DISTINCT s.CLASS_ID) CLASS_COUNT,
|
|
COUNT(c.CLASS_ID) STARTCLASS_COUNT
|
|
FROM
|
|
BUS_STUDENT s
|
|
LEFT JOIN BUS_CORP_INFO ci ON ci.CORPINFO_ID = s.CORPINFO_ID
|
|
left join bus_enterprise en on en.enterprise_id = s.enterprise_id and en.isdelete = '0'
|
|
left join bus_class c on c.CLASS_ID = s.CLASS_ID and c.STATE >1
|
|
WHERE
|
|
s.ISDELETE = '0'
|
|
AND s.USER_ID = #{pd.USER_ID}
|
|
<if test="pd.KEYWORDS != null and pd.KEYWORDS != ''">
|
|
AND ( s.NAME LIKE CONCAT(CONCAT('%', #{pd.KEYWORDS}),'%') )
|
|
</if>
|
|
<if test="pd.ENTERPRISE_ID != null and pd.ENTERPRISE_ID != ''">
|
|
AND s.ENTERPRISE_ID = #{pd.ENTERPRISE_ID}
|
|
</if>
|
|
<if test="pd.CORPINFO_ID != null and pd.CORPINFO_ID != ''">
|
|
AND s.CORPINFO_ID = #{pd.CORPINFO_ID}
|
|
</if>
|
|
GROUP BY
|
|
s.CORPINFO_ID,
|
|
s.ENTERPRISE_ID
|
|
order by ci.NAME
|
|
</select>
|
|
|
|
<!-- 获取学员班级列表 -->
|
|
<select id="getUserClasseslistPage" parameterType="page" resultType="pd">
|
|
select
|
|
s.USER_ID,
|
|
corp.CORPINFO_ID,
|
|
c.CLASS_ID,
|
|
c.NAME,
|
|
c.CODE,
|
|
c.START_TIME,
|
|
c.END_TIME,
|
|
c.STATE,
|
|
c.TRAINTYPE,
|
|
c.EXAMINATION,
|
|
c.ISSTRENGTHEN,
|
|
d1.NAME TRAININGTYPE_NAME,
|
|
c.POSTTYPE,
|
|
d2.NAME POSTTYPE_NAME,
|
|
c.TRAINLEVEL,
|
|
tl.NAME TRAINLEVEL_NAME,
|
|
s.DEPARTMENT_NAME,
|
|
s.POST_NAME,
|
|
s.STUDENT_ID,
|
|
s.PERSONNEL_TYPE,
|
|
s.NAME STUDENT_NAME,
|
|
IFNULL(sr.COMPLETE_CLASSHOUR,0) COMPLETE_CLASSHOUR,
|
|
sr.STAGEEXAMSTATE,
|
|
sr.STAGEEXAMSCORE,
|
|
sr.STUDYSTATE,
|
|
IFNULL(ch.SUM_CLASSHOUR,0) SUM_CLASSHOUR,
|
|
corp.CORP_NAME,
|
|
corp.CORP_TYPE_NAME,
|
|
corp.CORP_TYPE4,
|
|
us1.SIGN_PICTURE RECORDOR_SIGN,
|
|
us2.SIGN_PICTURE ASSESSOR_SIGN,
|
|
us3.SIGN_PICTURE SAFETYDEPTOR_SIGN
|
|
from
|
|
BUS_CLASS c
|
|
LEFT JOIN
|
|
BUS_TRAINING_TYPE d1 ON c.TRAINTYPE = d1.TRAININGTYPE_ID
|
|
LEFT JOIN
|
|
BUS_POST_TYPE d2 ON c.POSTTYPE = d2.POSTTYPE_ID
|
|
LEFT JOIN
|
|
BUS_TRAIN_LEVEL_TYPE tl ON tl.TRAINLEVEL_ID = c.TRAINLEVEL
|
|
LEFT JOIN
|
|
BUS_STUDENT s ON c.CLASS_ID = s.CLASS_ID
|
|
LEFT JOIN
|
|
BUS_STAGESTUDENTRELATION sr ON sr.STUDENT_ID = s.STUDENT_ID
|
|
LEFT JOIN
|
|
BUS_CORP_INFO corp ON corp.CORPINFO_ID = c.CORPINFO_ID
|
|
LEFT JOIN
|
|
(SELECT IFNULL(SUM(cu.CLASSHOUR),0) SUM_CLASSHOUR,cp.CLASS_ID,cp.POST_ID FROM BUS_CURRICULUM_POST cp
|
|
LEFT JOIN BUS_CLASS_CURRICULUM cu ON cu.CLASSCURRICULUM_ID = cp.CLASSCURRICULUM_ID where cp.isdelete = '0' and
|
|
cu.isdelete = '0'
|
|
GROUP BY cp.CLASS_ID,cp.POST_ID) ch ON ch.CLASS_ID=c.CLASS_ID and ch.POST_ID=s.POST_ID
|
|
LEFT JOIN
|
|
SYS_USER_SIGN us1 ON us1.USERSIGNID = c.RECORDOR
|
|
LEFT JOIN
|
|
SYS_USER_SIGN us2 ON us2.USERSIGNID = c.ASSESSOR
|
|
LEFT JOIN
|
|
SYS_USER_SIGN us3 ON us3.USERSIGNID = c.SAFETYDEPTOR
|
|
WHERE s.ISDELETE = 0
|
|
AND sr.ISDELETE = 0
|
|
AND c.ISDELETE = '0'
|
|
AND c.STATE > 1
|
|
<if test="pd.USER_ID != null and pd.USER_ID != ''">
|
|
AND s.USER_ID = #{pd.USER_ID}
|
|
</if>
|
|
<if test="pd.CORPINFO_ID != null and pd.CORPINFO_ID != ''">
|
|
AND s.CORPINFO_ID = #{pd.CORPINFO_ID}
|
|
</if>
|
|
<if test="pd.STATE != null and pd.STATE != ''">
|
|
AND c.STATE = #{pd.STATE}
|
|
</if>
|
|
<if test="pd.KEYWORDS != null and pd.KEYWORDS != ''">
|
|
AND
|
|
(
|
|
c. NAME LIKE CONCAT(CONCAT('%', #{pd.KEYWORDS}),'%')
|
|
)
|
|
</if>
|
|
<if test="pd.STARTTIME != null and pd.STARTTIME != ''">
|
|
AND c.START_TIME >= #{pd.STARTTIME}
|
|
</if>
|
|
<if test="pd.ENDTIME != null and pd.ENDTIME != ''">
|
|
AND c.END_TIME <= #{pd.ENDTIME}
|
|
</if>
|
|
<if test="pd.TRAINTYPE_ID != null and pd.TRAINTYPE_ID != ''">
|
|
AND c.TRAINTYPE != #{pd.TRAINTYPE_ID}
|
|
</if>
|
|
ORDER BY c.OPERATTIME DESC
|
|
</select>
|
|
|
|
<!-- 获取学生信息 -->
|
|
<select id="getStudentInfo" parameterType="pd" resultType="pd">
|
|
SELECT f.NAME STUDENT_NAME,
|
|
f.FILE_NUMBER,
|
|
f.USER_ID_CARD,
|
|
f.PHONE,
|
|
f.DEPARTMENT_NAME,
|
|
f.SIGNATURE_PATH,
|
|
f.STUDY_END_TIME,
|
|
f.STUDY_START_TIME,
|
|
case if(length(f.USER_ID_CARD) = 18, cast(substring(f.USER_ID_CARD, 17, 1) as UNSIGNED)%2,
|
|
if(length(f.USER_ID_CARD) = 15, cast(substring(f.USER_ID_CARD, 15, 1) as UNSIGNED)%2, 3))
|
|
when 1 then '男'
|
|
when 0 then '女'
|
|
else '未知' end as SEX_NAME,
|
|
s.STAGEEXAMSTATE,
|
|
s.STUDYSTATE,
|
|
s.STAGEEXAMSCORE,
|
|
IFNULL(s.COMPLETE_CLASSHOUR, 0) COMPLETE_CLASSHOUR,
|
|
c.START_TIME,
|
|
c.END_TIME,
|
|
c.CODE,
|
|
f.PERSONNEL_TYPE,
|
|
f.POST_ID,
|
|
f.CLASS_ID,
|
|
f.CORPINFO_ID,
|
|
f.DEPARTMENT_NAME,
|
|
f.POST_NAME,
|
|
f.MAJOR,
|
|
ui.ID_PHOTO,
|
|
ui.PORTRAIT,
|
|
it.NAME as INDUSTRY_TYPE_NAME,
|
|
ci.CORP_NAME,
|
|
CONCAT_WS('-', IF(t.NAME = '', null, t.NAME), IF(iei.NAME = '', null, iei.NAME),
|
|
IF(p.NAME = '', null, p.NAME), IF(tlt.NAME = '', null, tlt.NAME)) TYPENAME,
|
|
cl.NAME as DEGREE_OF_EDUCATION_NAME,
|
|
CONCAT(dd.NAME,'/',dt.NAME) as DUTIES_NAME
|
|
FROM BUS_STUDENT f
|
|
LEFT JOIN
|
|
BUS_STAGESTUDENTRELATION s ON s.STUDENT_ID = f.STUDENT_ID
|
|
left join bus_class c on f.class_id = c.class_id
|
|
LEFT JOIN BUS_POST_TYPE p on p.POSTTYPE_ID = c.POSTTYPE
|
|
LEFT JOIN BUS_TRAINING_TYPE t on t.TRAININGTYPE_ID = c.TRAINTYPE
|
|
LEFT JOIN BUS_INDUSTRY_TYPE iei on iei.INDUSTRYTYPE_ID = c.INDUSTRY_END_ID
|
|
LEFT JOIN BUS_TRAIN_LEVEL_TYPE tlt on tlt.TRAINLEVEL_ID = c.TRAINLEVEL
|
|
LEFT JOIN SYS_USERINFO ui on ui.USER_ID = f.USER_ID
|
|
LEFT JOIN SYS_DICTIONARIES cl on cl.DICTIONARIES_ID = ui.DEGREE_OF_EDUCATION
|
|
LEFT JOIN SYS_DICTIONARIES_CORP dd on dd.DICTIONARIES_ID = ui.DUTIES
|
|
LEFT JOIN SYS_DICTIONARIES_CORP dt on dt.DICTIONARIES_ID = ui.TITLE
|
|
LEFT JOIN BUS_CORP_INFO ci on ci.CORPINFO_ID = c.CORPINFO_ID
|
|
left join BUS_INDUSTRY_TYPE it on it.INDUSTRYTYPE_ID = ci.INDUSTRY_TYPE
|
|
WHERE f.STUDENT_ID = #{STUDENT_ID}
|
|
AND s.ISDELETE = '0'
|
|
AND c.ISDELETE = '0'
|
|
</select>
|
|
<select id="getCoursewaresAll" resultType="com.zcloud.entity.PageData">
|
|
SELECT
|
|
f.NAME AS CHAPTER_NAME,
|
|
cv.COURSEWARENAME,
|
|
t.NAME AS TEACHERNAME,
|
|
cv.COURSEWAREINTRODUCE,
|
|
cv.CLASSHOUR,
|
|
cv.VIDEOTIME,
|
|
tdic.NAME AS TRAININGTYPE_NAME,
|
|
cdic.NAME AS POSTTYPE_NAME,
|
|
cv.INDUSTRY_ALL_NAME,
|
|
CONCAT_WS('-',IF( tdic.NAME= '',null ,tdic.NAME ),IF( lei.NAME= '',null , lei.NAME ),IF( cdic.NAME= '',null ,
|
|
cdic.NAME )) TYPENAME,
|
|
f.CHAPTER_ID
|
|
FROM
|
|
BUS_CLASS_CURRICULUM_CHAPTER ccc
|
|
LEFT JOIN
|
|
bus_chapter f on ccc.CHAPTER_ID = f.CHAPTER_ID
|
|
LEFT JOIN
|
|
BUS_VIDEOCOURSEWARE cv ON cv.VIDEOCOURSEWARE_ID = f.VIDEOCOURSEWARE_ID
|
|
LEFT JOIN bus_industry_type lei ON lei.INDUSTRYTYPE_ID = cv.INDUSTRY_END_ID
|
|
LEFT JOIN
|
|
BUS_TEACHER t ON t.TEACHER_ID = cv.SPEAKER
|
|
LEFT JOIN
|
|
bus_training_type tdic ON cv.TRAINTYPE = tdic.TRAININGTYPE_ID
|
|
LEFT JOIN
|
|
bus_post_type cdic ON cv.POSTTYPE = cdic.POSTTYPE_ID
|
|
WHERE ccc.ISDELETE = '0'
|
|
<if test="PARENT_ID != null and PARENT_ID != ''">
|
|
AND f.PARENT_ID = #{PARENT_ID}
|
|
</if>
|
|
<if test="CURRICULUM_ID != null and CURRICULUM_ID != ''">
|
|
AND f.CURRICULUM_ID = #{CURRICULUM_ID}
|
|
</if>
|
|
<if test="CLASS_ID != null and CLASS_ID != ''">
|
|
AND ccc.CLASS_ID = #{CLASS_ID}
|
|
</if>
|
|
<if test="ArrayDATA_IDS != null and ArrayDATA_IDS.size() > 0">
|
|
AND f.CURRICULUM_ID in
|
|
<foreach item="item" index="index" collection="ArrayDATA_IDS" open="(" separator="," close=")">
|
|
#{item}
|
|
</foreach>
|
|
</if>
|
|
ORDER BY f.SORT
|
|
</select>
|
|
<select id="getPostlistAll" parameterType="page" resultType="pd">
|
|
SELECT
|
|
f.*,
|
|
ifnull(sn.count,0) AS STUDENT_NUM
|
|
FROM
|
|
bus_class_post f
|
|
LEFT JOIN
|
|
(SELECT COUNT(1) count,s.CLASS_ID,s.POST_ID FROM bus_student s WHERE s.ISDELETE = 0 GROUP BY
|
|
s.CLASS_ID,s.POST_ID) sn
|
|
ON sn.CLASS_ID=f.CLASS_ID AND sn.POST_ID = f.POST_ID
|
|
WHERE
|
|
f.ISDELETE = '0'
|
|
<if test="CLASS_ID != null and CLASS_ID != ''">
|
|
AND f.CLASS_ID = #{CLASS_ID}
|
|
</if>
|
|
</select>
|
|
<select id="getLearningRecordBaseInfo" resultType="com.zcloud.entity.PageData">
|
|
SELECT bc.CLASS_ID,
|
|
bci.OFFICIAL_SEAL_PATH,
|
|
COUNT(DISTINCT fil.FACEIMGLOG_ID) FACELOG,
|
|
bs.STUDENT_ID,
|
|
bs.USER_ID_CARD,
|
|
bs.POST_ID,
|
|
bc.`NAME` CLASS_NAME,
|
|
bc.ISFACE,
|
|
IFNULL(exam.EXAMQUESTIONNUM, 1) EXAMQUESTIONNUM,
|
|
IFNULL(exam.EXAMQUESTIONRIGHT, 0) EXAMQUESTIONRIGHT,
|
|
IFNULL(exam.EXAMQUESTIONWRONG, 0) EXAMQUESTIONWRONG,
|
|
bsr.STAGEEXAMPAPER_ID,
|
|
COUNT(DISTINCT cvc.VIDEOCOURSEWARE_ID) PLAYED_COCOURSEWARE_NUM,
|
|
IFNULL(temp.ALL_COCOURSEWARE_NUM,1) ALL_COCOURSEWARE_NUM,
|
|
bsei.EXAMNAME,
|
|
bsei.EXAMSCORE,
|
|
bsei.PASSSCORE,
|
|
bsr.STUDYSTATE,
|
|
bsr.STAGEEXAMSTATE,
|
|
bsr.STAGEEXAMSCORE,
|
|
IFNULL(bsr.COMPLETE_CLASSHOUR, 0) COMPLETE_CLASSHOUR,
|
|
IFNULL(ch.SUM_CLASSHOUR, 0) SUM_CLASSHOUR,
|
|
IF
|
|
(CONVERT(bsr.STAGEEXAMSCORE, DECIMAL) >= CONVERT(bsei.PASSSCORE, DECIMAL), '合格',
|
|
'不合格') EXAM_RESULT,
|
|
bc.EXAMINATION,
|
|
u.PORTRAIT
|
|
FROM bus_student bs
|
|
LEFT JOIN bus_class bc ON bs.CLASS_ID = bc.CLASS_ID
|
|
LEFT JOIN bus_corp_info bci ON bci.CORPINFO_ID = bs.CORPINFO_ID
|
|
LEFT JOIN bus_faceimglog fil ON fil.STUDENT_ID = bs.STUDENT_ID
|
|
AND fil.VIDEOCOURSEWARE_ID IS NOT NULL
|
|
AND fil.VIDEOCOURSEWARE_ID != ''
|
|
LEFT JOIN (
|
|
SELECT s.STUDENT_ID,count(1) ALL_COCOURSEWARE_NUM from bus_student s
|
|
LEFT JOIN bus_class bc on bc.CLASS_ID = s.CLASS_ID
|
|
LEFT JOIN bus_curriculum_post cp on cp.CLASS_ID = s.CLASS_ID and cp.POST_ID = s.POST_ID
|
|
LEFT JOIN bus_class_curriculum bcc on bcc.CLASSCURRICULUM_ID = cp.CLASSCURRICULUM_ID
|
|
LEFT JOIN bus_class_curriculum_chapter bccc on bccc.CLASSCURRICULUM_ID = bcc.CLASSCURRICULUM_ID and bccc.VIDEOCOURSEWARE_ID is not null AND bccc.VIDEOCOURSEWARE_ID != ''
|
|
WHERE s.STUDENT_ID = #{STUDENT_ID}
|
|
and bc.ISDELETE = '0'
|
|
and cp.ISDELETE = '0'
|
|
and bcc.ISDELETE = '0'
|
|
and bccc.ISDELETE = '0'
|
|
) temp on bs.STUDENT_ID = temp.STUDENT_ID
|
|
LEFT JOIN bus_coursestudyvideorecord cvc ON bs.STUDENT_ID = cvc.STUDENT_ID
|
|
AND cvc.PLAYCOUNT > 0
|
|
AND cvc.VIDEOCOURSEWARE_ID IS NOT NULL
|
|
LEFT JOIN bus_stagestudentrelation bsr ON bs.STUDENT_ID = bsr.STUDENT_ID
|
|
LEFT JOIN bus_stageexampaper_input bsei ON bsei.STAGEEXAMPAPERINPUT_ID = bsr.STAGEEXAMPAPER_ID
|
|
LEFT JOIN (
|
|
SELECT
|
|
IFNULL( SUM( cu.CLASSHOUR ), 0 ) SUM_CLASSHOUR,
|
|
cp.CLASS_ID,
|
|
cp.POST_ID
|
|
FROM
|
|
BUS_CURRICULUM_POST cp
|
|
LEFT JOIN BUS_CLASS_CURRICULUM cu ON cu.CLASSCURRICULUM_ID = cp.CLASSCURRICULUM_ID AND cu.ISDELETE = '0'
|
|
WHERE cp.ISDELETE = '0'
|
|
GROUP BY
|
|
cp.CLASS_ID,
|
|
cp.POST_ID
|
|
) ch ON ch.CLASS_ID = bc.CLASS_ID
|
|
AND ch.POST_ID = bs.POST_ID
|
|
LEFT JOIN (
|
|
SELECT
|
|
STAGEEXAM_ID,
|
|
EXAMQUESTIONNUM,
|
|
EXAMQUESTIONRIGHT,
|
|
EXAMQUESTIONWRONG,
|
|
STUDENT_ID
|
|
FROM
|
|
BUS_STAGEEXAM
|
|
WHERE STUDENT_ID = #{STUDENT_ID}
|
|
ORDER BY
|
|
EXAMSCORE*1 desc,EXAMQUESTIONRIGHT desc LIMIT 1) exam ON exam.STUDENT_ID = bs.STUDENT_ID
|
|
LEFT JOIN SYS_USERINFO u on u.USER_ID = bs.USER_ID
|
|
WHERE
|
|
bs.STUDENT_ID = #{STUDENT_ID}
|
|
</select>
|
|
<select id="getFacialPhotoList" resultType="com.zcloud.entity.PageData">
|
|
SELECT fl.CREATTIME,
|
|
fl.FILEPATH,
|
|
vcs.COURSEWARENAME
|
|
FROM bus_faceimglog fl
|
|
LEFT JOIN bus_videocourseware vcs ON fl.VIDEOCOURSEWARE_ID = vcs.VIDEOCOURSEWARE_ID
|
|
WHERE fl.ISDELETE = '0'
|
|
AND fl.STUDENT_ID = #{STUDENT_ID}
|
|
ORDER BY fl.CREATTIME desc LIMIT 5
|
|
</select>
|
|
<select id="attendanceRate" resultType="com.zcloud.entity.PageData">
|
|
SELECT bs.CLASS_ID,
|
|
bs.`NAME`,
|
|
COUNT(DISTINCT cvc.VIDEOCOURSEWARE_ID) PLAYED_NUM,
|
|
vi.courseware_num ALL_NUM
|
|
FROM bus_student bs
|
|
LEFT JOIN vi_courseware_num vi ON bs.STUDENT_ID = vi.STUDENT_ID
|
|
LEFT JOIN bus_coursestudyvideorecord cvc ON bs.STUDENT_ID = cvc.STUDENT_ID and cvc.PLAYCOUNT > 0
|
|
WHERE bs.STUDENT_ID = #{STUDENT_ID}
|
|
</select>
|
|
<!-- 获取登录的企业信息 -->
|
|
<select id="getEnterpriseInfo" parameterType="pd" resultType="com.zcloud.entity.PageData">
|
|
SELECT f.ENTERPRISE_ID,
|
|
f.NAME
|
|
FROM bus_enterprise f
|
|
WHERE f.ENTERPRISE_ID = #{ENTERPRISE_ID}
|
|
AND f.ISDELETE = '0'
|
|
</select>
|
|
<select id="getStudentsByClass" resultType="com.zcloud.entity.PageData">
|
|
SELECT s.CLASS_ID,
|
|
s.STUDENT_ID,
|
|
s.USER_ID,
|
|
c.ENTERPRISE_ID,
|
|
u.NAME USER_NAME,
|
|
c.NAME CLASS_NAME
|
|
FROM `bus_student` s
|
|
LEFT JOIN bus_class c ON s.CLASS_ID = c.CLASS_ID
|
|
left join sys_user u on s.USER_ID = u.USER_ID
|
|
WHERE s.ISDELETE = '0'
|
|
AND c.ISDELETE = 0
|
|
AND c.STATE > 1
|
|
and c.CLASS_ID = #{CLASS_ID}
|
|
</select>
|
|
<select id="getClassPaperlistPage" parameterType="page" resultType="pd">
|
|
SELECT
|
|
c.CLASS_ID,
|
|
si.STAGEEXAMPAPERINPUT_ID,
|
|
si.EXAMNAME,
|
|
GROUP_CONCAT( DISTINCT p.NAME ) ALL_POST_NAME,
|
|
COUNT( DISTINCT bs.STUDENT_ID ) STUDENT_SUM
|
|
FROM
|
|
bus_class c
|
|
LEFT JOIN bus_class_post cp ON c.CLASS_ID = cp.CLASS_ID
|
|
LEFT JOIN SYS_POST p ON p.POST_ID = cp.POST_ID
|
|
LEFT JOIN bus_student bs ON c.CLASS_ID = bs.CLASS_ID
|
|
AND bs.POST_ID = cp.POST_ID
|
|
LEFT JOIN bus_post_paper pp ON cp.POST_ID = pp.POST_ID
|
|
AND pp.CLASS_ID = c.CLASS_ID
|
|
LEFT JOIN bus_stageexampaper_input si ON si.STAGEEXAMPAPERINPUT_ID = pp.STAGEEXAMPAPERINPUT_ID
|
|
WHERE
|
|
c.CLASS_ID = #{pd.CLASS_ID}
|
|
AND c.EXAMINATION = '1'
|
|
AND cp.ISDELETE = '0'
|
|
AND bs.ISDELETE = '0'
|
|
AND pp.ISDELETE = '0'
|
|
<if test="pd.KEYWORDS != null and pd.KEYWORDS != ''">
|
|
AND ( si.EXAMNAME LIKE CONCAT(CONCAT('%', #{pd.KEYWORDS}),'%') )
|
|
</if>
|
|
GROUP BY
|
|
pp.STAGEEXAMPAPERINPUT_ID
|
|
ORDER BY CONVERT( si.EXAMNAME USING gbk )
|
|
</select>
|
|
<select id="getResultslistPage" parameterType="page" resultType="pd">
|
|
SELECT
|
|
c.CLASS_ID,
|
|
od.DEPARTMENT_ID,
|
|
od.`NAME` DEPARTMENT_NAME,
|
|
p.POST_ID,
|
|
p.`NAME` POST_NAME,
|
|
COUNT( DISTINCT bs.STUDENT_ID ) STUDENT_SUM,
|
|
classhour.CLASSHOUR_SUM,
|
|
bsrp.PASSSTUDENT_SUM,
|
|
bsrnp.UNPASSSTUDENT_SUM
|
|
FROM
|
|
bus_class c
|
|
LEFT JOIN bus_class_post cp ON c.CLASS_ID = cp.CLASS_ID
|
|
LEFT JOIN SYS_POST p ON p.POST_ID = cp.POST_ID
|
|
LEFT JOIN oa_department od on od.DEPARTMENT_ID = cp.DEPARTMENT_ID
|
|
LEFT JOIN bus_student bs ON c.CLASS_ID = bs.CLASS_ID
|
|
AND bs.POST_ID = cp.POST_ID
|
|
LEFT JOIN (
|
|
SELECT bcp.POST_ID,SUM(bv.CLASSHOUR) CLASSHOUR_SUM from bus_class_post bcp
|
|
LEFT JOIN bus_curriculum_post cp ON bcp.POST_ID = cp.POST_ID and cp.CLASS_ID = bcp.CLASS_ID and cp.ISDELETE = '0'
|
|
LEFT JOIN bus_class_curriculum_chapter ccc ON ccc.CLASSCURRICULUM_ID = cp.CLASSCURRICULUM_ID and ccc.CURRICULUM_ID = cp.CURRICULUM_ID
|
|
AND ccc.ISDELETE = '0'
|
|
LEFT JOIN BUS_VIDEOCOURSEWARE bv on bv.VIDEOCOURSEWARE_ID = ccc.VIDEOCOURSEWARE_ID
|
|
AND bv.ISDELETE = '0'
|
|
WHERE bcp.CLASS_ID = #{pd.CLASS_ID}
|
|
AND bcp.ISDELETE = '0'
|
|
GROUP BY bcp.POST_ID) classhour on classhour.POST_ID = cp.POST_ID
|
|
LEFT JOIN (
|
|
SELECT
|
|
bs.POST_ID,
|
|
COUNT(DISTINCT bsr.STUDENT_ID) PASSSTUDENT_SUM
|
|
FROM bus_class c
|
|
LEFT JOIN BUS_CLASS_POST cp ON c.CLASS_ID = cp.CLASS_ID AND cp.ISDELETE = '0'
|
|
LEFT JOIN BUS_STUDENT bs ON c.CLASS_ID = bs.CLASS_ID
|
|
AND bs.POST_ID = cp.POST_ID
|
|
AND bs.ISDELETE = '0'
|
|
LEFT JOIN BUS_STAGESTUDENTRELATION bsr on bsr.STUDENT_ID = bs.STUDENT_ID and bsr.CLASS_ID = c.CLASS_ID
|
|
AND bsr.STAGEEXAMSTATE in (0,3)
|
|
WHERE c.CLASS_ID = #{pd.CLASS_ID}
|
|
GROUP BY cp.POST_ID ) bsrp on bsrp.POST_ID = cp.POST_ID
|
|
LEFT JOIN (
|
|
SELECT
|
|
bs.POST_ID,
|
|
COUNT(DISTINCT bsr.STUDENT_ID) UNPASSSTUDENT_SUM
|
|
FROM BUS_CLASS c
|
|
LEFT JOIN BUS_CLASS_POST cp ON c.CLASS_ID = cp.CLASS_ID AND cp.ISDELETE = '0'
|
|
LEFT JOIN BUS_STUDENT bs ON c.CLASS_ID = bs.CLASS_ID
|
|
AND bs.POST_ID = cp.POST_ID
|
|
AND bs.ISDELETE = '0'
|
|
LEFT JOIN BUS_STAGESTUDENTRELATION bsr on bsr.STUDENT_ID = bs.STUDENT_ID and bsr.CLASS_ID = c.CLASS_ID
|
|
AND bsr.STAGEEXAMSTATE not in (0,3)
|
|
WHERE c.CLASS_ID = #{pd.CLASS_ID}
|
|
GROUP BY cp.POST_ID ) bsrnp on bsrnp.POST_ID = cp.POST_ID
|
|
WHERE
|
|
c.CLASS_ID = #{pd.CLASS_ID}
|
|
AND cp.ISDELETE = '0'
|
|
AND bs.ISDELETE = '0'
|
|
<if test="pd.KEYWORDS != null and pd.KEYWORDS != ''">
|
|
AND ( p.NAME LIKE CONCAT(CONCAT('%', #{pd.KEYWORDS}),'%') )
|
|
</if>
|
|
GROUP BY cp.POST_ID
|
|
ORDER BY CONVERT( cp.POST_NAME USING gbk )
|
|
</select>
|
|
<select id="getClassPapers" parameterType="pd" resultType="pd">
|
|
SELECT
|
|
c.CLASS_ID,
|
|
c.NAME CLASS_NAME,
|
|
si.STAGEEXAMPAPERINPUT_ID,
|
|
si.EXAMNAME,
|
|
si.EXAMSCORE,
|
|
be.`NAME` enterpriseName
|
|
FROM
|
|
bus_class c
|
|
LEFT JOIN bus_class_post cp ON c.CLASS_ID = cp.CLASS_ID
|
|
LEFT JOIN SYS_POST p ON p.POST_ID = cp.POST_ID
|
|
LEFT JOIN bus_student bs ON c.CLASS_ID = bs.CLASS_ID
|
|
AND bs.POST_ID = cp.POST_ID
|
|
LEFT JOIN bus_post_paper pp ON cp.POST_ID = pp.POST_ID
|
|
AND pp.CLASS_ID = c.CLASS_ID
|
|
LEFT JOIN bus_stageexampaper_input si ON si.STAGEEXAMPAPERINPUT_ID = pp.STAGEEXAMPAPERINPUT_ID
|
|
LEFT JOIN bus_enterprise be on be.ENTERPRISE_ID = c.ENTERPRISE_ID
|
|
WHERE
|
|
c.CLASS_ID = #{CLASS_ID}
|
|
AND c.EXAMINATION = '1'
|
|
AND cp.ISDELETE = '0'
|
|
AND bs.ISDELETE = '0'
|
|
AND pp.ISDELETE = '0'
|
|
GROUP BY
|
|
pp.STAGEEXAMPAPERINPUT_ID
|
|
</select>
|
|
<select id="getClassPost" parameterType="pd" resultType="pd">
|
|
SELECT
|
|
c.CLASS_ID,
|
|
c.NAME CLASS_NAME,
|
|
c.START_TIME,
|
|
c.END_TIME,
|
|
od.DEPARTMENT_ID,
|
|
od.`NAME` DEPARTMENT_NAME,
|
|
p.POST_ID,
|
|
p.`NAME` POST_NAME,
|
|
be.`NAME` ENTERPRISE_NAME,
|
|
bc.`NAME` CORP_NAME
|
|
FROM
|
|
bus_class c
|
|
LEFT JOIN bus_class_post cp ON c.CLASS_ID = cp.CLASS_ID
|
|
LEFT JOIN SYS_POST p ON p.POST_ID = cp.POST_ID
|
|
LEFT JOIN oa_department od ON od.DEPARTMENT_ID = cp.DEPARTMENT_ID
|
|
LEFT JOIN bus_student bs ON c.CLASS_ID = bs.CLASS_ID
|
|
AND bs.POST_ID = cp.POST_ID
|
|
LEFT JOIN bus_enterprise be ON be.ENTERPRISE_ID = bs.ENTERPRISE_ID
|
|
LEFT JOIN bus_corp_info bc on bc.CORPINFO_ID = c.CORPINFO_ID
|
|
WHERE
|
|
c.CLASS_ID = #{CLASS_ID}
|
|
AND cp.ISDELETE = '0'
|
|
AND bs.ISDELETE = '0'
|
|
GROUP BY
|
|
cp.POST_ID
|
|
</select>
|
|
|
|
<select id="getClassCurriculumlistPage" resultType="com.zcloud.entity.PageData">
|
|
select
|
|
f.CORPINFO_ID,
|
|
f.CLASS_ID,
|
|
f.CURRICULUM_ID,
|
|
f.CLASSCURRICULUM_ID,
|
|
c.CURRICULUMNAME,
|
|
c.INDUSTRY_ALL_NAME,
|
|
GROUP_CONCAT(DISTINCT p.NAME) ALL_POST_NAME,
|
|
cvv.NUM VIDEOCOURSEWARE_COUNT
|
|
from
|
|
BUS_CLASS_CURRICULUM f
|
|
LEFT JOIN (
|
|
SELECT
|
|
COUNT( CURRICULUM_ID ) NUM,
|
|
CURRICULUM_ID
|
|
FROM
|
|
BUS_CLASS_CURRICULUM_CHAPTER ccc
|
|
WHERE
|
|
ccc.ISDELETE = '0'
|
|
AND ccc.CLASS_ID = #{pd.CLASS_ID}
|
|
and ccc.VIDEOCOURSEWARE_ID is not null
|
|
and ccc.VIDEOCOURSEWARE_ID != ''
|
|
GROUP BY ccc.CURRICULUM_ID
|
|
) cvv ON cvv.CURRICULUM_ID = f.CURRICULUM_ID
|
|
LEFT JOIN BUS_CURRICULUM c on c.CURRICULUM_ID = f.CURRICULUM_ID
|
|
LEFT JOIN BUS_CURRICULUM_POST cp on cp.CURRICULUM_ID = f.CURRICULUM_ID AND cp.CLASS_ID = f.CLASS_ID
|
|
LEFT JOIN SYS_POST p on p.POST_ID = cp.POST_ID
|
|
LEFT JOIN (
|
|
SELECT
|
|
c.CLASS_ID,
|
|
cup.CURRICULUM_ID,
|
|
COUNT( DISTINCT bs.STUDENT_ID ) start_sum,
|
|
COUNT( bs.STUDY_END_TIME ) finsh_num
|
|
FROM
|
|
bus_class c
|
|
LEFT JOIN bus_class_post cp ON c.CLASS_ID = cp.CLASS_ID
|
|
RIGHT JOIN bus_student bs ON c.CLASS_ID = bs.CLASS_ID and bs.POST_ID = cp.POST_ID
|
|
AND bs.ISDELETE = '0'
|
|
RIGHT JOIN bus_curriculum_post cup ON cp.POST_ID = cup.POST_ID
|
|
AND cup.CLASS_ID = c.CLASS_ID
|
|
AND cup.ISDELETE = '0'
|
|
where c.CLASS_ID = #{pd.CLASS_ID}
|
|
GROUP BY
|
|
cup.CURRICULUM_ID
|
|
) vifs on vifs.CLASS_ID = f.CLASS_ID and f.CURRICULUM_ID = vifs.CURRICULUM_ID
|
|
where f.ISDELETE = '0'
|
|
and cp.ISDELETE = '0'
|
|
and f.CLASS_ID = #{pd.CLASS_ID}
|
|
GROUP BY f.CURRICULUM_ID
|
|
ORDER BY CONVERT( c.CURRICULUMNAME USING gbk )
|
|
</select>
|
|
</mapper>
|