| | |
| | | String year = format.substring(2,4); |
| | | String quarter = null; |
| | | String months = null; |
| | | String days = null; |
| | | int month = Integer.parseInt(format.substring(5,7)); |
| | | int day = Integer.parseInt(format.substring(8,10)); |
| | | String days = null; |
| | | if (month>0 && month<=3){ |
| | | quarter = "C"; |
| | | } |
| | |
| | | } |
| | | if (day<=9){ |
| | | days = "0" + day; |
| | | }else { |
| | | days = ""+day; |
| | | } |
| | | String type = null; |
| | | if (examPaper.getExamType()==1){ |
| | | type = "z"; |
| | | } |
| | | if (examPaper.getExamType()==2){ |
| | | type = "m"; |
| | | } |
| | | //获取考试名称前缀,去除数字,字母 |
| | | String examName |
| | | = examPaper.getExamName().replaceAll("\\s*", "").replaceAll("[^(\\u4e00-\\u9fa5)]", "").substring(0,1); |
| | | |
| | | //前缀 = 年的最后两位 + 月份(两位) + 考试名称(中文拼音)首字母(去除数字,字母) + 考试类型 + 季度拼音首字母大写(春季就是 C) |
| | | // String result = year |
| | | // + months |
| | | // + toFirstChar(examName).toUpperCase() |
| | | // + examPaper.getExamType() |
| | | // + quarter; |
| | | |
| | | //前缀 = 年的最后两位 + 月份(两位) + 日 (两位) + 考试类型 正式考试 z 模拟考试 m |
| | | String result = year |
| | | + months |
| | | + toFirstChar(examName).toUpperCase() |
| | | + examPaper.getExamType() |
| | | + quarter; |
| | | + days |
| | | + type; |
| | | //查询是当前前缀已生成的数量 |
| | | int count = applyService.getCandidateNoCount(result); |
| | | if (count==0){ |
| | |
| | | return R.data(200,"报名成功"); |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * 生成试卷,报名 |
| | | * @param ids 报名ids |
| | | */ |
| | | @PostMapping("/batchExam") |
| | | public R batchExam(@RequestParam String ids, |
| | | @RequestParam String examTime, |
| | | @RequestParam Date startTime, |
| | | @RequestParam Date endTime){ |
| | | if (!ids.equals("")){ |
| | | List<String> list = Arrays.asList(ids.split(",")); |
| | | if (list.size()>0){ |
| | | ExamPaper examPaper = new ExamPaper(); |
| | | examPaper.setExamTime(examTime); |
| | | examPaper.setExamType(1); |
| | | examPaper.setStartTime(startTime); |
| | | examPaper.setEndTime(endTime); |
| | | Calendar instance = Calendar.getInstance(); |
| | | instance.setTime(startTime); |
| | | int year = instance.get(Calendar.YEAR); |
| | | int month = instance.get(Calendar.MONTH)+1; |
| | | int day = instance.get(Calendar.DAY_OF_MONTH); |
| | | String examName = year + "年" + month+ "月"+ day +"日" +"保安员证考试"; |
| | | examPaper.setExamName(examName); |
| | | //生成考试 |
| | | examPaperService.save(examPaper); |
| | | //修改报名信息 |
| | | list.forEach(id ->{ |
| | | Apply apply = new Apply(); |
| | | apply.setId(Long.parseLong(id)); |
| | | apply.setExamId(examPaper.getId()); |
| | | apply.setCandidateNo(getCandidateNo(apply)); |
| | | applyService.updateById(apply); |
| | | }); |
| | | } |
| | | |
| | | }else { |
| | | //查询已报名未关联试卷的人员 |
| | | List<Long> applyIds = applyService.getApplyIds(); |
| | | if (applyIds.size()>0){ |
| | | //生成考试 |
| | | ExamPaper examPaper = new ExamPaper(); |
| | | examPaper.setExamTime(examTime); |
| | | examPaper.setExamType(1); |
| | | examPaper.setStartTime(startTime); |
| | | examPaper.setEndTime(endTime); |
| | | Calendar instance = Calendar.getInstance(); |
| | | instance.setTime(startTime); |
| | | int year = instance.get(Calendar.YEAR); |
| | | int month = instance.get(Calendar.MONTH)+1; |
| | | int day = instance.get(Calendar.DAY_OF_MONTH); |
| | | String examName = year + "年" + month+ "月"+ day +"日" +"保安员证考试"; |
| | | examPaper.setExamName(examName); |
| | | //生成考试 |
| | | examPaperService.save(examPaper); |
| | | //修改报名信息 |
| | | applyIds.forEach(id ->{ |
| | | Apply apply = new Apply(); |
| | | apply.setId(id); |
| | | apply.setExamId(examPaper.getId()); |
| | | apply.setCandidateNo(getCandidateNo(apply)); |
| | | applyService.updateById(apply); |
| | | }); |
| | | } |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | } |