智慧保安后台管理-外网项目备份
Administrator
2021-11-12 54ef548d58771a5ceaf8e83543bf76d80d051fd7
培训导入,成绩导入新增测试导入,用户查询修改
4 files modified
88 ■■■■■ changed files
src/main/java/org/springblade/modules/exam/controller/ScoreAuditRecordsController.java 1 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/exam/service/impl/ExamScoreServiceImpl.java 40 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/mapper/UserMapper.xml 3 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/training/service/impl/TrainingRegistrationServiceImpl.java 44 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/exam/controller/ScoreAuditRecordsController.java
@@ -139,5 +139,4 @@
    }
}
src/main/java/org/springblade/modules/exam/service/impl/ExamScoreServiceImpl.java
@@ -358,6 +358,46 @@
        }
    }
//    /**
//     * 导入实操成绩--测试
//     * @param examScoreExcelList
//     * @param isCovered 是否覆盖
//     */
//    @Override
//    public void importExamScore(List<ExamScoreExcel> examScoreExcelList, Boolean isCovered) {
//        if (examScoreExcelList.size()>0){
//            List<Object> errorList = new ArrayList<>();
//            //导入状态,默认为true ,如果有一个出现问题则为 false
//            AtomicBoolean status = new AtomicBoolean(true);
//            //遍历
//            examScoreExcelList.forEach(examScoreExcel -> {
////                测试生成考试成绩
//                ExamScore examScore = new ExamScore();
//                examScore.setCandidateNo(examScoreExcel.getCandidateNo());
//                examScore.setQualified(2);
//                //根据身份证号查询用户
//                User user = userService.getUserInfoByIdCardNo(examScoreExcel.getIdCardNo());
//                examScore.setUserId(user.getId().toString());
//                examScore.setExamId("120");
//                //根据准考证号查询报名id
//                TrainingRegistration trainingRegistration = new TrainingRegistration();
//                trainingRegistration.setCandidateNo(examScoreExcel.getCandidateNo());
//                TrainingRegistration one = trainingRegistrationService.getOne(Condition.getQueryWrapper(trainingRegistration));
//                examScore.setApplyId(one.getId());
//                examScore.setLearnGrade(examScoreExcel.getLearnGrade());
//                examScore.setAllGrade(examScore.getLearnGrade()/2);
//                //新增
//                this.save(examScore);
//            });
//            //如果所有数据导入有一个异常
//            if (!status.get()){
//                String errorAccount = StringUtils.join(errorList, "\\\n");
//                throw new ServiceException("用户:["+errorAccount+"]实操成绩导入失败!账号与准考证号不匹配!");
//            }
//        }
//    }
    @Override
    public List<Map<String, Object>> scoreStatistics(String deptid,String jurisdiction) {
        return baseMapper.scoreStatistics(deptid,jurisdiction);
src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
@@ -109,6 +109,9 @@
        <if test="user.trainingUnitId!=null and user.trainingUnitId != ''">
            and str.training_unit_id = #{user.trainingUnitId}
        </if>
        <if test="user.deptName!=null and user.deptName != ''">
            and  bd.dept_name like concat('%', #{user.deptName},'%')
        </if>
        <if test="user.jurisdiction!=null and user.jurisdiction != '' and user.jurisdiction!='1372091709474910209'">
            and (sj.id = #{user.jurisdiction} or sj.parent_id = #{user.jurisdiction})
        </if>
src/main/java/org/springblade/modules/training/service/impl/TrainingRegistrationServiceImpl.java
@@ -4,6 +4,8 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.AllArgsConstructor;
import org.apache.commons.lang3.StringUtils;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.tool.api.R;
import org.springblade.modules.FTP.FtpUtil;
@@ -24,7 +26,9 @@
import org.springframework.transaction.annotation.Transactional;
import java.text.DecimalFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -83,8 +87,33 @@
    @Transactional(rollbackFor = Exception.class)
    public void importTrainingRegistration(List<TrainingRegistrationExcel> data, Boolean isCovered,Long examId) {
        if (data.size()>0){
            List<String> list = new ArrayList<>();
            data.forEach(trainingRegistrationExcel -> {
                TrainingRegistration trainingRegistration = new TrainingRegistration();
//                User user = userService.getUserInfoByIdCardNo(trainingRegistrationExcel.getIdCardNo());
//                //通过培训公司查组织机构id
//                if (null!=trainingRegistrationExcel.getDeptName() && trainingRegistrationExcel.getDeptName()!=""){
//                    trainingRegistration.setTrainingUnitId(userDeptService.selectIn(trainingRegistrationExcel.getDeptName()));
//                }
//                trainingRegistration.setIsExam(2);
//                trainingRegistration.setCancel(1);
//                trainingRegistration.setTrainingTime(new Date());
//                trainingRegistration.setAuditStatus(1);
//                try {
//                    trainingRegistration.setTrainingTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse("2021-10-07 15:13:12"));
//                } catch (ParseException e) {
//                    e.printStackTrace();
//                }
//                ExamPaper paper = examPaperService.getById(120);
//                //生成准考证号
//                trainingRegistration.setCandidateNo(getCandidateNo(paper));
//                trainingRegistration.setTrainExamId(paper.getId().toString());
//                if (null!=user) {
//                    trainingRegistration.setUserId(user.getId().toString());
//                    this.save(trainingRegistration);
//                }else {
//                    list.add(trainingRegistrationExcel.getIdCardNo());
//                }
                //通过身份证号
                if (null!=trainingRegistrationExcel.getIdCardNo() && trainingRegistrationExcel.getIdCardNo()!=""){
                    User user = userService.getUserInfoByIdCardNo(trainingRegistrationExcel.getIdCardNo());
@@ -107,7 +136,7 @@
                            //审核通过
                            if (examPaper.getAuditStatus()==1){
                                //生成准考证号
                                trainingRegistration.setCandidateNo(getCandidateNo(trainingRegistration));
                                trainingRegistration.setCandidateNo(getCandidateNo(examPaper));
                                trainingRegistration.setAuditStatus(1);
                            }
                            //考试审核不通过
@@ -142,7 +171,7 @@
                                //审核通过
                                if (examPaper.getAuditStatus()==1){
                                    //生成准考证号
                                    trainingRegistration.setCandidateNo(getCandidateNo(trainingRegistration));
                                    trainingRegistration.setCandidateNo(getCandidateNo(examPaper));
                                }
                            }
                            //新增报名
@@ -157,17 +186,18 @@
                    }
                }
            });
            String errorAccount = StringUtils.join(list, "\\\n");
            throw new ServiceException("未导入成功"+errorAccount);
        }
    }
    /**
     * 生成准考证号码
     * @param trainingRegistration 考试报名信息对象
     * @param examPaper 考试报名信息对象
     */
    private String getCandidateNo(TrainingRegistration trainingRegistration) {
    private String getCandidateNo(ExamPaper examPaper) {
        //获取考试信息
        ExamPaper examPaper = examPaperService.getById(trainingRegistration.getTrainExamId());
        if (null!=examPaper.getStartTime()){
            String format = new SimpleDateFormat("yyyy-MM-dd").format(examPaper.getStartTime());
            String year = format.substring(2,4);
@@ -206,8 +236,8 @@
                type = "m";
            }
            //获取考试名称前缀,去除数字,字母
            String examName
                = examPaper.getExamName().replaceAll("\\s*", "").replaceAll("[^(\\u4e00-\\u9fa5)]", "").substring(0,1);
//            String examName
//                = examPaper.getExamName().replaceAll("\\s*", "").replaceAll("[^(\\u4e00-\\u9fa5)]", "").substring(0,1);
            //前缀 = 年的最后两位  + 月份(两位) + 考试名称(中文拼音)首字母(去除数字,字母) + 考试类型 + 季度拼音首字母大写(春季就是 C)
//            String result = year