智慧保安后台管理-外网项目备份
Administrator
2021-12-20 9f1351926af2eab8253fb163a02fa75da77f9f64
成绩修改新增批量审批
4 files modified
175 ■■■■■ changed files
src/main/java/org/springblade/modules/exam/controller/ScoreAuditRecordsController.java 9 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/exam/service/ScoreAuditRecordsService.java 6 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/exam/service/impl/ScoreAuditRecordsServiceImpl.java 155 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/exam/vo/ScoreAuditRecordsVO.java 5 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/exam/controller/ScoreAuditRecordsController.java
@@ -138,5 +138,14 @@
        return R.status(scoreAuditRecordsService.applyAudit(scoreAuditRecords));
    }
    /**
     * 批量申请审核
     * @param scoreAuditRecords 考试成绩修改申请记录审核
     */
    @PostMapping("/batchAudit")
    public R batchAudit(@RequestBody ScoreAuditRecordsVO scoreAuditRecords){
        return R.status(scoreAuditRecordsService.batchAudit(scoreAuditRecords));
    }
}
src/main/java/org/springblade/modules/exam/service/ScoreAuditRecordsService.java
@@ -35,4 +35,10 @@
     * @return
     */
    boolean applyAudit(ScoreAuditRecords scoreAuditRecords);
    /**
     * 批量申请审核
     * @param scoreAuditRecords 考试成绩修改申请记录审核
     */
    boolean batchAudit(ScoreAuditRecordsVO scoreAuditRecords);
}
src/main/java/org/springblade/modules/exam/service/impl/ScoreAuditRecordsServiceImpl.java
@@ -218,4 +218,159 @@
        //返回
        return true;
    }
    /**
     * 批量申请审核
     * @param scoreAuditRecords 考试成绩修改申请记录审核
     */
    @Override
    public boolean batchAudit(ScoreAuditRecordsVO scoreAuditRecords) {
        List<String> list = Arrays.asList(scoreAuditRecords.getIds().split(","));
        for (String id : list) {
            //审核
            ScoreAuditRecords records = this.getById(id);
            //如果是审核通过,则修改考试成绩,并改变培训考试状态,用户培训状态
            if (scoreAuditRecords.getStatus()==2) {
                //查询考试成绩
                ExamScore examScore = examScoreService.getById(records.getExamScoreId());
                //1.修改培训报名考试状态
                TrainingRegistration trainingRegistration = trainingRegistrationService.getById(examScore.getApplyId());
                //已考试
                trainingRegistration.setIsExam(2);
                //修改
                trainingRegistrationService.updateById(trainingRegistration);
                //2.修改用户培训考试状态
                User user = userService.getById(examScore.getUserId());
                //修改为考试结束状态
                user.setIsTrain(3);
                //3.修改考试理论成绩
                examScore.setTheoryGrade(records.getNewScore());
                //查询用户年龄
                UserVO userVO = userService.getUserAgeById(Long.parseLong(examScore.getUserId()));
                //判断实操成绩是否为空
                if (null == examScore.getLearnGrade()) {
                    //如果为空,之间修改理论成绩和总成绩
                    //总成绩
                    if (userVO.getAge() <= 50) {
                        examScore.setAllGrade(Math.round(examScore.getTheoryGrade()/2));
                    }
                    if (userVO.getAge() > 50) {
                        examScore.setAllGrade(Math.round(examScore.getTheoryGrade()/2));
                    }
                    if (examScore.getTheoryGrade() >= 60) {
                        //实操成绩暂未录入
                        examScore.setQualified(2);
                    }else {
                        //不合格
                        examScore.setQualified(1);
                    }
                    //更新保安数据
                    userService.updateById(user);
                    //更新成绩数据
                    examScoreService.updateById(examScore);
                    //内网培训报名,人员,成绩数据同步
                    String s1 =
                        "update exam_score set theory_grade = " + "'" + examScore.getTheoryGrade() + "'" +
                            ",all_grade = " + "'" + examScore.getAllGrade() + "'" +
                            ",qualified = " + "'" + examScore.getQualified() + "'" +
                            " " + "where id = " + "'" + examScore.getId() + "';"+
                        "update sys_training_registration set is_exam = " + "'" + trainingRegistration.getIsExam() + "'" +
                            " " + "where id = " + "'" + trainingRegistration.getId() + "';"+
                        "update blade_user set is_train = " + "'" +  user.getIsTrain() + "'" +
                            " " + "where id = " + "'" + user.getId() + "'";
                    FtpUtil.sqlFileUpload(s1);
                } else {
                    //实操成绩不为空
                    if (examScore.getTheoryGrade() >= 60 && examScore.getLearnGrade() >= 60) {
                        //合格
                        examScore.setQualified(0);
                        //设置为未制证的状态
                        user.setUserType(7);
                        //如果已有保安证编号,不更保安证编号信息
                        if (null == user.getSecuritynumber() || user.getSecuritynumber().equals("")) {
                            //去生成保安证编号
                            String pre = SecurityPaperUtil.getSecurityPaper();
                            //查询当前年份已有的保安证编号
                            int count = userService.getSecurityPaperCount(pre);
                            String result = null;
                            if (count == 0) {
                                result = pre + "00001";
                            } else {
                                //格式化
                                DecimalFormat decimalFormat = new DecimalFormat("00000");
                                count++;
                                result = pre + (decimalFormat.format(count));
                            }
                            user.setSecuritynumber(result);
                            //发证日期
//                    user.setPaperTime(new Date());
                            //修改为持证保安
                            user.setHold("1");
                            //更新保安数据
                            userService.updateById(user);
//                        String s1 =
//                            "update blade_user set hold = " + "'" + user.getHold() + "'" +
//                                ",securitynumber = " + "'" + user.getSecuritynumber() + "'" +
//                                ",is_train = " + "'" + user.getIsTrain() + "'" +
//                                " " + "where id = " + "'" + user.getId() + "'";
//                        FtpUtil.sqlFileUpload(s1);
                        }
                    } else {
                        //不合格
                        examScore.setQualified(1);
                    }
                    //总成绩
                    if (userVO.getAge() <= 50) {
                        if (null != examScore.getTheoryGrade()) {
                            examScore.setAllGrade(Math.round((examScore.getTheoryGrade() + examScore.getLearnGrade()) / 2));
                        } else {
                            examScore.setAllGrade(Math.round(examScore.getLearnGrade() / 2));
                        }
                    }
                    if (userVO.getAge() > 50) {
                        if (null != examScore.getTheoryGrade()) {
                            examScore.setAllGrade(Integer.parseInt(String.valueOf(Math.round(examScore.getTheoryGrade() * 0.5)))
                                + Integer.parseInt(String.valueOf(Math.round(examScore.getLearnGrade() * 0.5))));
                        } else {
                            examScore.setAllGrade(Math.round(examScore.getLearnGrade() / 2));
                        }
                    }
                    //更新成绩数据
                    examScoreService.updateById(examScore);
                    //内网培训报名,人员,成绩数据同步
                    String s1 =
                        "update exam_score set theory_grade = " + "'" + examScore.getTheoryGrade() + "'" +
                            ",all_grade = " + "'" + examScore.getAllGrade() + "'" +
                            ",qualified = " + "'" + examScore.getQualified() + "'" +
                            " " + "where id = " + "'" + examScore.getId() + "';"+
                        "update sys_training_registration set is_exam = " + "'" + trainingRegistration.getIsExam() + "'" +
                            " " + "where id = " + "'" + trainingRegistration.getId() + "';"+
                        "update blade_user set hold = " + "'" + user.getHold() + "'" +
                            ",securitynumber = " + "'" + user.getSecuritynumber() + "'" +
                            ",user_type = " + "'" + user.getUserType() + "'" +
                            ",is_train = " + "'" + user.getIsTrain() + "'" +
                            " " + "where id = " + "'" + user.getId() + "'";
                    FtpUtil.sqlFileUpload(s1);
                }
            }
            //审核时间
            records.setAuditTime(new Date());
            if (null!=scoreAuditRecords.getAuditDetail() && !scoreAuditRecords.getAuditDetail().equals("")){
                records.setAuditDetail(scoreAuditRecords.getAuditDetail());
            }
            records.setAuditUser(scoreAuditRecords.getAuditUser());
            records.setStatus(scoreAuditRecords.getStatus());
            //修改申请记录信息
            baseMapper.updateById(records);
        }
        //返回
        return true;
    }
}
src/main/java/org/springblade/modules/exam/vo/ScoreAuditRecordsVO.java
@@ -76,4 +76,9 @@
     */
    private String applyUnitName;
    /**
     * 申请ids
     */
    private String ids;
}