From fd72a9045a8fc437b8c28bac0bdc98e0d29aa441 Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Thu, 22 Jul 2021 20:58:43 +0800
Subject: [PATCH] 考试接口合并

---
 src/main/java/org/springblade/modules/apply/mapper/ApplyMapper.xml                      |    5 
 src/main/java/org/springblade/modules/apply/service/ApplyService.java                   |   19 +
 src/main/java/org/springblade/modules/exam/controller/ExamSubjectChoicesController.java |   13 
 src/main/java/org/springblade/modules/exam/wrapper/ExamPaperWrapper.java                |    2 
 src/main/java/org/springblade/modules/apply/excel/ApplyImporter.java                    |   41 ++
 src/main/java/org/springblade/modules/apply/mapper/ExamPaymentMapper.java               |   33 ++
 src/main/java/org/springblade/modules/apply/service/ExamPaymentService.java             |   30 ++
 src/main/java/org/springblade/modules/apply/vo/ApplyVO.java                             |    4 
 src/main/java/org/springblade/modules/exam/entity/ExamSubjectChoices.java               |    1 
 src/main/java/org/springblade/modules/exam/service/impl/ExamScoreServiceImpl.java       |    3 
 src/main/java/org/springblade/modules/exam/mapper/ExamScoreMapper.xml                   |    6 
 src/main/java/org/springblade/modules/apply/mapper/ExamPaymentMapper.xml                |   38 ++
 src/main/java/org/springblade/modules/apply/controller/ExamPaymentController.java       |  100 ++++++
 src/main/java/org/springblade/modules/exam/entity/ExamScore.java                        |    5 
 src/main/java/org/springblade/modules/apply/mapper/ApplyMapper.java                     |    7 
 src/main/java/org/springblade/modules/exam/controller/ExamSubjectOptionController.java  |    1 
 src/main/java/org/springblade/modules/apply/controller/ApplyController.java             |   87 +++++
 src/main/java/org/springblade/modules/exam/entity/ExamExaminationSubject.java           |    2 
 src/main/java/org/springblade/modules/exam/controller/ExamScoreController.java          |    1 
 src/main/java/org/springblade/modules/exam/entity/ExamPaper.java                        |    3 
 src/main/java/org/springblade/modules/exam/vo/ExamSubjectOptionVO.java                  |    7 
 src/main/java/org/springblade/modules/apply/service/impl/ApplyServiceImpl.java          |  185 ++++++++++++
 src/main/java/org/springblade/modules/apply/service/impl/ExamPaymentServiceImpl.java    |   53 +++
 src/main/java/org/springblade/modules/exam/vo/ExamPaperSubjectVO.java                   |    1 
 src/main/java/org/springblade/modules/exam/vo/ExamScoreVO.java                          |    1 
 src/main/java/org/springblade/modules/exam/mapper/ExamPaperMapper.java                  |    2 
 src/main/java/org/springblade/modules/apply/entity/ExamPayment.java                     |   84 +++++
 src/main/java/org/springblade/modules/apply/vo/ExamPaymentVO.java                       |   48 +++
 src/main/java/org/springblade/modules/apply/excel/ApplyExcel.java                       |   50 +++
 src/main/java/org/springblade/modules/exam/controller/ExamPaperController.java          |    1 
 src/main/java/org/springblade/modules/apply/entity/Apply.java                           |   15 
 src/main/java/org/springblade/modules/exam/vo/ExamSubjectChoicesVO.java                 |    7 
 32 files changed, 800 insertions(+), 55 deletions(-)

diff --git a/src/main/java/org/springblade/modules/apply/controller/ApplyController.java b/src/main/java/org/springblade/modules/apply/controller/ApplyController.java
index e5f6a78..c0a4403 100644
--- a/src/main/java/org/springblade/modules/apply/controller/ApplyController.java
+++ b/src/main/java/org/springblade/modules/apply/controller/ApplyController.java
@@ -9,18 +9,28 @@
 import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;
 import net.sourceforge.pinyin4j.format.HanyuPinyinToneType;
 import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;
