智慧保安后台管理-外网项目备份
Administrator
2021-08-13 ddebcfaf85cbb400668f38b1efd82e439c6e1012
报名考试接口修改
14 files modified
1 files added
338 ■■■■ changed files
src/main/java/org/springblade/modules/apply/mapper/ApplyMapper.java 16 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/apply/mapper/ApplyMapper.xml 48 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/apply/service/impl/ApplyServiceImpl.java 27 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/exam/controller/ExamPaperController.java 27 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/exam/mapper/ExamPaperMapper.java 8 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/exam/mapper/ExamPaperMapper.xml 20 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/exam/service/ExamPaperService.java 8 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/exam/service/impl/ExamPaperServiceImpl.java 11 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/training/controller/TrainingRegistrationController.java 60 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/training/entity/TrainingRegistration.java 2 ●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/training/excel/TrainingRegistrationExcel.java 34 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/training/excel/TrainingRegistrationImporter.java 4 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/training/mapper/TrainingRegistrationMapper.xml 2 ●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/training/service/TrainingRegistrationService.java 3 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/training/service/impl/TrainingRegistrationServiceImpl.java 68 ●●●● patch | view | raw | blame | history
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);
                        }
                    }
                }
            });
        }
    }