src/main/java/org/springblade/modules/apply/mapper/ApplyMapper.java
@@ -106,9 +106,23 @@ /** * 查询保安员个人报名信息 * @param apply 报名信息,包含userId * @param apply 报名信息 * @return */ @SqlParser(filter = true) ApplyVO getSecurityApplyDetail(@Param("apply") ApplyVO apply); /** * 查询培训考试人数 * @param id 考试id * @return */ int getTrainDeatailNum(Long id); /** * 查询已培训报名的的人信息集合 * @param id 考试id * @return */ List<ApplyVO> getTrainDetailList(Long id); } src/main/java/org/springblade/modules/apply/mapper/ApplyMapper.xml
@@ -245,6 +245,24 @@ and sa.exam_id is not null </select> <!-- 查询培训考试人数--> <select id="getTrainDeatailNum" resultType="java.lang.Integer"> SELECT count(*) FROM sys_training_registration sr left join blade_user bu on sr.user_id = bu.id WHERE 1=1 and is_exam = 1 and sr.cancel = 1 and bu.is_train = 1 and sr.train_exam_id is not null </select> <!--查询已报名的的人信息集合--> <select id="getApplyDetailList" resultType="org.springblade.modules.apply.vo.ApplyVO"> SELECT @@ -274,6 +292,35 @@ and sa.exam_id is not null </select> <!--查询已培训报名的的人信息集合--> <select id="getTrainDetailList" resultType="org.springblade.modules.apply.vo.ApplyVO"> SELECT sr.candidate_no candidateNo,sr.training_time applyTime, ke.exam_name examName, bu.real_name realName,bu.cardid idCardNo,bu.sex, bd.dept_name deptName,"保安证" applyCard FROM sys_training_registration sr left join blade_user bu on sr.user_id = bu.id left join ksxt_exam ke on ke.id = sr.train_exam_id left join blade_dept bd on bd.id = bu.dept_id WHERE 1=1 and is_exam = 1 and sr.cancel = 1 and bu.is_train = 1 and sr.train_exam_id is not null </select> <!--查询保安员个人报名信息--> <select id="getSecurityApplyDetail" resultType="org.springblade.modules.apply.vo.ApplyVO"> @@ -294,4 +341,5 @@ and sa.id = #{apply.id} </if> </select> </mapper> src/main/java/org/springblade/modules/apply/service/impl/ApplyServiceImpl.java
@@ -361,12 +361,27 @@ //查询考试信息 ExamPaper paper = examPaperService.getById(apply.getExamId()); map.put("examName",paper.getExamName()); //查询已报名的总人数 int num = baseMapper.getApplyDeatailNum(paper.getId()); map.put("num",num); //查询已报名的的人信息集合 List<ApplyVO> applyVOList = baseMapper.getApplyDetailList(paper.getId()); map.put("applyList",applyVOList); int num = 0; if (paper.getExamType()==1){ //查询已报名的总人数 num = baseMapper.getApplyDeatailNum(paper.getId()); map.put("num",num); //查询已报名的的人信息集合 List<ApplyVO> applyVOList = baseMapper.getApplyDetailList(paper.getId()); map.put("applyList",applyVOList); } //模拟考试 if (paper.getExamType()==2){ //查询已报名的总人数 num = baseMapper.getTrainDeatailNum(paper.getId()); map.put("num",num); //查询已报名的的人信息集合 List<ApplyVO> applyVOList = baseMapper.getTrainDetailList(paper.getId()); map.put("applyList",applyVOList); } //返回数据 return map; } src/main/java/org/springblade/modules/exam/controller/ExamPaperController.java
@@ -34,6 +34,8 @@ import org.springblade.modules.exam.vo.ExamPaperVO; import org.springblade.modules.exam.wrapper.ExamPaperWrapper; import org.springblade.modules.training.entity.TrainExam; import org.springblade.modules.training.entity.TrainingRegistration; import org.springblade.modules.training.service.TrainingRegistrationService; import org.springframework.web.bind.annotation.*; import springfox.documentation.annotations.ApiIgnore; @@ -54,6 +56,9 @@ public class ExamPaperController extends BladeController { private final ExamPaperService examPaperService; private final TrainingRegistrationService trainingRegistrationService; /** @@ -219,13 +224,23 @@ examPaper.setAuditTime(new Date()); //修改考试审核状态 examPaperService.updateById(examPaper); //查询当前考试已报名的人员集合数据 //生成准考证号 getCandidateNo(examPaper); //查询 //查询当前考试已报名的人员培训报名数据集合 List<TrainingRegistration> trainingRegistrations = examPaperService.getTrainList(examPaper.getId()); if (trainingRegistrations.size()>0) { trainingRegistrations.forEach(trainingRegistration -> { //生成准考证号 trainingRegistration.setCandidateNo(getCandidateNo(examPaper)); //修改培训报名信息 trainingRegistrationService.updateById(trainingRegistration); }); } return R.status(true); }else { examPaper.setAuditTime(new Date()); //修改考试审核状态 examPaperService.updateById(examPaper); return R.status(true); } return R.status(false); } /** src/main/java/org/springblade/modules/exam/mapper/ExamPaperMapper.java
@@ -23,6 +23,7 @@ import org.springblade.modules.exam.entity.ExamSubjectChoices; import org.springblade.modules.exam.vo.ExamPaperSubjectVO; import org.springblade.modules.exam.vo.ExamPaperVO; import org.springblade.modules.training.entity.TrainingRegistration; import java.util.List; @@ -64,4 +65,11 @@ * @return */ int getCandidateNoCount(String result); /** * 查询当前考试已报名的人员培训报名数据集合 * @param id 考试id * @return */ List<TrainingRegistration> getTrainList(Long id); } src/main/java/org/springblade/modules/exam/mapper/ExamPaperMapper.xml
@@ -183,4 +183,24 @@ </if> </select> <!--查询当前考试已报名的人员培训报名数据集合--> <select id="getTrainList" resultType="org.springblade.modules.training.entity.TrainingRegistration"> SELECT str.id FROM sys_training_registration str left join ksxt_exam ke on ke.id = str.train_exam_id left join blade_user bu on bu.id = str.user_id where 1=1 and bu.is_train = 1 and str.is_exam = 1 and str.cancel = 1 </select> </mapper> src/main/java/org/springblade/modules/exam/service/ExamPaperService.java
@@ -23,6 +23,7 @@ import org.springblade.modules.exam.vo.ExamPaperSubjectVO; import org.springblade.modules.exam.vo.ExamPaperVO; import org.springblade.modules.exam.vo.ExamScoreVO; import org.springblade.modules.training.entity.TrainingRegistration; import java.util.List; import java.util.Map; @@ -72,4 +73,11 @@ * @return */ int getCandidateNoCount(String result); /** * 查询当前考试已报名的人员培训报名数据集合 * @param id 考试id * @return */ List<TrainingRegistration> getTrainList(Long id); } src/main/java/org/springblade/modules/exam/service/impl/ExamPaperServiceImpl.java
@@ -25,6 +25,7 @@ import org.springblade.modules.exam.vo.ExamPaperSubjectVO; import org.springblade.modules.exam.vo.ExamPaperVO; import org.springblade.modules.exam.vo.ExamScoreVO; import org.springblade.modules.training.entity.TrainingRegistration; import org.springframework.stereotype.Service; import java.util.List; @@ -97,4 +98,14 @@ public int getCandidateNoCount(String result) { return baseMapper.getCandidateNoCount(result); } /** * 查询当前考试已报名的人员培训报名数据集合 * @param id 考试id * @return */ @Override public List<TrainingRegistration> getTrainList(Long id) { return baseMapper.getTrainList(id); } } src/main/java/org/springblade/modules/training/controller/TrainingRegistrationController.java
@@ -22,11 +22,13 @@ import org.springblade.modules.apply.vo.ApplyVO; import org.springblade.modules.exam.entity.ExamPaper; import org.springblade.modules.exam.entity.ExamScore; import org.springblade.modules.exam.excel.ExamScoreExcel; import org.springblade.modules.exam.service.ExamPaperService; import org.springblade.modules.system.entity.User; import org.springblade.modules.system.service.IUserService; import org.springblade.modules.training.entity.TrainExam; import org.springblade.modules.training.entity.TrainingRegistration; import org.springblade.modules.training.excel.TrainingRegistrationExcel; import org.springblade.modules.training.excel.TrainingRegistrationImporter; import org.springblade.modules.training.service.TrainExamService; import org.springblade.modules.training.service.TrainingRegistrationService; @@ -226,27 +228,39 @@ return R.data(detail); } /** * 导出报名数数据 * @param response * @param trainingRegistration 培训报名对象 */ @GetMapping("export-apply") @ApiOperation(value = "导出报名清册") public void exportApply(HttpServletResponse response,TrainingRegistrationVo trainingRegistration) { List<ApplyInfoExcel> list = trainingRegistrationService.getTrainingRegistrationExcelList(trainingRegistration); ExcelUtil.export(response, "考试报名清册数据"+ DateUtil.time(), "考试报名清册数据表", list, ApplyInfoExcel.class); } // /** // * 导出报名数数据 // * @param response // * @param trainingRegistration 培训报名对象 // */ // @GetMapping("export-apply") // @ApiOperation(value = "导出报名清册") // public void exportApply(HttpServletResponse response,TrainingRegistrationVo trainingRegistration) { // List<TrainingRegistrationExcel> list = trainingRegistrationService.getTrainingRegistrationExcelList(trainingRegistration); // ExcelUtil.export(response, "培训报名清册数据"+ DateUtil.time(), "培训报名清册数据表", list, TrainingRegistrationExcel.class); // } /** * 导入报名考试数据 */ @PostMapping("import-trainingRegistration") @ApiOperation(value = "导入报名考试数据", notes = "传入excel") @ApiOperation(value = "导入培训报名数据", notes = "传入excel") public R importUser(MultipartFile file, Integer isCovered) { TrainingRegistrationImporter trainingRegistrationImporter = new TrainingRegistrationImporter(trainingRegistrationService, false); ExcelUtil.save(file, trainingRegistrationImporter, ApplyInfoExcel.class); ExcelUtil.save(file, trainingRegistrationImporter, TrainingRegistrationExcel.class); return R.success("操作成功"); } /** * 导出模板 */ @GetMapping("export-template") @ApiOperation(value = "导出模板") public void exportUser(HttpServletResponse response) { List<TrainingRegistrationExcel> list = new ArrayList<>(); ExcelUtil.export(response, "培训报名数据模板", "培训报名数据表", list, TrainingRegistrationExcel.class); } @@ -413,6 +427,13 @@ examPaper.setAuditStatus(3); //生成考试 examPaperService.save(examPaper); //修改报名信息 list.forEach(id ->{ TrainingRegistration trainingRegistration = new TrainingRegistration(); trainingRegistration.setId(Long.parseLong(id)); trainingRegistration.setTrainExamId(examPaper.getId().toString()); trainingRegistrationService.updateById(trainingRegistration); }); } }else { @@ -437,13 +458,12 @@ //生成考试 examPaperService.save(examPaper); //修改报名信息 // applyIds.forEach(id ->{ // Apply apply = new Apply(); // apply.setId(id); // apply.setExamId(examPaper.getId()); // apply.setCandidateNo(getCandidateNo(apply)); // applyService.updateById(apply); // }); applyIds.forEach(id ->{ TrainingRegistration trainingRegistration = new TrainingRegistration(); trainingRegistration.setId(id); trainingRegistration.setTrainExamId(examPaper.getId().toString()); trainingRegistrationService.updateById(trainingRegistration); }); } } return null; src/main/java/org/springblade/modules/training/entity/TrainingRegistration.java
@@ -59,7 +59,7 @@ private String weight; /** * 培训报名申请id * 考试id */ @TableField("train_exam_id") private String trainExamId; src/main/java/org/springblade/modules/training/excel/TrainingRegistrationExcel.java
New file @@ -0,0 +1,34 @@ package org.springblade.modules.training.excel; import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import lombok.Data; import java.io.Serializable; /** * TrainingRegistrationExcel * @author zhongrj * @since 2021-08-12 */ @Data @ColumnWidth(25) @HeadRowHeight(20) @ContentRowHeight(18) public class TrainingRegistrationExcel implements Serializable { private static final long serialVersionUID = 1L; @ColumnWidth(25) @ExcelProperty("培训机构名称") private String deptName; @ColumnWidth(15) @ExcelProperty("姓名") private String realName; @ColumnWidth(20) @ExcelProperty("身份证号") private String idCardNo; } src/main/java/org/springblade/modules/training/excel/TrainingRegistrationImporter.java
@@ -31,13 +31,13 @@ * @since 2021-08-03 */ @RequiredArgsConstructor public class TrainingRegistrationImporter implements ExcelImporter<ApplyInfoExcel> { public class TrainingRegistrationImporter implements ExcelImporter<TrainingRegistrationExcel> { private final TrainingRegistrationService service; private final Boolean isCovered; @Override public void save(List<ApplyInfoExcel> data) { public void save(List<TrainingRegistrationExcel> data) { service.importTrainingRegistration(data, isCovered); } } src/main/java/org/springblade/modules/training/mapper/TrainingRegistrationMapper.xml
@@ -144,7 +144,7 @@ limit 1 </select> <!--查询已报名培训公司未关联考试的人员--> <!--查询已报名培训公司未关联考试的报名信息--> <select id="getTrainIds" resultType="java.lang.Long"> SELECT str.id src/main/java/org/springblade/modules/training/service/TrainingRegistrationService.java
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import org.springblade.modules.apply.excel.ApplyInfoExcel; import org.springblade.modules.training.entity.TrainingRegistration; import org.springblade.modules.training.excel.TrainingRegistrationExcel; import org.springblade.modules.training.vo.TrainingRegistrationVo; import java.util.List; @@ -40,7 +41,7 @@ * @param data * @param isCovered */ void importTrainingRegistration(List<ApplyInfoExcel> data, Boolean isCovered); void importTrainingRegistration(List<TrainingRegistrationExcel> data, Boolean isCovered); /** * 查询准考证前缀相同的数量 src/main/java/org/springblade/modules/training/service/impl/TrainingRegistrationServiceImpl.java
@@ -3,16 +3,24 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.AllArgsConstructor; import org.springblade.core.mp.support.Condition; import org.springblade.core.tool.api.R; import org.springblade.modules.apply.entity.Apply; import org.springblade.modules.apply.excel.ApplyInfoExcel; import org.springblade.modules.system.entity.User; import org.springblade.modules.system.service.IUserDeptService; import org.springblade.modules.system.service.IUserService; import org.springblade.modules.training.entity.TrainingRegistration; import org.springblade.modules.training.excel.TrainingRegistrationExcel; import org.springblade.modules.training.mapper.TrainingRegistrationMapper; import org.springblade.modules.training.service.TrainingRegistrationService; import org.springblade.modules.training.util.LongTimeUtil; import org.springblade.modules.training.vo.TrainingRegistrationVo; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.Date; import java.util.List; /** @@ -20,7 +28,13 @@ * @author zhongrj */ @Service @AllArgsConstructor public class TrainingRegistrationServiceImpl extends ServiceImpl<TrainingRegistrationMapper, TrainingRegistration> implements TrainingRegistrationService { private final IUserService userService; private final IUserDeptService userDeptService; @Override public IPage<TrainingRegistrationVo> selectTrainingRegistrationPage(IPage<TrainingRegistrationVo> page, TrainingRegistrationVo trainingRegistration) { @@ -56,25 +70,45 @@ * @param isCovered */ @Override public void importTrainingRegistration(List<ApplyInfoExcel> data, Boolean isCovered) { data.forEach(applyInfoExcel -> { //通过准考证号 if (null!=applyInfoExcel.getCandidateNo() && applyInfoExcel.getIdCardNo()!=""){ @Transactional(rollbackFor = Exception.class) public void importTrainingRegistration(List<TrainingRegistrationExcel> data, Boolean isCovered) { if (data.size()>0){ data.forEach(trainingRegistrationExcel -> { TrainingRegistration trainingRegistration = new TrainingRegistration(); trainingRegistration.setCandidateNo(applyInfoExcel.getCandidateNo()); //查询报名信息 TrainingRegistration trainingRegistration1 = baseMapper.selectOne(Condition.getQueryWrapper(trainingRegistration)); trainingRegistration1.setIsExam(2); baseMapper.updateById(trainingRegistration1); //内网新增 try { // arg.test01(arg.url+"/apply/update",apply1); } catch (Exception e) { e.printStackTrace(); } } //通过准考证号 if (null!=trainingRegistrationExcel.getIdCardNo() && trainingRegistrationExcel.getIdCardNo()!=""){ trainingRegistration.setCandidateNo(trainingRegistrationExcel.getIdCardNo()); User user = userService.getUserInfoByIdCardNo(trainingRegistrationExcel.getIdCardNo()); trainingRegistration.setUserId(user.getId().toString()); }); //通过培训公司查组织机构id if (null!=trainingRegistrationExcel.getDeptName() && trainingRegistrationExcel.getDeptName()!=""){ trainingRegistration.setTrainingUnitId(userDeptService.selectIn(trainingRegistrationExcel.getDeptName())); } if(null==user.getIsTrain()){ trainingRegistration.setIsExam(1); trainingRegistration.setCancel(1); trainingRegistration.setTrainingTime(new Date()); //新增报名 this.save(trainingRegistration); //修改保安报名状态 user.setIsTrain(1); userService.updateById(user); }else { if (2 == user.getIsTrain()) { trainingRegistration.setIsExam(1); trainingRegistration.setCancel(1); trainingRegistration.setTrainingTime(new Date()); //新增报名 this.save(trainingRegistration); //修改保安报名状态 user.setIsTrain(1); userService.updateById(user); } } } }); } }