+import org.springblade.core.excel.util.ExcelUtil;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.modules.apply.entity.Apply;
+import org.springblade.modules.apply.excel.ApplyExcel;
+import org.springblade.modules.apply.excel.ApplyImporter;
 import org.springblade.modules.apply.service.ApplyService;
 import org.springblade.modules.apply.vo.ApplyVO;
 import org.springblade.modules.exam.entity.ExamPaper;
 import org.springblade.modules.exam.service.ExamPaperService;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
 import java.text.DecimalFormat;
 import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.UUID;
 
 /**
  * @author zhongrj
@@ -85,10 +95,35 @@
 		if (null==apply.getId()){
 			//去生成准考证号码
 			apply.setCandidateNo(getCandidateNo(apply));
+			//去生成考试编号
+			apply.setApplyCode(getApplyCode(apply));
 			//默认通过
 			apply.setApplyStatus(2);
+			apply.setApplyTime(new Date());
 		}
 		return R.status(applyService.saveOrUpdate(apply));
+	}
+
+
+	/**
+	 * 导入报名考试数据
+	 */
+	@PostMapping("import-apply")
+	@ApiOperation(value = "导入报名考试数据", notes = "传入excel")
+	public R importUser(MultipartFile file, Integer isCovered) {
+		ApplyImporter applyImporter = new ApplyImporter(applyService, isCovered == 1);
+		ExcelUtil.save(file, applyImporter, ApplyExcel.class);
+		return R.success("操作成功");
+	}
+
+	/**
+	 * 导出模板
+	 */
+	@GetMapping("export-template")
+	@ApiOperation(value = "导出模板")
+	public void exportUser(HttpServletResponse response) {
+		List<ApplyExcel> list = new ArrayList<>();
+		ExcelUtil.export(response, "考试报名数据模板", "考试报名数据表", list, ApplyExcel.class);
 	}
 
 	/**
@@ -147,6 +182,58 @@
 		return null;
 	}
 
+
+	/**
+	 * 生成准考证号码
+	 * @param apply 考试报名信息对象
+	 */
+	private String getApplyCode(Apply apply) {
+		//获取考试信息
+		ExamPaper examPaper = examPaperService.getById(apply.getExamId());
+		if (null!=examPaper.getStartTime()){
+			String format = new SimpleDateFormat("yyyy-MM-dd").format(examPaper.getStartTime());
+			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));
+			if (month>0 && month<=3){
+				quarter = "C";
+			}
+			if (month>3 && month<=6){
+				quarter = "X";
+			}
+			if (month>6 && month<=9){
+				quarter = "Q";
+			}
+			if (month>9 && month<=12){
+				quarter = "D";
+			}
+			if (month<=9){
+				months = "0" + month;
+			}
+			if (day<=9){
+				days = "0" + day;
+			}
+			//获取考试名称前缀,去除数字,字母
+			String examName
+				= examPaper.getExamName().replaceAll("\\s*", "").replaceAll("[^(\\u4e00-\\u9fa5)]", "").substring(0,1);
+
+			//前缀 = 年的最后两位  + 月份(两位) + 考试名称(中文拼音)首字母(去除数字,字母) + 考试类型 + 季度拼音首字母大写(春季就是 C)
+			String result = year
+							+ months
+							+ toFirstChar(examName).toUpperCase()
+							+ examPaper.getExamType()
+							+ quarter;
+			//生成随机数
+			UUID uuid = UUID.randomUUID();
+			//返回
+			return result + uuid.toString().replaceAll("\\-","");
+		}
+		return null;
+	}
+
 	/**
 	 * 获取字符串拼音的第一个字母
 	 * @param chinese
diff --git a/src/main/java/org/springblade/modules/apply/controller/ExamPaymentController.java b/src/main/java/org/springblade/modules/apply/controller/ExamPaymentController.java
new file mode 100644
index 0000000..6cffd3a
--- /dev/null
+++ b/src/main/java/org/springblade/modules/apply/controller/ExamPaymentController.java
@@ -0,0 +1,100 @@
+package org.springblade.modules.apply.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import lombok.AllArgsConstructor;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.Func;
+import org.springblade.modules.apply.entity.ExamPayment;
+import org.springblade.modules.apply.service.ExamPaymentService;
+import org.springblade.modules.apply.vo.ExamPaymentVO;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * @author zhongrj
+ * @time 2021-07-22
+ * @desc 考试缴费管理控制层
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("/examPayment")
+public class ExamPaymentController {
+
+	private final ExamPaymentService examPaymentService;
+
+	/**
+	 * 自定义分页
+	 * @param query page,size
+	 * @param examPayment 考试缴费信息对象
+	 */
+	@GetMapping("/page")
+	public R<IPage<ExamPaymentVO>> page(ExamPaymentVO examPayment, Query query) {
+		IPage<ExamPaymentVO> pages = examPaymentService.selectExamPaymentPage(Condition.getPage(query), examPayment);
+		return R.data(pages);
+	}
+
+	/**
+	 * 分页
+	 */
+	@GetMapping("/list")
+	public R<IPage<ExamPayment>> list(ExamPayment examPayment, Query query) {
+		IPage<ExamPayment> pages = examPaymentService.page(Condition.getPage(query), Condition.getQueryWrapper(examPayment));
+		return R.data(pages);
+	}
+
+	/**
+	 * 新增
+	 * @param examPayment 考试缴费信息对象
+	 */
+	@PostMapping("/save")
+	@ApiOperation(value = "新增", notes = "传入examPayment")
+	public R save(@RequestBody ExamPayment examPayment) {
+		return R.status(examPaymentService.save(examPayment));
+	}
+
+
+	/**
+	 * 修改
+	 * @param examPayment 考试缴费信息对象
+	 */
+	@PostMapping("/update")
+	public R update(@RequestBody ExamPayment examPayment) {
+		return R.status(examPaymentService.updateById(examPayment));
+	}
+
+	/**
+	 * 新增或修改
+	 * @param examPayment 考试缴费信息对象
+	 */
+	@PostMapping("/submit")
+	public R submit(@RequestBody ExamPayment examPayment) {
+		return R.status(examPaymentService.saveOrUpdate(examPayment));
+	}
+
+
+	/**
+	 * 删除
+	 * @param ids 考试缴费信息ids 数组
+	 */
+	@PostMapping("/remove")
+	public R remove(@ApiParam(value = "主键集合") @RequestParam String ids) {
+		return R.status(examPaymentService.removeByIds(Func.toLongList(ids)));
+	}
+
+	/**
+	 * 详情
+	 * @param examPayment 考试缴费信息对象
+	 */
+	@GetMapping("/detail")
+	@ApiOperation(value = "详情", notes = "传入examPayment")
+	public R<ExamPaymentVO> details(ExamPayment examPayment) {
+		//查询考试缴费详情
+		ExamPaymentVO detail = examPaymentService.selectExamPaymentInfo(examPayment);
+		//返回
+		return R.data(detail);
+	}
+
+}
diff --git a/src/main/java/org/springblade/modules/apply/entity/Apply.java b/src/main/java/org/springblade/modules/apply/entity/Apply.java
index f9c3ce6..e28bfb0 100644
--- a/src/main/java/org/springblade/modules/apply/entity/Apply.java
+++ b/src/main/java/org/springblade/modules/apply/entity/Apply.java
@@ -21,10 +21,7 @@
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.fasterxml.jackson.annotation.JsonFormat;
-import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
-import lombok.EqualsAndHashCode;
-import org.springblade.core.tenant.mp.TenantEntity;
 import org.springframework.format.annotation.DateTimeFormat;
 
 import java.io.Serializable;
