forked from integrated_whb/integrated_whb
955 lines
36 KiB
XML
955 lines
36 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.eduStudy.ClassMapper">
|
|
|
|
<!--表名 -->
|
|
<sql id="tableName">
|
|
BUS_CLASS
|
|
</sql>
|
|
|
|
<!--数据字典表名 -->
|
|
<sql id="dicTableName">
|
|
SYS_DICTIONARIES
|
|
</sql>
|
|
|
|
<!-- 字段 -->
|
|
<sql id="Field">
|
|
f
|
|
.
|
|
NAME
|
|
,
|
|
f.ADMIN_DIVISION,
|
|
f.START_TIME,
|
|
f.END_TIME,
|
|
f.PRINCIPAL,
|
|
f.PRINCIPAL_PHONE,
|
|
f.TRAINTYPE,
|
|
f.POSTTYPE,
|
|
f.INDUSTRY_END_ID,
|
|
f.INDUSTRY_ALL_NAME,
|
|
f.INDUSTRY_ALL_TYPE,
|
|
f.TRAINLEVEL,
|
|
f.TRAINERS_NUMBER,
|
|
f.ISSUE,
|
|
f.EXAM_TIME,
|
|
f.ISCHECKPERIOD,
|
|
f.CREATOR,
|
|
f.CREATTIME,
|
|
f.OPERATOR,
|
|
f.OPERATTIME,
|
|
f.ISDELETE,
|
|
f.CORPINFO_ID,
|
|
f.PROVINCE,
|
|
f.CITY,
|
|
f.COUNTY,
|
|
f.VILLAGE,
|
|
f.STREET,
|
|
f.ISQUESTIONNAIRE,
|
|
f.SAMPLINGNUMBER,
|
|
f.CODE,
|
|
f.STATE,
|
|
f.SURVEY_ID,
|
|
f.ENTERPRISE_ID,
|
|
f.RECORDOR,
|
|
f.ASSESSOR,
|
|
f.SAFETYDEPTOR,
|
|
f.ISFACE,
|
|
f.EXAMINATION,
|
|
f.NUMBEROFEXAMS,
|
|
f.CLASS_ID,
|
|
f.ISSTRENGTHEN,
|
|
f.RELEASE_TYPE,
|
|
f.PERSONNEL_TYPES
|
|
</sql>
|
|
|
|
<!-- 字段用于新增 -->
|
|
<sql id="Field2">
|
|
NAME
|
|
,
|
|
ADMIN_DIVISION,
|
|
START_TIME,
|
|
END_TIME,
|
|
PRINCIPAL,
|
|
PRINCIPAL_PHONE,
|
|
TRAINTYPE,
|
|
POSTTYPE,
|
|
INDUSTRY_END_ID,
|
|
INDUSTRY_ALL_NAME,
|
|
INDUSTRY_ALL_TYPE,
|
|
TRAINLEVEL,
|
|
TRAINERS_NUMBER,
|
|
ISSUE,
|
|
EXAM_TIME,
|
|
ISCHECKPERIOD,
|
|
CREATOR,
|
|
CREATTIME,
|
|
OPERATOR,
|
|
OPERATTIME,
|
|
ISDELETE,
|
|
CORPINFO_ID,
|
|
PROVINCE,
|
|
CITY,
|
|
COUNTY,
|
|
VILLAGE,
|
|
STREET,
|
|
ISQUESTIONNAIRE,
|
|
SAMPLINGNUMBER,
|
|
CODE,
|
|
STATE,
|
|
SURVEY_ID,ENTERPRISE_ID,
|
|
RECORDOR,
|
|
ASSESSOR,
|
|
SAFETYDEPTOR,
|
|
NUMBEROFEXAMS,
|
|
EXAMINATION,
|
|
ISFACE,
|
|
CLASS_ID,
|
|
ISSTRENGTHEN,
|
|
RELEASE_TYPE,
|
|
PERSONNEL_TYPES
|
|
</sql>
|
|
|
|
<!-- 字段值 -->
|
|
<sql id="FieldValue">
|
|
#{NAME}
|
|
,
|
|
#{ADMIN_DIVISION},
|
|
#{START_TIME},
|
|
#{END_TIME},
|
|
#{PRINCIPAL},
|
|
#{PRINCIPAL_PHONE},
|
|
#{TRAINTYPE},
|
|
#{POSTTYPE},
|
|
#{INDUSTRY_END_ID},
|
|
#{INDUSTRY_ALL_NAME},
|
|
#{INDUSTRY_ALL_TYPE},
|
|
#{TRAINLEVEL},
|
|
#{TRAINERS_NUMBER},
|
|
#{ISSUE},
|
|
#{EXAM_TIME},
|
|
#{ISCHECKPERIOD},
|
|
#{CREATOR},
|
|
#{CREATTIME},
|
|
#{OPERATOR},
|
|
#{OPERATTIME},
|
|
#{ISDELETE},
|
|
#{CORPINFO_ID},
|
|
#{PROVINCE},
|
|
#{CITY},
|
|
#{COUNTY},
|
|
#{VILLAGE},
|
|
#{STREET},
|
|
#{ISQUESTIONNAIRE},
|
|
#{SAMPLINGNUMBER},
|
|
#{CODE},
|
|
#{STATE},
|
|
#{SURVEY_ID},
|
|
#{ENTERPRISE_ID},
|
|
#{RECORDOR},
|
|
#{ASSESSOR},
|
|
#{SAFETYDEPTOR},
|
|
#{NUMBEROFEXAMS},
|
|
#{EXAMINATION},
|
|
#{ISFACE},
|
|
#{CLASS_ID},
|
|
#{ISSTRENGTHEN},
|
|
#{RELEASE_TYPE},
|
|
#{PERSONNEL_TYPES}
|
|
</sql>
|
|
|
|
<!-- 新增-->
|
|
<insert id="save" parameterType="pd">
|
|
insert into
|
|
<include refid="tableName"></include>
|
|
(
|
|
<include refid="Field2"></include>
|
|
) values (
|
|
<include refid="FieldValue"></include>
|
|
)
|
|
</insert>
|
|
|
|
<!-- 删除-->
|
|
<delete id="delete" parameterType="pd">
|
|
update
|
|
<include refid="tableName"></include>
|
|
set
|
|
ISDELETE = '1',
|
|
OPERATOR = #{OPERATOR},
|
|
OPERATTIME = #{OPERATTIME}
|
|
where
|
|
CLASS_ID = #{CLASS_ID}
|
|
</delete>
|
|
<!-- 修改 -->
|
|
<update id="editState" parameterType="pd">
|
|
update
|
|
<include refid="tableName"></include>
|
|
set
|
|
|
|
<if test="NEW_END_TIME != null and NEW_END_TIME != ''"><!-- 关键词检索 -->
|
|
END_TIME = #{NEW_END_TIME},
|
|
</if>
|
|
STATE = #{STATE},
|
|
OPERATOR = #{OPERATOR},
|
|
OPERATTIME = #{OPERATTIME}
|
|
where
|
|
CLASS_ID = #{CLASS_ID}
|
|
</update>
|
|
|
|
<!-- 修改 -->
|
|
<update id="edit" parameterType="pd">
|
|
update
|
|
<include refid="tableName"></include>
|
|
set
|
|
EXAMINATION = #{EXAMINATION},
|
|
<if test="NAME != null and NAME != ''"><!-- 关键词检索 -->
|
|
NAME = #{NAME},
|
|
</if>
|
|
<if test="ADMIN_DIVISION != null and ADMIN_DIVISION != ''"><!-- 关键词检索 -->
|
|
ADMIN_DIVISION = #{ADMIN_DIVISION},
|
|
</if>
|
|
<if test="START_TIME != null and START_TIME != ''"><!-- 关键词检索 -->
|
|
START_TIME = #{START_TIME},
|
|
</if>
|
|
<if test="END_TIME != null and END_TIME != ''"><!-- 关键词检索 -->
|
|
END_TIME = #{END_TIME},
|
|
</if>
|
|
<if test="PRINCIPAL != null and PRINCIPAL != ''"><!-- 关键词检索 -->
|
|
PRINCIPAL = #{PRINCIPAL},
|
|
</if>
|
|
<if test="PRINCIPAL_PHONE != null and PRINCIPAL_PHONE != ''"><!-- 关键词检索 -->
|
|
PRINCIPAL_PHONE = #{PRINCIPAL_PHONE},
|
|
</if>
|
|
<if test="TRAINTYPE != null and TRAINTYPE != ''"><!-- 关键词检索 -->
|
|
TRAINTYPE = #{TRAINTYPE},
|
|
</if>
|
|
<if test="POSTTYPE != null and POSTTYPE != ''"><!-- 关键词检索 -->
|
|
POSTTYPE = #{POSTTYPE},
|
|
</if>
|
|
<if test="INDUSTRY_ALL_NAME != null and INDUSTRY_ALL_NAME != ''"><!-- 关键词检索 -->
|
|
INDUSTRY_ALL_NAME = #{INDUSTRY_ALL_NAME},
|
|
</if>
|
|
<if test="TRAINLEVEL != null and TRAINLEVEL != ''"><!-- 关键词检索 -->
|
|
TRAINLEVEL = #{TRAINLEVEL},
|
|
</if>
|
|
<if test="TRAINERS_NUMBER != null and TRAINERS_NUMBER != ''"><!-- 关键词检索 -->
|
|
TRAINERS_NUMBER = #{TRAINERS_NUMBER},
|
|
</if>
|
|
|
|
<if test="ISSUE != null and ISSUE != ''"><!-- 关键词检索 -->
|
|
ISSUE = #{ISSUE},
|
|
</if>
|
|
<if test="EXAM_TIME != null and EXAM_TIME != ''"><!-- 关键词检索 -->
|
|
EXAM_TIME = #{EXAM_TIME},
|
|
</if>
|
|
<if test="ISCHECKPERIOD != null and ISCHECKPERIOD != ''"><!-- 关键词检索 -->
|
|
ISCHECKPERIOD = #{ISCHECKPERIOD},
|
|
</if>
|
|
<if test="ISQUESTIONNAIRE != null and ISQUESTIONNAIRE != ''"><!-- 关键词检索 -->
|
|
ISQUESTIONNAIRE = #{ISQUESTIONNAIRE},
|
|
</if>
|
|
<if test="SAMPLINGNUMBER != null and SAMPLINGNUMBER != ''"><!-- 关键词检索 -->
|
|
SAMPLINGNUMBER = #{SAMPLINGNUMBER},
|
|
</if>
|
|
<if test="STATE != null and STATE != ''"><!-- 关键词检索 -->
|
|
STATE = #{STATE},
|
|
</if>
|
|
<if test="OPERATOR != null and OPERATOR != ''"><!-- 关键词检索 -->
|
|
OPERATOR = #{OPERATOR},
|
|
</if>
|
|
<if test="OPERATTIME != null and OPERATTIME != ''"><!-- 关键词检索 -->
|
|
OPERATTIME = #{OPERATTIME},
|
|
</if>
|
|
<if test="SURVEY_ID != null and SURVEY_ID != ''"><!-- 关键词检索 -->
|
|
SURVEY_ID = #{SURVEY_ID},
|
|
</if>
|
|
<if test="RECORDOR != null and RECORDOR != ''"><!-- 关键词检索 -->
|
|
RECORDOR = #{RECORDOR},
|
|
</if>
|
|
<if test="ASSESSOR != null and ASSESSOR != ''"><!-- 关键词检索 -->
|
|
ASSESSOR = #{ASSESSOR},
|
|
</if>
|
|
<if test="SAFETYDEPTOR != null and SAFETYDEPTOR != ''"><!-- 关键词检索 -->
|
|
SAFETYDEPTOR = #{SAFETYDEPTOR},
|
|
</if>
|
|
<if test="ISFACE != null and ISFACE != ''"><!-- 关键词检索 -->
|
|
ISFACE = #{ISFACE},
|
|
</if>
|
|
<if test="NUMBEROFEXAMS != null and NUMBEROFEXAMS != ''"><!-- 关键词检索 -->
|
|
NUMBEROFEXAMS = #{NUMBEROFEXAMS},
|
|
</if>
|
|
<if test="ISSTRENGTHEN != null and ISSTRENGTHEN != ''"><!-- 关键词检索 -->
|
|
ISSTRENGTHEN = #{ISSTRENGTHEN},
|
|
</if>
|
|
<if test="RELEASE_TYPE != null and RELEASE_TYPE != ''"><!-- 关键词检索 -->
|
|
RELEASE_TYPE = #{RELEASE_TYPE},
|
|
</if>
|
|
<if test="PERSONNEL_TYPES != null and PERSONNEL_TYPES != ''"><!-- 关键词检索 -->
|
|
PERSONNEL_TYPES = #{PERSONNEL_TYPES},
|
|
</if>
|
|
CLASS_ID = CLASS_ID
|
|
where
|
|
CLASS_ID = #{CLASS_ID}
|
|
</update>
|
|
|
|
<!-- 通过ID获取数据 -->
|
|
<select id="findById" parameterType="pd" resultType="pd">
|
|
select
|
|
<include refid="Field"></include>,
|
|
p.NAME POSTTYPE_NAME,
|
|
t.NAME TRAININGTYPE_NAME,
|
|
bci.OFFICIAL_SEAL_PATH,
|
|
CONCAT_WS('-',IF( t.NAME= '',null ,t.NAME ),IF( lei.NAME= '',null , lei.NAME ),IF( p.NAME= '',null , p.NAME
|
|
),IF( tlt.NAME= '',null , tlt.NAME )) TYPENAME,
|
|
tlt.NAME TRAINLEVEL_NAME,
|
|
bci.CORP_NAME
|
|
from
|
|
<include refid="tableName"></include>
|
|
f
|
|
LEFT JOIN BUS_POST_TYPE p on p.POSTTYPE_ID = f.POSTTYPE
|
|
left join bus_corp_info bci on f.CORPINFO_ID = bci.CORPINFO_ID
|
|
LEFT JOIN BUS_TRAINING_TYPE t on t.TRAININGTYPE_ID = f.TRAINTYPE
|
|
LEFT JOIN BUS_TRAIN_LEVEL_TYPE tlt on tlt.TRAINLEVEL_ID = f.TRAINLEVEL
|
|
LEFT JOIN bus_industry_type lei ON lei.INDUSTRYTYPE_ID = f.INDUSTRY_END_ID
|
|
WHERE
|
|
f.CLASS_ID = #{CLASS_ID}
|
|
</select>
|
|
|
|
<!-- 获取学员试卷相关信息 -->
|
|
<select id="getStuPaper" parameterType="pd" resultType="pd">
|
|
SELECT s.POST_ID,
|
|
pp.STAGEEXAMPAPERINPUT_ID,
|
|
c.NUMBEROFEXAMS
|
|
FROM BUS_STUDENT s
|
|
LEFT JOIN BUS_CLASS c ON c.CLASS_ID = s.CLASS_ID AND c.ISDELETE = '0'
|
|
LEFT JOIN BUS_POST_PAPER pp
|
|
ON pp.CLASS_ID = s.CLASS_ID AND pp.POST_ID = s.POST_ID AND pp.ISDELETE = '0'
|
|
WHERE s.STUDENT_ID = #{STUDENT_ID}
|
|
</select>
|
|
|
|
|
|
<!-- 通过ID获取数据 -->
|
|
<select id="findByIdForSign" parameterType="pd" resultType="pd">
|
|
select
|
|
<include refid="Field"></include>,
|
|
us1.SIGN_PICTURE RECORDOR_SIGN, us2.SIGN_PICTURE ASSESSOR_SIGN, us3.SIGN_PICTURE SAFETYDEPTOR_SIGN
|
|
from
|
|
<include refid="tableName"></include>
|
|
f
|
|
left join SYS_USER_SIGN us1 ON us1.USERSIGNID = f.RECORDOR
|
|
LEFT JOIN SYS_USER_SIGN us2 ON us2.USERSIGNID = f.ASSESSOR
|
|
LEFT JOIN SYS_USER_SIGN us3 ON us3.USERSIGNID = f.SAFETYDEPTOR
|
|
WHERE
|
|
f.CLASS_ID = #{CLASS_ID}
|
|
LIMIT 1
|
|
</select>
|
|
|
|
<!-- 通过ID获取数据 -->
|
|
<select id="findByIdForArchives" parameterType="pd" resultType="pd">
|
|
select
|
|
<include refid="Field"></include>,
|
|
p.NAME POSTTYPE_NAME,
|
|
t.NAME TRAININGTYPE_NAME,
|
|
iei.NAME INDUSTRY_END_NAME,
|
|
tlt.NAME TRAINLEVEL_NAME,
|
|
(select sum(cc.CLASSHOUR) from bus_class_curriculum cc where cc.CLASS_ID = f.CLASS_ID and cc.ISDELETE = '0')
|
|
SUMCLASSHOUR,
|
|
group_concat(distinct(cv.TEACHERNAME)) TEACHERS,
|
|
group_concat(distinct(cv.COURSEWARENAME)) COURSEWARENAMES,
|
|
group_concat(distinct(cu.CURRICULUMNAME)) CURRICULUMNAMES,
|
|
ci.CORP_NAME CORP_NAME
|
|
from
|
|
<include refid="tableName"></include>
|
|
f
|
|
LEFT JOIN BUS_POST_TYPE p on p.POSTTYPE_ID = f.POSTTYPE
|
|
LEFT JOIN BUS_TRAINING_TYPE t on t.TRAININGTYPE_ID = f.TRAINTYPE
|
|
LEFT JOIN BUS_INDUSTRY_TYPE iei on iei.INDUSTRYTYPE_ID = f.INDUSTRY_END_ID
|
|
LEFT JOIN BUS_TRAIN_LEVEL_TYPE tlt on tlt.TRAINLEVEL_ID = f.TRAINLEVEL
|
|
LEFT JOIN BUS_CLASS_VIDEOCOURSEWARE cv ON cv.CLASS_ID = f.CLASS_ID AND cv.ISDELETE = '0'
|
|
LEFT JOIN bus_class_curriculum cu ON cu.CLASS_ID = f.CLASS_ID AND cu.ISDELETE = '0'
|
|
left join bus_corp_info ci on ci.CORPINFO_ID = f.CORPINFO_ID
|
|
|
|
WHERE
|
|
f.CLASS_ID = #{CLASS_ID}
|
|
GROUP BY f.CLASS_ID
|
|
</select>
|
|
|
|
|
|
<!-- 列表 -->
|
|
<select id="datalistPage" parameterType="page" resultType="pd">
|
|
SELECT
|
|
<include refid="Field"></include>,
|
|
p.NAME POSTTYPE_NAME,
|
|
t.NAME TRAININGTYPE_NAME,
|
|
tlt.NAME TRAINLEVEL_NAME,
|
|
sd1.NAME as PROVINCE_NAME,
|
|
sd2.NAME as CITY_NAME,
|
|
sd3.NAME as COUNTY_NAME,
|
|
sd4.NAME as VILLAGE_NAME,
|
|
sd5.NAME as STREET_NAME,
|
|
(SELECT COUNT(cp.POST_ID) FROM BUS_CLASS_POST cp WHERE cp.CLASS_ID = f.CLASS_ID AND cp.ISDELETE = '0' ) POSTNUM,
|
|
IFNULL(students.num ,0) AS STUDENT_NUM,
|
|
pa.num as PASS_NUM,
|
|
IFNULL(cvr.STUDYRECORDCNT, 0) AS STUDYRECORDCNT
|
|
FROM
|
|
<include refid="tableName"></include>
|
|
f
|
|
LEFT JOIN BUS_POST_TYPE p ON p.POSTTYPE_ID = f.POSTTYPE
|
|
LEFT JOIN BUS_TRAINING_TYPE t ON t.TRAININGTYPE_ID = f.TRAINTYPE
|
|
LEFT JOIN sys_dictionaries sd1 ON sd1.BIANMA = f.PROVINCE
|
|
LEFT JOIN sys_dictionaries sd2 ON sd2.BIANMA = f.CITY
|
|
LEFT JOIN sys_dictionaries sd3 ON sd3.BIANMA = f.COUNTY
|
|
LEFT JOIN sys_dictionaries sd4 ON sd4.BIANMA = f.VILLAGE
|
|
LEFT JOIN sys_dictionaries sd5 ON sd5.BIANMA = f.STREET
|
|
LEFT JOIN BUS_TRAIN_LEVEL_TYPE tlt ON tlt.TRAINLEVEL_ID = f.TRAINLEVEL
|
|
LEFT JOIN(SELECT COUNT(1) num,s.CLASS_ID FROM BUS_STUDENT s WHERE s.ISDELETE = '0' GROUP BY s.CLASS_ID )
|
|
students ON students.CLASS_ID = f.CLASS_ID
|
|
LEFT JOIN(SELECT COUNT(1) num,s.CLASS_ID FROM BUS_STUDENT s
|
|
LEFT JOIN BUS_STAGESTUDENTRELATION rel on rel.STUDENT_ID = s.STUDENT_ID
|
|
WHERE s.ISDELETE = '0' AND ((rel.STAGEEXAMSTATE = 0 AND rel.STUDYSTATE=2) or rel.STAGEEXAMSTATE = 2 OR
|
|
rel.STUDYSTATE = 3) GROUP BY
|
|
s.CLASS_ID) pa
|
|
ON pa.CLASS_ID = f.CLASS_ID
|
|
LEFT JOIN ( SELECT COUNT( 1 ) STUDYRECORDCNT,CLASS_ID FROM bus_coursestudyvideorecord GROUP BY CLASS_ID) cvr ON cvr.CLASS_ID = f.CLASS_ID
|
|
WHERE f.ISDELETE = '0'
|
|
<if test="pd.KEYWORDS != null and pd.KEYWORDS != ''"><!-- 关键词检索 -->
|
|
and ( f.NAME LIKE CONCAT(CONCAT('%', #{pd.KEYWORDS}),'%') )
|
|
</if>
|
|
<if test="pd.CODE != null and pd.CODE != ''"><!-- 关键词检索 -->
|
|
and ( f.CODE LIKE CONCAT(CONCAT('%', #{pd.CODE}),'%') )
|
|
</if>
|
|
<if test="pd.PRINCIPAL != null and pd.PRINCIPAL != ''"><!-- 关键词检索 -->
|
|
and ( f.PRINCIPAL LIKE CONCAT(CONCAT('%', #{pd.PRINCIPAL}),'%') )
|
|
</if>
|
|
<if test="pd.PRINCIPAL_PHONE != null and pd.PRINCIPAL_PHONE != ''"><!-- 关键词检索 -->
|
|
and ( f.PRINCIPAL_PHONE LIKE CONCAT(CONCAT('%', #{pd.PRINCIPAL_PHONE}),'%') )
|
|
</if>
|
|
<if test="pd.TRAINTYPE != null and pd.TRAINTYPE != ''"><!-- 培训类型 -->
|
|
and f.TRAINTYPE = #{pd.TRAINTYPE}
|
|
</if>
|
|
<if test="pd.POSTTYPE != null and pd.POSTTYPE != ''"><!-- 岗位类型 -->
|
|
and f.POSTTYPE = #{pd.POSTTYPE}
|
|
</if>
|
|
|
|
<if test="pd.INDUSTRY != null and pd.INDUSTRY != ''"><!-- 培训行业类型 -->
|
|
and f.INDUSTRY_ALL_TYPE LIKE CONCAT(CONCAT('%', #{pd.INDUSTRY}),'%')
|
|
</if>
|
|
<if test="pd.TRAINLEVEL != null and pd.TRAINLEVEL != ''"><!-- 等级类型 -->
|
|
and f.TRAINLEVEL = #{pd.TRAINLEVEL}
|
|
</if>
|
|
<if test="pd.STARTTIME != null and pd.STARTTIME != ''"><!-- 关键词检索 -->
|
|
and f.START_TIME >= #{pd.STARTTIME}
|
|
</if>
|
|
<if test="pd.ENDTIME != null and pd.ENDTIME != ''">
|
|
and f.START_TIME <= #{pd.ENDTIME}
|
|
</if>
|
|
<if test="pd.OVERSTARTTIME != null and pd.OVERSTARTTIME != ''"><!-- 关键词检索 -->
|
|
and f.END_TIME >= #{pd.OVERSTARTTIME}
|
|
</if>
|
|
<if test="pd.OVERENDTIME != null and pd.OVERENDTIME != ''">
|
|
and f.END_TIME <= #{pd.OVERENDTIME}
|
|
</if>
|
|
<if test="pd.POSSESSION != null and pd.POSSESSION != '' and pd.POSSESSIONLEVEL != null and pd.POSSESSIONLEVEL != '' ">
|
|
|
|
<choose>
|
|
<when test='pd.POSSESSIONLEVEL=="1"'>
|
|
and f.PROVINCE = #{pd.POSSESSION}
|
|
</when>
|
|
<when test='pd.POSSESSIONLEVEL=="2"'>
|
|
and f.CITY = #{pd.POSSESSION}
|
|
</when>
|
|
<when test='pd.POSSESSIONLEVEL=="3"'>
|
|
and f.COUNTY = #{pd.POSSESSION}
|
|
</when>
|
|
<when test='pd.POSSESSIONLEVEL=="4"'>
|
|
and f.VILLAGE = #{pd.POSSESSION}
|
|
</when>
|
|
<when test='pd.POSSESSIONLEVEL=="5"'>
|
|
and f.STREET = #{pd.POSSESSION}
|
|
</when>
|
|
|
|
</choose>
|
|
</if>
|
|
<if test="pd.STATE != null and pd.STATE != ''"><!-- 培训行业类型 -->
|
|
and f.STATE = #{pd.STATE}
|
|
</if>
|
|
<if test="pd.PERSONNELTYPE != null and pd.PERSONNELTYPE != ''"><!-- 培训行业类型 -->
|
|
and f.STATE !='1'
|
|
</if>
|
|
<if test="pd.ORGCOUNT != null and pd.ORGCOUNT != ''"><!-- 培训行业类型 -->
|
|
and f.STATE != #{pd.ORGCOUNT}
|
|
</if>
|
|
<if test="pd.SURVEY_ID != null and pd.SURVEY_ID != ''"><!-- 培训行业类型 -->
|
|
and f.SURVEY_ID = #{pd.SURVEY_ID}
|
|
</if>
|
|
<if test="pd.CORPINFO_ID != null and pd.CORPINFO_ID != ''"><!-- 培训行业类型 -->
|
|
AND f.CORPINFO_ID = #{pd.CORPINFO_ID}
|
|
</if>
|
|
ORDER BY
|
|
f.CREATTIME DESC
|
|
</select>
|
|
|
|
<!-- 列表(全部) -->
|
|
<select id="listAll" parameterType="pd" resultType="pd">
|
|
select
|
|
<include refid="Field"></include>
|
|
from
|
|
<include refid="tableName"></include>
|
|
f
|
|
WHERE f.ISDELETE = '0'
|
|
<if test="STATEARRAY != null and STATEARRAY != ''">
|
|
and f.STATE in
|
|
<foreach item="item" index="index" collection="STATEARRAY" open="(" separator="," close=")">
|
|
#{item}
|
|
</foreach>
|
|
</if>
|
|
</select>
|
|
|
|
<!-- 列表(全部)定时器使用 -->
|
|
<select id="listAllScheduled" parameterType="pd" resultType="pd">
|
|
select
|
|
<include refid="Field"></include>
|
|
from
|
|
<include refid="tableName"></include>
|
|
f
|
|
WHERE f.ISDELETE = '0'
|
|
<if test="STATEARRAY != null and STATEARRAY != ''">
|
|
and f.STATE in
|
|
<foreach item="item" index="index" collection="STATEARRAY" open="(" separator="," close=")">
|
|
#{item}
|
|
</foreach>
|
|
</if>
|
|
GROUP BY
|
|
f.CLASS_ID
|
|
</select>
|
|
|
|
<select id="findClassInfo" resultType="com.zcloud.entity.PageData">
|
|
select a.NAME as name, a.START_TIME as date, (select count(1) from bus_student b where b.CLASS_ID = a.CLASS_ID) as studentCount
|
|
from bus_class a
|
|
where a.CORPINFO_ID = #{CORPINFO_ID} and a.STATE != '1'
|
|
order by str_to_date(a.START_TIME, '%Y-%m-%d %H:%i:%s') desc
|
|
limit 0, 6;
|
|
</select>
|
|
|
|
<select id="findByTraining" resultType="com.zcloud.entity.PageData">
|
|
select count(1) as value, a.TRAINTYPE, (select b.NAME from bus_training_type b where b.TRAININGTYPE_ID = a.TRAINTYPE) as name
|
|
from bus_class a
|
|
where a.TRAINTYPE in ('9cbe83925bbb4d84bc057b5eb5607a53'
|
|
, 'bd73ea91fdcd4ef38ecd6f45a42f26af')
|
|
and a.CORPINFO_ID = #{CORPINFO_ID}
|
|
group by TRAINTYPE;
|
|
</select>
|
|
|
|
<select id="countByCorp" resultType="java.lang.Integer">
|
|
select count(1) from bus_class f
|
|
LEFT JOIN BUS_ENTERPRISE e ON e.ENTERPRISE_ID = f.ENTERPRISE_ID
|
|
where f.ISDELETE = 0 and f.STATE != '1'
|
|
<if test="AUTHORITY != null and AUTHORITY != ''"><!-- 培训类型 -->
|
|
AND e.CREATOR = #{AUTHORITY}
|
|
</if>
|
|
<if test="CORPINFO_ID != null and CORPINFO_ID != ''">
|
|
and f.CORPINFO_ID = #{CORPINFO_ID}
|
|
</if>
|
|
<if test="ENTERPRISE_ID != null and ENTERPRISE_ID != ''">
|
|
and f.ENTERPRISE_ID = #{ENTERPRISE_ID}
|
|
</if>
|
|
<if test="USER_ID != null and USER_ID != ''">
|
|
and exists(select 1 from bus_student s where s.ISDELETE = 0 and s.CLASS_ID = f.CLASS_ID and s.USER_ID =
|
|
#{USER_ID})
|
|
</if>
|
|
<if test="YEAR != null and YEAR != ''">
|
|
and YEAR(f.CREATTIME)=#{YEAR}
|
|
</if>
|
|
<if test="ACTIVATE != null and ACTIVATE != ''">
|
|
and f.STATE = 5
|
|
</if>
|
|
<if test="FINISH != null and FINISH != ''">
|
|
and f.STATE = 6
|
|
</if>
|
|
</select>
|
|
|
|
<select id="getDateDashboardList" resultType="com.zcloud.entity.PageData">
|
|
select count(1) as number ,DATE_FORMAT(a.CREATTIME,'%Y-%m') as CREATTIME
|
|
from bus_class a
|
|
where a.ISDELETE = 0 and a.STATE != '1'
|
|
<if test="CORPINFO_ID != null and CORPINFO_ID != ''">
|
|
and a.CORPINFO_ID = #{CORPINFO_ID}
|
|
</if>
|
|
<if test="ENTERPRISE_ID != null and ENTERPRISE_ID != ''">
|
|
and a.ENTERPRISE_ID = #{ENTERPRISE_ID}
|
|
</if>
|
|
GROUP by DATE_FORMAT(a.CREATTIME,'%Y-%m-%d');
|
|
</select>
|
|
|
|
<select id="getMonthDashboardList" resultType="com.zcloud.entity.PageData">
|
|
select count(1) as number ,DATE_FORMAT(a.CREATTIME,'%Y-%m') as CREATTIME
|
|
from bus_class a LEFT JOIN bus_class c on a.CLASS_ID = c.CLASS_ID
|
|
where a.ISDELETE = 0 and c.STATE != '1'
|
|
<if test="CORPINFO_ID != null and CORPINFO_ID != ''">
|
|
and a.CORPINFO_ID = #{CORPINFO_ID}
|
|
</if>
|
|
<if test="ENTERPRISE_ID != null and ENTERPRISE_ID != ''">
|
|
and a.ENTERPRISE_ID = #{ENTERPRISE_ID}
|
|
</if>
|
|
GROUP by DATE_FORMAT(a.CREATTIME,'%Y-%m');
|
|
</select>
|
|
<select id="getClassNum" resultType="java.lang.Integer" parameterType="pd">
|
|
select count(*)
|
|
from
|
|
bus_class c
|
|
where c.ISDELETE = 0 and c.STATE != '1'
|
|
<if test="CORPINFO_ID != null and CORPINFO_ID != ''">
|
|
and c.CORPINFO_ID = #{CORPINFO_ID}
|
|
</if>
|
|
</select>
|
|
|
|
<!-- 批量删除 -->
|
|
<delete id="deleteAll" parameterType="String">
|
|
update
|
|
<include refid="tableName"></include>
|
|
set
|
|
ISDELETE = '1'
|
|
where
|
|
CLASS_ID in
|
|
<foreach item="item" index="index" collection="ArrayDATA_IDS" open="(" separator="," close=")">
|
|
#{item}
|
|
</foreach>
|
|
</delete>
|
|
|
|
<!-- 修改 -->
|
|
<update id="editStateByDate" parameterType="pd">
|
|
update
|
|
<include refid="tableName"></include>
|
|
set
|
|
STATE = #{STATE},
|
|
OPERATOR = #{OPERATOR},
|
|
OPERATTIME = #{OPERATTIME}
|
|
where
|
|
ISDELETE = '0'
|
|
<if test="STATE != null and STATE != ''"><!-- 培训行业类型 -->
|
|
<choose>
|
|
<when test='STATE == "3"'>
|
|
and DATE_FORMAT( NOW(), '%Y-%m-%d' ) < DATE_FORMAT( APPLY_DEADLINE, '%Y-%m-%d' )
|
|
and STATE < 3
|
|
</when>
|
|
<when test='STATE == "4"'>
|
|
and DATE_FORMAT( NOW(), '%Y-%m-%d' ) < DATE_FORMAT( APPLY_DEADLINE, '%Y-%m-%d' )
|
|
and STATE < 3
|
|
</when>
|
|
</choose>
|
|
</if>
|
|
</update>
|
|
<update id="editNumberofexams">
|
|
UPDATE <include refid="tableName"></include> SET NUMBEROFEXAMS = #{NUMBEROFEXAMS} WHERE CLASS_ID = #{CLASS_ID}
|
|
</update>
|
|
|
|
<update id="updateStagestudentrelation">
|
|
update bus_stagestudentrelation
|
|
set STAGEEXAMSTATE = #{STAGEEXAMSTATE},
|
|
STUDYSTATE = #{STUDYSTATE}
|
|
where STAGESTUDENTRELATION_ID = #{STAGESTUDENTRELATION_ID}
|
|
</update>
|
|
|
|
<select id="sumClasshour" resultType="java.lang.Double">
|
|
select
|
|
IFNULL(SUM(ch.SUM_CLASSHOUR),0) SUM_CLASSHOUR
|
|
from
|
|
<include refid="tableName"></include>
|
|
c
|
|
LEFT JOIN
|
|
BUS_STUDENT s ON c.CLASS_ID = s.CLASS_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
|
|
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
|
|
BUS_ENTERPRISE e on e.ENTERPRISE_ID = c.ENTERPRISE_ID
|
|
WHERE s.ISDELETE = 0
|
|
AND c.ISDELETE = 0
|
|
AND c.STATE > 1
|
|
AND s.ENTERPRISE_ID = #{ENTERPRISE_ID}
|
|
<if test="ACTIVATE != null and ACTIVATE != ''">
|
|
AND c.STATE = 5
|
|
</if>
|
|
<if test="FINISH != null and FINISH != ''">
|
|
AND c.STATE = 6
|
|
</if>
|
|
</select>
|
|
<select id="getStuInfo" parameterType="pd" resultType="pd">
|
|
select c.*,
|
|
s.NAME STUNAME,
|
|
IFNULL(sum(ch.SUM_CLASSHOUR), 0) SUM_CLASSHOUR,
|
|
IFNULL(sum(sr.COMPLETE_CLASSHOUR), 0) COMPLETE_CLASSHOUR
|
|
from BUS_CLASS c
|
|
LEFT JOIN
|
|
BUS_STUDENT s ON c.CLASS_ID = s.CLASS_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
|
|
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
|
|
BUS_ENTERPRISE e on e.ENTERPRISE_ID = c.ENTERPRISE_ID
|
|
LEFT JOIN
|
|
BUS_STAGESTUDENTRELATION sr ON sr.STUDENT_ID = s.STUDENT_ID
|
|
WHERE s.ISDELETE = 0
|
|
AND c.ISDELETE = 0
|
|
AND c.STATE > 1
|
|
AND s.ENTERPRISE_ID = #{ENTERPRISE_ID}
|
|
GROUP BY s.USER_ID
|
|
ORDER BY SUM_CLASSHOUR desc
|
|
</select>
|
|
<select id="getClassAllByCorp" resultType="com.zcloud.entity.PageData">
|
|
SELECT
|
|
c.CLASS_ID,
|
|
c.`NAME`
|
|
from bus_class c
|
|
WHERE c.STATE > 1
|
|
and c.ISDELETE = 0
|
|
and c.CORPINFO_ID = #{CORPINFO_ID}
|
|
<if test="TRAINTYPE_ID != NULL and TRAINTYPE_ID != ''">
|
|
and c.TRAINTYPE != #{TRAINTYPE_ID}
|
|
</if>
|
|
ORDER BY c.`NAME`
|
|
</select>
|
|
<select id="listStrengthenByCorpNamelistPage" parameterType="page" resultType="pd">
|
|
SELECT
|
|
<include refid="Field"></include>,
|
|
count(bt.STUDENT_ID) ALLSTUDENTCOUNT,
|
|
count(bss.STUDENT_ID) PASSSTUDENTCOUNT,
|
|
bc.CORP_NAME,
|
|
bc.CORP_TYPE_NAME,
|
|
bc.CONTACTS,
|
|
bc.CONTACTS_PHONE
|
|
FROM
|
|
<include refid="tableName"></include>
|
|
f
|
|
LEFT JOIN ( SELECT * FROM bus_corp_info WHERE CORPINFO_ID = #{pd.CORPINFO_ID} AND ISDELETE = 0) bc ON bc.CORPINFO_ID =
|
|
f.CORPINFO_ID
|
|
left join bus_student bt on bt.CLASS_ID = f.CLASS_ID and bt.ISDELETE = '0'
|
|
left join ( select * from bus_strengthenstudentrelation where STRENGTHENEXAMSTATE = '3' and ISDELETE = 0) bss on
|
|
bss.STUDENT_ID = bt.STUDENT_ID
|
|
left join (select * from bus_stagestudentrelation where STAGEEXAMSTATE = '3' and ISDELETE = 0) bsr on bsr.STUDENT_ID =
|
|
bt.STUDENT_ID
|
|
left join bus_stageexampaper_input bsi on bsi.STAGEEXAMPAPERINPUT_ID = bsr.STAGEEXAMPAPER_ID
|
|
WHERE
|
|
( f.ISSTRENGTHEN = '1'
|
|
OR f.ISSTRENGTHEN = '2' )
|
|
AND f.ISDELETE = 0
|
|
and bc.CORPINFO_ID = #{pd.CORPINFO_ID}
|
|
and CEILING(bsr.STAGEEXAMSCORE) != bsi.EXAMSCORE
|
|
</select>
|
|
|
|
<select id="listStrengthenClassByIdlistPage" parameterType="page" resultType="pd">
|
|
SELECT
|
|
<include refid="Field"></include>,
|
|
btt.`NAME` TRAINTYPENAME,
|
|
bpt.`NAME` POSTTYPENAME,
|
|
count(bs.STUDENT_ID) ALLSTUDENTCOUNT,
|
|
count(bst.STUDENT_ID) PASSSTUDENTCOUNT
|
|
FROM
|
|
<include refid="tableName"></include>
|
|
f
|
|
left join bus_training_type btt on btt.TRAININGTYPE_ID = f.TRAINTYPE
|
|
left join bus_post_type bpt on bpt.POSTTYPE_ID = f.POSTTYPE
|
|
LEFT join bus_student bs on bs.CLASS_ID = f.CLASS_ID and bs.ISDELETE ='0'
|
|
left join (select * from bus_strengthenstudentrelation where STRENGTHENEXAMSTATE = '3' and isdelete = 0) bst on
|
|
bst.STUDENT_ID = bs.STUDENT_ID
|
|
left join (select * from bus_stagestudentrelation where STAGEEXAMSTATE = '3' and isdelete = 0) bsr on bsr.STUDENT_ID =
|
|
bs.STUDENT_ID
|
|
left join bus_stageexampaper_input bsi on bsi.STAGEEXAMPAPERINPUT_ID = bsr.STAGEEXAMPAPER_ID
|
|
WHERE
|
|
f.CORPINFO_ID = #{pd.CORPINFO_ID}
|
|
AND f.ISDELETE = 0
|
|
and ( f.ISSTRENGTHEN = '1'
|
|
OR f.ISSTRENGTHEN = '2' )
|
|
and CEILING(bsr.STAGEEXAMSCORE) != bsi.EXAMSCORE
|
|
<if test="pd.NAME != null and pd.NAME != ''">
|
|
and f.NAME LIKE CONCAT(CONCAT('%', #{pd.NAME}),'%')
|
|
</if>
|
|
<if test="pd.YEAR != null and pd.YEAR != ''">
|
|
and f.CREATTIME LIKE CONCAT(#{pd.YEAR},'%')
|
|
</if>
|
|
GROUP BY f.CLASS_ID
|
|
ORDER BY f.NAME
|
|
</select>
|
|
<select id="listStrengthenStudentByIdlistPage" parameterType="page" resultType="pd">
|
|
SELECT
|
|
<include refid="Field"></include>,
|
|
bs.STUDENT_ID,
|
|
bs.name STUDENTNAME,
|
|
bs.USER_ID_CARD USERIDCARD,
|
|
bs.PHONE,
|
|
bst.STRENGTHENEXAMSCORE,
|
|
bst.STRENGTHENEXAMSTATE
|
|
FROM
|
|
<include refid="tableName"></include>
|
|
f
|
|
LEFT JOIN bus_student bs ON bs.CLASS_ID = f.CLASS_ID and bs.ISDELETE ='0'
|
|
LEFT JOIN bus_strengthenstudentrelation bst ON bst.STUDENT_ID = bs.STUDENT_ID and bst.isdelete = 0
|
|
left join (select * from bus_stagestudentrelation where STAGEEXAMSTATE = '3' and isdelete = 0) bsr on bsr.STUDENT_ID =
|
|
bs.STUDENT_ID
|
|
left join bus_stageexampaper_input bsi on bsi.STAGEEXAMPAPERINPUT_ID = bsr.STAGEEXAMPAPER_ID
|
|
WHERE
|
|
f.class_id = #{pd.CLASS_ID}
|
|
and f.ISDELETE = 0
|
|
and ( f.ISSTRENGTHEN = '1'
|
|
OR f.ISSTRENGTHEN = '2' )
|
|
and CEILING(bsr.STAGEEXAMSCORE) != bsi.EXAMSCORE
|
|
<if test="pd.NAME != null and pd.NAME != ''">
|
|
and bs.NAME LIKE CONCAT(CONCAT('%', #{pd.NAME}),'%')
|
|
</if>
|
|
<if test="pd.YEAR != null and pd.YEAR != ''">
|
|
and f.CREATTIME LIKE CONCAT(#{pd.YEAR},'%')
|
|
</if>
|
|
group by bs.STUDENT_ID
|
|
</select>
|
|
<select id="listallstrengthenlistlistPage" parameterType="page" resultType="pd">
|
|
SELECT bci.*,
|
|
count(DISTINCT bst.STUDENT_ID)
|
|
FROM bus_class f
|
|
LEFT JOIN bus_corp_enterprise_contact bce ON bce.CORPINFO_ID = f.CORPINFO_ID
|
|
LEFT JOIN bus_corp_info bci ON bci.CORPINFO_ID = bce.CORPINFO_ID
|
|
left join bus_student bst on bst.CLASS_ID = f.CLASS_ID and bst.ISDELETE ='0'
|
|
left join (select * from bus_stagestudentrelation where STAGEEXAMSTATE = '3' and isdelete = 0) bsr
|
|
on bsr.STUDENT_ID = bst.STUDENT_ID
|
|
left join bus_stageexampaper_input bsi on bsi.STAGEEXAMPAPERINPUT_ID = bsr.STAGEEXAMPAPER_ID
|
|
WHERE ( f.ISSTRENGTHEN = '1'
|
|
OR f.ISSTRENGTHEN = '2' )
|
|
AND f.ISDELETE = 0
|
|
and bsr.STAGEEXAMSCORE != bsi.EXAMSCORE
|
|
GROUP BY
|
|
bci.CORPINFO_ID
|
|
</select>
|
|
<select id="listStudentStrengthenbyIdlistPage" resultType="com.zcloud.entity.PageData">
|
|
SELECT
|
|
f.*,
|
|
bsc.STRENGTHENEXAMSTATE,
|
|
bsc.STRENGTHENEXAMSCORE,
|
|
bc.`NAME` CLASS_NAME,
|
|
bc.INDUSTRY_ALL_NAME,
|
|
bc.CODE,
|
|
btt.`NAME` TRAINTYPENAME,
|
|
bpt.`NAME` POSTTYPENAME
|
|
FROM
|
|
bus_student f
|
|
left join bus_strengthenstudentrelation bsc on bsc.STUDENT_ID = f.STUDENT_ID and bsc.isdelete = 0
|
|
left join bus_class bc on bc.CLASS_ID = f.CLASS_ID
|
|
left join bus_training_type btt on btt.TRAININGTYPE_ID = bc.TRAINTYPE
|
|
left join bus_post_type bpt on bpt.POSTTYPE_ID = bc.POSTTYPE
|
|
left join bus_stagestudentrelation bsr on bsr.CLASS_ID = bc.CLASS_ID and bsr.ISDELETE = 0
|
|
left join bus_stageexampaper_input bsi on bsi.STAGEEXAMPAPERINPUT_ID = bsr.STAGEEXAMPAPER_ID
|
|
and bsr.STAGEEXAMSTATE = '3'
|
|
and bsr.STAGEEXAMSCORE != bsi.EXAMSCORE
|
|
WHERE
|
|
f.USER_ID = #{pd.USER_ID}
|
|
AND f.ISDELETE = 0
|
|
AND ( bc.isstrengthen = 1
|
|
OR bc.isstrengthen = 2 )
|
|
<if test="pd.YEAR != null and pd.YEAR != ''">
|
|
and bc.CREATTIME LIKE CONCAT(#{pd.YEAR},'%')
|
|
</if>
|
|
group by f.STUDENT_ID
|
|
order by bc.NAME
|
|
</select>
|
|
|
|
<select id="listStagestudentrelationByClassId" resultType="com.zcloud.entity.PageData">
|
|
select STAGESTUDENTRELATION_ID,
|
|
STAGEEXAMSTATE,
|
|
STUDYSTATE,
|
|
STUDENT_ID
|
|
from bus_stagestudentrelation f
|
|
where f.CLASS_ID = #{CLASS_ID}
|
|
and f.ISDELETE = '0'
|
|
</select>
|
|
<!--效果评估表-->
|
|
<select id="getEvaluation" resultType="com.zcloud.entity.PageData">
|
|
select
|
|
f.NAME as CLASS_NAME,
|
|
f.START_TIME,
|
|
f.END_TIME,
|
|
bci.CORP_NAME,
|
|
(select count(*)
|
|
from bus_stagestudentrelation
|
|
where (STAGEEXAMSTATE = '2' or STAGEEXAMSTATE = '3')
|
|
and CLASS_ID = f.CLASS_ID
|
|
and ISDELETE = 0) as EXMA_COUNT,
|
|
(select count(*)
|
|
from bus_stagestudentrelation
|
|
where STAGEEXAMSTATE = '3'
|
|
and CLASS_ID = f.CLASS_ID
|
|
and ISDELETE = 0) as PASS_COUNT,
|
|
(select count(*)
|
|
from bus_stagestudentrelation
|
|
where STAGEEXAMSTATE = '2'
|
|
and CLASS_ID = f.CLASS_ID
|
|
and ISDELETE = 0) as NO_PASS_COUNT,
|
|
(select count(*)
|
|
from bus_strengthenstudentrelation
|
|
where CLASS_ID = f.CLASS_ID
|
|
and ISDELETE = 0) as STR_EXMA_COUNT,
|
|
(select count(*)
|
|
from bus_strengthenstudentrelation
|
|
where STRENGTHENEXAMSTATE = '3'
|
|
and CLASS_ID = f.CLASS_ID
|
|
and ISDELETE = 0) as STR_PASS_COUNT
|
|
from bus_class f
|
|
LEFT JOIN BUS_CORP_INFO bci on bci.CORPINFO_ID = f.CORPINFO_ID
|
|
where f.CLASS_ID = #{CLASS_ID}
|
|
</select>
|
|
|
|
<select id="getStrengthenStudent" resultType="com.zcloud.entity.PageData">
|
|
select
|
|
s.NAME,
|
|
s.SEX,
|
|
s.USER_ID_CARD,
|
|
s.PHONE,
|
|
s.STUDENT_ID,
|
|
f.STRENGTHENEXAMSCORE
|
|
from
|
|
bus_strengthenstudentrelation f
|
|
left join bus_student s on s.STUDENT_ID = f.STUDENT_ID
|
|
where
|
|
f.CLASS_ID = #{CLASS_ID}
|
|
and f.ISDELETE = 0
|
|
<if test="TYPE != null and TYPE != '' and TYPE == 'NO_PASS'">
|
|
and f.STRENGTHENEXAMSTATE != 3
|
|
</if>
|
|
<if test="TYPE != null and TYPE != '' and TYPE == 'PASS'">
|
|
and f.STRENGTHENEXAMSTATE = 3
|
|
</if>
|
|
|
|
</select>
|
|
|
|
<!-- 培训类型是职业健康的列表 -->
|
|
<select id="classForHealthlistPage" parameterType="page" resultType="pd">
|
|
SELECT
|
|
<include refid="Field"></include>,
|
|
p.NAME POSTTYPE_NAME,
|
|
t.NAME TRAININGTYPE_NAME,
|
|
IFNULL(students.num ,0) AS STUDENT_NUM
|
|
FROM
|
|
<include refid="tableName"></include>
|
|
f
|
|
LEFT JOIN BUS_POST_TYPE p ON p.POSTTYPE_ID = f.POSTTYPE
|
|
LEFT JOIN BUS_TRAINING_TYPE t ON t.TRAININGTYPE_ID = f.TRAINTYPE
|
|
LEFT JOIN(SELECT COUNT(1) num,s.CLASS_ID FROM BUS_STUDENT s WHERE s.ISDELETE = '0' GROUP BY s.CLASS_ID ) students ON students.CLASS_ID = f.CLASS_ID
|
|
WHERE f.ISDELETE = '0'
|
|
AND f.STATE > 1
|
|
<if test="pd.TRAINTYPE_ID != null and pd.TRAINTYPE_ID != ''"><!-- 培训类型 -->
|
|
AND f.TRAINTYPE = #{pd.TRAINTYPE_ID}
|
|
</if>
|
|
<if test="pd.KEYWORDS != null and pd.KEYWORDS != ''"><!-- 关键词检索 -->
|
|
and ( f.NAME LIKE CONCAT(CONCAT('%', #{pd.KEYWORDS}),'%') )
|
|
</if>
|
|
<if test="pd.CODE != null and pd.CODE != ''"><!-- 关键词检索 -->
|
|
and ( f.CODE LIKE CONCAT(CONCAT('%', #{pd.CODE}),'%') )
|
|
</if>
|
|
<if test="pd.CORPINFO_ID != null and pd.CORPINFO_ID != ''"><!-- 机构 -->
|
|
AND f.CORPINFO_ID = #{pd.CORPINFO_ID}
|
|
</if>
|
|
ORDER BY f.CREATTIME DESC
|
|
</select>
|
|
|
|
</mapper>
|