src/main/java/org/springblade/modules/exam/controller/ExamScoreController.java
@@ -115,6 +115,25 @@ return R.status(examScoreService.updateById(examScore)); } /** * 缺考标记修改 * * @param examScore 考试成绩信息对象 */ @PostMapping("/updateAbsent") public R updateAbsent(@RequestBody ExamScore examScore) { examScore.setQualified(3); boolean status = examScoreService.updateByIdAndQualifiee(examScore); //内网数据推送 String s1 = "update exam_score set qualified = " + "'" + examScore.getQualified() + "'" + " " + "where id = " + "'" + examScore.getId() + "'"; FtpUtil.sqlFileUpload(s1); return R.status(status); } /** * 修改总成绩 * src/main/java/org/springblade/modules/exam/mapper/ExamPaperMapper.xml
@@ -190,6 +190,7 @@ and is_exam = 1 and ke.audit_status = 1 and str.cancel = 1 and str.audit_status = 1 ) </select> src/main/java/org/springblade/modules/exam/mapper/ExamScoreMapper.java
@@ -50,4 +50,11 @@ List<Map<String,Object>> scoreStatistics(String deptid,String jurisdiction); List<Map<String,Object>> scoreStatisticssc(String deptid,String jurisdiction); /** * 修改成绩信息 * @param examScore * @return */ int updateByIdAndQualifiee(@Param("examScore") ExamScore examScore); } src/main/java/org/springblade/modules/exam/mapper/ExamScoreMapper.xml
@@ -228,4 +228,9 @@ bu.cardid = #{idCardNo} and es.exam_id = #{examId} </select> <!--修改成绩信息--> <update id="updateByIdAndQualifiee"> update exam_score set qualified = #{examScore.qualified} where id = #{examScore.id} </update> </mapper> src/main/java/org/springblade/modules/exam/service/ExamScoreService.java
@@ -46,4 +46,11 @@ List<Map<String,Object>> scoreStatistics(String deptid,String jurisdiction); List<Map<String,Object>> scoreStatisticssc(String deptid,String jurisdiction); /** * 修改成绩信息 * @param examScore * @return */ boolean updateByIdAndQualifiee(ExamScore examScore); } src/main/java/org/springblade/modules/exam/service/impl/ExamScoreServiceImpl.java
@@ -319,4 +319,18 @@ public List<Map<String, Object>> scoreStatisticssc(String deptid,String jurisdiction) { return baseMapper.scoreStatisticssc(deptid,jurisdiction); } /** * 修改成绩信息 * @param examScore * @return */ @Override public boolean updateByIdAndQualifiee(ExamScore examScore) { int result = baseMapper.updateByIdAndQualifiee(examScore); if (result>0){ return true; } return false; } } src/main/java/org/springblade/modules/training/controller/TrainingRegistrationController.java
@@ -83,6 +83,8 @@ trainingRegistration.setCancel(1); //默认为未考试状态 trainingRegistration.setIsExam(1); //未提交考试审核 trainingRegistration.setAuditStatus(4); trainingRegistration.setTrainingTime(new Date()); //报名 trainingRegistrationService.save(trainingRegistration); @@ -105,6 +107,8 @@ trainingRegistration.setCancel(1); //默认为未考试状态 trainingRegistration.setIsExam(1); //未提交考试审核 trainingRegistration.setAuditStatus(4); trainingRegistration.setTrainingTime(new Date()); //报名 trainingRegistrationService.save(trainingRegistration); @@ -129,13 +133,14 @@ private void saveTrainingRegistration(TrainingRegistration trainingRegistration,User user1){ String formatStr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); Long id = trainingRegistration.getId(); String s = "insert into sys_training_registration(id,training_unit_id,training_time,cancel,user_id,is_exam) " + String s = "insert into sys_training_registration(id,training_unit_id,training_time,cancel,user_id,is_exam,audit_status) " + "values(" + "'" + id + "'" + "," + "'" + trainingRegistration.getTrainingUnitId() +"'" + "," + "'" + formatStr +"'" + "," + "'" + trainingRegistration.getCancel() + "'" + "," + "'" + trainingRegistration.getUserId() + "'" + "," +"'" + trainingRegistration.getIsExam() + "'" + ");" + + "," + "'" + trainingRegistration.getIsExam() + "'" + "," +"'" + trainingRegistration.getAuditStatus() + "'" + ");" + "update blade_user set is_train = " + user1.getIsTrain() + " " +"where id = " + "'" + user1.getId() + "'"; FtpUtil.sqlFileUpload(s); } @@ -189,11 +194,85 @@ /** * 审核通过 * @param trainingRegistration 考试报名信息对象 */ @PostMapping("/auditSucess") public R auditSucess(@RequestBody TrainingRegistration trainingRegistration){ //查询人员信息 User user = userService.getById(trainingRegistration.getUserId()); boolean status = false; if (null!=user){ //修改为已报名状态 user.setIsTrain(1); userService.updateById(user); trainingRegistration.setAuditStatus(1); trainingRegistration.setCancel(1); status = trainingRegistrationService.updateById(trainingRegistration); //数据同步 cancelTrainingRegistrationSync(trainingRegistration,user); } return R.data(status); } /** * 取消报名,并设置为审核不通过 * @param trainingRegistration 考试报名信息对象 */ @PostMapping("/cancelTrainAudit") public R cancelApplyAudit(@RequestBody TrainingRegistration trainingRegistration){ //查询人员是否已报名 User user = userService.getById(trainingRegistration.getUserId()); if(null==user.getIsTrain()){ trainingRegistration.setCancel(2); trainingRegistration.setAuditStatus(2); boolean status = trainingRegistrationService.updateById(trainingRegistration); //修改保安报名状态 user.setIsTrain(2); userService.updateById(user); //数据同步 cancelTrainingRegistrationSync(trainingRegistration,user); if (status){ return R.data(200,"取消报名成功"); } }else { if(user.getIsTrain()==1){ trainingRegistration.setCancel(2); trainingRegistration.setAuditStatus(2); boolean status = trainingRegistrationService.updateById(trainingRegistration); //修改保安报名状态 user.setIsTrain(2); userService.updateById(user); //数据同步 cancelTrainingRegistrationSync(trainingRegistration,user); if (status){ return R.data(200,"取消报名成功"); } }else { return R.data(201,"尚未报名"); } } return R.data(202,"取消报名失败"); } /** * 取消报名同步 */ private void cancelTrainingRegistrationSync(TrainingRegistration trainingRegistration,User user){ String s = "update sys_training_registration set cancel = " + trainingRegistration.getCancel() + " " +"where id = " + "'" + trainingRegistration.getId() + "';" + "update sys_training_registration set cancel = " + trainingRegistration.getCancel() + ",audit_status = " + "'" + trainingRegistration.getAuditStatus() + "'" + " " +"where id = " + "'" + trainingRegistration.getId() + "';" + "update blade_user set is_train = " + user.getIsTrain() + " " +"where id = " + "'" + user.getId() + "'"; FtpUtil.sqlFileUpload(s); } @@ -213,6 +292,8 @@ trainingRegistration1.setCancel(1); //默认为未考试状态 trainingRegistration1.setIsExam(1); //未提交考试审核 trainingRegistration.setAuditStatus(4); trainingRegistration1.setTrainingTime(new Date()); trainingRegistration1.setUserId(userId); trainingRegistration1.setTrainingUnitId(trainingRegistration.getTrainingUnitId()); @@ -229,6 +310,8 @@ trainingRegistration1.setCancel(1); //默认为未考试状态 trainingRegistration1.setIsExam(1); //未提交考试审核 trainingRegistration.setAuditStatus(4); trainingRegistration1.setTrainingTime(new Date()); trainingRegistration1.setUserId(userId); trainingRegistration1.setTrainingUnitId(trainingRegistration.getTrainingUnitId()); @@ -456,32 +539,25 @@ /** * 生成试卷,报名 * @param ids 报名ids * @param startTime 考试开始时间 * @param number 报名人数 * @param endTime 截止时间 * @param serialStart 报名序号开始 * @param serialEnd 报名序号结束 * @param trainingRegistrationVo 考试开始时 */ @PostMapping("/batchExam") public R batchExam(@RequestParam String ids, String examTime, @RequestParam Date startTime, @RequestParam Integer number, @RequestParam Date endTime, @RequestParam Integer serialStart, @RequestParam Integer serialEnd ){ if (!ids.equals("")){ List<String> list = Arrays.asList(ids.split(",")); if (list.size()>0){ public R batchExam(@RequestBody TrainingRegistrationVo trainingRegistrationVo){ if (trainingRegistrationVo.getNumber()==0){ return R.data("报名人数不能小于1人"); }else { //查询已报名的人员前 number 个 //查询已报名未关联试卷的人员,同步报名列表 List<Long> applyIds = trainingRegistrationService.getTrainIds(trainingRegistrationVo); System.out.println("applyIds = " + applyIds); if (applyIds.size()>0){ //生成考试 ExamPaper examPaper = new ExamPaper(); // examPaper.setExamTime(examTime); examPaper.setExamType(2); examPaper.setStartTime(startTime); examPaper.setEndTime(endTime); examPaper.setStartTime(trainingRegistrationVo.getStartTime()); examPaper.setEndTime(trainingRegistrationVo.getEndTime()); Calendar instance = Calendar.getInstance(); instance.setTime(startTime); instance.setTime(trainingRegistrationVo.getStartTime()); int year = instance.get(Calendar.YEAR); int month = instance.get(Calendar.MONTH)+1; int day = instance.get(Calendar.DAY_OF_MONTH); @@ -504,71 +580,22 @@ "," +"'" + examPaper.getAuditStatus() + "'" + ")"; FtpUtil.sqlFileUpload(s); //修改报名信息 list.forEach(id ->{ applyIds.forEach(id ->{ TrainingRegistration trainingRegistration = new TrainingRegistration(); trainingRegistration.setId(Long.parseLong(id)); trainingRegistration.setId(id); 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); }); } }else { if (number==0){ return R.data("报名人数不能小于1人"); }else { //查询已报名的人员前 number 个 //查询已报名未关联试卷的人员 List<Long> applyIds = trainingRegistrationService.getTrainIds(number,serialStart,serialEnd); if (applyIds.size()>0){ //生成考试 ExamPaper examPaper = new ExamPaper(); // examPaper.setExamTime(examTime); examPaper.setExamType(2); 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); //待审核 examPaper.setAuditStatus(3); //生成考试 examPaperService.save(examPaper); 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.getEndTime()); String s = "insert into ksxt_exam(id,exam_name,exam_type,start_time,end_time,audit_status) " + "values(" + "'" + sid + "'" + "," + "'" + examPaper.getExamName() + "'" + "," + "'" + examPaper.getExamType() +"'" + "," + "'" + format +"'" + "," + "'" + endTimeFormat +"'" + "," +"'" + examPaper.getAuditStatus() + "'" + ")"; FtpUtil.sqlFileUpload(s); //修改报名信息 applyIds.forEach(id ->{ TrainingRegistration trainingRegistration = new TrainingRegistration(); trainingRegistration.setId(id); trainingRegistration.setTrainExamId(examPaper.getId().toString()); trainingRegistrationService.updateById(trainingRegistration); String s1 = "update sys_training_registration set train_exam_id = " + "'" + trainingRegistration.getTrainExamId()+ "'" + " " +"where id = " + "'" + trainingRegistration.getId() + "'"; FtpUtil.sqlFileUpload(s1); }); } } } return null; src/main/java/org/springblade/modules/training/entity/TrainingRegistration.java
@@ -115,4 +115,10 @@ @TableField("candidate_no") private String candidateNo; /** * 审核状态 1:审核通过 2:未通过审核 3:已提交审核 4:未提交审核 */ @TableField("audit_status") private Integer auditStatus; } src/main/java/org/springblade/modules/training/mapper/TrainingRegistrationMapper.java
@@ -57,7 +57,5 @@ * 查询已报名培训公司未关联考试的人员 * @return */ List<Long> getTrainIds(@Param("number") Integer number, @Param("serialStart")Integer serialStart, @Param("serialEnd")Integer serialEnd); List<Long> getTrainIds(@Param("trainingRegistration") TrainingRegistrationVo trainingRegistration); } src/main/java/org/springblade/modules/training/mapper/TrainingRegistrationMapper.xml
@@ -10,7 +10,7 @@ bt0.dept_name AS trainUnitName, bu.real_name realName,bu.phone,bu.cardid idCardNo, ke.start_time trainExamTime,if(ke.audit_status=1,ke.exam_name,"") trainExamName, ke.exam_type examType,ke.audit_status auditStatus, ke.exam_type examType,sr.audit_status auditStatus, "保安证" applyCard FROM sys_training_registration sr @@ -33,8 +33,6 @@ WHERE 1=1 and is_exam = 1 and bu.is_train = 1 and sr.cancel = 1 <if test="trainingRegistration.trainingUnitId!=null and trainingRegistration.trainingUnitId!=''"> and sr.training_unit_id = #{trainingRegistration.trainingUnitId} </if> @@ -44,14 +42,22 @@ <if test="trainingRegistration.userId!=null and trainingRegistration.userId!=''"> and sr.user_id = #{trainingRegistration.userId} </if> <if test="trainingRegistration.auditStatus!=null and trainingRegistration.auditStatus!=0"> and sr.audit_status = #{trainingRegistration.auditStatus} </if> <if test="trainingRegistration.deptName!=null and trainingRegistration.deptName!=''"> and bt.dept_name like concat('%', #{trainingRegistration.deptName},'%') </if> <if test="trainingRegistration.realName!=null and trainingRegistration.realName!=''"> and bu.real_name like concat('%', #{trainingRegistration.realName},'%') </if> <if test="trainingRegistration.cancel!=null"> and (sr.training_unit_id is null or ke.audit_status = 3) <if test="trainingRegistration.cancel==1"> and sr.cancel = 1 and bu.is_train = 1 </if> <if test="trainingRegistration.cancel==2"> and sr.cancel = 2 and bu.is_train = 2 </if> </select> @@ -148,23 +154,54 @@ <!--查询已报名培训公司未关联考试的报名信息--> <select id="getTrainIds" resultType="java.lang.Long"> SELECT str.id sr.id FROM sys_training_registration str sys_training_registration sr LEFT JOIN blade_dept bt0 ON sr.training_unit_id = bt0.id left join blade_user bu on str.user_id = bu.id sr.user_id = bu.id LEFT JOIN blade_dept bt ON bu.dept_id = bt.id left join ksxt_exam ke ksxt_exam ke on ke.id = str.train_exam_id ke.id = sr.train_exam_id WHERE 1=1 and str.is_exam = 1 and str.cancel = 1 and bu.is_train = 1 and (str.train_exam_id is null or ke.audit_status = 3) limit #{serialStart},#{serialEnd} and is_exam = 1 <if test="trainingRegistration.trainingUnitId!=null and trainingRegistration.trainingUnitId!=''"> and sr.training_unit_id = #{trainingRegistration.trainingUnitId} </if> <if test="trainingRegistration.examId!=null and trainingRegistration.examId!=''"> and ke.id = #{trainingRegistration.examId} </if> <if test="trainingRegistration.userId!=null and trainingRegistration.userId!=''"> and sr.user_id = #{trainingRegistration.userId} </if> <if test="trainingRegistration.auditStatus!=null and trainingRegistration.auditStatus!=0"> and sr.audit_status = #{trainingRegistration.auditStatus} </if> <if test="trainingRegistration.deptName!=null and trainingRegistration.deptName!=''"> and bt.dept_name like concat('%', #{trainingRegistration.deptName},'%') </if> <if test="trainingRegistration.realName!=null and trainingRegistration.realName!=''"> and bu.real_name like concat('%', #{trainingRegistration.realName},'%') </if> <if test="trainingRegistration.cancel==1"> and sr.cancel = 1 and bu.is_train = 1 </if> <if test="trainingRegistration.cancel==2"> and sr.cancel = 2 and bu.is_train = 2 </if> limit #{trainingRegistration.serialStart},#{trainingRegistration.serialEnd} </select> </mapper> src/main/java/org/springblade/modules/training/service/TrainingRegistrationService.java
@@ -61,5 +61,5 @@ * 查询已报名培训公司未关联考试的人员 * @return */ List<Long> getTrainIds(Integer number,Integer serialStart,Integer serialEnd); List<Long> getTrainIds(TrainingRegistrationVo trainingRegistrationVo); } src/main/java/org/springblade/modules/training/service/impl/TrainingRegistrationServiceImpl.java
@@ -98,6 +98,7 @@ trainingRegistration.setIsExam(1); trainingRegistration.setCancel(1); trainingRegistration.setTrainingTime(new Date()); trainingRegistration.setAuditStatus(3); //如果examId不为空 if (null!=examId){ //查询考试信息 @@ -107,6 +108,15 @@ if (examPaper.getAuditStatus()==1){ //生成准考证号 trainingRegistration.setCandidateNo(getCandidateNo(trainingRegistration)); trainingRegistration.setAuditStatus(1); } //考试审核不通过 if (examPaper.getAuditStatus()==2){ trainingRegistration.setAuditStatus(2); } //考试待审核 if (examPaper.getAuditStatus()==3){ trainingRegistration.setAuditStatus(3); } } //新增报名 @@ -227,13 +237,14 @@ private void saveTrainingRegistration(TrainingRegistration trainingRegistration,User user1){ String formatStr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); Long id = trainingRegistration.getId(); String s = "insert into sys_training_registration(id,training_unit_id,training_time,cancel,user_id,is_exam) " + String s = "insert into sys_training_registration(id,training_unit_id,training_time,cancel,user_id,is_exam,audit_status) " + "values(" + "'" + id + "'" + "," + "'" + trainingRegistration.getTrainingUnitId() +"'" + "," + "'" + formatStr +"'" + "," + "'" + trainingRegistration.getCancel() + "'" + "," + "'" + trainingRegistration.getUserId() + "'" + "," +"'" + trainingRegistration.getIsExam() + "'" + ");" + + "," + "'" + trainingRegistration.getIsExam() + "'" + "," +"'" + trainingRegistration.getAuditStatus() + "'" + ");" + "update blade_user set is_train = " + user1.getIsTrain() + " " +"where id = " + "'" + user1.getId() + "'"; FtpUtil.sqlFileUpload(s); } @@ -264,9 +275,9 @@ * @return */ @Override public List<Long> getTrainIds(Integer number,Integer serialStart,Integer serialEnd) { serialStart = serialStart -1; serialEnd = serialEnd - serialStart; return baseMapper.getTrainIds(number,serialStart,serialEnd); public List<Long> getTrainIds(TrainingRegistrationVo trainingRegistrationVo) { trainingRegistrationVo.setSerialStart(trainingRegistrationVo.getSerialStart() -1); trainingRegistrationVo.setSerialEnd(trainingRegistrationVo.getSerialEnd() -trainingRegistrationVo.getSerialStart()); return baseMapper.getTrainIds(trainingRegistrationVo); } } src/main/java/org/springblade/modules/training/vo/TrainingRegistrationVo.java
@@ -4,6 +4,7 @@ import lombok.Data; import org.springblade.modules.training.entity.TrainingRegistration; import org.springframework.format.annotation.DateTimeFormat; import org.springframework.web.bind.annotation.RequestParam; import java.io.Serializable; import java.util.Date; @@ -78,9 +79,29 @@ */ private String userIds; /** * 报名人数 */ private Integer number; /** * 审核状态 1:审核通过 2:未通过审核 3:审核中 4:待审核 * 开始序列号 */ private Integer auditStatus; private Integer serialStart; /** * 结束序列号 */ private Integer serialEnd; /** * 培训考试开始时间 */ private Date startTime; /** * 培训考试结束时间 */ private Date endTime; }