@@ -158,7 +155,19 @@
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date examTime;
 
+	/**
+     * 审核状态
+	 */
 	private String examinationType;
 
+	/**
+	 * 审核明细
+	 */
 	private String examinationMx;
+
+	/**
+	 * 报名编号
+	 */
+	@TableField("apply_code")
+	private String applyCode;
 }
diff --git a/src/main/java/org/springblade/modules/apply/entity/ExamPayment.java b/src/main/java/org/springblade/modules/apply/entity/ExamPayment.java
new file mode 100644
index 0000000..7ef7c20
--- /dev/null
+++ b/src/main/java/org/springblade/modules/apply/entity/ExamPayment.java
@@ -0,0 +1,84 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.apply.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 考试缴费实体类
+ *
+ * @author zhongrj
+ * @since 2021-07-22
+ */
+@Data
+@TableName("sys_exam_payment")
+public class ExamPayment implements Serializable {
+
+	private static final long serialVersionUID = 1L;
+
+	@TableId(value = "id",type = IdType.AUTO)
+	private Long id;
+
+	/**
+	 * 缴费类型  1:公司缴费  2:个人缴费
+	 */
+	private Long type;
+
+
+	/**
+	 * 缴费时间
+	 */
+	@TableField("payment_time")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date paymentTime;
+
+	/**
+	 * 缴费人/公司deptId
+	 */
+	@TableField("worker_id")
+	private String workerId;
+
+	/**
+	 * 缴费状态   1:已缴费  2:未缴费  3:部分缴费
+	 */
+	@TableField("payment_status")
+	private Integer paymentStatus;
+
+
+	/**
+	 * 考试id
+	 */
+	@TableField("exam_id")
+	private Long examId;
+
+
+	/**
+	 * 报名编号
+	 */
+	@TableField("apply_code")
+	private String applyCode;
+}
diff --git a/src/main/java/org/springblade/modules/apply/excel/ApplyExcel.java b/src/main/java/org/springblade/modules/apply/excel/ApplyExcel.java
new file mode 100644
index 0000000..d5a9427
--- /dev/null
+++ b/src/main/java/org/springblade/modules/apply/excel/ApplyExcel.java
@@ -0,0 +1,50 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.apply.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;
+
+/**
+ * ExamPaymentExcel
+ * @author zhongrj
+ * @since 2021-07-22
+ */
+@Data
+@ColumnWidth(25)
+@HeadRowHeight(20)
+@ContentRowHeight(18)
+public class ApplyExcel implements Serializable {
+	private static final long serialVersionUID = 1L;
+
+
+	@ColumnWidth(15)
+	@ExcelProperty("保安ID")
+	private Long userId;
+
+
+	@ColumnWidth(15)
+	@ExcelProperty("考试ID")
+	private Long examId;
+
+
+}
diff --git a/src/main/java/org/springblade/modules/apply/excel/ApplyImporter.java b/src/main/java/org/springblade/modules/apply/excel/ApplyImporter.java
new file mode 100644
index 0000000..60a72aa
--- /dev/null
+++ b/src/main/java/org/springblade/modules/apply/excel/ApplyImporter.java
@@ -0,0 +1,41 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.apply.excel;
+
+import lombok.RequiredArgsConstructor;
+import org.springblade.core.excel.support.ExcelImporter;
+import org.springblade.modules.apply.service.ApplyService;
+
+import java.util.List;
+
+/**
+ * 报名考试数据导入类
+ *
+ * @author zhongrj
+ * @since 2021-07-22
+ */
+@RequiredArgsConstructor
+public class ApplyImporter implements ExcelImporter<ApplyExcel> {
+
+	private final ApplyService service;
+	private final Boolean isCovered;
+
+	@Override
+	public void save(List<ApplyExcel> data) {
+		service.importApply(data, isCovered);
+	}
+}
diff --git a/src/main/java/org/springblade/modules/apply/mapper/ApplyMapper.java b/src/main/java/org/springblade/modules/apply/mapper/ApplyMapper.java
index cc3d2d1..675ab7d 100644
--- a/src/main/java/org/springblade/modules/apply/mapper/ApplyMapper.java
+++ b/src/main/java/org/springblade/modules/apply/mapper/ApplyMapper.java
@@ -37,4 +37,11 @@
 	 * @return
 	 */
     int getCandidateNoCount(@Param("result")String result);
+
+	/**
+	 * 获取公司集体报名的人数
+	 * @param applyCode
+	 * @return
+	 */
+	Integer getApplyNum(@Param("applyCode") String applyCode);
 }
