From 30ec3bd40d36ed424dfda162752e08fae074f375 Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Wed, 11 Aug 2021 17:08:17 +0800
Subject: [PATCH] 报名考试,成绩计算接口修改
---
src/main/java/org/springblade/modules/apply/mapper/ApplyMapper.xml | 20 ++++
src/main/java/org/springblade/modules/apply/service/ApplyService.java | 7 +
src/main/java/org/springblade/modules/system/mapper/UserMapper.xml | 6 +
src/main/java/org/springblade/modules/apply/service/impl/ApplyServiceImpl.java | 10 ++
src/main/java/org/springblade/modules/exam/service/impl/ExamScoreServiceImpl.java | 25 ++++
src/main/java/org/springblade/modules/exam/mapper/ExamScoreMapper.xml | 4
src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java | 10 ++
src/main/java/org/springblade/modules/apply/mapper/ApplyMapper.java | 9 +
src/main/java/org/springblade/modules/apply/controller/ApplyController.java | 126 ++++++++++++------------
src/main/java/org/springblade/modules/exam/util/SecurityPaperUtil.java | 24 ++++
src/main/java/org/springblade/modules/exam/controller/ExamScoreController.java | 27 +++++
src/main/java/org/springblade/modules/system/mapper/UserMapper.java | 7 +
src/main/java/org/springblade/modules/system/service/IUserService.java | 8 +
13 files changed, 218 insertions(+), 65 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 bf57b07..fa2658f 100644
--- a/src/main/java/org/springblade/modules/apply/controller/ApplyController.java
+++ b/src/main/java/org/springblade/modules/apply/controller/ApplyController.java
@@ -72,13 +72,48 @@
}
/**
- * 新增
+ * 新增报名
* @param apply 考试报名信息对象
*/
@PostMapping("/save")
@ApiOperation(value = "新增", notes = "传入apply")
public R save(@RequestBody Apply apply) {
- return R.status(applyService.save(apply));
+ //查询人员是否已报名
+ User user = userService.getById(apply.getUserId());
+ if (null==user.getIsApply()){
+ //默认通过
+ apply.setApplyStatus(2);
+ //默认为未考试状态
+ apply.setIsExam(1);
+ apply.setApplyTime(new Date());
+ //报名
+ applyService.save(apply);
+ //修改保安报名状态
+ User user1 = new User();
+ user1.setId(apply.getUserId());
+ user1.setIsApply(1);
+ userService.updateById(user1);
+ return R.data(200,"报名成功");
+ }else {
+ if (1==user.getIsApply()){
+ return R.data(201,"已报名,不能重复报名");
+ }
+ if (2==user.getIsApply()){
+ //默认通过
+ apply.setApplyStatus(2);
+ //默认为未考试状态
+ apply.setIsExam(1);
+ apply.setApplyTime(new Date());
+ applyService.save(apply);
+ //修改保安报名状态
+ User user1 = new User();
+ user1.setId(apply.getUserId());
+ user1.setIsApply(1);
+ userService.updateById(user1);
+ return R.data(200,"报名成功");
+ }
+ }
+ return R.data(202,"报名失败");
}
@@ -96,66 +131,8 @@
* @param apply 考试报名信息对象
*/
@PostMapping("/submit")
- public R submit(@RequestBody Apply apply) throws Exception {
- if (null==apply.getId()){
- //查询人员是否已报名
- User user = userService.getById(apply.getUserId());
- if (null==user.getIsApply()){
- //默认通过
- apply.setApplyStatus(2);
- //默认为未考试状态
- apply.setIsExam(1);
- apply.setApplyTime(new Date());
- //修改保安报名状态
- User user1 = new User();
- user1.setId(apply.getUserId());
- user1.setIsApply(1);
- userService.updateById(user1);
- return R.data(200,"报名成功");
- }else {
- if (1==user.getIsApply()){
- return R.data(201,"已报名,不能重复报名");
- }
- if (2==user.getIsApply()){
- //默认通过
- apply.setApplyStatus(2);
- //默认为未考试状态
- apply.setIsExam(1);
- apply.setApplyTime(new Date());
- //修改保安报名状态
- User user1 = new User();
- user1.setId(apply.getUserId());
- user1.setIsApply(1);
- userService.updateById(user1);
- return R.data(200,"报名成功");
- }
- }
-
- //去生成准考证号码
-// apply.setCandidateNo(getCandidateNo(apply));
- //去生成考试编号
-// apply.setApplyCode(getApplyCode(apply));
-
- }else {
- //修改保安报名状态
- User user = new User();
- user.setId(apply.getUserId());
- user.setIsApply(2);
- userService.updateById(user);
- }
- apply.setApplyStatus(4);
- boolean status = applyService.saveOrUpdate(apply);
- if (status){
- //内网新增
-// arg.test01(arg.url+"/apply/save",apply);
- return R.data(200,"取消报名成功");
- }
-// //内网修改
-// if(null!=apply.getId()){
-// //修改
-// arg.test01(arg.url+"/apply/update",apply);
-// }
- return R.data(202,"报名失败");
+ public R submit(@RequestBody Apply apply){
+ return R.data(applyService.saveOrUpdate(apply));
}
@@ -353,6 +330,19 @@
}
/**
+ * 查询用户详情
+ * @param user
+ */
+ @GetMapping("/userDetail")
+ @ApiOperation(value = "详情", notes = "传入apply")
+ public R<User> details(User user) {
+ //用户详情
+ User user1 = userService.getById(user.getId());
+ //返回
+ return R.data(user1);
+ }
+
+ /**
* 详情
* @param apply 考试报名信息对象
*/
@@ -389,6 +379,7 @@
public R cancelApply(@RequestBody Apply apply){
//查询人员是否已报名
User user = userService.getById(apply.getUserId());
+ System.out.println("user = " + user);
if(null==user.getIsApply()){
apply.setApplyStatus(4);
boolean status = applyService.updateById(apply);
@@ -538,4 +529,15 @@
return applyService.getApplyDetailList(apply);
}
+
+ /**
+ * 查询保安员个人报名信息
+ * @param apply 报名信息,包含userId
+ * @return
+ */
+ @GetMapping("/getSecurityApplyDetail")
+ public ApplyVO getSecurityApplyDetail(ApplyVO apply){
+ return applyService.getSecurityApplyDetail(apply);
+ }
+
}
diff --git a/src/main/java/org/springblade/modules/apply/mapper/ApplyMapper.java b/src/main/java/org/springblade/modules/apply/mapper/ApplyMapper.java
index 4c1a241..714b1ac 100644
--- a/src/main/java/org/springblade/modules/apply/mapper/ApplyMapper.java
+++ b/src/main/java/org/springblade/modules/apply/mapper/ApplyMapper.java
@@ -1,5 +1,6 @@
package org.springblade.modules.apply.mapper;
+import com.baomidou.mybatisplus.annotation.SqlParser;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
@@ -102,4 +103,12 @@
* @return
*/
List<ApplyVO> getApplyDetailList(Long id);
+
+ /**
+ * 查询保安员个人报名信息
+ * @param apply 报名信息,包含userId
+ * @return
+ */
+ @SqlParser(filter = true)
+ ApplyVO getSecurityApplyDetail(@Param("apply") ApplyVO apply);
}
diff --git a/src/main/java/org/springblade/modules/apply/mapper/ApplyMapper.xml b/src/main/java/org/springblade/modules/apply/mapper/ApplyMapper.xml
index 7b95dfd..45f69ae 100644
--- a/src/main/java/org/springblade/modules/apply/mapper/ApplyMapper.xml
+++ b/src/main/java/org/springblade/modules/apply/mapper/ApplyMapper.xml
@@ -274,4 +274,24 @@
and sa.exam_id is not null
</select>
+
+ <!--查询保安员个人报名信息-->
+ <select id="getSecurityApplyDetail" resultType="org.springblade.modules.apply.vo.ApplyVO">
+ select
+ bu.id userId,bu.real_name realName,bu.sex,bu.is_apply isApply,
+ MAX(sa.id) id
+ from
+ blade_user bu
+ left join
+ sys_apply sa
+ on
+ sa.user_id = bu.id
+ where 1=1
+ <if test="apply.userId!=null and apply.userId!=''">
+ and bu.id = #{apply.userId}
+ </if>
+ <if test="apply.id!=null and apply.id!=''">
+ and sa.id = #{apply.id}
+ </if>
+ </select>
</mapper>
diff --git a/src/main/java/org/springblade/modules/apply/service/ApplyService.java b/src/main/java/org/springblade/modules/apply/service/ApplyService.java
index 920d175..f9f88be 100644
--- a/src/main/java/org/springblade/modules/apply/service/ApplyService.java
+++ b/src/main/java/org/springblade/modules/apply/service/ApplyService.java
@@ -95,4 +95,11 @@
* @return
*/
Map<String,Object> getApplyDetailList(ApplyVO apply);
+
+ /**
+ * 查询保安员个人报名信息
+ * @param apply 报名信息,包含userId
+ * @return
+ */
+ ApplyVO getSecurityApplyDetail(ApplyVO apply);
}
diff --git a/src/main/java/org/springblade/modules/apply/service/impl/ApplyServiceImpl.java b/src/main/java/org/springblade/modules/apply/service/impl/ApplyServiceImpl.java
index 16898f0..eeb9b16 100644
--- a/src/main/java/org/springblade/modules/apply/service/impl/ApplyServiceImpl.java
+++ b/src/main/java/org/springblade/modules/apply/service/impl/ApplyServiceImpl.java
@@ -370,4 +370,14 @@
//返回数据
return map;
}
+
+ /**
+ * 查询保安员个人报名信息
+ * @param apply 报名信息,包含userId
+ * @return
+ */
+ @Override
+ public ApplyVO getSecurityApplyDetail(ApplyVO apply) {
+ return baseMapper.getSecurityApplyDetail(apply);
+ }
}
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 16f4529..1c5c904 100644
--- a/src/main/java/org/springblade/modules/exam/controller/ExamScoreController.java
+++ b/src/main/java/org/springblade/modules/exam/controller/ExamScoreController.java
@@ -14,12 +14,17 @@
import org.springblade.modules.exam.excel.ExamScoreExcel;
import org.springblade.modules.exam.excel.ExamScoreImporter;
import org.springblade.modules.exam.service.ExamScoreService;
+import org.springblade.modules.exam.util.SecurityPaperUtil;
import org.springblade.modules.exam.vo.ExamScoreVO;
+import org.springblade.modules.system.entity.User;
+import org.springblade.modules.system.service.IUserService;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
+import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.List;
+import java.util.Random;
/**
* @author zhongrj
@@ -32,6 +37,8 @@
public class ExamScoreController {
private final ExamScoreService examScoreService;
+
+ private final IUserService userService;
/**
* 自定义分页
@@ -90,13 +97,33 @@
@PostMapping("/updateExamScore")
public R updateExamScore(@RequestBody ExamScore examScore) throws Exception {
if (null!=examScore.getLearnGrade() && null!=examScore.getTheoryGrade()){
+ ExamScore examScore1 = examScoreService.getById(examScore.getId());
if (examScore.getTheoryGrade()>=60 && examScore.getLearnGrade()>=60){
//合格
examScore.setQualified(0);
+ //去生成保安证编号
+ //查询当前保安信息
+ User user = userService.getById(examScore1.getUserId());
+ String pre = SecurityPaperUtil.getSecurityPaper();
+ //查询当前年份已有的保安证编号
+ int count = userService.getSecurityPaperCount(pre);
+ String result = null;
+ if (count==0){
+ result = pre + "00000";
+ }else {
+ //格式化
+ DecimalFormat decimalFormat = new DecimalFormat("00000");
+ result = pre + (decimalFormat.format(count++));
+ }
+ user.setSecuritynumber(result);
+ //更新保安数据
+ userService.updateById(user);
}else {
//不合格
examScore.setQualified(1);
}
+ //总成绩
+ examScore.setAllGrade(Math.round((examScore.getLearnGrade()+examScore1.getTheoryGrade())/2));
}
//内网修改
//arg.test01(arg.url+"/examScore/update",examScore);
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 cfcc659..6a3fd3d 100644
--- a/src/main/java/org/springblade/modules/exam/mapper/ExamScoreMapper.xml
+++ b/src/main/java/org/springblade/modules/exam/mapper/ExamScoreMapper.xml
@@ -5,9 +5,9 @@
<!--考试成绩分页信息-->
<select id="selectExamScorePage" resultType="org.springblade.modules.exam.vo.ExamScoreVO">
SELECT
- es.id,es.theory_grade theoryGrade,ifnull(learn_grade,-1) learnGrade,
+ es.id,es.theory_grade theoryGrade,ifnull(learn_grade,-1) learnGrade,es.user_id userId,
exam_name examName,bu.real_name securityName,company,exam_time examTime,
- all_score allScore,exam_end_time examEndTime,qualified,
+ all_grade allGrade,exam_end_time examEndTime,qualified,
bd.dept_name companyName
FROM
exam_score es
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 6f122fd..887a654 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
@@ -14,11 +14,15 @@
import org.springblade.modules.exam.service.ExamPaperService;
import org.springblade.modules.exam.service.ExamScoreService;
import org.springblade.modules.exam.service.ExamSubjectChoicesService;
+import org.springblade.modules.exam.util.SecurityPaperUtil;
import org.springblade.modules.exam.vo.ExamResultVO;
import org.springblade.modules.exam.vo.ExamScoreVO;
+import org.springblade.modules.system.entity.User;
+import org.springblade.modules.system.service.IUserService;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import java.text.DecimalFormat;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
@@ -33,7 +37,7 @@
@AllArgsConstructor
public class ExamScoreServiceImpl extends ServiceImpl<ExamScoreMapper, ExamScore> implements ExamScoreService {
- private final ExamPaperService examPaperService;
+ private final IUserService userService;
private final ExamSubjectChoicesService examSubjectChoicesService;
@@ -148,10 +152,29 @@
if (examScore.getTheoryGrade() >= 60 && examScore.getLearnGrade() >= 60) {
//合格
examScore.setQualified(0);
+ //去生成保安证编号
+ //查询当前保安信息
+ User user = userService.getById(examScore.getUserId());
+ String pre = SecurityPaperUtil.getSecurityPaper();
+ //查询当前年份已有的保安证编号
+ int count = userService.getSecurityPaperCount(pre);
+ String result = null;
+ if (count==0){
+ result = pre + "00000";
+ }else {
+ //格式化
+ DecimalFormat decimalFormat = new DecimalFormat("00000");
+ result = pre + (decimalFormat.format(count++));
+ }
+ user.setSecuritynumber(result);
+ //更新保安数据
+ userService.updateById(user);
} else {
//不合格
examScore.setQualified(1);
}
+ //总成绩
+ examScore.setAllGrade(Math.round((examScore.getTheoryGrade()+examScoreExcel.getLearnGrade())/2));
//更新成绩数据
baseMapper.updateById(examScore);
}
diff --git a/src/main/java/org/springblade/modules/exam/util/SecurityPaperUtil.java b/src/main/java/org/springblade/modules/exam/util/SecurityPaperUtil.java
new file mode 100644
index 0000000..f571420
--- /dev/null
+++ b/src/main/java/org/springblade/modules/exam/util/SecurityPaperUtil.java
@@ -0,0 +1,24 @@
+package org.springblade.modules.exam.util;
+
+import java.util.Calendar;
+import java.util.Date;
+
+/**
+ * 保安证编号生成
+ * @author zhongrj
+ * @since 2021-08-11
+ */
+public class SecurityPaperUtil {
+
+ private final static String pre = "赣洪";
+
+ public static String getSecurityPaper(){
+ //获取当前时间
+ Date date = new Date();
+ Calendar instance = Calendar.getInstance();
+ instance.setTime(date);
+ //获取年份
+ int year = instance.get(Calendar.YEAR);
+ return pre+year;
+ }
+}
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 e0fb999..3fc186b 100644
--- a/src/main/java/org/springblade/modules/system/mapper/UserMapper.java
+++ b/src/main/java/org/springblade/modules/system/mapper/UserMapper.java
@@ -95,4 +95,11 @@
@SqlParser(filter=true)
Map<Long, TreeNode> getSecurityApplyTree(@Param("user") UserVO user);
List<Map<Object,Object>> selectInr(String deptid);
+
+ /**
+ * 查询当前年份已有的保安证编号
+ * @param pre 前缀
+ * @return
+ */
+ int getSecurityPaperCount(@Param("pre") String pre);
}
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 8500882..34658f9 100644
--- a/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
+++ b/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
@@ -303,4 +303,10 @@
and dept_id=#{deptid}
</if>
</select>
+
+ <!--查询当前年份已有的保安证编号-->
+ <select id="getSecurityPaperCount" resultType="java.lang.Integer">
+ select count(*) from blade_user
+ where securitynumber like concat('%', #{pre},'%')
+ </select>
</mapper>
diff --git a/src/main/java/org/springblade/modules/system/service/IUserService.java b/src/main/java/org/springblade/modules/system/service/IUserService.java
index f7b43b1..9e19a09 100644
--- a/src/main/java/org/springblade/modules/system/service/IUserService.java
+++ b/src/main/java/org/springblade/modules/system/service/IUserService.java
@@ -244,4 +244,12 @@
List<TreeNode> getSecurityApplyTree(UserVO user);
List<Map<Object,Object>> selectInr(String deptid);
+
+
+ /**
+ * 查询当前年份已有的保安证编号
+ * @param pre 前缀
+ * @return
+ */
+ int getSecurityPaperCount(String pre);
}
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 99ac878..8e2f2f1 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
@@ -466,4 +466,14 @@
public List<Map<Object, Object>> selectInr(String deptid) {
return baseMapper.selectInr(deptid);
}
+
+ /**
+ * 查询当前年份已有的保安证编号
+ * @param pre 前缀
+ * @return
+ */
+ @Override
+ public int getSecurityPaperCount(String pre) {
+ return baseMapper.getSecurityPaperCount(pre);
+ }
}
--
Gitblit v1.9.3