智慧保安后台管理-外网项目备份
Administrator
2021-08-10 261e8684cc8495ad5a705c2f36c1ac82ad643ac3
报名接口修改
6 files modified
153 ■■■■■ changed files
src/main/java/org/springblade/modules/apply/controller/ApplyController.java 93 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/apply/mapper/ApplyMapper.java 6 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/apply/mapper/ApplyMapper.xml 26 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/apply/service/ApplyService.java 6 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/apply/service/impl/ApplyServiceImpl.java 9 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/apply/vo/ApplyVO.java 13 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/apply/controller/ApplyController.java
@@ -205,9 +205,9 @@
            String year = format.substring(2,4);
            String quarter  = null;
            String months = null;
            String days = null;
            int month = Integer.parseInt(format.substring(5,7));
            int day = Integer.parseInt(format.substring(8,10));
            String days = null;
            if (month>0 && month<=3){
                quarter = "C";
            }
@@ -225,17 +225,32 @@
            }
            if (day<=9){
                days = "0" + day;
            }else {
                days = ""+day;
            }
            String type = null;
            if (examPaper.getExamType()==1){
                type = "z";
            }
            if (examPaper.getExamType()==2){
                type = "m";
            }
            //获取考试名称前缀,去除数字,字母
            String examName
                = examPaper.getExamName().replaceAll("\\s*", "").replaceAll("[^(\\u4e00-\\u9fa5)]", "").substring(0,1);
            //前缀 = 年的最后两位  + 月份(两位) + 考试名称(中文拼音)首字母(去除数字,字母) + 考试类型 + 季度拼音首字母大写(春季就是 C)
//            String result = year
//                            + months
//                            + toFirstChar(examName).toUpperCase()
//                            + examPaper.getExamType()
//                            + quarter;
            //前缀 = 年的最后两位  + 月份(两位) + 日 (两位) + 考试类型 正式考试  z   模拟考试   m
            String result = year
                            + months
                            + toFirstChar(examName).toUpperCase()
                            + examPaper.getExamType()
                            + quarter;
                            + days
                            + type;
            //查询是当前前缀已生成的数量
            int count = applyService.getCandidateNoCount(result);
            if (count==0){
@@ -442,4 +457,74 @@
        return R.data(200,"报名成功");
    }
    /**
     * 生成试卷,报名
     * @param ids 报名ids
     */
    @PostMapping("/batchExam")
    public R batchExam(@RequestParam String ids,
                       @RequestParam String examTime,
                       @RequestParam Date startTime,
                       @RequestParam 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);
                //修改报名信息
                list.forEach(id ->{
                    Apply apply = new Apply();
                    apply.setId(Long.parseLong(id));
                    apply.setExamId(examPaper.getId());
                    apply.setCandidateNo(getCandidateNo(apply));
                    applyService.updateById(apply);
                });
            }
        }else {
            //查询已报名未关联试卷的人员
            List<Long> applyIds = applyService.getApplyIds();
            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);
                //修改报名信息
                applyIds.forEach(id ->{
                    Apply apply = new Apply();
                    apply.setId(id);
                    apply.setExamId(examPaper.getId());
                    apply.setCandidateNo(getCandidateNo(apply));
                    applyService.updateById(apply);
                });
            }
        }
        return null;
    }
}
src/main/java/org/springblade/modules/apply/mapper/ApplyMapper.java
@@ -82,4 +82,10 @@
     * @return
     */
    List<Apply> getSecurityApplyInfo(@Param("apply")Apply apply);
    /**
     * 查询报名人员未关联考试的ids集合
     * @return
     */
    List<Long> getApplyIds();
}
src/main/java/org/springblade/modules/apply/mapper/ApplyMapper.xml
@@ -7,7 +7,7 @@
        SELECT
            sa.id,sa.apply_status applyStatus,sa.user_id userId,sa.candidate_no candidateNo,apply_time,exam_id examId,
            ke.total_score paperScore,ke.exam_type examType,ke.start_time examTime,ke.exam_name examName,
            bu.real_name name,sa.examination_type,sa.examination_mx,
            bu.real_name realName,bu.is_apply isApply,
            bd.dept_name deptName,bu.cardid idCardNo,"保安证" applyCard
        FROM
            sys_apply sa
@@ -26,8 +26,10 @@
        WHERE
            1=1
            and is_exam = 1
        <if test="apply.name!=null and  apply.name!=''">
            and sa.name like concat('%', #{apply.name},'%')
            and sa.apply_status = 2
            and bu.is_apply = 1
        <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},'%')
@@ -207,4 +209,22 @@
        limit 1
    </select>
    <!--查询报名人员未关联考试的ids集合-->
    <select id="getApplyIds" resultType="java.lang.Long">
        SELECT
        sa.id
        FROM
        sys_apply sa
        left join
        blade_user bu
        on
        sa.user_id = bu.id
        WHERE
        1=1
        and is_exam = 1
        and sa.apply_status = 2
        and bu.is_apply = 1
        and sa.exam_id is null
    </select>
</mapper>
src/main/java/org/springblade/modules/apply/service/ApplyService.java
@@ -80,4 +80,10 @@
     * @return
     */
    List<Apply> getSecurityApplyInfo(Apply apply);
    /**
     * 查询报名人员未关联考试的ids集合
     * @return
     */
    List<Long> getApplyIds();
}
src/main/java/org/springblade/modules/apply/service/impl/ApplyServiceImpl.java
@@ -304,4 +304,13 @@
    public List<Apply> getSecurityApplyInfo(Apply apply) {
        return baseMapper.getSecurityApplyInfo(apply);
    }
    /**
     * 查询报名人员未关联考试的ids集合
     * @return
     */
    @Override
    public List<Long> getApplyIds() {
        return baseMapper.getApplyIds();
    }
}
src/main/java/org/springblade/modules/apply/vo/ApplyVO.java
@@ -68,6 +68,19 @@
    private String applyCard;
    /**
     * 用户ids
     */
    private String userIds;
    /**
     * 报名状态
     */
    private Integer isApply;
    /**
     * 人员姓名
     */
    private String realName;
}