diff --git a/src/main/java/org/springblade/modules/apply/mapper/ApplyMapper.xml b/src/main/java/org/springblade/modules/apply/mapper/ApplyMapper.xml
index 2258020..f810dd4 100644
--- a/src/main/java/org/springblade/modules/apply/mapper/ApplyMapper.xml
+++ b/src/main/java/org/springblade/modules/apply/mapper/ApplyMapper.xml
@@ -75,4 +75,9 @@
             and candidate_no like concat('%', #{result},'%')
         </if>
     </select>
+
+    <!--获取公司集体报名的人数-->
+    <select id="getApplyNum" resultType="java.lang.Integer">
+        select count(*) from sys_apply where apply_code = #{applyCode}
+    </select>
 </mapper>
diff --git a/src/main/java/org/springblade/modules/apply/mapper/ExamPaymentMapper.java b/src/main/java/org/springblade/modules/apply/mapper/ExamPaymentMapper.java
new file mode 100644
index 0000000..9f8fb7b
--- /dev/null
+++ b/src/main/java/org/springblade/modules/apply/mapper/ExamPaymentMapper.java
@@ -0,0 +1,33 @@
+package org.springblade.modules.apply.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.apache.ibatis.annotations.Param;
+import org.springblade.modules.apply.entity.ExamPayment;
+import org.springblade.modules.apply.vo.ExamPaymentVO;
+
+import java.util.List;
+
+/**
+ * 考试缴费Mapper 接口
+ * @author zhongrj
+ */
+public interface ExamPaymentMapper extends BaseMapper<ExamPayment> {
+
+	/**
+	 * 自定义分页
+	 *
+	 * @param page  分页
+	 * @param examPayment 实体
+	 * @return
+	 */
+	List<ExamPaymentVO> selectExamPaymentPage(IPage page, @Param("examPayment") ExamPaymentVO examPayment);
+
+	/**
+	 * 详情
+	 *
+	 * @param examPayment 考试缴费信息对象
+	 */
+	ExamPaymentVO selectExamPaymentInfo(@Param("examPayment") ExamPayment examPayment);
+
+}
diff --git a/src/main/java/org/springblade/modules/apply/mapper/ExamPaymentMapper.xml b/src/main/java/org/springblade/modules/apply/mapper/ExamPaymentMapper.xml
new file mode 100644
index 0000000..fde187e
--- /dev/null
+++ b/src/main/java/org/springblade/modules/apply/mapper/ExamPaymentMapper.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.springblade.modules.apply.mapper.ExamPaymentMapper">
+
+    <!--考试报名分页信息-->
+    <select id="selectExamPaymentPage" resultType="org.springblade.modules.apply.vo.ExamPaymentVO">
+        SELECT
+            se.*,
+            bd.dept_name deptName
+        FROM
+            sys_exam_payment se
+        left join
+            blade_dept bd
+        on
+            bd.id = se.worker_id
+        WHERE
+            type = 1
+        <if test="examPayment.workerId!=null and  examPayment.workerId!=''">
+            and se.worker_id like concat('%', #{examPayment.workerId},'%')
+        </if>
+        <if test="examPayment.deptName!=null and  examPayment.deptName!=''">
+            and bd.dept_name like concat('%', #{examPayment.deptName},'%')
+        </if>
+    </select>
+
+    <!--考试报名详情信息-->
+    <select id="selectExamPaymentInfo" resultType="org.springblade.modules.apply.vo.ExamPaymentVO">
+        SELECT
+            *
+        FROM
+            sys_examPayment
+        where 1=1
+        <if test="examPayment.id!=null and examPayment.id!=''">
+            and id = #{examPayment.id}
+        </if>
+
+    </select>
+</mapper>
diff --git a/src/main/java/org/springblade/modules/apply/service/ApplyService.java b/src/main/java/org/springblade/modules/apply/service/ApplyService.java
index 82aaba8..8f35f3f 100644
--- a/src/main/java/org/springblade/modules/apply/service/ApplyService.java
+++ b/src/main/java/org/springblade/modules/apply/service/ApplyService.java
@@ -3,7 +3,10 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
 import org.springblade.modules.apply.entity.Apply;
+import org.springblade.modules.apply.excel.ApplyExcel;
 import org.springblade.modules.apply.vo.ApplyVO;
+
+import java.util.List;
 
 /**
  * 考试报名服务类
@@ -32,4 +35,20 @@
 	 * @return
 	 */
     int getCandidateNoCount(String result);
+
+	/**
+	 * 获取公司集体报名的人数
+	 * @param applyCode
+	 * @return
+	 */
+	Integer getApplyNum(String applyCode);
+
+	/**
+	 * 导入考试数据
+	 *
+	 * @param data
+	 * @param isCovered
+	 * @return
+	 */
+	void importApply(List<ApplyExcel> data, Boolean isCovered);
 }
diff --git a/src/main/java/org/springblade/modules/apply/service/ExamPaymentService.java b/src/main/java/org/springblade/modules/apply/service/ExamPaymentService.java
new file mode 100644
index 0000000..1af5a05
--- /dev/null
+++ b/src/main/java/org/springblade/modules/apply/service/ExamPaymentService.java
@@ -0,0 +1,30 @@
+package org.springblade.modules.apply.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.springblade.modules.apply.entity.ExamPayment;
+import org.springblade.modules.apply.vo.ExamPaymentVO;
+
+/**
+ * 考试缴费服务类
+ * @author zhongrj
+ */
+public interface ExamPaymentService extends IService<ExamPayment> {
+
+	/**
+	 * 自定义分页
+	 * @param page
+	 * @param examPayment
+	 * @return
+	 */
+	IPage<ExamPaymentVO> selectExamPaymentPage(IPage<ExamPaymentVO> page, ExamPaymentVO examPayment);
+
+	/**
+	 * 详情
+	 * @param examPayment 考试缴费信息对象
+	 * @return
+	 */
+	ExamPaymentVO selectExamPaymentInfo(ExamPayment examPayment);
+
+
+}
diff --git a/src/main/java/org/springblade/modules/apply/service/impl/ApplyServiceImpl.java b/src/main/java/org/springblade/modules/apply/service/impl/ApplyServiceImpl.java
index e334db6..a25ca85 100644
--- a/src/main/java/org/springblade/modules/apply/service/impl/ApplyServiceImpl.java
+++ b/src/main/java/org/springblade/modules/apply/service/impl/ApplyServiceImpl.java
@@ -3,18 +3,38 @@
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.AllArgsConstructor;
+import net.sourceforge.pinyin4j.PinyinHelper;
+import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType;
+import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;
+import net.sourceforge.pinyin4j.format.HanyuPinyinToneType;
+import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;
 import org.springblade.modules.apply.entity.Apply;
+import org.springblade.modules.apply.excel.ApplyExcel;
 import org.springblade.modules.apply.mapper.ApplyMapper;
 import org.springblade.modules.apply.service.ApplyService;
 import org.springblade.modules.apply.vo.ApplyVO;
+import org.springblade.modules.exam.entity.ExamPaper;
+import org.springblade.modules.exam.service.ExamPaperService;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.text.DecimalFormat;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.List;
+import java.util.UUID;
 
 /**
  * 考试报名服务实现类
  * @author zhongrj
  */
 @Service
+@AllArgsConstructor
 public class ApplyServiceImpl extends ServiceImpl<ApplyMapper, Apply> implements ApplyService {
+
+
+	private final ExamPaperService examPaperService;
 
 	/**
 	 * 自定义分页数据
@@ -45,4 +65,169 @@
 	public int getCandidateNoCount(String result) {
 		return baseMapper.getCandidateNoCount(result);
 	}
+
+	/**
+	 * 获取公司集体报名的人数
+	 * @param applyCode
+	 * @return
+	 */
+	@Override
+	public Integer getApplyNum(String applyCode) {
+		return baseMapper.getApplyNum(applyCode);
+	}
+
+
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public void importApply(List<ApplyExcel> data, Boolean isCovered) {
+		data.forEach(applyExcel -> {
+			Apply apply = new Apply();
+			//设置数据
+			apply.setExamId(applyExcel.getExamId());
+			apply.setUserId(applyExcel.getUserId());
+			apply.setApplyTime(new Date());
+			apply.setApplyStatus(2);
+			//去生成准考证号码
+			apply.setCandidateNo(getCandidateNo(apply));
+			//去生成考试编号
+			apply.setApplyCode(getApplyCode(apply));
+			//插入数据
+			this.save(apply);
+		});
+	}
+
+
+	/**
+	 * 生成准考证号码
+	 * @param apply 考试报名信息对象
+	 */
+	private String getCandidateNo(Apply apply) {
+		//获取考试信息
+		ExamPaper examPaper = examPaperService.getById(apply.getExamId());
+		if (null!=examPaper.getStartTime()){
+			String format = new SimpleDateFormat("yyyy-MM-dd").format(examPaper.getStartTime());
+			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));
+			if (month>0 && month<=3){
+				quarter = "C";
+			}
+			if (month>3 && month<=6){
+				quarter = "X";
+			}
+			if (month>6 && month<=9){
+				quarter = "Q";
+			}
+			if (month>9 && month<=12){
+				quarter = "D";
+			}
+			if (month<=9){
+				months = "0" + month;
+			}
+			if (day<=9){
+				days = "0" + day;
+			}
+			//获取考试名称前缀,去除数字,字母
+			String examName
+				= examPaper.getExamName().replaceAll("\\s*", "").replaceAll("[^(\\u4e00-\\u9fa5)]", "").substring(0,1);
+
+			//前缀 = 年的最后两位  + 月份(两位) + 考试名称(中文拼音)首字母(去除数字,字母) + 考试类型 + 季度拼音首字母大写(春季就是 C)
+			String result = year
+				+ months
+				+ toFirstChar(examName).toUpperCase()
+				+ examPaper.getExamType()
+				+ quarter;
+			//查询是当前前缀已生成的数量
+			int count = getCandidateNoCount(result);
+			if (count==0){
+				return result + "0000";
+			}
+			//格式化
+			DecimalFormat decimalFormat = new DecimalFormat("0000");
+			//返回
+			return result + (decimalFormat.format(count++));
+		}
+		return null;
+	}
+
+
+	/**
+	 * 生成准考证号码
+	 * @param apply 考试报名信息对象
+	 */
+	private String getApplyCode(Apply apply) {
+		//获取考试信息
+		ExamPaper examPaper = examPaperService.getById(apply.getExamId());
+		if (null!=examPaper.getStartTime()){
+			String format = new SimpleDateFormat("yyyy-MM-dd").format(examPaper.getStartTime());
+			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));
+			if (month>0 && month<=3){
+				quarter = "C";
+			}
+			if (month>3 && month<=6){
+				quarter = "X";
+			}
+			if (month>6 && month<=9){
+				quarter = "Q";
+			}
+			if (month>9 && month<=12){
+				quarter = "D";
+			}
+			if (month<=9){
+				months = "0" + month;
+			}
+			if (day<=9){
+				days = "0" + day;
+			}
+			//获取考试名称前缀,去除数字,字母
+			String examName
+				= examPaper.getExamName().replaceAll("\\s*", "").replaceAll("[^(\\u4e00-\\u9fa5)]", "").substring(0,1);
+
+			//前缀 = 年的最后两位  + 月份(两位) + 考试名称(中文拼音)首字母(去除数字,字母) + 考试类型 + 季度拼音首字母大写(春季就是 C)
+			String result = year
+				+ months
+				+ toFirstChar(examName).toUpperCase()
+				+ examPaper.getExamType()
+				+ quarter;
+			//生成随机数
+			UUID uuid = UUID.randomUUID();
+			//返回
+			return result + uuid.toString().replaceAll("\\-","");
+		}
+		return null;
+	}
+
+	/**
+	 * 获取字符串拼音的第一个字母
+	 * @param chinese
+	 * @return
+	 */
+	private String toFirstChar(String chinese){
+		String pinyinStr = "";
+		char[] newChar = chinese.toCharArray();
+		//转为单个字符
+		HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();
+		defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);
+		defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
+		for (int i = 0; i < newChar.length; i++) {
+			if (newChar[i] > 128) {
+				try {
+					pinyinStr += PinyinHelper.toHanyuPinyinStringArray(newChar[i], defaultFormat)[0].charAt(0);
+				} catch (BadHanyuPinyinOutputFormatCombination e) {
+					e.printStackTrace();
+				}
+			}else{
+				pinyinStr += newChar[i];
+			}
+		}
+		return pinyinStr;
+	}
 }
