src/main/java/org/springblade/modules/apply/controller/ApplyController.java
@@ -32,6 +32,7 @@ import org.springblade.modules.exam.service.ExamScoreService; import org.springblade.modules.system.entity.User; import org.springblade.modules.system.service.IUserService; import org.springblade.modules.training.vo.TrainingRegistrationVo; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; @@ -604,43 +605,43 @@ /** * 生成考试,报名 * @param ids 报名ids * @param applyVO 报名info */ @PostMapping("/batchExam") public R batchExam(@RequestParam String ids, String examTime, @RequestParam Date startTime, @RequestParam Integer number, 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); public R batchExam(@RequestBody ApplyVO applyVO){ //查询已报名未关联试卷的人员 List<Apply> applyIds = applyService.getApplyIds(applyVO); if (applyIds.size()>0){ //生成考试 ExamPaper examPaper = new ExamPaper(); examPaper.setExamType(1); examPaper.setStartTime(applyVO.getStartTime()); examPaper.setEndTime(applyVO.getEndTime()); Calendar instance = Calendar.getInstance(); instance.setTime(applyVO.getStartTime()); 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); Long sid = examPaper.getId(); String format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(examPaper.getStartTime()); String s = "insert into ksxt_exam(id,exam_name,exam_type,start_time) " + "values(" + "'" + sid + "'" + "," + "'" + examPaper.getExamName() + "'" + "," + "'" + examPaper.getExamType() + "'" + "," +"'" + format + "'" + ")"; FtpUtil.sqlFileUpload(s); Long sid = examPaper.getId(); String format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(examPaper.getStartTime()); String endTimeFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(examPaper.getStartTime()); String s = "insert into ksxt_exam(id,exam_name,exam_type,start_time,end_time) " + "values(" + "'" + sid + "'" + "," + "'" + examPaper.getExamName() + "'" + "," + "'" + examPaper.getExamType() +"'" + "," + "'" + format +"'" + "," +"'" + endTimeFormat + "'" + ")"; FtpUtil.sqlFileUpload(s); //修改报名信息 list.forEach(id ->{ Apply apply = new Apply(); apply.setId(Long.parseLong(id)); //修改报名信息 applyIds.forEach(apply ->{ //如果查出来的是已存在考试信息数据,则跳过 if (null==apply.getExamId()){ apply.setExamId(examPaper.getId()); apply.setCandidateNo(getCandidateNo(apply)); applyService.updateById(apply); @@ -649,50 +650,8 @@ "update sys_apply set exam_id = " + apply.getExamId() + ",candidate_no = " + "'" + apply.getCandidateNo() + "'" + " " +"where id = " + "'" + apply.getId() + "'"; FtpUtil.sqlFileUpload(s1); }); } }else { //查询已报名未关联试卷的人员 List<Long> applyIds = applyService.getApplyIds(number); 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); Long sid = examPaper.getId(); String format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(examPaper.getStartTime()); String s = "insert into ksxt_exam(id,exam_name,exam_type,start_time) " + "values(" + "'" + sid + "'" + "," + "'" + examPaper.getExamName() + "'" + "," + "'" + examPaper.getExamType() + "'" + "," +"'" + format + "'" + ")"; FtpUtil.sqlFileUpload(s); //修改报名信息 applyIds.forEach(id ->{ Apply apply = new Apply(); apply.setId(id); apply.setExamId(examPaper.getId()); apply.setCandidateNo(getCandidateNo(apply)); applyService.updateById(apply); String s1 = "update sys_apply set exam_id = " + apply.getExamId() + ",candidate_no = " + "'" + apply.getCandidateNo() + "'" + " " +"where id = " + "'" + apply.getId() + "'"; FtpUtil.sqlFileUpload(s1); }); } } }); } return null; } src/main/java/org/springblade/modules/apply/mapper/ApplyMapper.java
@@ -88,7 +88,7 @@ * 查询报名人员未关联考试的ids集合 * @return */ List<Long> getApplyIds(@Param("number") Integer number); List<Apply> getApplyIds(@Param("apply") ApplyVO apply); /** * 查询考试人数 src/main/java/org/springblade/modules/apply/mapper/ApplyMapper.xml
@@ -41,8 +41,15 @@ <if test="apply.examinationType!=null and apply.examinationType!=''"> and sa.examination_type = #{apply.examinationType} </if> <if test="apply.applyStatus!=null"> and sa.exam_id is null <if test="apply.deptId!=null and apply.deptId!=''"> and bu.dept_id = #{apply.deptId} </if> <if test="apply.applyStatus==2"> and exam_id is null </if> <if test="apply.applyStatus==4"> and sa.apply_status = 4 and bu.is_apply = 2 </if> <if test="apply.applyExamType!=null"> and apply_exam_type = #{apply.applyExamType} @@ -219,22 +226,57 @@ </select> <!--查询报名人员未关联考试的ids集合--> <select id="getApplyIds" resultType="java.lang.Long"> <select id="getApplyIds" resultType="org.springblade.modules.apply.entity.Apply"> SELECT sa.id sa.id,sa.exam_id FROM sys_apply sa left join ksxt_exam ke on sa.exam_id = ke.id left join blade_user bu on sa.user_id = bu.id left join blade_dept bd on bd.id = bu.dept_id WHERE 1=1 and is_exam = 1 and sa.apply_status = 2 and bu.is_apply = 1 and sa.exam_id is null limit 0,#{number} <if test="apply.realName!=null and apply.realName!=''"> and bu.real_name like concat('%', #{apply.realName},'%') </if> <if test="apply.deptName!=null and apply.deptName!=''"> and bd.dept_name like concat('%', #{apply.deptName},'%') </if> <if test="apply.userId!=null and apply.userId!=''"> and sa.user_id like concat('%', #{apply.userId},'%') </if> <if test="apply.examinationType!=null and apply.examinationType!=''"> and sa.examination_type = #{apply.examinationType} </if> <if test="apply.deptId!=null and apply.deptId!=''"> and bu.dept_id = #{apply.deptId} </if> <if test="apply.applyStatus==2"> and exam_id is null </if> <if test="apply.applyStatus==4"> and sa.apply_status = 4 and bu.is_apply = 2 </if> <if test="apply.applyExamType!=null"> and apply_exam_type = #{apply.applyExamType} </if> <if test="apply.examId!=null"> and sa.exam_id = #{apply.examId} </if> limit #{apply.serialStart},#{apply.serialEnd} </select> <!--查询考试人数--> src/main/java/org/springblade/modules/apply/service/ApplyService.java
@@ -88,7 +88,7 @@ * 查询报名人员未关联考试的ids集合 * @return */ List<Long> getApplyIds(Integer number); List<Apply> getApplyIds(ApplyVO applyVO); /** * 查询报名清册信息 src/main/java/org/springblade/modules/apply/service/impl/ApplyServiceImpl.java
@@ -394,8 +394,10 @@ * @return */ @Override public List<Long> getApplyIds(Integer number) { return baseMapper.getApplyIds(number); public List<Apply> getApplyIds(ApplyVO applyVO) { applyVO.setSerialStart(applyVO.getSerialStart() -1); applyVO.setSerialEnd(applyVO.getSerialEnd() -applyVO.getSerialStart()); return baseMapper.getApplyIds(applyVO); } /** src/main/java/org/springblade/modules/apply/vo/ApplyVO.java
@@ -21,6 +21,7 @@ import org.springblade.modules.apply.entity.Apply; import java.io.Serializable; import java.util.Date; /** * 考试报名实体类 @@ -87,4 +88,35 @@ * 性别 1:男 2:女 */ private Integer sex; /** * 部门id */ private Long deptId; /** * 报名人数 */ private Integer number; /** * 开始序列号 */ private Integer serialStart; /** * 结束序列号 */ private Integer serialEnd; /** * 培训考试开始时间 */ private Date startTime; /** * 培训考试结束时间 */ private Date endTime; } src/main/java/org/springblade/modules/exam/controller/ExamPaperController.java
@@ -250,44 +250,44 @@ @PostMapping("/update-audit") public R updateAudit(@RequestBody ExamPaper examPaper){ examPaper.setAuditTime(new Date()); //审核通过,插入一条考试信息 if (examPaper.getAuditStatus()==1){ examPaper.setAuditTime(new Date()); //修改考试审核状态 examPaperService.updateById(examPaper); String s1 = "update ksxt_exam set audit_status = " + "'" + examPaper.getAuditStatus()+ "'" + ",audit_time = " + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(examPaper.getAuditTime())+ "'" + " " +"where id = " + "'" + examPaper.getId() + "'"; FtpUtil.sqlFileUpload(s1); //查询当前考试已报名的人员培训报名数据集合 List<TrainingRegistration> trainingRegistrations = examPaperService.getTrainList(examPaper.getId()); if (trainingRegistrations.size()>0) { trainingRegistrations.forEach(trainingRegistration -> { //生成准考证号 trainingRegistration.setCandidateNo(getCandidateNo(examPaper)); //修改培训报名信息 trainingRegistrationService.updateById(trainingRegistration); String s2 = "update sys_training_registration set candidate_no = " + "'" + trainingRegistration.getCandidateNo()+ "'" + " " +"where id = " + "'" + trainingRegistration.getId() + "'"; FtpUtil.sqlFileUpload(s2); }); } return R.status(true); }else { examPaper.setAuditTime(new Date()); //修改考试审核状态 examPaperService.updateById(examPaper); String s3 = "update ksxt_exam set audit_status = " + "'" + examPaper.getAuditStatus()+ "'" + ",audit_time = " + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(examPaper.getAuditTime())+ "'" + " " +"where id = " + "'" + examPaper.getId() + "'"; FtpUtil.sqlFileUpload(s3); return R.status(true); //修改考试审核状态 boolean status = examPaperService.updateById(examPaper); //数据同步 String s1 = "update ksxt_exam set audit_status = " + "'" + examPaper.getAuditStatus()+ "'" + ",audit_time = " + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(examPaper.getAuditTime())+ "'" + " " +"where id = " + "'" + examPaper.getId() + "'"; FtpUtil.sqlFileUpload(s1); //查询当前考试已报名的人员培训报名数据集合 List<TrainingRegistration> trainingRegistrations = examPaperService.getTrainList(examPaper.getId()); if (trainingRegistrations.size()>0) { trainingRegistrations.forEach(trainingRegistration -> { //生成准考证号 trainingRegistration.setCandidateNo(getCandidateNo(examPaper)); //审核通过 if (examPaper.getAuditStatus()==1) { trainingRegistration.setAuditStatus(1); } //审核不通过 if (examPaper.getAuditStatus()==2) { trainingRegistration.setAuditStatus(2); } //待审核 if (examPaper.getAuditStatus()==3) { trainingRegistration.setAuditStatus(3); } //修改培训报名信息 trainingRegistrationService.updateById(trainingRegistration); //数据同步 String s2 = "update sys_training_registration set candidate_no = " + "'" + trainingRegistration.getCandidateNo()+ "'" + ",audit_status = " + "'" + trainingRegistration.getAuditStatus() + "'" + " " +"where id = " + "'" + trainingRegistration.getId() + "'"; FtpUtil.sqlFileUpload(s2); }); } //返回 return R.status(status); } /** src/main/java/org/springblade/modules/exam/mapper/ExamPaperMapper.xml
@@ -112,6 +112,7 @@ <if test="paper.examName!=null and paper.examName!=''"> and exam_name = #{paper.examName} </if> order by start_time desc </select> <select id="PagerSubject" resultMap="PagerSubjectAnswer"> @@ -150,7 +151,7 @@ <!--查询考试人员考试信息--> <select id="getExamDetail" resultType="org.springblade.modules.exam.vo.ExamPaperVO"> (select ke.id,ke.exam_name examName,ke.start_time startTime,ke.exam_type examType, ke.id,ke.exam_name examName,ke.start_time startTime,ke.end_time endTime,ke.exam_type examType, sa.candidate_no candidateNo,sa.id applyId, bu.real_name realName,bu.sex,bu.cardid idCardNo from @@ -172,7 +173,7 @@ union all (select ke.id,ke.exam_name examName,ke.start_time startTime,ke.exam_type examType, ke.id,ke.exam_name examName,ke.start_time startTime,ke.end_time endTime,ke.exam_type examType, str.candidate_no candidateNo,str.id applyId, bu.real_name realName,bu.sex,bu.cardid idCardNo from src/main/java/org/springblade/modules/training/controller/TrainingRegistrationController.java
@@ -548,8 +548,7 @@ }else { //查询已报名的人员前 number 个 //查询已报名未关联试卷的人员,同步报名列表 List<Long> applyIds = trainingRegistrationService.getTrainIds(trainingRegistrationVo); System.out.println("applyIds = " + applyIds); List<TrainingRegistration> applyIds = trainingRegistrationService.getTrainIds(trainingRegistrationVo); if (applyIds.size()>0){ //生成考试 ExamPaper examPaper = new ExamPaper(); @@ -582,19 +581,19 @@ //修改报名信息 applyIds.forEach(id ->{ TrainingRegistration trainingRegistration = new TrainingRegistration(); trainingRegistration.setId(id); trainingRegistration.setTrainExamId(examPaper.getId().toString()); //提交考试审核 trainingRegistration.setAuditStatus(3); trainingRegistrationService.updateById(trainingRegistration); applyIds.forEach(trainingRegistration ->{ if(null==trainingRegistration.getTrainExamId() && trainingRegistration.getTrainExamId()=="") { trainingRegistration.setTrainExamId(examPaper.getId().toString()); //提交考试审核 trainingRegistration.setAuditStatus(3); trainingRegistrationService.updateById(trainingRegistration); String s1 = "update sys_training_registration set train_exam_id = " + "'" + trainingRegistration.getTrainExamId()+ "'" +",audit_status = " + "'" + trainingRegistration.getAuditStatus()+ "'" + " " +"where id = " + "'" + trainingRegistration.getId() + "'"; FtpUtil.sqlFileUpload(s1); String s1 = "update sys_training_registration set train_exam_id = " + "'" + trainingRegistration.getTrainExamId() + "'" + ",audit_status = " + "'" + trainingRegistration.getAuditStatus() + "'" + " " + "where id = " + "'" + trainingRegistration.getId() + "'"; FtpUtil.sqlFileUpload(s1); } }); } } src/main/java/org/springblade/modules/training/mapper/TrainingRegistrationMapper.java
@@ -57,5 +57,5 @@ * 查询已报名培训公司未关联考试的人员 * @return */ List<Long> getTrainIds(@Param("trainingRegistration") TrainingRegistrationVo trainingRegistration); List<TrainingRegistration> getTrainIds(@Param("trainingRegistration") TrainingRegistrationVo trainingRegistration); } src/main/java/org/springblade/modules/training/mapper/TrainingRegistrationMapper.xml
@@ -152,9 +152,9 @@ </select> <!--查询已报名培训公司未关联考试的报名信息--> <select id="getTrainIds" resultType="java.lang.Long"> <select id="getTrainIds" resultType="org.springblade.modules.training.entity.TrainingRegistration"> SELECT sr.id sr.id,sr.train_exam_id trainExamId FROM sys_training_registration sr LEFT JOIN src/main/java/org/springblade/modules/training/service/TrainingRegistrationService.java
@@ -61,5 +61,5 @@ * 查询已报名培训公司未关联考试的人员 * @return */ List<Long> getTrainIds(TrainingRegistrationVo trainingRegistrationVo); List<TrainingRegistration> getTrainIds(TrainingRegistrationVo trainingRegistrationVo); } src/main/java/org/springblade/modules/training/service/impl/TrainingRegistrationServiceImpl.java
@@ -275,7 +275,7 @@ * @return */ @Override public List<Long> getTrainIds(TrainingRegistrationVo trainingRegistrationVo) { public List<TrainingRegistration> getTrainIds(TrainingRegistrationVo trainingRegistrationVo) { trainingRegistrationVo.setSerialStart(trainingRegistrationVo.getSerialStart() -1); trainingRegistrationVo.setSerialEnd(trainingRegistrationVo.getSerialEnd() -trainingRegistrationVo.getSerialStart()); return baseMapper.getTrainIds(trainingRegistrationVo);