From 8853292babb2ad94de4a3207966f1e83b767cd2d Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Sun, 17 Sep 2023 16:38:34 +0800
Subject: [PATCH] 新增流程节点进程查询接口
---
src/main/java/org/springblade/modules/exam/mapper/ExamScoreMapper.xml | 233 ++++++++++++++++++++++++++++++++++++++++++---------------
1 files changed, 170 insertions(+), 63 deletions(-)
diff --git a/src/main/java/org/springblade/modules/exam/mapper/ExamScoreMapper.xml b/src/main/java/org/springblade/modules/exam/mapper/ExamScoreMapper.xml
index ab7e0d6..89034eb 100644
--- a/src/main/java/org/springblade/modules/exam/mapper/ExamScoreMapper.xml
+++ b/src/main/java/org/springblade/modules/exam/mapper/ExamScoreMapper.xml
@@ -9,7 +9,7 @@
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,
+ bu.real_name securityName,company,bu.account,bu.securitynumber as securityNumber,
bd.dept_name companyName from
exam_score es
left join
@@ -29,7 +29,7 @@
on
sa.id = es.apply_id
where
- 1=1
+ 1=1 and es.is_deleted = 0
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},'%')
@@ -69,10 +69,10 @@
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,
+ 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.account,bu.sex,bu.paper_time paperTime,bu.securitynumber securityNumber,bu.avatar,
- bd.dept_name companyName,bu.user_type isPaper
+ bd.dept_name companyName,bu.user_type isPaper,bu.unit_name unitName
from
exam_score es
left join
@@ -87,18 +87,23 @@
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)
+ 1=1 and es.is_deleted = 0
+ 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.unitName!=null and examScore.unitName!=''">
+ and bu.unit_name like concat('%', #{examScore.unitName},'%')
</if>
<if test="examScore.securityName!=null and examScore.securityName!=''">
and bu.real_name like concat('%', #{examScore.securityName},'%')
@@ -112,6 +117,9 @@
<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>
@@ -121,8 +129,8 @@
<if test="examScore.examType!=null and examScore.examType!=''">
and ke.exam_type = #{examScore.examType}
</if>
- <if test="examScore.examType!=null and examScore.examType!=''">
- and ke.exam_type = #{examScore.examType}
+ <if test="examScore.examId!=null">
+ and es.exam_id = #{examScore.examId}
</if>
<if test="examScore.isPaper==6">
and bu.user_type = #{examScore.isPaper}
@@ -145,8 +153,11 @@
<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!=''">
+ <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
@@ -162,7 +173,7 @@
FROM
exam_score
WHERE
- 1=1
+ 1=1 and is_deleted = 0
<if test="examScore.id!=null">
and id = #{examScore.id}
</if>
@@ -222,7 +233,7 @@
sys_jurisdiction sj
on
sj.id = si.jurisdiction
- WHERE 1 = 1 AND theory_grade is not null
+ WHERE 1 = 1 and exam.is_deleted = 0 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>
@@ -249,7 +260,7 @@
sys_jurisdiction sj
on
sj.id = si.jurisdiction
- WHERE 1 = 1
+ WHERE 1 = 1 and exam.is_deleted = 0
AND learn_grade is not null
<if test="jurisdiction!=null and jurisdiction=='' and jurisdiction!='1372091709474910209'">
and (sj.id = #{jurisdiction} or sj.parent_id = #{jurisdiction})
@@ -277,6 +288,7 @@
ke.id = es.exam_id
where
bu.cardid = #{idCardNo}
+ and es.is_deleted = 0
and DATE_FORMAT(ke.start_time,'%Y-%m-%d') = #{startTime}
</select>
@@ -288,38 +300,45 @@
<select id="scorePage" resultType="org.springblade.modules.exam.vo.ExamScoreVO">
SELECT
exam.*,
- user.jurisdiction,
- user.real_name securityName,
- ke.exam_name examName
+ user.jurisdiction,user.real_name securityName,user.unit_name unitName,
+ 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 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
- <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
- and (sj.id = #{jurisdiction} or sj.parent_id = #{jurisdiction})
+ and ke.exam_type = 2 and exam.is_deleted = 0
+ <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="deptid!=null and deptid!=''">
- AND user.dept_id = #{deptid}
+ <if test="examScore.unitName!=null and examScore.unitName!=''">
+ and bu.unit_name like concat('%', #{examScore.unitName},'%')
+ </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 * from exam_score where qualified = 1 and is_deleted = 0
</select>
@@ -337,48 +356,47 @@
<!--查询所有无成绩的数据-->
<select id="getNoScoreInfo" resultType="org.springblade.modules.exam.entity.ExamScore">
- select * from exam_score where theory_grade is null
+ select * from exam_score where theory_grade is null and is_deleted = 0
</select>
<!--查询所有无成绩的数据-->
<select id="getLheoryGradeLess60" resultType="org.springblade.modules.exam.entity.ExamScore">
- select * from exam_score where all_grade < 30
+ select * from exam_score where all_grade < 30 and is_deleted = 0
</select>
<!--导出-按条件查询成绩数据-模拟考试-->
<select id="getExamScoreList" resultType="org.springblade.modules.exam.excel.ExportExamScoreExcel">
SELECT
- ke.exam_name examName,bu.real_name securityName,bu.cardid idCardNo,
+ ke.exam_name examName,
+ bu.real_name securityName,bu.cardid idCardNo,bu.unit_name unitName,bu.securitynumber as securityNumber,
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
+ es.exam_time examTime,exam_end_time examEndTime,es.candidate_no candidateNo,bu.registered,
+ es.theory_grade theoryGrade,
+ case when es.learn_grade=0 then '合格'
+ when es.learn_grade=1 then '不合格'
+ end as learnGrade,
+ case when es.qualified=0 then '合格'
+ when es.qualified=1 then '不合格'
+ when es.qualified=2 then '暂未录入实操成绩'
+ end as qualified
+ 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)
- <if test="examScore.examName!=null and examScore.examName!=''">
+ 1=1 and es.is_deleted = 0
+ 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.unitName!=null and examScore.unitName!=''">
+ and bu.unit_name like concat('%', #{examScore.unitName},'%')
</if>
<if test="examScore.securityName!=null and examScore.securityName!=''">
and bu.real_name like concat('%', #{examScore.securityName},'%')
@@ -397,6 +415,9 @@
</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}
@@ -419,10 +440,96 @@
<if test="examScore.qualified!=null">
and es.qualified = #{examScore.qualified}
</if>
- <if test="examScore.examDate!=null and examScore.examDate!=''">
+ <if test="examScore.examDate!=null and examScore.examDate!=''">
and date_format(ke.start_time,'%Y-%m-%d') = #{examScore.examDate}
</if>
- order by es.id desc
+ <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 es.is_deleted = 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 es.is_deleted = 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 )
+ ) i ON m.id = i.a
+ ORDER BY
+ id
</select>
--
Gitblit v1.9.3