diff --git a/src/main/java/org/springblade/modules/apply/service/impl/ExamPaymentServiceImpl.java b/src/main/java/org/springblade/modules/apply/service/impl/ExamPaymentServiceImpl.java
new file mode 100644
index 0000000..e39252d
--- /dev/null
+++ b/src/main/java/org/springblade/modules/apply/service/impl/ExamPaymentServiceImpl.java
@@ -0,0 +1,53 @@
+
+package org.springblade.modules.apply.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.AllArgsConstructor;
+import org.springblade.modules.apply.entity.ExamPayment;
+import org.springblade.modules.apply.mapper.ExamPaymentMapper;
+import org.springblade.modules.apply.service.ApplyService;
+import org.springblade.modules.apply.service.ExamPaymentService;
+import org.springblade.modules.apply.vo.ExamPaymentVO;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * 考试缴费服务实现类
+ * @author zhongrj
+ */
+@Service
+@AllArgsConstructor
+public class ExamPaymentServiceImpl extends ServiceImpl<ExamPaymentMapper, ExamPayment> implements ExamPaymentService {
+
+	private final ApplyService applyService;
+
+
+	/**
+	 * 自定义分页数据
+	 * @param page 分页条件
+	 * @param examPayment 考试缴费对象
+	 * @return
+	 */
+	@Override
+	public IPage<ExamPaymentVO> selectExamPaymentPage(IPage<ExamPaymentVO> page, ExamPaymentVO examPayment) {
+		List<ExamPaymentVO> examPaymentVOS = baseMapper.selectExamPaymentPage(page, examPayment);
+		for (ExamPaymentVO examPaymentVO : examPaymentVOS) {
+			//查询人数
+			examPaymentVO.setNum(applyService.getApplyNum(examPaymentVO.getApplyCode()));
+		}
+		return page.setRecords(examPaymentVOS);
+	}
+
+	/**
+	 * 详情
+	 * @param examPayment 考试缴费信息对象
+	 */
+	@Override
+	public ExamPaymentVO selectExamPaymentInfo(ExamPayment examPayment) {
+		return baseMapper.selectExamPaymentInfo(examPayment);
+	}
+
+
+}
diff --git a/src/main/java/org/springblade/modules/apply/vo/ApplyVO.java b/src/main/java/org/springblade/modules/apply/vo/ApplyVO.java
index d9c1223..ba74633 100644
--- a/src/main/java/org/springblade/modules/apply/vo/ApplyVO.java
+++ b/src/main/java/org/springblade/modules/apply/vo/ApplyVO.java
@@ -16,15 +16,11 @@
  */
 package org.springblade.modules.apply.vo;
 
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Data;
 import org.springblade.modules.apply.entity.Apply;
 
 import java.io.Serializable;
