智慧保安后台管理-外网-验收版本
Administrator
2021-09-07 2b7013958fc02dd1d41b780d08768636df4e5c1f
考试报名列表接口修改,考试生成修改
13 files modified
325 ■■■■■ changed files
src/main/java/org/springblade/modules/apply/controller/ApplyController.java 113 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/apply/mapper/ApplyMapper.java 2 ●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/apply/mapper/ApplyMapper.xml 54 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/apply/service/ApplyService.java 2 ●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/apply/service/impl/ApplyServiceImpl.java 6 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/apply/vo/ApplyVO.java 32 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/exam/controller/ExamPaperController.java 74 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/exam/mapper/ExamPaperMapper.xml 5 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/training/controller/TrainingRegistrationController.java 27 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/training/mapper/TrainingRegistrationMapper.java 2 ●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/training/mapper/TrainingRegistrationMapper.xml 4 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/training/service/TrainingRegistrationService.java 2 ●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/training/service/impl/TrainingRegistrationServiceImpl.java 2 ●●● patch | view | raw | blame | history
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);