src/main/java/org/springblade/modules/apply/controller/ApplyController.java
@@ -528,17 +528,17 @@ */ @PostMapping("/batchExam") public R batchExam(@RequestParam String ids, @RequestParam String examTime, String examTime, @RequestParam Date startTime, @RequestParam Date endTime){ Date endTime){ if (!ids.equals("")){ List<String> list = Arrays.asList(ids.split(",")); if (list.size()>0){ ExamPaper examPaper = new ExamPaper(); examPaper.setExamTime(examTime); // examPaper.setExamTime(examTime); examPaper.setExamType(1); examPaper.setStartTime(startTime); examPaper.setEndTime(endTime); // examPaper.setEndTime(endTime); Calendar instance = Calendar.getInstance(); instance.setTime(startTime); int year = instance.get(Calendar.YEAR); @@ -564,10 +564,10 @@ if (applyIds.size()>0){ //生成考试 ExamPaper examPaper = new ExamPaper(); examPaper.setExamTime(examTime); // examPaper.setExamTime(examTime); examPaper.setExamType(1); examPaper.setStartTime(startTime); examPaper.setEndTime(endTime); // examPaper.setEndTime(endTime); Calendar instance = Calendar.getInstance(); instance.setTime(startTime); int year = instance.get(Calendar.YEAR); src/main/java/org/springblade/modules/exam/controller/ExamScoreController.java
@@ -20,6 +20,7 @@ import org.springblade.modules.exam.vo.ExamScoreVO; import org.springblade.modules.system.entity.User; import org.springblade.modules.system.service.IUserService; import org.springblade.modules.system.vo.UserVO; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; @@ -102,6 +103,8 @@ public R updateExamScore(@RequestBody ExamScore examScore){ if (null!=examScore.getLearnGrade() && null!=examScore.getTheoryGrade()){ ExamScore examScore1 = examScoreService.getById(examScore.getId()); //查询当前保安信息 UserVO user = userService.getUserAgeById(Long.parseLong(examScore1.getUserId())); if (examScore.getTheoryGrade()>=60 && examScore.getLearnGrade()>=60){ //合格 examScore.setQualified(0); @@ -109,8 +112,6 @@ ExamPaper paper = examPaperService.getById(examScore.getExamId()); if (paper.getExamType()==1) { //去生成保安证编号 //查询当前保安信息 User user = userService.getById(examScore1.getUserId()); String pre = SecurityPaperUtil.getSecurityPaper(); //查询当前年份已有的保安证编号 int count = userService.getSecurityPaperCount(pre); @@ -131,10 +132,14 @@ examScore.setQualified(1); } //总成绩 examScore.setAllGrade(Math.round((examScore.getLearnGrade()+examScore1.getTheoryGrade())/2)); if (user.getAge()<=50) { examScore.setAllGrade(Math.round((examScore.getLearnGrade() + examScore1.getTheoryGrade()) / 2)); } if (user.getAge()>50) { examScore.setAllGrade(Integer.parseInt(String.valueOf(Math.round(examScore1.getTheoryGrade()*0.3))) + Integer.parseInt(String.valueOf(Math.round(examScore1.getLearnGrade()*0.7)))); } } //内网修改 //arg.test01(arg.url+"/examScore/update",examScore); //本地修改 return R.status(examScoreService.updateById(examScore)); } src/main/java/org/springblade/modules/exam/service/impl/ExamScoreServiceImpl.java
@@ -22,6 +22,7 @@ import org.springblade.modules.exam.vo.ExamScoreVO; import org.springblade.modules.system.entity.User; import org.springblade.modules.system.service.IUserService; import org.springblade.modules.system.vo.UserVO; import org.springblade.modules.training.entity.TrainingRegistration; import org.springblade.modules.training.service.TrainingRegistrationService; import org.springframework.stereotype.Service; @@ -126,11 +127,14 @@ } //获取考试信息 ExamPaper paper = examPaperService.getById(examScore.getPapersId()); int age = 0; //使用准考证号查询报名信息,修改考试状态为已考试 if(paper.getExamType()==1){ Apply apply = new Apply(); apply.setCandidateNo(examScore.getCandidateNo()); Apply apply1 = applyService.getOne(Condition.getQueryWrapper(apply)); //查询用户年龄,根据年龄计算总分 age = userService.getUserAgeById(apply1.getUserId()).getAge(); //修改为已考试 apply1.setIsExam(2); applyService.updateById(apply1); @@ -140,16 +144,25 @@ TrainingRegistration trainingRegistration = new TrainingRegistration(); trainingRegistration.setCandidateNo(examScore.getCandidateNo()); TrainingRegistration trainingRegistration1 = trainingRegistrationService.getOne(Condition.getQueryWrapper(trainingRegistration)); //查询用户年龄,根据年龄计算总分 age = userService.getUserAgeById(Long.parseLong(trainingRegistration1.getUserId())).getAge(); //修改为已考试 trainingRegistration1.setIsExam(2); trainingRegistrationService.updateById(trainingRegistration1); } //设置考试ID examScore.setExamId(examScore.getPapersId().toString()); //设置理论得分 examScore.setTheoryGrade(theoryGrade); //计算总成绩,此时没有实操成绩,总成绩为实操成绩和理论成绩和的一半 examScore.setAllGrade(Math.round(theoryGrade/2)); if (age<=50) { examScore.setAllGrade(Math.round(theoryGrade / 2)); } if (age>50) { examScore.setAllGrade(Integer.parseInt(String.valueOf(Math.round(theoryGrade*0.3)))); } //设置状态 if (theoryGrade>=60){ examScore.setQualified(2); @@ -184,6 +197,8 @@ //查询出成绩数据 ExamScore examScore = baseMapper.getExamScoreInfoByIdCardNo(examScoreExcel.getIdCardNo(),examPaper.getId()); if (null!=examScore) { //查询当前保安信息 UserVO user = userService.getUserAgeById(Long.parseLong(examScore.getUserId())); examScore.setLearnGrade(examScoreExcel.getLearnGrade()); if (examScore.getTheoryGrade() >= 60 && examScore.getLearnGrade() >= 60) { //合格 @@ -191,8 +206,7 @@ //正式考试通过生成保安证编号 if (examPaper.getExamType()==1) { //去生成保安证编号 //查询当前保安信息 User user = userService.getById(examScore.getUserId()); String pre = SecurityPaperUtil.getSecurityPaper(); //查询当前年份已有的保安证编号 int count = userService.getSecurityPaperCount(pre); @@ -213,7 +227,13 @@ examScore.setQualified(1); } //总成绩 examScore.setAllGrade(Math.round((examScore.getTheoryGrade()+examScoreExcel.getLearnGrade())/2)); if (user.getAge()<=50) { examScore.setAllGrade(Math.round((examScore.getTheoryGrade()+examScoreExcel.getLearnGrade())/2)); } if (user.getAge()>50) { examScore.setAllGrade(Integer.parseInt(String.valueOf(Math.round(examScore.getTheoryGrade()*0.3))) + Integer.parseInt(String.valueOf(Math.round(examScoreExcel.getLearnGrade()*0.7)))); } //更新成绩数据 baseMapper.updateById(examScore); } src/main/java/org/springblade/modules/system/mapper/UserMapper.java
@@ -121,4 +121,11 @@ * @return */ List<User> getNotApplyIdList(@Param("deptId")String deptId); /** * 计算保安人员年龄 * @param userId * @return */ UserVO getUserAgeById(@Param("userId") Long userId); } src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
@@ -393,4 +393,9 @@ and (sa.apply_status !=2 or sa.apply_status is null) and bu.dept_id = #{deptId} </select> <!--计算保安人员年龄--> <select id="getUserAgeById" resultType="org.springblade.modules.system.vo.UserVO"> select id,ifnull(TIMESTAMPDIFF(YEAR, birthday, CURDATE()),0) age from blade_user where id = #{userId} </select> </mapper> src/main/java/org/springblade/modules/system/service/IUserService.java
@@ -270,4 +270,11 @@ * @return */ List<User> getNotApplyIdList(String deptId); /** * 计算保安人员年龄 * @param userId * @return */ UserVO getUserAgeById(Long userId); } src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java
@@ -513,4 +513,14 @@ public List<User> getNotApplyIdList(String deptId) { return baseMapper.getNotApplyIdList(deptId); } /** * 计算保安人员年龄 * @param userId * @return */ @Override public UserVO getUserAgeById(Long userId) { return baseMapper.getUserAgeById(userId); } } src/main/java/org/springblade/modules/system/vo/UserVO.java
@@ -107,5 +107,10 @@ */ private String roleAlias; /** * 年齡 */ private Integer age; }