-import java.util.Date;
 
 /**
  * 考试报名实体类
diff --git a/src/main/java/org/springblade/modules/apply/vo/ExamPaymentVO.java b/src/main/java/org/springblade/modules/apply/vo/ExamPaymentVO.java
new file mode 100644
index 0000000..5773031
--- /dev/null
+++ b/src/main/java/org/springblade/modules/apply/vo/ExamPaymentVO.java
@@ -0,0 +1,48 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.apply.vo;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import org.springblade.modules.apply.entity.ExamPayment;
+
+import java.io.Serializable;
+
+/**
+ * 考试缴费实体类
+ *
+ * @author zhongrj
+ * @since 2021-07-22
+ */
+@Data
+@TableName("sys_apply")
+public class ExamPaymentVO extends ExamPayment implements Serializable {
+
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * 保安单位名称
+	 */
+	private String deptName;
+
+	/**
+	 * 人数
+	 */
+	private Integer num;
+
+
+}
diff --git a/src/main/java/org/springblade/modules/exam/controller/ExamPaperController.java b/src/main/java/org/springblade/modules/exam/controller/ExamPaperController.java
index e13248c..3b00c3f 100644
--- a/src/main/java/org/springblade/modules/exam/controller/ExamPaperController.java
+++ b/src/main/java/org/springblade/modules/exam/controller/ExamPaperController.java
@@ -30,7 +30,6 @@
 import org.springblade.modules.exam.service.ExamPaperService;
 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.exam.wrapper.ExamPaperWrapper;
 import org.springframework.web.bind.annotation.*;
 import springfox.documentation.annotations.ApiIgnore;
diff --git a/src/main/java/org/springblade/modules/exam/controller/ExamScoreController.java b/src/main/java/org/springblade/modules/exam/controller/ExamScoreController.java
index 9331b8e..940ee48 100644
--- a/src/main/java/org/springblade/modules/exam/controller/ExamScoreController.java
+++ b/src/main/java/org/springblade/modules/exam/controller/ExamScoreController.java
@@ -125,5 +125,4 @@
 		//返回
 		return R.data(detail);
 	}
-
 }
