From 07794736f879adb9cf02a69e5c6ada6a94b7bbde Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Mon, 06 Nov 2023 14:10:58 +0800
Subject: [PATCH] 考试报名查询修改,分新报名和考试未通过
---
src/main/java/org/springblade/modules/system/mapper/UserMapper.xml | 104 +++++++++++++------------
src/main/java/org/springblade/modules/system/node/TreeNode.java | 5 +
src/main/java/org/springblade/modules/exam/controller/ScoreAuditRecordsController.java | 2
src/main/java/org/springblade/modules/exam/service/impl/ExamScoreServiceImpl.java | 8 +-
src/main/java/org/springblade/modules/system/entity/User.java | 5 +
src/main/java/org/springblade/modules/exam/entity/ExamScore.java | 2
src/main/java/org/springblade/modules/auth/endpoint/BladeTokenEndPoint.java | 4 +
src/main/java/org/springblade/modules/training/service/impl/TrainingRegistrationServiceImpl.java | 2
src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java | 43 ++++++++--
src/main/java/org/springblade/modules/exam/service/impl/ScoreAuditRecordsServiceImpl.java | 4
src/main/java/org/springblade/modules/apply/controller/ApplyController.java | 2
src/main/java/org/springblade/modules/attendance/controller/AttendanceController.java | 6 -
src/main/java/org/springblade/modules/exam/controller/ExamScoreController.java | 2
src/main/java/org/springblade/modules/system/mapper/UserMapper.java | 3
14 files changed, 115 insertions(+), 77 deletions(-)
diff --git a/src/main/java/org/springblade/modules/apply/controller/ApplyController.java b/src/main/java/org/springblade/modules/apply/controller/ApplyController.java
index aec646e..3947f58 100644
--- a/src/main/java/org/springblade/modules/apply/controller/ApplyController.java
+++ b/src/main/java/org/springblade/modules/apply/controller/ApplyController.java
@@ -740,7 +740,7 @@
//新增考试成绩,没有成绩数据,待提交答题后更新数据
ExamScore examScore = new ExamScore();
examScore.setExamId(apply.getExamId().toString());
- examScore.setUserId(apply.getUserId().toString());
+ examScore.setUserId(apply.getUserId());
examScore.setApplyId(apply.getId());
examScore.setCandidateNo(apply.getCandidateNo());
examScore.setExamTime(new Date());
diff --git a/src/main/java/org/springblade/modules/attendance/controller/AttendanceController.java b/src/main/java/org/springblade/modules/attendance/controller/AttendanceController.java
index 04d33b7..38ee235 100644
--- a/src/main/java/org/springblade/modules/attendance/controller/AttendanceController.java
+++ b/src/main/java/org/springblade/modules/attendance/controller/AttendanceController.java
@@ -33,10 +33,8 @@
import java.util.List;
/**
- * 控制器
- *
- * @author BladeX
- * @since 2021-03-03
+ * 考勤控制器
+ * @since 2023-03-03
*/
@RestController
@AllArgsConstructor
diff --git a/src/main/java/org/springblade/modules/auth/endpoint/BladeTokenEndPoint.java b/src/main/java/org/springblade/modules/auth/endpoint/BladeTokenEndPoint.java
index 58070a8..5818675 100644
--- a/src/main/java/org/springblade/modules/auth/endpoint/BladeTokenEndPoint.java
+++ b/src/main/java/org/springblade/modules/auth/endpoint/BladeTokenEndPoint.java
@@ -136,6 +136,10 @@
return authInfo.set("error_description", "审核不通过");
}
}
+ if (userInfo != null && userInfo.getUser().getIsFreeze().equals(1)) {
+ return authInfo.set("error_code", HttpServletResponse.SC_BAD_REQUEST).set("error_description", "该用户超半年未使用系统,已被冻结,请联系管理员!");
+ }
+
if (userInfo == null || userInfo.getUser() == null) {
return authInfo.set("error_code", HttpServletResponse.SC_BAD_REQUEST).set("error_description", "用户名或密码不正确");
}
diff --git a/src/main/java/org/springblade/modules/exam/controller/ExamScoreController.java b/src/main/java/org/springblade/modules/exam/controller/ExamScoreController.java
index 4f7ca0a..f22defc 100644
--- a/src/main/java/org/springblade/modules/exam/controller/ExamScoreController.java
+++ b/src/main/java/org/springblade/modules/exam/controller/ExamScoreController.java
@@ -172,7 +172,7 @@
if (null != examScore.getLearnGrade() && null != examScore.getTheoryGrade()) {
ExamScore examScore1 = examScoreService.getById(examScore.getId());
//查询当前保安信息
- UserVO user = userService.getUserAgeById(Long.parseLong(examScore1.getUserId()));
+ UserVO user = userService.getUserAgeById(examScore1.getUserId());
//再根据身份证号查询用户,方式用户考了试,被删除,又新建的情况,修改最新用户的状态信息
User user1 = userService.getUserInfoByIdCardNo(user.getCardid());
//考试合格
diff --git a/src/main/java/org/springblade/modules/exam/controller/ScoreAuditRecordsController.java b/src/main/java/org/springblade/modules/exam/controller/ScoreAuditRecordsController.java
index bdb5465..7e7bb2e 100644
--- a/src/main/java/org/springblade/modules/exam/controller/ScoreAuditRecordsController.java
+++ b/src/main/java/org/springblade/modules/exam/controller/ScoreAuditRecordsController.java
@@ -72,7 +72,7 @@
scoreAuditRecords.setStatus(1);
//查询成绩
ExamScore examScore = examScoreService.getById(scoreAuditRecords.getExamScoreId());
- scoreAuditRecords.setUserId(Long.parseLong(examScore.getUserId()));
+ scoreAuditRecords.setUserId(examScore.getUserId());
//申请并返回数据
return R.data(scoreAuditRecordsService.save(scoreAuditRecords));
}
diff --git a/src/main/java/org/springblade/modules/exam/entity/ExamScore.java b/src/main/java/org/springblade/modules/exam/entity/ExamScore.java
index dac1c31..55cfb3d 100644
--- a/src/main/java/org/springblade/modules/exam/entity/ExamScore.java
+++ b/src/main/java/org/springblade/modules/exam/entity/ExamScore.java
@@ -105,7 +105,7 @@
@TableField("user_id")
- private String userId;
+ private Long userId;
/**
diff --git a/src/main/java/org/springblade/modules/exam/service/impl/ExamScoreServiceImpl.java b/src/main/java/org/springblade/modules/exam/service/impl/ExamScoreServiceImpl.java
index 398f695..18f2be5 100644
--- a/src/main/java/org/springblade/modules/exam/service/impl/ExamScoreServiceImpl.java
+++ b/src/main/java/org/springblade/modules/exam/service/impl/ExamScoreServiceImpl.java
@@ -290,7 +290,7 @@
// ExamScore examScore = this.getOne(Condition.getQueryWrapper(examScore1));
if (null != examScore) {
//查询当前保安信息
- UserVO user = userService.getUserAgeById(Long.parseLong(examScore.getUserId()));
+ UserVO user = userService.getUserAgeById(examScore.getUserId());
//设置实操成绩
if (examScoreExcel.getLearnGrade().equals("合格")) {
examScore.setLearnGrade(0);
@@ -615,7 +615,7 @@
//2.修改用户考试状态
User user = new User();
user.setIsTrain(1);
- user.setId(Long.parseLong(examScore.getUserId()));
+ user.setId(examScore.getUserId());
//修改
userService.updateById(user);
@@ -646,7 +646,7 @@
//2.修改用户考试状态
User user = new User();
user.setIsTrain(1);
- user.setId(Long.parseLong(examScore.getUserId()));
+ user.setId(examScore.getUserId());
//修改
userService.updateById(user);
@@ -733,7 +733,7 @@
//修改培训考试状态
User user = new User();
- user.setId(Long.parseLong(examScore.getUserId()));
+ user.setId(examScore.getUserId());
user.setIsTrain(3);
userService.updateById(user);
//修改人员考试状态
diff --git a/src/main/java/org/springblade/modules/exam/service/impl/ScoreAuditRecordsServiceImpl.java b/src/main/java/org/springblade/modules/exam/service/impl/ScoreAuditRecordsServiceImpl.java
index 49831ac..f82b492 100644
--- a/src/main/java/org/springblade/modules/exam/service/impl/ScoreAuditRecordsServiceImpl.java
+++ b/src/main/java/org/springblade/modules/exam/service/impl/ScoreAuditRecordsServiceImpl.java
@@ -115,7 +115,7 @@
//3.修改考试理论成绩
examScore.setTheoryGrade(auditRecords.getNewScore());
//查询用户年龄
- UserVO userVO = userService.getUserAgeById(Long.parseLong(examScore.getUserId()));
+ UserVO userVO = userService.getUserAgeById(examScore.getUserId());
//判断实操成绩是否为空
if (null == examScore.getLearnGrade()) {
//如果为空,之间修改理论成绩和总成绩
@@ -261,7 +261,7 @@
//3.修改考试理论成绩
examScore.setTheoryGrade(records.getNewScore());
//查询用户年龄
- UserVO userVO = userService.getUserAgeById(Long.parseLong(examScore.getUserId()));
+ UserVO userVO = userService.getUserAgeById(examScore.getUserId());
//判断实操成绩是否为空
if (null == examScore.getLearnGrade()) {
//如果为空,之间修改理论成绩和总成绩
diff --git a/src/main/java/org/springblade/modules/system/entity/User.java b/src/main/java/org/springblade/modules/system/entity/User.java
index f3d7ef7..64df805 100644
--- a/src/main/java/org/springblade/modules/system/entity/User.java
+++ b/src/main/java/org/springblade/modules/system/entity/User.java
@@ -272,4 +272,9 @@
*/
@TableField("unit_name")
private String unitName;
+
+ /**
+ * 是否冻结 0:否 1:是
+ */
+ private Integer isFreeze;
}
diff --git a/src/main/java/org/springblade/modules/system/mapper/UserMapper.java b/src/main/java/org/springblade/modules/system/mapper/UserMapper.java
index 492f1a1..cde4625 100644
--- a/src/main/java/org/springblade/modules/system/mapper/UserMapper.java
+++ b/src/main/java/org/springblade/modules/system/mapper/UserMapper.java
@@ -114,9 +114,8 @@
* @param user 用户信息
* @return
*/
- @MapKey(value = "id")
@SqlParser(filter=true)
- Map<Long, TreeNode> getSecurityApplyTree(@Param("user") UserVO user);
+ List<TreeNode> getSecurityApplyTree(@Param("user") UserVO user);
/**
diff --git a/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml b/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
index 80dfff4..10ff25f 100644
--- a/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
+++ b/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
@@ -127,8 +127,11 @@
<if test="user.roleAlias!=null and user.roleAlias != ''">
and br.role_alias = '保安'
</if>
- <if test="user.status!=null and user.status != '' and user.status != 6">
+ <if test="user.status!=null and user.status != 6">
and bu.status = #{user.status}
+ </if>
+ <if test="user.isFreeze!=null">
+ and bu.is_freeze = #{user.isFreeze}
</if>
<if test="user.education!=null and user.education != ''">
and bu.education = #{user.education}
@@ -244,6 +247,9 @@
<if test="user.account!=null and user.account != ''">
and bu.account like concat('%', #{user.account},'%')
</if>
+ <if test="user.isFreeze!=null">
+ and bu.is_freeze = #{user.isFreeze}
+ </if>
<if test="user.hold!=null and user.hold != ''">
and bu.hold = #{user.hold}
</if>
@@ -356,6 +362,9 @@
</if>
<if test="user.account!=null and user.account != ''">
and account like concat('%', #{user.account},'%')
+ </if>
+ <if test="user.isFreeze!=null">
+ and bu.is_freeze = #{user.isFreeze}
</if>
<if test="user.roleId!=null and user.roleId != ''">
and (br.role_alias = '公安管理员' or br.role_alias = '民警')
@@ -483,6 +492,9 @@
<if test="user.sex!=null and user.sex != ''">
and bu.sex = #{user.sex}
</if>
+ <if test="user.isFreeze!=null">
+ and bu.is_freeze = #{user.isFreeze}
+ </if>
<if test="user.dispatch!=null and user.dispatch != ''">
<if test="user.dispatch==1">
and (bu.dispatch = #{user.dispatch} or bu.dispatch is null)
@@ -537,6 +549,9 @@
<if test="user.roleId!=null and user.roleId != ''">
and bu.role_id = #{user.roleId}
</if>
+ <if test="user.isFreeze!=null">
+ and bu.is_freeze = #{user.isFreeze}
+ </if>
<if test="user.status!=null and user.status != ''">
and bu.status = #{user.status}
</if>
@@ -558,55 +573,40 @@
<!--保安员列表树 安员列表树,帅选无保安证,下拉tree-->
<select id="getSecurityApplyTree" resultType="org.springblade.modules.system.node.TreeNode">
- (
- select #{user.deptId} as id,
- '全部' as name,
- 0 as parentId
- from blade_user
- )
-
- union all
-
- (
+ select
+ a.id,
+ a.name,
+ a.type,
+ a.parentId
+ from (
select
- a.id,
- a.name,
- a.parentId
- from (
- select
- distinct
- bu.id,
- ifnull(TIMESTAMPDIFF(YEAR, SUBSTRING(bu.cardid, 7, 8), CURDATE()),0) AS age,
- bu.is_apply isApply,
- bu.is_train isTrain,
- bu.real_name as name,
- #{user.deptId} parentId
- from
- blade_user bu
- left join
- blade_dept bd
- on
- bu.dept_id = bd.id
- left join
- blade_role br
- on
- br.id = bu.role_id
- where
- bu.is_deleted = 0
- and bu.status = 1
- and (bu.examination_type != 1 or bu.examination_type is null)
- and (hold = 2 or hold = 3)
- and bd.id = #{user.deptId}
- and br.role_alias = '保安'
- ) a
- where 1 = 1
- <if test="user.examType==1">
- and a.isApply != 1
- </if>
- <if test="user.examType==2">
- and a.isTrain != 1
- </if>
- )
+ distinct
+ bu.id,
+ ifnull(TIMESTAMPDIFF(YEAR, SUBSTRING(bu.cardid, 7, 8), CURDATE()),0) AS age,
+ bu.is_apply isApply,
+ bu.is_train isTrain,
+ bu.real_name as name,
+ if(es.user_id is not null,1,2) as type,
+ #{user.deptId} parentId
+ from blade_user bu
+ left join blade_dept bd on bu.dept_id = bd.id
+ left join blade_role br on br.id = bu.role_id
+ left join (select user_id,max(id) from exam_score where (qualified =1 or qualified =3) GROUP BY user_id) es
+ on es.user_id = bu.id
+ where
+ bu.is_deleted = 0 and bu.status = 1 and bu.is_freeze = 0
+ and (bu.examination_type != 1 or bu.examination_type is null)
+ and (hold = 2 or hold = 3)
+ and bd.id = #{user.deptId}
+ and br.role_alias = '保安'
+ ) a
+ where 1 = 1
+ <if test="user.examType==1">
+ and a.isApply != 1
+ </if>
+ <if test="user.examType==2">
+ and a.isTrain != 1
+ </if>
</select>
@@ -673,6 +673,7 @@
</if>
and bu.status = 1
and bu.is_deleted = 0
+ and bu.is_freeze = 0
</select>
@@ -918,6 +919,9 @@
<if test="user.isAvatar==2">
and (bu.avatar is null or bu.avatar="")
</if>
+ <if test="user.isFreeze!=null">
+ and bu.is_freeze = #{user.isFreeze}
+ </if>
<if test="user.unitName!=null and user.unitName != ''">
and bu.unit_name like concat('%', #{user.unitName},'%')
</if>
@@ -1149,7 +1153,7 @@
<!--用户冻结操作-->
<update id="updateFreeze">
- update blade_user set is_deleted = 1
+ update blade_user set is_freeze = 1
<choose>
<when test="list!=null and list.size()>0">
where id in
diff --git a/src/main/java/org/springblade/modules/system/node/TreeNode.java b/src/main/java/org/springblade/modules/system/node/TreeNode.java
index ffd904f..e994ed3 100644
--- a/src/main/java/org/springblade/modules/system/node/TreeNode.java
+++ b/src/main/java/org/springblade/modules/system/node/TreeNode.java
@@ -27,6 +27,11 @@
private String name;
/**
+ * 类型
+ */
+ private Integer type;
+
+ /**
* 子节点
*/
private List<TreeNode> children = new ArrayList<>();
diff --git a/src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java b/src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java
index 0853aba..b54ef0a 100644
--- a/src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java
+++ b/src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java
@@ -752,18 +752,41 @@
*/
@Override
public List<TreeNode> getSecurityApplyTree(UserVO user) {
- Map<Long, TreeNode> map = baseMapper.getSecurityApplyTree(user);
- List<TreeNode> tree = new ArrayList<>();
- if (map.size() > 1) {
- map.forEach((id, treeNode) -> {
- if (map.containsKey(treeNode.getParentId())) {
- map.get(treeNode.getParentId()).getChildren().add(treeNode);
- } else {
- tree.add(treeNode);
+ // 总的
+ List<TreeNode> allList = new ArrayList<>();
+ // 考试未通过
+ List<TreeNode> notList = new ArrayList<>();
+ // 新申报报名的
+ List<TreeNode> newList = new ArrayList<>();
+ // 查询
+ List<TreeNode> treeNodeList = baseMapper.getSecurityApplyTree(user);
+ // 遍历
+ if (treeNodeList.size()>0){
+ for (TreeNode treeNode : treeNodeList) {
+ if (treeNode.getType()==1){
+ notList.add(treeNode);
}
- });
+ if (treeNode.getType()==2){
+ newList.add(treeNode);
+ }
+ }
}
- return tree;
+ if (newList.size()>0){
+ // 新申报报名的
+ TreeNode treeNode = new TreeNode();
+ treeNode.setName("新申报名单");
+ treeNode.setChildren(newList);
+ allList.add(treeNode);
+ }
+ if (notList.size()>0){
+ // 考试未通过
+ TreeNode treeNode = new TreeNode();
+ treeNode.setName("未通过考试名单");
+ treeNode.setChildren(notList);
+ allList.add(treeNode);
+ }
+ // 返回
+ return allList;
}
/**
diff --git a/src/main/java/org/springblade/modules/training/service/impl/TrainingRegistrationServiceImpl.java b/src/main/java/org/springblade/modules/training/service/impl/TrainingRegistrationServiceImpl.java
index 58d2c98..4dfe1e2 100644
--- a/src/main/java/org/springblade/modules/training/service/impl/TrainingRegistrationServiceImpl.java
+++ b/src/main/java/org/springblade/modules/training/service/impl/TrainingRegistrationServiceImpl.java
@@ -381,7 +381,7 @@
examScore.setTheoryGrade(0);
examScore.setAllGrade(0);
examScore.setQualified(3);
- examScore.setUserId(user.getId().toString());
+ examScore.setUserId(user.getId());
examScore.setApplyId(trainingRegistration1.getId());
examScore.setExamId(trainingRegistration1.getTrainExamId());
//新增
--
Gitblit v1.9.3