<?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="org.springblade.modules.exam.mapper.ExamScoreMapper">
|
|
<!--考试成绩分页信息-正式考试-->
|
<select id="selectExamScorePage" resultType="org.springblade.modules.exam.vo.ExamScoreVO">
|
SELECT
|
es.id,es.theory_grade theoryGrade,ifnull(learn_grade,-1) learnGrade,es.user_id userId,es.exam_id examId,
|
es.exam_time examTime,all_grade allGrade,exam_end_time examEndTime,qualified,es.candidate_no candidateNo,
|
ke.exam_name examName,
|
sa.is_exam isExam,
|
bu.real_name securityName,company,bu.account,
|
bd.dept_name companyName from
|
exam_score es
|
left join
|
ksxt_exam ke
|
on
|
ke.id = es.exam_id
|
left join
|
blade_user bu
|
on
|
es.user_id = bu.id
|
left join
|
blade_dept bd
|
on
|
bd.id = bu.dept_id
|
left join
|
sys_apply sa
|
on
|
sa.id = es.apply_id
|
where
|
1=1
|
and (sa.is_exam = 2 or sa.is_exam = 3)
|
<if test="examScore.examName!=null and examScore.examName!=''">
|
and ke.exam_name like concat('%', #{examScore.examName},'%')
|
</if>
|
<if test="examScore.companyName!=null and examScore.companyName!=''">
|
and bd.dept_name like concat('%', #{examScore.companyName},'%')
|
</if>
|
<if test="examScore.securityName!=null and examScore.securityName!=''">
|
and bu.real_name like concat('%', #{examScore.securityName},'%')
|
</if>
|
<if test="examScore.account!=null and examScore.account!=''">
|
and bu.account like concat('%', #{examScore.account},'%')
|
</if>
|
<if test="examScore.userId!=null and examScore.userId!=''">
|
and es.user_id = #{examScore.userId}
|
</if>
|
<if test="examScore.deptId!=null and examScore.deptId!=''">
|
and bd.id = #{examScore.deptId}
|
</if>
|
<if test="examScore.isExam!=null and examScore.isExam!=''">
|
and sa.is_exam = #{examScore.isExam}
|
</if>
|
<if test="examScore.examType!=null and examScore.examType!=''">
|
and ke.exam_type = #{examScore.examType}
|
</if>
|
<if test="examScore.candidateNo!=null and examScore.candidateNo!=''">
|
and es.candidate_no = #{examScore.candidateNo}
|
</if>
|
<if test="examScore.qualified!=null">
|
and es.qualified = #{examScore.qualified}
|
</if>
|
</select>
|
|
|
<!--考试成绩分页信息-培训考试-->
|
<select id="selectTrainExamScorePage" resultType="org.springblade.modules.exam.vo.ExamScoreVO">
|
SELECT
|
es.id,es.theory_grade theoryGrade,ifnull(learn_grade,-1) learnGrade,es.user_id userId,es.exam_id examId,
|
es.exam_time examTime,all_grade allGrade,exam_end_time examEndTime,qualified,es.candidate_no candidateNo,
|
ke.exam_name examName,date_format(ke.start_time,'%Y-%m-%d') startTime,date_format(ke.end_time,'%Y-%m-%d %H:%i:%s') endTime,
|
str.is_exam isExam,
|
bu.real_name securityName,company,bu.cardid cardNo,bu.sex,bu.paper_time paperTime,bu.securitynumber securityNumber,bu.avatar,
|
bd.dept_name companyName,bu.user_type isPaper
|
from
|
exam_score es
|
left join
|
ksxt_exam ke
|
on
|
ke.id = es.exam_id
|
left join
|
blade_user bu
|
on
|
es.user_id = bu.id
|
left join
|
blade_dept bd
|
on
|
bd.id = bu.dept_id
|
left join sys_information si on si.departmentid = bd.id
|
left join sys_jurisdiction sj on sj.id = si.jurisdiction
|
left join
|
sys_training_registration str
|
on
|
str.id = es.apply_id
|
where
|
1=1
|
and (str.is_exam = 2 or str.is_exam = 3 or str.is_exam = 4 or str.is_exam = 5)
|
<if test="examScore.examName!=null and examScore.examName!=''">
|
and ke.exam_name like concat('%', #{examScore.examName},'%')
|
</if>
|
<if test="examScore.companyName!=null and examScore.companyName!=''">
|
and bd.dept_name like concat('%', #{examScore.companyName},'%')
|
</if>
|
<if test="examScore.securityName!=null and examScore.securityName!=''">
|
and bu.real_name like concat('%', #{examScore.securityName},'%')
|
</if>
|
<if test="examScore.account!=null and examScore.account!=''">
|
and bu.account like concat('%', #{examScore.account},'%')
|
</if>
|
<if test="examScore.trainUnitId!=null">
|
and str.training_unit_id = #{examScore.trainUnitId}
|
</if>
|
<if test="examScore.userId!=null and examScore.userId!=''">
|
and es.user_id = #{examScore.userId}
|
</if>
|
<if test="examScore.jurisdiction!=null and examScore.jurisdiction!='' and examScore.jurisdiction!='1372091709474910209'">
|
and (sj.id=#{examScore.jurisdiction} or sj.parent_id = #{examScore.jurisdiction})
|
</if>
|
<if test="examScore.deptId!=null and examScore.deptId!=''">
|
and bd.id = #{examScore.deptId}
|
</if>
|
<if test="examScore.isExam!=null and examScore.isExam!=''">
|
and str.is_exam = #{examScore.isExam}
|
</if>
|
<if test="examScore.examType!=null and examScore.examType!=''">
|
and ke.exam_type = #{examScore.examType}
|
</if>
|
<if test="examScore.examId!=null">
|
and es.exam_id = #{examScore.examId}
|
</if>
|
<if test="examScore.isPaper==6">
|
and bu.user_type = #{examScore.isPaper}
|
</if>
|
<if test="examScore.isPaper==7">
|
and (bu.user_type = #{examScore.isPaper} or bu.user_type is null)
|
</if>
|
<if test="examScore.isAvatar==1">
|
and bu.avatar is not null and bu.avatar!=""
|
</if>
|
<if test="examScore.isAvatar==2">
|
and (bu.avatar is null or bu.avatar="")
|
</if>
|
<if test="examScore.candidateNo!=null and examScore.candidateNo!=''">
|
and es.candidate_no = #{examScore.candidateNo}
|
</if>
|
<if test="examScore.qualified!=null">
|
and es.qualified = #{examScore.qualified}
|
</if>
|
<if test="examScore.examDate!=null and examScore.examDate!=''">
|
and date_format(ke.start_time,'%Y-%m-%d') = #{examScore.examDate}
|
</if>
|
<if test="examScore.sortName!=null and examScore.sortName!='' and examScore.sortName!='companyName'">
|
ORDER BY es.${examScore.sortName} ${examScore.sort},es.id desc
|
</if>
|
<if test="examScore.sortName=='companyName'">
|
ORDER BY bd.dept_name ${examScore.sort},es.id desc
|
</if>
|
<if test="examScore.sortName==null or examScore.sortName==''">
|
order by es.id desc
|
</if>
|
</select>
|
|
<!--考试成绩详情信息-->
|
<select id="selectExamScoreInfo" resultType="org.springblade.modules.exam.vo.ExamScoreVO">
|
SELECT
|
id,candidate_no candidateNo,theory_grade theoryGrade,ifnull(learn_grade,-1) learnGrade,all_grade,
|
exam_name examName,security_name securityName,exam_type examType,company,exam_time examTime,
|
all_score allScore,exam_end_time examEndTime,qualified
|
FROM
|
exam_score
|
WHERE
|
1=1
|
<if test="examScore.id!=null">
|
and id = #{examScore.id}
|
</if>
|
</select>
|
|
|
<!--考试成绩详情信息-->
|
<!-- <select id="scoreStatistics" resultType="java.util.HashMap">-->
|
<!-- SELECT * FROM(SELECT-->
|
<!-- COUNT( CASE WHEN theory_grade < 60 THEN 1 END ) AS 'bhg',-->
|
<!-- COUNT( CASE WHEN theory_grade >= 60 AND theory_grade < 80 THEN 1 END ) AS 'hg',-->
|
<!-- COUNT( CASE WHEN theory_grade >= 80 AND theory_grade < 90 THEN 1 END ) AS 'lh',-->
|
<!-- COUNT( CASE WHEN theory_grade >= 90 THEN 1 END ) AS 'yx'-->
|
<!-- FROM-->
|
<!-- exam_score exam-->
|
<!-- LEFT JOIN blade_user user ON exam.user_id = user.id-->
|
<!-- WHERE 1 = 1-->
|
<!-- <if test="jurisdiction!=null and jurisdiction=='' and jurisdiction!='1123598813738675201'">-->
|
<!-- AND user.jurisdiction = #{jurisdiction}-->
|
<!-- </if>-->
|
<!-- <if test="deptid!=null and deptid==''">-->
|
<!-- AND user.dept_id = #{deptid}-->
|
<!-- </if>-->
|
<!-- ) a UNION ALL-->
|
<!-- SELECT * FROM( SELECT-->
|
<!-- COUNT( CASE WHEN learn_grade < 60 THEN 1 END ) AS 'bhg',-->
|
<!-- COUNT( CASE WHEN learn_grade >= 60 AND learn_grade < 80 THEN 1 END ) AS 'hg',-->
|
<!-- COUNT( CASE WHEN learn_grade >= 80 AND learn_grade < 90 THEN 1 END ) AS 'lh',-->
|
<!-- COUNT( CASE WHEN learn_grade >= 90 THEN 1 END ) AS 'yx'-->
|
<!-- FROM-->
|
<!-- exam_score exam-->
|
<!-- LEFT JOIN blade_user user ON exam.user_id = user.id-->
|
<!-- WHERE 1 = 1-->
|
<!-- <if test="jurisdiction!=null and jurisdiction=='' and jurisdiction!='1123598813738675201'">-->
|
<!-- AND user.jurisdiction = #{jurisdiction}-->
|
<!-- </if>-->
|
<!-- <if test="deptid!=null and deptid==''">-->
|
<!-- AND user.dept_id = #{deptid}-->
|
<!-- </if>-->
|
<!-- ) b-->
|
<!-- </select>-->
|
|
<!--考试成绩详情信息 理论-->
|
<select id="scoreStatistics" resultType="java.util.HashMap">
|
SELECT
|
theory_grade as fs,
|
COUNT( * ) AS count
|
FROM
|
exam_score exam
|
LEFT JOIN blade_user user
|
ON exam.user_id = user.id
|
left join
|
sys_information si
|
on
|
si.departmentid = user.dept_id
|
left join
|
sys_jurisdiction sj
|
on
|
sj.id = si.jurisdiction
|
WHERE 1 = 1 AND theory_grade is not null
|
<if test="jurisdiction!=null and jurisdiction=='' and jurisdiction!='1372091709474910209'">
|
and (sj.id = #{jurisdiction} or sj.parent_id = #{jurisdiction})
|
</if>
|
<if test="deptid!=null and deptid!=''">
|
AND user.dept_id = #{deptid}
|
</if>
|
GROUP BY
|
exam.theory_grade
|
</select>
|
<!--考试成绩详情信息 实操-->
|
<select id="scoreStatisticssc" resultType="java.util.HashMap">
|
SELECT
|
learn_grade as fs,
|
COUNT( * ) AS count
|
FROM
|
exam_score exam
|
LEFT JOIN blade_user user
|
ON exam.user_id = user.id
|
left join
|
sys_information si
|
on
|
si.departmentid = user.dept_id
|
left join
|
sys_jurisdiction sj
|
on
|
sj.id = si.jurisdiction
|
WHERE 1 = 1
|
AND learn_grade is not null
|
<if test="jurisdiction!=null and jurisdiction=='' and jurisdiction!='1372091709474910209'">
|
and (sj.id = #{jurisdiction} or sj.parent_id = #{jurisdiction})
|
</if>
|
<if test="deptid!=null and deptid!=''">
|
AND user.dept_id = #{deptid}
|
</if>
|
GROUP BY
|
exam.learn_grade
|
</select>
|
|
<!--根据用户身份证号查询考试成绩-->
|
<select id="getExamScoreInfoByIdCardNo" resultType="org.springblade.modules.exam.entity.ExamScore">
|
select
|
es.*
|
from
|
exam_score es
|
left join
|
blade_user bu
|
on
|
bu.id = es.user_id
|
left join
|
ksxt_exam ke
|
on
|
ke.id = es.exam_id
|
where
|
bu.cardid = #{idCardNo}
|
and DATE_FORMAT(ke.start_time,'%Y-%m-%d') = #{startTime}
|
</select>
|
|
<!--修改成绩信息-->
|
<update id="updateByIdAndQualifiee">
|
update exam_score set qualified = #{examScore.qualified} where id = #{examScore.id}
|
</update>
|
|
<select id="scorePage" resultType="org.springblade.modules.exam.vo.ExamScoreVO">
|
SELECT
|
exam.*,
|
user.jurisdiction,
|
user.real_name securityName,
|
ke.exam_name examName,sis.enterpriseName trainingUnitName,ke.start_time examStartTime
|
FROM
|
exam_score exam
|
left join blade_user user on exam.user_id = user.id
|
left join sys_information si on si.departmentid = user.dept_id
|
left join sys_jurisdiction sj on sj.id = si.jurisdiction
|
left join ksxt_exam ke on exam.exam_id = ke.id
|
left join sys_training_registration str on str.id = exam.apply_id
|
left join sys_information sis on sis.departmentid = str.training_unit_id
|
WHERE
|
1 = 1
|
and ke.exam_type = 2
|
<if test="examScore.jurisdiction!=null and examScore.jurisdiction!='' and examScore.jurisdiction!='1372091709474910209'">
|
and (sj.id = #{examScore.jurisdiction} or sj.parent_id = #{examScore.jurisdiction})
|
</if>
|
<if test="examScore.securityName!=null and examScore.securityName!=''">
|
AND user.real_name like concat('%',#{examScore.securityName},'%')
|
</if>
|
<if test="examScore.trainingUnitName!=null and examScore.trainingUnitName!=''">
|
AND sis.enterpriseName like concat('%',#{examScore.trainingUnitName},'%')
|
</if>
|
<if test="examScore.deptId!=null and examScore.deptId!=''">
|
AND user.dept_id = #{examScore.deptId}
|
</if>
|
<if test="examScore.month!=null and examScore.month!=''">
|
AND date_format(ke.start_time,'%Y-%m') = #{examScore.month}
|
</if>
|
<if test="examScore.qualified!=null">
|
AND exam.qualified = #{examScore.qualified}
|
</if>
|
</select>
|
|
<!--查询所有考试不合格的数据(取准考证号)-->
|
<select id="getDisqualificationExamInfo" resultType="org.springblade.modules.exam.entity.ExamScore">
|
select * from exam_score where qualified = 1
|
</select>
|
|
|
<!--根据准考证号查询培训信息-->
|
<select id="getTrainInfo" resultType="org.springblade.modules.training.entity.TrainingRegistration">
|
select * from sys_training_registration where 1=1
|
<if test="trainingRegistration.candidateNo!=null and trainingRegistration.candidateNo!=''">
|
and is_exam = 2
|
and candidate_no = #{trainingRegistration.candidateNo}
|
</if>
|
<if test="trainingRegistration.id!=null">
|
and id = #{trainingRegistration.id}
|
</if>
|
</select>
|
|
<!--查询所有无成绩的数据-->
|
<select id="getNoScoreInfo" resultType="org.springblade.modules.exam.entity.ExamScore">
|
select * from exam_score where theory_grade is null
|
</select>
|
|
<!--查询所有无成绩的数据-->
|
<select id="getLheoryGradeLess60" resultType="org.springblade.modules.exam.entity.ExamScore">
|
select * from exam_score where all_grade < 30
|
</select>
|
|
<!--导出-按条件查询成绩数据-模拟考试-->
|
<select id="getExamScoreList" resultType="org.springblade.modules.exam.excel.ExportExamScoreExcel">
|
SELECT
|
ke.exam_name examName,bu.real_name securityName,bu.cardid idCardNo,
|
bd.dept_name companyName,
|
es.exam_time examTime,exam_end_time examEndTime,es.candidate_no candidateNo,
|
es.theory_grade theoryGrade,es.learn_grade learnGrade,
|
all_grade allGrade
|
from
|
exam_score es
|
left join
|
ksxt_exam ke
|
on
|
ke.id = es.exam_id
|
left join
|
blade_user bu
|
on
|
es.user_id = bu.id
|
left join
|
blade_dept bd
|
on
|
bd.id = bu.dept_id
|
left join
|
sys_training_registration str
|
on
|
str.id = es.apply_id
|
left join sys_information si on si.departmentid = bd.id
|
left join sys_jurisdiction sj on sj.id = si.jurisdiction
|
where
|
1=1
|
and (str.is_exam = 2 or str.is_exam = 3 or str.is_exam = 4 or str.is_exam = 5)
|
<if test="examScore.examName!=null and examScore.examName!='' and examScore.examName!='undefined'">
|
and ke.exam_name like concat('%', #{examScore.examName},'%')
|
</if>
|
<if test="examScore.companyName!=null and examScore.companyName!=''">
|
and bd.dept_name like concat('%', #{examScore.companyName},'%')
|
</if>
|
<if test="examScore.securityName!=null and examScore.securityName!=''">
|
and bu.real_name like concat('%', #{examScore.securityName},'%')
|
</if>
|
<if test="examScore.isPaper==6">
|
and bu.user_type = #{examScore.isPaper}
|
</if>
|
<if test="examScore.isPaper==7">
|
and (bu.user_type = #{examScore.isPaper} or bu.user_type is null)
|
</if>
|
<if test="examScore.account!=null and examScore.account!=''">
|
and bu.account like concat('%', #{examScore.account},'%')
|
</if>
|
<if test="examScore.trainUnitId!=null">
|
and str.training_unit_id = #{examScore.trainUnitId}
|
</if>
|
<if test="examScore.userId!=null and examScore.userId!=''">
|
and es.user_id = #{examScore.userId}
|
</if>
|
<if test="examScore.examId!=null and examScore.examId!='undefined'">
|
and es.exam_id = #{examScore.examId}
|
</if>
|
<if test="examScore.deptId!=null and examScore.deptId!=''">
|
and bd.id = #{examScore.deptId}
|
</if>
|
<if test="examScore.isExam!=null and examScore.isExam!=''">
|
and str.is_exam = #{examScore.isExam}
|
</if>
|
<if test="examScore.isAvatar==1">
|
and bu.avatar is not null and bu.avatar!=""
|
</if>
|
<if test="examScore.isAvatar==2">
|
and (bu.avatar is null or bu.avatar="")
|
</if>
|
<if test="examScore.examType!=null and examScore.examType!=''">
|
and ke.exam_type = #{examScore.examType}
|
</if>
|
<if test="examScore.candidateNo!=null and examScore.candidateNo!=''">
|
and es.candidate_no = #{examScore.candidateNo}
|
</if>
|
<if test="examScore.qualified!=null">
|
and es.qualified = #{examScore.qualified}
|
</if>
|
<if test="examScore.examDate!=null and examScore.examDate!=''">
|
and date_format(ke.start_time,'%Y-%m-%d') = #{examScore.examDate}
|
</if>
|
<if test="examScore.jurisdiction!=null and examScore.jurisdiction!='' and examScore.jurisdiction!='1372091709474910209'">
|
and (sj.id=#{examScore.jurisdiction} or sj.parent_id = #{examScore.jurisdiction})
|
</if>
|
<if test="examScore.sortName!=null and examScore.sortName!='' and examScore.sortName!='companyName'">
|
ORDER BY es.${examScore.sortName} ${examScore.sort},es.id desc
|
</if>
|
<if test="examScore.sortName=='companyName'">
|
ORDER BY bd.dept_name ${examScore.sort},es.id desc
|
</if>
|
<if test="examScore.sortName==null or examScore.sortName==''">
|
order by es.id desc
|
</if>
|
</select>
|
|
<!--导出-按条件查询成绩数据-模拟考试-->
|
<select id="getExamStatisInfo" resultType="org.springblade.modules.exam.vo.ExamSocreStatis">
|
select m.id name, IFNULL(b,0) hgnum,IFNULL(c,0) bhgnum from
|
(
|
select 1 as id union
|
select 2 union
|
select 3 union
|
select 4 union
|
select 5 union
|
select 6 union
|
select 7 union
|
select 8 union
|
select 9 union
|
select 10 union
|
select 11 union
|
select 12
|
) m
|
left join
|
(
|
SELECT MONTH
|
( ke.start_time ) a,
|
count(*) b
|
FROM
|
exam_score es
|
left join sys_training_registration str on str.id = es.apply_id
|
left join ksxt_exam ke on ke.id = es.exam_id
|
left join blade_user bu on bu.id = es.user_id
|
left join blade_dept bd on bd.id = bu.dept_id
|
left join sys_information si on bd.id = si.departmentid
|
left join sys_jurisdiction sj on si.jurisdiction = sj.id
|
WHERE
|
qualified = 0
|
and training_unit_id = #{information.departmentid}
|
and YEAR ( ke.start_time ) = YEAR ( now() )
|
<if test="information.deptid!=null and information.deptid!=''">
|
and bu.dept_id = #{information.deptid}
|
</if>
|
<if test="information.jurisdiction!=null and information.jurisdiction!='' and information.jurisdiction!='1372091709474910209'">
|
and (sj.id = #{information.jurisdiction} or sj.parent_id = #{information.jurisdiction})
|
</if>
|
GROUP BY
|
MONTH ( ke.start_time )
|
) n ON m.id = n.a
|
left join
|
(
|
SELECT MONTH
|
( ke.start_time ) a,
|
count(*) c
|
FROM
|
exam_score es
|
left join sys_training_registration str on str.id = es.apply_id
|
left join ksxt_exam ke on ke.id = es.exam_id
|
left join blade_user bu on bu.id = es.user_id
|
left join blade_dept bd on bd.id = bu.dept_id
|
left join sys_information si on bd.id = si.departmentid
|
left join sys_jurisdiction sj on si.jurisdiction = sj.id
|
WHERE
|
qualified = 1
|
and training_unit_id = #{information.departmentid}
|
and YEAR ( ke.start_time ) = YEAR ( now() )
|
<if test="information.deptid!=null and information.deptid!=''">
|
and bu.dept_id = #{information.deptid}
|
</if>
|
<if test="information.jurisdiction!=null and information.jurisdiction!='' and information.jurisdiction!='1372091709474910209'">
|
and (sj.id = #{information.jurisdiction} or sj.parent_id = #{information.jurisdiction})
|
</if>
|
GROUP BY
|
MONTH ( ke.start_time )
|
) i ON m.id = i.a
|
ORDER BY
|
id
|
</select>
|
|
<!--查询考试成绩-->
|
<select id="getExamScoreLists" resultType="org.springblade.modules.exam.entity.ExamScore">
|
SELECT * from exam_score where date_format(exam_time,'%Y-%M-%d') = date_format(now(),'%Y-%M-%d')
|
</select>
|
|
<!--查询考试成绩按时间-->
|
<select id="getExamScoreListByTime" resultType="org.springblade.modules.exam.entity.ExamScore">
|
SELECT * from exam_score where date_format(exam_time,'%Y-%M-%d') = date_format(#{time},'%Y-%M-%d')
|
</select>
|
|
|
</mapper>
|