diff --git a/src/main/java/org/springblade/modules/exam/controller/ExamSubjectChoicesController.java b/src/main/java/org/springblade/modules/exam/controller/ExamSubjectChoicesController.java
index 44a3bf1..f7bf26d 100644
--- a/src/main/java/org/springblade/modules/exam/controller/ExamSubjectChoicesController.java
+++ b/src/main/java/org/springblade/modules/exam/controller/ExamSubjectChoicesController.java
@@ -1,32 +1,19 @@
 package org.springblade.modules.exam.controller;
 
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
-import io.swagger.annotations.ApiImplicitParam;
-import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
 import lombok.AllArgsConstructor;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
-import org.springblade.core.secure.BladeUser;
 import org.springblade.core.tool.api.R;
-import org.springblade.core.tool.constant.BladeConstant;
 import org.springblade.core.tool.utils.Func;
-import org.springblade.modules.dispatcher.entity.Dispatcher;
 import org.springblade.modules.exam.entity.ExamSubjectChoices;
 import org.springblade.modules.exam.service.ExamSubjectChoicesService;
 import org.springblade.modules.exam.vo.ExamSubjectChoicesVO;
-import org.springblade.modules.jurisdiction.entity.Jurisdiction;
-import org.springblade.modules.jurisdiction.vo.JurisdictionVO;
-import org.springblade.modules.jurisdiction.wrapper.JurisdictionWrapper;
 import org.springframework.web.bind.annotation.*;
-import springfox.documentation.annotations.ApiIgnore;
 
 import java.util.Date;
-import java.util.List;
-import java.util.Map;
 
 /**
  * @author zhongrj
diff --git a/src/main/java/org/springblade/modules/exam/controller/ExamSubjectOptionController.java b/src/main/java/org/springblade/modules/exam/controller/ExamSubjectOptionController.java
index de879bf..10ab702 100644
--- a/src/main/java/org/springblade/modules/exam/controller/ExamSubjectOptionController.java
+++ b/src/main/java/org/springblade/modules/exam/controller/ExamSubjectOptionController.java
@@ -8,7 +8,6 @@
 import org.springblade.core.mp.support.Query;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.Func;
-import org.springblade.modules.exam.entity.ExamSubjectChoices;
 import org.springblade.modules.exam.entity.ExamSubjectOption;
 import org.springblade.modules.exam.service.ExamSubjectOptionService;
 import org.springblade.modules.exam.vo.ExamSubjectOptionVO;
diff --git a/src/main/java/org/springblade/modules/exam/entity/ExamExaminationSubject.java b/src/main/java/org/springblade/modules/exam/entity/ExamExaminationSubject.java
index 6eec851..0866ebf 100644
--- a/src/main/java/org/springblade/modules/exam/entity/ExamExaminationSubject.java
+++ b/src/main/java/org/springblade/modules/exam/entity/ExamExaminationSubject.java
@@ -24,8 +24,6 @@
 import lombok.Data;
 
 import java.io.Serializable;
-import java.util.Date;
-import java.util.List;
 
 /**
  *  试卷分类实体类
diff --git a/src/main/java/org/springblade/modules/exam/entity/ExamPaper.java b/src/main/java/org/springblade/modules/exam/entity/ExamPaper.java
index 9391a7d..ee02a5b 100644
--- a/src/main/java/org/springblade/modules/exam/entity/ExamPaper.java
+++ b/src/main/java/org/springblade/modules/exam/entity/ExamPaper.java
@@ -17,13 +17,10 @@
 package org.springblade.modules.exam.entity;
 
 import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
-import lombok.EqualsAndHashCode;
-import org.springblade.core.tenant.mp.TenantEntity;
 
 import java.io.Serializable;
 import java.util.Date;
diff --git a/src/main/java/org/springblade/modules/exam/entity/ExamScore.java b/src/main/java/org/springblade/modules/exam/entity/ExamScore.java
index 989f442..4e976ae 100644
--- a/src/main/java/org/springblade/modules/exam/entity/ExamScore.java
+++ b/src/main/java/org/springblade/modules/exam/entity/ExamScore.java
@@ -108,9 +108,8 @@
 	private Integer qualified;
 
 
-	/**
-	 * 用户id
-	 */
 	@TableField("user_id")
 	private String userId;
+
+
 }
diff --git a/src/main/java/org/springblade/modules/exam/entity/ExamSubjectChoices.java b/src/main/java/org/springblade/modules/exam/entity/ExamSubjectChoices.java
index 325f5af..3cf28a3 100644
--- a/src/main/java/org/springblade/modules/exam/entity/ExamSubjectChoices.java
+++ b/src/main/java/org/springblade/modules/exam/entity/ExamSubjectChoices.java
@@ -10,7 +10,6 @@
 
 import java.io.Serializable;
 import java.util.Date;
-import java.util.List;
 
 /**
  * 选择题实体类
diff --git a/src/main/java/org/springblade/modules/exam/mapper/ExamPaperMapper.java b/src/main/java/org/springblade/modules/exam/mapper/ExamPaperMapper.java
index 828e83e..f0280b0 100644
--- a/src/main/java/org/springblade/modules/exam/mapper/ExamPaperMapper.java
+++ b/src/main/java/org/springblade/modules/exam/mapper/ExamPaperMapper.java
@@ -19,8 +19,6 @@
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.apache.ibatis.annotations.Param;
-import org.springblade.modules.desk.entity.Notice;
-import org.springblade.modules.desk.vo.NoticeVO;
 import org.springblade.modules.exam.entity.ExamPaper;
 import org.springblade.modules.exam.vo.ExamPaperSubjectVO;
 import org.springblade.modules.exam.vo.ExamPaperVO;
diff --git a/src/main/java/org/springblade/modules/exam/mapper/ExamScoreMapper.xml b/src/main/java/org/springblade/modules/exam/mapper/ExamScoreMapper.xml
index dce17ed..3902239 100644
--- a/src/main/java/org/springblade/modules/exam/mapper/ExamScoreMapper.xml
+++ b/src/main/java/org/springblade/modules/exam/mapper/ExamScoreMapper.xml
@@ -21,6 +21,12 @@
         <if test="examScore.securityName!=null and  examScore.securityName!=''">
             and security_name like concat('%', #{examScore.securityName},'%')
         </if>
+        <if test="examScore.userId!=null and  examScore.userId!=''">
+            and user_id = #{examScore.userId}
+        </if>
+        <if test="examScore.candidateNo!=null and  examScore.candidateNo!=''">
+            and candidate_no = #{examScore.candidateNo}
+        </if>
 <!--        <if test="examScore.examType!=null">-->
 <!--            and exam_type = #{examScore.examType}-->
 <!--        </if>-->
diff --git a/src/main/java/org/springblade/modules/exam/service/impl/ExamScoreServiceImpl.java b/src/main/java/org/springblade/modules/exam/service/impl/ExamScoreServiceImpl.java
index 446729d..617bc0e 100644
--- a/src/main/java/org/springblade/modules/exam/service/impl/ExamScoreServiceImpl.java
+++ b/src/main/java/org/springblade/modules/exam/service/impl/ExamScoreServiceImpl.java
@@ -10,14 +10,11 @@
 import org.springblade.modules.exam.mapper.ExamScoreMapper;
 import org.springblade.modules.exam.service.ExamPaperService;
 import org.springblade.modules.exam.service.ExamScoreService;
-import org.springblade.modules.exam.vo.ExamPaperSubjectVO;
 import org.springblade.modules.exam.vo.ExamResultVO;
 import org.springblade.modules.exam.vo.ExamScoreVO;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 
diff --git a/src/main/java/org/springblade/modules/exam/vo/ExamPaperSubjectVO.java b/src/main/java/org/springblade/modules/exam/vo/ExamPaperSubjectVO.java
index bfc1e25..2d51686 100644
--- a/src/main/java/org/springblade/modules/exam/vo/ExamPaperSubjectVO.java
+++ b/src/main/java/org/springblade/modules/exam/vo/ExamPaperSubjectVO.java
@@ -4,7 +4,6 @@
 import lombok.EqualsAndHashCode;
 import org.springblade.modules.exam.entity.ExamExaminationSubject;
 import org.springblade.modules.exam.entity.ExamPaper;
-import org.springblade.modules.exam.entity.ExamSubjectChoices;
 
 import java.util.List;
 
diff --git a/src/main/java/org/springblade/modules/exam/vo/ExamScoreVO.java b/src/main/java/org/springblade/modules/exam/vo/ExamScoreVO.java
index 3ead552..89b631d 100644
--- a/src/main/java/org/springblade/modules/exam/vo/ExamScoreVO.java
+++ b/src/main/java/org/springblade/modules/exam/vo/ExamScoreVO.java
@@ -2,7 +2,6 @@
 
 import lombok.Data;
 import org.springblade.modules.exam.entity.ExamScore;
-import org.springblade.modules.exam.entity.ExamSubjectOption;
 
 import java.io.Serializable;
 import java.util.List;
diff --git a/src/main/java/org/springblade/modules/exam/vo/ExamSubjectChoicesVO.java b/src/main/java/org/springblade/modules/exam/vo/ExamSubjectChoicesVO.java
index bbd94fc..d8c32e5 100644
--- a/src/main/java/org/springblade/modules/exam/vo/ExamSubjectChoicesVO.java
+++ b/src/main/java/org/springblade/modules/exam/vo/ExamSubjectChoicesVO.java
@@ -1,17 +1,10 @@
 package org.springblade.modules.exam.vo;
 
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 import org.springblade.modules.exam.entity.ExamSubjectChoices;
 import org.springblade.modules.exam.entity.ExamSubjectOption;
-import org.springframework.format.annotation.DateTimeFormat;
 
 import java.io.Serializable;
-import java.util.Date;
 import java.util.List;
 
 /**
diff --git a/src/main/java/org/springblade/modules/exam/vo/ExamSubjectOptionVO.java b/src/main/java/org/springblade/modules/exam/vo/ExamSubjectOptionVO.java
index 474a5cf..c333fb9 100644
--- a/src/main/java/org/springblade/modules/exam/vo/ExamSubjectOptionVO.java
+++ b/src/main/java/org/springblade/modules/exam/vo/ExamSubjectOptionVO.java
@@ -1,16 +1,9 @@
 package org.springblade.modules.exam.vo;
 
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 import org.springblade.modules.exam.entity.ExamSubjectOption;
-import org.springframework.format.annotation.DateTimeFormat;
 
 import java.io.Serializable;
-import java.util.Date;
 
 /**
  * 选择题选项实体类vo
diff --git a/src/main/java/org/springblade/modules/exam/wrapper/ExamPaperWrapper.java b/src/main/java/org/springblade/modules/exam/wrapper/ExamPaperWrapper.java
index ad60ffc..9275337 100644
--- a/src/main/java/org/springblade/modules/exam/wrapper/ExamPaperWrapper.java
+++ b/src/main/java/org/springblade/modules/exam/wrapper/ExamPaperWrapper.java
@@ -16,8 +16,6 @@
  */
 package org.springblade.modules.exam.wrapper;
 
-import org.springblade.common.cache.DictCache;
-import org.springblade.common.enums.DictEnum;
 import org.springblade.core.mp.support.BaseEntityWrapper;
 import org.springblade.core.tool.utils.BeanUtil;
 import org.springblade.modules.exam.entity.ExamPaper;

--
Gitblit v1.9.3