教育训练处考试制证系统后端
huangzhen
2023-09-26 28231163c688c379a688ce6878a1126ee218aa52
煤矿功能
已修改38个文件
已添加2个文件
572 ■■■■ 文件已修改
exam-system/src/main/java/com/gkhy/exam/coalmine/controller/CmStaffController.java 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
exam-system/src/main/java/com/gkhy/exam/coalmine/controller/CmStaffExamController.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
exam-system/src/main/java/com/gkhy/exam/coalmine/controller/CmStaffQaController.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
exam-system/src/main/java/com/gkhy/exam/coalmine/controller/CmStaffResumeController.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
exam-system/src/main/java/com/gkhy/exam/coalmine/controller/CmStaffTrainController.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
exam-system/src/main/java/com/gkhy/exam/coalmine/controller/EmonRecordController.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
exam-system/src/main/java/com/gkhy/exam/coalmine/controller/ExaminerManageController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
exam-system/src/main/java/com/gkhy/exam/coalmine/controller/TeacherManageController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
exam-system/src/main/java/com/gkhy/exam/coalmine/entity/CmStaffExam.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
exam-system/src/main/java/com/gkhy/exam/coalmine/entity/CmStaffQa.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
exam-system/src/main/java/com/gkhy/exam/coalmine/entity/CmStaffResume.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
exam-system/src/main/java/com/gkhy/exam/coalmine/entity/CmStaffTrain.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/CmStaffExamAddReqDTO.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/CmStaffExamUpdateReqDTO.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/CmStaffQaAddReqDTO.java 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/CmStaffQaUpdateReqDTO.java 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/CmStaffResumeAddReqDTO.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/CmStaffResumeUpdateReqDTO.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/CmStaffTrainAddReqDTO.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/CmStaffTrainUpdateReqDTO.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/CmStaffUpdateReqDTO.java 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/resp/CmStaffByCodeRespDTO.java 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
exam-system/src/main/java/com/gkhy/exam/coalmine/service/CmStaffManagerService.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/CmStaffService.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/EmonExamRecordService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/EmonTrainRecordService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/impl/CmStaffExamServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/impl/CmStaffQaServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/impl/CmStaffServiceImpl.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/impl/EmonExamRecordServiceImpl.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/impl/EmonTrainRecordServiceImpl.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
exam-system/src/main/java/com/gkhy/exam/coalmine/service/impl/CmStaffManagerServiceImpl.java 125 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
exam-system/src/main/java/com/gkhy/exam/coalmine/service/impl/EduResourcesManagerServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
exam-system/src/main/java/com/gkhy/exam/coalmine/service/impl/EmonRecordManagerServiceImpl.java 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
exam-system/src/main/resources/mapper/coalmine/ExaminerManageOperateTypeBindMapper.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/core/config/SwaggerConfig.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-framework/src/main/java/com/ruoyi/framework/web/exception/GlobalExceptionHandler.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/SysDistrictService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDistrictServiceImpl.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOperateTypeServiceImpl.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
exam-system/src/main/java/com/gkhy/exam/coalmine/controller/CmStaffController.java
@@ -6,13 +6,16 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.gkhy.exam.coalmine.entity.CmStaff;
import com.gkhy.exam.coalmine.model.dto.req.CmStaffAddReqDTO;
import com.gkhy.exam.coalmine.model.dto.req.CmStaffUpdateReqDTO;
import com.gkhy.exam.coalmine.model.dto.req.ExaminerManageAddReqDTO;
import com.gkhy.exam.coalmine.model.dto.resp.CmStaffByCodeRespDTO;
import com.gkhy.exam.coalmine.model.dto.resp.CmStaffPageRespDTO;
import com.gkhy.exam.coalmine.model.dto.resp.GetExaminerRespDTO;
import com.gkhy.exam.coalmine.service.CmStaffManagerService;
import com.gkhy.exam.coalmine.service.baseService.CmStaffService;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.page.TableDataInfo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
@@ -21,6 +24,7 @@
import com.ruoyi.common.core.domain.AjaxResult;
import javax.annotation.Resource;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;
@@ -29,6 +33,7 @@
 * @author hz
 * @since 2023-09-14 10:37:03
 */
@Api(tags = "人员管理")
@RestController
@RequestMapping("/cm/staff")
public class CmStaffController extends BaseController {
@@ -49,6 +54,12 @@
        return getDataTable(list);
    }
    @ApiOperation(value = "根据身份ID获取人员信息",httpMethod = "GET")
    @GetMapping("/getByCode/{code}")
    public AjaxResult selectByCode(@PathVariable @NotNull(message = "id不能为空") String code) {
        return this.cmStaffManagerService.selectByCode(code);
    }
    /**
     * 新增数据
     */
@@ -66,5 +77,34 @@
    public AjaxResult insert(@Validated @RequestBody CmStaffAddReqDTO reqDTO) {
        return this.cmStaffManagerService.saveCmStaff(reqDTO);
    }
    /**
     * 修改数据
     */
    @PostMapping("/edit")
    @ApiOperation(value = "修改人员",httpMethod = "POST")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "id",dataTypeClass = Long.class, value = "id",required = true),
            @ApiImplicitParam(name = "name",dataTypeClass = String.class, value = "姓名",required = true),
            @ApiImplicitParam(name = "sex", dataTypeClass = String.class,value = "性别"),
            @ApiImplicitParam(name = "code", dataTypeClass = String.class,value = "身份证",required = true),
            @ApiImplicitParam(name = "mobilePhone", dataTypeClass = String.class,value = "手机号",required = true),
            @ApiImplicitParam(name = "nationCode", dataTypeClass = String.class,value = "民族",required = true),
            @ApiImplicitParam(name = "photoAttachment", dataTypeClass = Long.class,value = "证件照id"),
            @ApiImplicitParam(name = "eduLevel", dataTypeClass = String.class,value = "最高学历",required = true)
    })
    public AjaxResult edit(@Validated @RequestBody CmStaffUpdateReqDTO reqDTO) {
        return this.cmStaffManagerService.editCmStaff(reqDTO);
    }
    /**
     * 删除人员
     */
    @ApiOperation(value = "根据id删除人员",httpMethod = "GET")
    @ApiImplicitParam(name = "id",dataTypeClass = Long.class,value = "人员id",required = true)
    @GetMapping("/del/{id}")
    public AjaxResult delete(@PathVariable @NotNull(message = "id不能为空") Long id) {
        return this.cmStaffManagerService.deleteCmStaff(id);
    }
}
exam-system/src/main/java/com/gkhy/exam/coalmine/controller/CmStaffExamController.java
@@ -11,6 +11,7 @@
import com.gkhy.exam.coalmine.model.dto.req.CmStaffResumeUpdateReqDTO;
import com.gkhy.exam.coalmine.service.CmStaffManagerService;
import com.gkhy.exam.coalmine.service.baseService.CmStaffExamService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
@@ -21,6 +22,7 @@
import javax.annotation.Resource;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;
@@ -28,6 +30,7 @@
 * @author hz
 * @since 2023-09-14 10:37:03
 */
@Api(tags = "考试经历管理")
@RestController
@RequestMapping("/cmStaffExam")
public class CmStaffExamController{
@@ -44,8 +47,7 @@
    @ApiOperation(value = "新增考试经历",httpMethod = "POST")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "staffId",dataTypeClass = Long.class, value = "人员id",required = true),
            @ApiImplicitParam(name = "startTime", dataTypeClass = LocalDateTime.class,value = "开始时间"),
            @ApiImplicitParam(name = "endTime", dataTypeClass = LocalDateTime.class,value = "结束时间",required = true),
            @ApiImplicitParam(name = "examTime", dataTypeClass = LocalDate.class,value = "考试时间"),
            @ApiImplicitParam(name = "examCenter", dataTypeClass = String.class,value = "考试中心",required = true),
            @ApiImplicitParam(name = "subject", dataTypeClass = String.class,value = "科目",required = true),
            @ApiImplicitParam(name = "result", dataTypeClass = String.class,value = "考试结果;0-通过;1-未通过",required = true)
@@ -60,7 +62,7 @@
     */
    @ApiOperation(value = "根据id删除考试经历",httpMethod = "GET")
    @ApiImplicitParam(name = "id",dataTypeClass = Long.class,value = "考试经历id",required = true)
    @GetMapping("/del")
    @GetMapping("/del/{id}")
    public AjaxResult delete(@PathVariable @NotNull(message = "id不能为空") Long id) {
        return this.cmStaffManagerService.deleteCmStaffExam(id);
    }
@@ -73,8 +75,7 @@
    @ApiImplicitParams({
            @ApiImplicitParam(name = "id",dataTypeClass = Long.class, value = "考试经历id",required = true),
            @ApiImplicitParam(name = "staffId",dataTypeClass = Long.class, value = "人员id",required = true),
            @ApiImplicitParam(name = "startTime", dataTypeClass = LocalDateTime.class,value = "开始时间"),
            @ApiImplicitParam(name = "endTime", dataTypeClass = LocalDateTime.class,value = "结束时间",required = true),
            @ApiImplicitParam(name = "examTime", dataTypeClass = LocalDate.class,value = "考试时间"),
            @ApiImplicitParam(name = "examCenter", dataTypeClass = String.class,value = "考试中心",required = true),
            @ApiImplicitParam(name = "subject", dataTypeClass = String.class,value = "科目",required = true),
            @ApiImplicitParam(name = "result", dataTypeClass = String.class,value = "考试结果;0-通过;1-未通过",required = true)
exam-system/src/main/java/com/gkhy/exam/coalmine/controller/CmStaffQaController.java
@@ -11,6 +11,7 @@
import com.gkhy.exam.coalmine.model.dto.req.CmStaffQaUpdateReqDTO;
import com.gkhy.exam.coalmine.service.CmStaffManagerService;
import com.gkhy.exam.coalmine.service.baseService.CmStaffQaService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
@@ -21,6 +22,7 @@
import javax.annotation.Resource;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;
@@ -28,6 +30,7 @@
 * @author hz
 * @since 2023-09-14 10:37:03
 */
@Api(tags = "资格证书管理")
@RestController
@RequestMapping("/cmStaffQa")
public class CmStaffQaController{
@@ -46,10 +49,7 @@
            @ApiImplicitParam(name = "staffId",dataTypeClass = Long.class, value = "人员id",required = true),
            @ApiImplicitParam(name = "name", dataTypeClass = String.class,value = "证书名字",required = true),
            @ApiImplicitParam(name = "operateTypeId", dataTypeClass = Long.class,value = "操作类型",required = true),
            @ApiImplicitParam(name = "qualificationType", dataTypeClass = String.class,value = "资格类型",required = true),
            @ApiImplicitParam(name = "jobCategory", dataTypeClass = String.class,value = "作业类别",required = true),
            @ApiImplicitParam(name = "operationItems", dataTypeClass = String.class,value = "操作项目",required = true),
            @ApiImplicitParam(name = "expiredTime", dataTypeClass = LocalDateTime.class,value = "过期时间")
            @ApiImplicitParam(name = "expiredTime", dataTypeClass = LocalDate.class,value = "过期时间")
    })
    public AjaxResult insert(@Validated @RequestBody CmStaffQaAddReqDTO reqDTO) {
        return this.cmStaffManagerService.saveCmStaffQa(reqDTO);
@@ -61,7 +61,7 @@
     */
    @ApiOperation(value = "根据id删除资格证书",httpMethod = "GET")
    @ApiImplicitParam(name = "id",dataTypeClass = Long.class,value = "资格证书id",required = true)
    @GetMapping("/del")
    @GetMapping("/del/{id}")
    public AjaxResult delete(@PathVariable @NotNull(message = "id不能为空") Long id) {
        return this.cmStaffManagerService.deleteCmStaffQa(id);
    }
@@ -76,10 +76,7 @@
            @ApiImplicitParam(name = "staffId",dataTypeClass = Long.class, value = "人员id",required = true),
            @ApiImplicitParam(name = "name", dataTypeClass = String.class,value = "证书名字",required = true),
            @ApiImplicitParam(name = "operateTypeId", dataTypeClass = Long.class,value = "操作类型",required = true),
            @ApiImplicitParam(name = "qualificationType", dataTypeClass = String.class,value = "资格类型",required = true),
            @ApiImplicitParam(name = "jobCategory", dataTypeClass = String.class,value = "作业类别",required = true),
            @ApiImplicitParam(name = "operationItems", dataTypeClass = String.class,value = "操作项目",required = true),
            @ApiImplicitParam(name = "expiredTime", dataTypeClass = LocalDateTime.class,value = "过期时间")
            @ApiImplicitParam(name = "expiredTime", dataTypeClass = LocalDate.class,value = "过期时间")
    })
    public AjaxResult insert(@Validated @RequestBody CmStaffQaUpdateReqDTO reqDTO) {
        return this.cmStaffManagerService.updateCmStaffQa(reqDTO);
exam-system/src/main/java/com/gkhy/exam/coalmine/controller/CmStaffResumeController.java
@@ -10,6 +10,7 @@
import com.gkhy.exam.coalmine.model.dto.req.CmStaffResumeUpdateReqDTO;
import com.gkhy.exam.coalmine.service.CmStaffManagerService;
import com.gkhy.exam.coalmine.service.baseService.CmStaffResumeService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
@@ -20,6 +21,7 @@
import javax.annotation.Resource;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;
@@ -27,6 +29,7 @@
 * @author hz
 * @since 2023-09-14 10:37:03
 */
@Api(tags = "个人履历管理")
@RestController
@RequestMapping("/cm/staffResume")
public class CmStaffResumeController{
@@ -43,8 +46,8 @@
    @ApiOperation(value = "新增个人履历",httpMethod = "POST")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "staffId",dataTypeClass = Long.class, value = "人员id",required = true),
            @ApiImplicitParam(name = "startTime", dataTypeClass = LocalDateTime.class,value = "开始时间"),
            @ApiImplicitParam(name = "endTime", dataTypeClass = LocalDateTime.class,value = "结束时间",required = true),
            @ApiImplicitParam(name = "startTime", dataTypeClass = LocalDate.class,value = "开始时间"),
            @ApiImplicitParam(name = "endTime", dataTypeClass = LocalDate.class,value = "结束时间",required = true),
            @ApiImplicitParam(name = "unit", dataTypeClass = String.class,value = "单位",required = true)
    })
    public AjaxResult insert(@Validated @RequestBody CmStaffResumeAddReqDTO reqDTO) {
@@ -57,7 +60,7 @@
     */
    @ApiOperation(value = "根据id删除个人履历",httpMethod = "GET")
    @ApiImplicitParam(name = "id",dataTypeClass = Long.class,value = "履历id",required = true)
    @GetMapping("/del")
    @GetMapping("/del/{id}")
    public AjaxResult delete(@PathVariable @NotNull(message = "id不能为空") Long id) {
        return this.cmStaffManagerService.deleteCmStaffResume(id);
    }
@@ -70,8 +73,8 @@
    @ApiImplicitParams({
            @ApiImplicitParam(name = "id",dataTypeClass = Long.class, value = "id",required = true),
            @ApiImplicitParam(name = "staffId",dataTypeClass = Long.class, value = "人员id",required = true),
            @ApiImplicitParam(name = "startTime", dataTypeClass = LocalDateTime.class,value = "开始时间"),
            @ApiImplicitParam(name = "endTime", dataTypeClass = LocalDateTime.class,value = "结束时间",required = true),
            @ApiImplicitParam(name = "startTime", dataTypeClass = LocalDate.class,value = "开始时间"),
            @ApiImplicitParam(name = "endTime", dataTypeClass = LocalDate.class,value = "结束时间",required = true),
            @ApiImplicitParam(name = "unit", dataTypeClass = String.class,value = "单位",required = true)
    })
    public AjaxResult insert(@Validated @RequestBody CmStaffResumeUpdateReqDTO reqDTO) {
exam-system/src/main/java/com/gkhy/exam/coalmine/controller/CmStaffTrainController.java
@@ -11,6 +11,7 @@
import com.gkhy.exam.coalmine.model.dto.req.CmStaffTrainUpdateReqDTO;
import com.gkhy.exam.coalmine.service.CmStaffManagerService;
import com.gkhy.exam.coalmine.service.baseService.CmStaffTrainService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
@@ -21,6 +22,7 @@
import javax.annotation.Resource;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;
@@ -28,6 +30,7 @@
 * @author hz
 * @since 2023-09-14 10:37:03
 */
@Api(tags = "个人培训经历管理")
@RestController
@RequestMapping("/cmStaffTrain")
public class CmStaffTrainController{
@@ -44,8 +47,8 @@
    @ApiOperation(value = "新增个人培训经历",httpMethod = "POST")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "staffId",dataTypeClass = Long.class, value = "人员id",required = true),
            @ApiImplicitParam(name = "startTime", dataTypeClass = LocalDateTime.class,value = "开始时间"),
            @ApiImplicitParam(name = "endTime", dataTypeClass = LocalDateTime.class,value = "结束时间",required = true),
            @ApiImplicitParam(name = "startTime", dataTypeClass = LocalDate.class,value = "开始时间"),
            @ApiImplicitParam(name = "endTime", dataTypeClass = LocalDate.class,value = "结束时间",required = true),
            @ApiImplicitParam(name = "unit", dataTypeClass = String.class,value = "单位",required = true),
            @ApiImplicitParam(name = "batch", dataTypeClass = String.class,value = "所属批次",required = true),
            @ApiImplicitParam(name = "subject", dataTypeClass = String.class,value = "科目",required = true)
@@ -60,7 +63,7 @@
     */
    @ApiOperation(value = "根据id删除个人培训经历",httpMethod = "GET")
    @ApiImplicitParam(name = "id",dataTypeClass = Long.class,value = "培训经历id",required = true)
    @GetMapping("/del")
    @GetMapping("/del/{id}")
    public AjaxResult delete(@PathVariable @NotNull(message = "id不能为空") Long id) {
        return this.cmStaffManagerService.deleteCmStaffTrain(id);
    }
@@ -73,8 +76,8 @@
    @ApiImplicitParams({
            @ApiImplicitParam(name = "id",dataTypeClass = Long.class, value = "id",required = true),
            @ApiImplicitParam(name = "staffId",dataTypeClass = Long.class, value = "人员id",required = true),
            @ApiImplicitParam(name = "startTime", dataTypeClass = LocalDateTime.class,value = "开始时间"),
            @ApiImplicitParam(name = "endTime", dataTypeClass = LocalDateTime.class,value = "结束时间",required = true),
            @ApiImplicitParam(name = "startTime", dataTypeClass = LocalDate.class,value = "开始时间"),
            @ApiImplicitParam(name = "endTime", dataTypeClass = LocalDate.class,value = "结束时间",required = true),
            @ApiImplicitParam(name = "unit", dataTypeClass = String.class,value = "单位",required = true),
            @ApiImplicitParam(name = "batch", dataTypeClass = String.class,value = "所属批次",required = true),
            @ApiImplicitParam(name = "subject", dataTypeClass = String.class,value = "科目",required = true)
exam-system/src/main/java/com/gkhy/exam/coalmine/controller/EmonRecordController.java
@@ -11,6 +11,8 @@
import com.gkhy.exam.coalmine.service.EmonRecordManagerService;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.system.service.SysDistrictService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
@@ -28,6 +30,7 @@
 * @author hz
 * @since 2023-09-13 10:13:39
 */
@Api(tags = "监控记录接收管理")
@RestController
@RequestMapping("/emonRecord")
public class EmonRecordController extends BaseController {
@@ -100,7 +103,7 @@
     */
    @ApiOperation(value = "根据id删除考场异常监控记录",httpMethod = "GET")
    @ApiImplicitParam(name = "id",dataTypeClass = Long.class,value = "记录id",required = true)
    @GetMapping("/exam/del")
    @GetMapping("/exam/del/{id}")
    public AjaxResult deleteExamRecord(@PathVariable @NotNull(message = "id不能为空") Long id) {
        return this.emonRecordManagerService.deleteExamRecord(id);
    }
@@ -110,7 +113,7 @@
     */
    @ApiOperation(value = "根据id删除培训异常监控记录",httpMethod = "GET")
    @ApiImplicitParam(name = "id",dataTypeClass = Long.class,value = "记录id",required = true)
    @GetMapping("/train/del")
    @GetMapping("/train/del/{id}")
    public AjaxResult deleteTrainRecord(@PathVariable @NotNull(message = "id不能为空") Long id) {
        return this.emonRecordManagerService.deleteTrainRecord(id);
    }
exam-system/src/main/java/com/gkhy/exam/coalmine/controller/ExaminerManageController.java
@@ -127,7 +127,7 @@
     */
    @ApiOperation(value = "根据id删除考评员",httpMethod = "GET")
    @ApiImplicitParam(name = "id",dataTypeClass = Long.class,value = "考评员id",required = true)
    @GetMapping("/del")
    @GetMapping("/del/{id}")
    public AjaxResult delete(@PathVariable @NotNull(message = "id不能为空") Long id) {
        return this.eduResourcesManagerService.removeExaminerById(id);
    }
@@ -137,7 +137,7 @@
     */
    @ApiOperation(value = "根据id删除与之关联的工种信息",httpMethod = "GET")
    @ApiImplicitParam(name = "id",dataTypeClass = Long.class,value = "关联的工种id",required = true)
    @GetMapping("/operateType/del")
    @GetMapping("/operateType/del/{id}")
    public AjaxResult deleteExaminerBindOperateType(@PathVariable @NotNull(message = "id不能为空") Long id) {
        return this.eduResourcesManagerService.deleteExaminerBindOperateType(id);
    }
exam-system/src/main/java/com/gkhy/exam/coalmine/controller/TeacherManageController.java
@@ -131,7 +131,7 @@
     */
    @ApiOperation(value = "根据id删除教师",httpMethod = "GET")
    @ApiImplicitParam(name = "id",dataTypeClass = Long.class,value = "教师id",required = true)
    @GetMapping("/del")
    @GetMapping("/del/{id}")
    public AjaxResult delete(@PathVariable @NotNull(message = "id不能为空") Long id) {
        return this.eduResourcesManagerService.removeTeacherById(id);
    }
@@ -141,7 +141,7 @@
     */
    @ApiOperation(value = "根据id删除与之关联的工种信息",httpMethod = "GET")
    @ApiImplicitParam(name = "id",dataTypeClass = Long.class,value = "关联的工种id",required = true)
    @GetMapping("/operateType/del")
    @GetMapping("/operateType/del/{id}")
    public AjaxResult deleteTeacherBindOperateType(@PathVariable @NotNull(message = "id不能为空") Long id) {
        return this.eduResourcesManagerService.deleteTeacherBindOperateType(id);
    }
exam-system/src/main/java/com/gkhy/exam/coalmine/entity/CmStaffExam.java
@@ -1,5 +1,6 @@
package com.gkhy.exam.coalmine.entity;
import java.time.LocalDate;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
@@ -9,6 +10,8 @@
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.data.annotation.Id;
import javax.validation.constraints.NotNull;
@Data
@TableName("cm_staff_exam")
@@ -21,11 +24,8 @@
    //人员id    
    private Long staffId;
    //开始时间
    private LocalDateTime startTime;
    //结束时间
    private LocalDateTime endTime;
    private LocalDate examTime;
    //考试中心    
    private String examCenter;
exam-system/src/main/java/com/gkhy/exam/coalmine/entity/CmStaffQa.java
@@ -1,5 +1,6 @@
package com.gkhy.exam.coalmine.entity;
import java.time.LocalDate;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
@@ -37,7 +38,7 @@
    private String operationItems;
    //过期时间    
    private LocalDateTime expiredTime;
    private LocalDate expiredTime;
    //删除标志(0代表存在 2代表删除)    
    private Byte delFlag;
exam-system/src/main/java/com/gkhy/exam/coalmine/entity/CmStaffResume.java
@@ -1,5 +1,6 @@
package com.gkhy.exam.coalmine.entity;
import java.time.LocalDate;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
@@ -22,10 +23,10 @@
    private Long staffId;
    //开始时间    
    private LocalDateTime startTime;
    private LocalDate startTime;
    //结束时间    
    private LocalDateTime endTime;
    private LocalDate endTime;
    //单位    
    private String unit;
exam-system/src/main/java/com/gkhy/exam/coalmine/entity/CmStaffTrain.java
@@ -1,5 +1,6 @@
package com.gkhy.exam.coalmine.entity;
import java.time.LocalDate;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
@@ -22,10 +23,10 @@
    private Long staffId;
    //开始时间    
    private LocalDateTime startTime;
    private LocalDate startTime;
    //结束时间    
    private LocalDateTime endTime;
    private LocalDate endTime;
    //单位    
    private String unit;
exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/CmStaffExamAddReqDTO.java
@@ -6,6 +6,7 @@
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
/**
@@ -20,15 +21,9 @@
    @NotNull(message = "人员id不能为空")
    private Long staffId;
    //开始时间
    @NotNull(message = "开始时间不能为空")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime startTime;
    //结束时间
    @NotNull(message = "结束时间不能为空")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime endTime;
    //考试时间
    @NotNull(message = "考试时间不能为空")
    private LocalDate examTime;
    //考试中心
    @NotBlank(message = "考试中心不能为空")
exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/CmStaffExamUpdateReqDTO.java
@@ -6,6 +6,7 @@
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
/**
@@ -24,15 +25,9 @@
    @NotNull(message = "人员id不能为空")
    private Long staffId;
    //开始时间
    @NotNull(message = "开始时间不能为空")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime startTime;
    //结束时间
    @NotNull(message = "结束时间不能为空")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime endTime;
    //考试时间
    @NotNull(message = "考试时间不能为空")
    private LocalDate examTime;
    //考试中心
    @NotBlank(message = "考试中心不能为空")
exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/CmStaffQaAddReqDTO.java
@@ -6,6 +6,7 @@
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
/**
@@ -28,20 +29,8 @@
    @NotNull(message = "操作类型不能为空")
    private Long operateTypeId;
    //资格类型
    @NotBlank(message = "资格类型不能为空")
    private String qualificationType;
    //作业类别
    @NotBlank(message = "作业类别不能为空")
    private String jobCategory;
    //操作项目
    @NotBlank(message = "操作项目不能为空")
    private String operationItems;
    //过期时间
    @NotNull(message = "操作类型不能为空")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime expiredTime;
    @NotNull(message = "过期时间不能为空")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate expiredTime;
}
exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/CmStaffQaUpdateReqDTO.java
@@ -6,6 +6,7 @@
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
/**
@@ -31,20 +32,7 @@
    @NotNull(message = "操作类型不能为空")
    private Long operateTypeId;
    //资格类型
    @NotBlank(message = "资格类型不能为空")
    private String qualificationType;
    //作业类别
    @NotBlank(message = "作业类别不能为空")
    private String jobCategory;
    //操作项目
    @NotBlank(message = "操作项目不能为空")
    private String operationItems;
    //过期时间
    @NotNull(message = "操作类型不能为空")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime expiredTime;
    private LocalDate expiredTime;
}
exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/CmStaffResumeAddReqDTO.java
@@ -2,10 +2,12 @@
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
/**
@@ -22,13 +24,11 @@
    //开始时间
    @NotNull(message = "开始时间不能为空")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime startTime;
    private LocalDate startTime;
    //结束时间
    @NotNull(message = "结束时间不能为空")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime endTime;
    private LocalDate endTime;
    //单位
    @NotBlank(message = "单位不能为空")
exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/CmStaffResumeUpdateReqDTO.java
@@ -6,6 +6,7 @@
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
/**
@@ -25,13 +26,11 @@
    //开始时间
    @NotNull(message = "开始时间不能为空")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime startTime;
    private LocalDate startTime;
    //结束时间
    @NotNull(message = "结束时间不能为空")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime endTime;
    private LocalDate endTime;
    //单位
    @NotBlank(message = "单位不能为空")
exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/CmStaffTrainAddReqDTO.java
@@ -6,6 +6,7 @@
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
/**
@@ -22,13 +23,11 @@
    //开始时间
    @NotNull(message = "开始时间不能为空")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime startTime;
    private LocalDate startTime;
    //结束时间
    @NotNull(message = "结束时间不能为空")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime endTime;
    private LocalDate endTime;
    //单位
    @NotBlank(message = "单位不能为空")
exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/CmStaffTrainUpdateReqDTO.java
@@ -6,6 +6,7 @@
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
/**
@@ -25,13 +26,11 @@
    //开始时间
    @NotNull(message = "开始时间不能为空")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime startTime;
    private LocalDate startTime;
    //结束时间
    @NotNull(message = "结束时间不能为空")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime endTime;
    private LocalDate endTime;
    //单位
    @NotBlank(message = "单位不能为空")
exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/CmStaffUpdateReqDTO.java
对比新文件
@@ -0,0 +1,47 @@
package com.gkhy.exam.coalmine.model.dto.req;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
 * @author Mr.huang
 * @decription
 * @date 2023/9/14 11:00
 */
@Data
public class CmStaffUpdateReqDTO implements Serializable {
    @NotNull(message = "id不能为空")
    private Long id;
    //姓名
    @NotBlank(message = "姓名不能为空")
    private String name;
    //性别
    @NotBlank(message = "性别不能为空")
    private String sex;
    //民族
    @NotBlank(message = "民族不能为空")
    private String nationCode;
    //身份证
    @NotBlank(message = "身份证不能为空")
    private String code;
    //手机号
    @NotBlank(message = "手机号不能为空")
    private String mobilePhone;
    //最高学历
    @NotBlank(message = "最高学历不能为空")
    private String eduLevel;
    //证件照
    @NotNull(message = "证件照不能为空")
    private Long photoAttachment;
}
exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/resp/CmStaffByCodeRespDTO.java
对比新文件
@@ -0,0 +1,57 @@
package com.gkhy.exam.coalmine.model.dto.resp;
import com.gkhy.exam.coalmine.entity.CmStaffExam;
import com.gkhy.exam.coalmine.entity.CmStaffQa;
import com.gkhy.exam.coalmine.entity.CmStaffResume;
import com.gkhy.exam.coalmine.entity.CmStaffTrain;
import com.gkhy.exam.noncoalmine.model.vo.ViolationRegistrationVO;
import com.gkhy.exam.noncoalmine.model.vo.WorkRegistrationVO;
import com.ruoyi.file.entity.AttachmentInfo;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
 * @author Mr.huang
 * @decription
 * @date 2023/9/14 15:57
 */
@Data
public class CmStaffByCodeRespDTO implements Serializable {
    private Long id;
    //姓名
    private String name;
    //性别
    private String sex;
    //民族
    private String nationCode;
    //身份证
    private String code;
    //手机号
    private String mobilePhone;
    //最高学历
    private String eduLevel;
    //证件照
    private AttachmentInfo photoAttachment;
    private List<ViolationRegistrationVO> violationRegistrationVOS;
    private List<WorkRegistrationVO> workRegistrationVOS;
    private List<CmStaffResume>  cmStaffResumes;
    private List<CmStaffTrain> cmStaffTrains;
    private List<CmStaffExam> cmStaffExams;
    private List<CmStaffQa> cmStaffQas;
}
exam-system/src/main/java/com/gkhy/exam/coalmine/service/CmStaffManagerService.java
@@ -1,6 +1,7 @@
package com.gkhy.exam.coalmine.service;
import com.gkhy.exam.coalmine.model.dto.req.*;
import com.gkhy.exam.coalmine.model.dto.resp.CmStaffByCodeRespDTO;
import com.gkhy.exam.coalmine.model.dto.resp.CmStaffPageRespDTO;
import com.ruoyi.common.core.domain.AjaxResult;
@@ -40,4 +41,9 @@
    List<CmStaffPageRespDTO> selectPage();
    AjaxResult editCmStaff(CmStaffUpdateReqDTO reqDTO);
    AjaxResult deleteCmStaff(Long id);
    AjaxResult selectByCode(String code);
}
exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/CmStaffService.java
@@ -9,5 +9,8 @@
 */
public interface CmStaffService extends IService<CmStaff> {
    CmStaff selectByCode(String code);
    CmStaff getValidById(Long id);
}
exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/EmonExamRecordService.java
@@ -14,7 +14,7 @@
    EmonExamRecord findValidById(Long id);
    List<EmonExamRecord> listValid();
    List<EmonExamRecord> listValid(List<Long> childrenIds);
}
exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/EmonTrainRecordService.java
@@ -13,7 +13,7 @@
    EmonTrainRecord findValidById(Long id);
    List<EmonTrainRecord> listValid();
    List<EmonTrainRecord> listValid(List<Long> childrenIds);
}
exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/impl/CmStaffExamServiceImpl.java
@@ -34,7 +34,7 @@
    public List<CmStaffExam> listValid(Long id) {
        LambdaQueryWrapper<CmStaffExam> wrapper = new LambdaQueryWrapper<>();
        wrapper.eq(CmStaffExam::getDelFlag, DeleteStatusEnum.NO.getStatus())
                .eq(CmStaffExam::getId,id);
                .eq(CmStaffExam::getStaffId,id);
        return cmStaffExamMapper.selectList(wrapper);
    }
}
exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/impl/CmStaffQaServiceImpl.java
@@ -35,7 +35,7 @@
    public List<CmStaffQa> listValid(Long id) {
        LambdaQueryWrapper<CmStaffQa> wrapper = new LambdaQueryWrapper<>();
        wrapper.eq(CmStaffQa::getDelFlag, DeleteStatusEnum.NO.getStatus())
                .eq(CmStaffQa::getId,id);
                .eq(CmStaffQa::getStaffId,id);
        return cmStaffQaMapper.selectList(wrapper);
    }
}
exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/impl/CmStaffServiceImpl.java
@@ -1,10 +1,14 @@
package com.gkhy.exam.coalmine.service.baseService.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.gkhy.exam.coalmine.mapper.CmStaffMapper;
import com.gkhy.exam.coalmine.entity.CmStaff;
import com.gkhy.exam.coalmine.service.baseService.CmStaffService;
import com.ruoyi.common.enums.coalmineEnums.DeleteStatusEnum;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
/**
 * @author hz
@@ -13,5 +17,23 @@
@Service("cmStaffManageServiceImpl")
public class CmStaffServiceImpl extends ServiceImpl<CmStaffMapper, CmStaff> implements CmStaffService {
    @Resource
    private CmStaffMapper cmStaffMapper;
    @Override
    public CmStaff selectByCode(String code) {
        LambdaQueryWrapper<CmStaff> wrapper = new LambdaQueryWrapper<>();
        wrapper.eq(CmStaff::getCode,code)
                .eq(CmStaff::getDelFlag, DeleteStatusEnum.NO.getStatus());
        return cmStaffMapper.selectOne(wrapper);
    }
    @Override
    public CmStaff getValidById(Long id) {
        LambdaQueryWrapper<CmStaff> wrapper = new LambdaQueryWrapper<>();
        wrapper.eq(CmStaff::getId,id)
                .eq(CmStaff::getDelFlag, DeleteStatusEnum.NO.getStatus());
        return cmStaffMapper.selectOne(wrapper);
    }
}
exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/impl/EmonExamRecordServiceImpl.java
@@ -7,6 +7,7 @@
import com.gkhy.exam.coalmine.service.baseService.EmonExamRecordService;
import com.ruoyi.common.enums.coalmineEnums.DeleteStatusEnum;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
import java.util.List;
@@ -31,10 +32,13 @@
    }
    @Override
    public List<EmonExamRecord> listValid() {
    public List<EmonExamRecord> listValid(List<Long> childrenIds) {
        LambdaQueryWrapper<EmonExamRecord> wrapper = new LambdaQueryWrapper<>();
        wrapper.eq(EmonExamRecord::getDelFlag, DeleteStatusEnum.NO.getStatus())
                .orderByDesc(EmonExamRecord::getReportTime);
        if (!CollectionUtils.isEmpty(childrenIds)){
            wrapper.in(EmonExamRecord::getDistrictId,childrenIds);
        }
        return emonExamRecordMapper.selectList(wrapper);
    }
}
exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/impl/EmonTrainRecordServiceImpl.java
@@ -2,11 +2,13 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.gkhy.exam.coalmine.entity.EmonExamRecord;
import com.gkhy.exam.coalmine.mapper.EmonTrainRecordMapper;
import com.gkhy.exam.coalmine.entity.EmonTrainRecord;
import com.gkhy.exam.coalmine.service.baseService.EmonTrainRecordService;
import com.ruoyi.common.enums.coalmineEnums.DeleteStatusEnum;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
import java.util.List;
@@ -31,10 +33,13 @@
    }
    @Override
    public List<EmonTrainRecord> listValid() {
    public List<EmonTrainRecord> listValid(List<Long> childrenIds) {
        LambdaQueryWrapper<EmonTrainRecord> wrapper = new LambdaQueryWrapper<>();
        wrapper.eq(EmonTrainRecord::getDelFlag, DeleteStatusEnum.NO.getStatus())
                .orderByDesc(EmonTrainRecord::getReportTime);
        if (!CollectionUtils.isEmpty(childrenIds)){
            wrapper.in(EmonTrainRecord::getDistrictId,childrenIds);
        }
        return emonTrainRecordMapper.selectList(wrapper);
    }
}
exam-system/src/main/java/com/gkhy/exam/coalmine/service/impl/CmStaffManagerServiceImpl.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.gkhy.exam.coalmine.entity.*;
import com.gkhy.exam.coalmine.model.dto.req.*;
import com.gkhy.exam.coalmine.model.dto.resp.CmStaffByCodeRespDTO;
import com.gkhy.exam.coalmine.model.dto.resp.CmStaffPageRespDTO;
import com.gkhy.exam.coalmine.service.CmStaffManagerService;
import com.gkhy.exam.coalmine.service.baseService.*;
@@ -13,11 +14,15 @@
import com.ruoyi.common.enums.coalmineEnums.DeleteStatusEnum;
import com.ruoyi.common.exception.BusinessException;
import com.ruoyi.file.service.AttachmentInfoService;
import com.ruoyi.system.domain.bo.SysOperateTypeWholeNameBO;
import com.ruoyi.system.service.SysOperateTypeService;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
@@ -34,6 +39,9 @@
    @Resource
    private CmStaffTrainService cmStaffTrainService;
    @Resource
    private SysOperateTypeService sysOperateTypeService;
    @Resource
    private CmStaffResumeService cmStaffResumeService;
@@ -55,6 +63,9 @@
    @Override
    public AjaxResult saveCmStaff(CmStaffAddReqDTO reqDTO) {
        CmStaff staff = cmStaffService.selectByCode(reqDTO.getCode());
        if (staff != null)
            throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"该身份证人员已存在");
        CmStaff cmStaff = new CmStaff();
        BeanUtils.copyProperties(reqDTO,cmStaff);
        cmStaff.setDelFlag(DeleteStatusEnum.NO.getStatus());
@@ -81,7 +92,7 @@
        if (cmStaffResume == null)
            return AjaxResult.success("删除履历成功");
        cmStaffResume.setDelFlag(DeleteStatusEnum.YES.getStatus());
        boolean save = cmStaffResumeService.save(cmStaffResume);
        boolean save = cmStaffResumeService.updateById(cmStaffResume);
        if (!save)
            throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"删除履历失败");
        return AjaxResult.success("删除履历成功");
@@ -93,7 +104,7 @@
        if (cmStaffResume == null)
            throw new BusinessException(this.getClass(),ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"数据不存在");
        BeanUtils.copyProperties(reqDTO,cmStaffResume,"id");
        boolean save = cmStaffResumeService.save(cmStaffResume);
        boolean save = cmStaffResumeService.updateById(cmStaffResume);
        if (!save)
            throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"删除履历失败");
        return AjaxResult.success("删除履历成功");
@@ -116,7 +127,7 @@
        if (cmStaffTrain == null)
            return AjaxResult.success("删除培训经历成功");
        cmStaffTrain.setDelFlag(DeleteStatusEnum.YES.getStatus());
        boolean save = cmStaffTrainService.save(cmStaffTrain);
        boolean save = cmStaffTrainService.updateById(cmStaffTrain);
        if (!save)
            throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"删除培训经历失败");
        return AjaxResult.success("删除培训经历成功");
@@ -128,7 +139,7 @@
        if (cmStaffTrain == null)
            throw new BusinessException(this.getClass(),ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"数据不存在");
        BeanUtils.copyProperties(reqDTO,cmStaffTrain,"id");
        boolean save = cmStaffTrainService.save(cmStaffTrain);
        boolean save = cmStaffTrainService.updateById(cmStaffTrain);
        if (!save)
            throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"修改培训经历失败");
        return AjaxResult.success("修改培训经历成功");
@@ -151,7 +162,7 @@
        if (cmStaffExam == null)
            return AjaxResult.success("删除考试经历成功");
        cmStaffExam.setDelFlag(DeleteStatusEnum.YES.getStatus());
        boolean save = cmStaffExamService.save(cmStaffExam);
        boolean save = cmStaffExamService.updateById(cmStaffExam);
        if (!save)
            throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"删除考试经历失败");
        return AjaxResult.success("删除考试经历成功");
@@ -163,7 +174,7 @@
        if (cmStaffExam == null)
            throw new BusinessException(this.getClass(),ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"数据不存在");
        BeanUtils.copyProperties(reqDTO,cmStaffExam,"id");
        boolean save = cmStaffExamService.save(cmStaffExam);
        boolean save = cmStaffExamService.updateById(cmStaffExam);
        if (!save)
            throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"修改考试经历失败");
        return AjaxResult.success("修改考试经历成功");
@@ -173,6 +184,10 @@
    public AjaxResult saveCmStaffQa(CmStaffQaAddReqDTO reqDTO) {
        CmStaffQa cmStaffQa = new CmStaffQa();
        BeanUtils.copyProperties(reqDTO,cmStaffQa);
        SysOperateTypeWholeNameBO operateTypeWholeName = sysOperateTypeService.getOperateTypeWholeNameById(reqDTO.getOperateTypeId());
        if (operateTypeWholeName == null)
            throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"作业与操作类型不存在");
        BeanUtils.copyProperties(operateTypeWholeName,cmStaffQa);
        cmStaffQa.setDelFlag(DeleteStatusEnum.NO.getStatus());
        boolean save = cmStaffQaService.save(cmStaffQa);
        if (!save)
@@ -186,7 +201,7 @@
        if (cmStaffQa == null)
            return AjaxResult.success("删除资格证书成功");
        cmStaffQa.setDelFlag(DeleteStatusEnum.YES.getStatus());
        boolean save = cmStaffQaService.save(cmStaffQa);
        boolean save = cmStaffQaService.updateById(cmStaffQa);
        if (!save)
            throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"删除资格证书失败");
        return AjaxResult.success("删除资格证书成功");
@@ -198,7 +213,11 @@
        if (cmStaffQa == null)
            throw new BusinessException(this.getClass(),ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"数据不存在");
        BeanUtils.copyProperties(reqDTO,cmStaffQa,"id");
        boolean save = cmStaffQaService.save(cmStaffQa);
        SysOperateTypeWholeNameBO operateTypeWholeName = sysOperateTypeService.getOperateTypeWholeNameById(reqDTO.getOperateTypeId());
        if (operateTypeWholeName == null)
            throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"作业与操作类型不存在");
        BeanUtils.copyProperties(operateTypeWholeName,cmStaffQa);
        boolean save = cmStaffQaService.updateById(cmStaffQa);
        if (!save)
            throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"修改资格证书失败");
        return AjaxResult.success("修改资格证书成功");
@@ -210,10 +229,11 @@
        wrapper.eq(CmStaff::getDelFlag,DeleteStatusEnum.NO.getStatus());
        List<CmStaff> cmStaffs = cmStaffService.list(wrapper);
        if (CollectionUtils.isEmpty(cmStaffs)){
            return null;
            return new ArrayList<>();
        }
        List<CmStaffPageRespDTO> dtos = cmStaffs.stream().map(cmStaff -> {
            CmStaffPageRespDTO dto = new CmStaffPageRespDTO();
            BeanUtils.copyProperties(cmStaff,dto);
            Long id = cmStaff.getId();
            dto.setPhotoAttachment(attachmentInfoService.getById(cmStaff.getPhotoAttachment()));
            dto.setWorkRegistrationVOS(workRegistrationService.getByIdCard(cmStaff.getCode(), (byte) 0));
@@ -226,4 +246,91 @@
        }).collect(Collectors.toList());
        return dtos;
    }
    @Override
    public AjaxResult editCmStaff(CmStaffUpdateReqDTO reqDTO) {
        CmStaff staff = cmStaffService.selectByCode(reqDTO.getCode());
        if (staff != null && staff.getId() != reqDTO.getId())
            throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"该身份证人员已存在");
        BeanUtils.copyProperties(reqDTO,staff);
        boolean save = cmStaffService.updateById(staff);
        if (!save)
            throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"修改失败");
        return AjaxResult.success("修改成功");
    }
    @Override
    @Transactional
    public AjaxResult deleteCmStaff(Long id) {
        CmStaff cmStaff = cmStaffService.getValidById(id);
        if (cmStaff == null)
            return AjaxResult.success("删除成功");
        cmStaff.setDelFlag(DeleteStatusEnum.YES.getStatus());
        boolean result = cmStaffService.updateById(cmStaff);
        if (!result)
            return AjaxResult.success("删除失败");
        List<CmStaffExam> cmStaffExams = cmStaffExamService.listValid(id);
        if (!CollectionUtils.isEmpty(cmStaffExams)){
            cmStaffExams = cmStaffExams.stream().map(cmStaffExam -> {
                cmStaffExam.setDelFlag(DeleteStatusEnum.YES.getStatus());
                return cmStaffExam;
            }).collect(Collectors.toList());
            boolean cmStaffExamResult = cmStaffExamService.updateBatchById(cmStaffExams);
            if (!cmStaffExamResult)
                return AjaxResult.success("删除失败");
        }
        List<CmStaffQa> cmStaffQas = cmStaffQaService.listValid(id);
        if (!CollectionUtils.isEmpty(cmStaffQas)){
            cmStaffQas = cmStaffQas.stream().map(cmStaffQa -> {
                cmStaffQa.setDelFlag(DeleteStatusEnum.YES.getStatus());
                return cmStaffQa;
            }).collect(Collectors.toList());
            boolean cmStaffQaResult = cmStaffQaService.updateBatchById(cmStaffQas);
            if (!cmStaffQaResult)
                return AjaxResult.success("删除失败");
        }
        List<CmStaffResume> cmStaffResumes = cmStaffResumeService.listValid(id);
        if (!CollectionUtils.isEmpty(cmStaffResumes)){
            cmStaffResumes = cmStaffResumes.stream().map(cmStaffResume -> {
                cmStaffResume.setDelFlag(DeleteStatusEnum.YES.getStatus());
                return cmStaffResume;
            }).collect(Collectors.toList());
            boolean cmStaffResumeResult = cmStaffResumeService.updateBatchById(cmStaffResumes);
            if (!cmStaffResumeResult)
                return AjaxResult.success("删除失败");
        }
        List<CmStaffTrain> cmStaffTrains = cmStaffTrainService.listValid(id);
        if (!CollectionUtils.isEmpty(cmStaffTrains)){
            cmStaffTrains = cmStaffTrains.stream().map(cmStaffTrain -> {
                cmStaffTrain.setDelFlag(DeleteStatusEnum.YES.getStatus());
                return cmStaffTrain;
            }).collect(Collectors.toList());
            boolean cmStaffTrainResult = cmStaffTrainService.updateBatchById(cmStaffTrains);
            if (!cmStaffTrainResult)
                return AjaxResult.success("删除失败");
        }
        return AjaxResult.success("删除成功");
    }
    @Override
    public AjaxResult selectByCode(String code) {
        LambdaQueryWrapper<CmStaff> wrapper = new LambdaQueryWrapper<>();
        wrapper.eq(CmStaff::getDelFlag,DeleteStatusEnum.NO.getStatus())
                .eq(CmStaff::getCode,code);
        CmStaff cmStaff = cmStaffService.getOne(wrapper);
        if (wrapper == null){
            return AjaxResult.success();
        }
        CmStaffByCodeRespDTO dto = new CmStaffByCodeRespDTO();
        BeanUtils.copyProperties(cmStaff,dto);
        Long id = cmStaff.getId();
        dto.setPhotoAttachment(attachmentInfoService.getById(cmStaff.getPhotoAttachment()));
        dto.setWorkRegistrationVOS(workRegistrationService.getByIdCard(cmStaff.getCode(), (byte) 0));
        dto.setViolationRegistrationVOS(violationRegistrationService.getByIdCard(cmStaff.getCode(),(byte)0));
        dto.setCmStaffResumes(cmStaffResumeService.listValid(id));
        dto.setCmStaffTrains(cmStaffTrainService.listValid(id));
        dto.setCmStaffExams(cmStaffExamService.listValid(id));
        dto.setCmStaffQas(cmStaffQaService.listValid(id));
        return AjaxResult.success(dto);
    }
}
exam-system/src/main/java/com/gkhy/exam/coalmine/service/impl/EduResourcesManagerServiceImpl.java
@@ -220,7 +220,7 @@
        wrapper.eq(ExaminerManage::getDelFlag,DeleteStatusEnum.NO.getStatus());
        List<ExaminerManage> list = examinerManageService.list(wrapper);
        if (CollectionUtils.isEmpty(list))
            return null;
            return new ArrayList<>();
        List<GetExaminerRespDTO> dtos = new ArrayList<>();
        for (ExaminerManage manage : list) {
            GetExaminerRespDTO dto = getExaminerRespDTO(manage);
@@ -345,7 +345,7 @@
        wrapper.eq(TeacherManage::getDelFlag,DeleteStatusEnum.NO.getStatus());
        List<TeacherManage> list = teacherManageService.list(wrapper);
        if (CollectionUtils.isEmpty(list))
            return null;
            return new ArrayList<>();
        List<GetTeacherRespDTO> dtos = new ArrayList<>();
        for (TeacherManage manage : list) {
            GetTeacherRespDTO dto = getTeacherRespDTO(manage);
exam-system/src/main/java/com/gkhy/exam/coalmine/service/impl/EmonRecordManagerServiceImpl.java
@@ -18,6 +18,7 @@
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.file.entity.AttachmentInfo;
import com.ruoyi.file.service.AttachmentService;
import com.ruoyi.system.service.SysDistrictService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
@@ -26,6 +27,7 @@
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
@@ -41,6 +43,9 @@
    @Resource
    private AttachmentService attachmentService;
    @Resource
    private SysDistrictService sysDistrictService;
    @Resource
    private EmonExamRecordService  emonExamRecordService;
@@ -106,7 +111,9 @@
    @Override
    public List<GetExamDataRespDTO> getExamData() {
        List<EmonExamRecord> emonExamRecords =  emonExamRecordService.listValid();
        Long districtId = SecurityUtils.getLoginUser().getUser().getDistrictId();
        List<Long> childrenIds = sysDistrictService.selectChildrenIdsById(districtId);
        List<EmonExamRecord> emonExamRecords =  emonExamRecordService.listValid(childrenIds);
        if (!CollectionUtils.isEmpty(emonExamRecords)){
            List<GetExamDataRespDTO> list = emonExamRecords.stream().map(emonExamRecord -> {
                GetExamDataRespDTO dto = new GetExamDataRespDTO();
@@ -128,12 +135,14 @@
            }).collect(Collectors.toList());
            return list;
        }
        return null;
        return new ArrayList<>();
    }
    @Override
    public List<GetTrainDataRespDTO> getTrainData() {
        List<EmonTrainRecord> emonTrainRecords =  emonTrainRecordService.listValid();
        Long districtId = SecurityUtils.getLoginUser().getUser().getDistrictId();
        List<Long> childrenIds = sysDistrictService.selectChildrenIdsById(districtId);
        List<EmonTrainRecord> emonTrainRecords =  emonTrainRecordService.listValid(childrenIds);
        if (!CollectionUtils.isEmpty(emonTrainRecords)){
            List<GetTrainDataRespDTO> list = emonTrainRecords.stream().map(emonTrainRecord -> {
                GetTrainDataRespDTO dto = new GetTrainDataRespDTO();
@@ -155,7 +164,7 @@
            }).collect(Collectors.toList());
            return list;
        }
        return null;
        return new ArrayList<>();
    }
    @Override
exam-system/src/main/resources/mapper/coalmine/ExaminerManageOperateTypeBindMapper.xml
@@ -4,7 +4,7 @@
    <resultMap type="com.gkhy.exam.coalmine.entity.ExaminerManageOperateTypeBind" id="ExaminerManageOperateTypeBindMap">
        <result property="id" column="id"/>
        <result property="teacherManageId" column="teacher_manage_id"/>
        <result property="examinerManageId" column="examiner_manage_id"/>
        <result property="operateTypeId" column="operate_type_id"/>
        <result property="qualificationType" column="qualification_type"/>
        <result property="jobCategory" column="job_category"/>
@@ -17,7 +17,7 @@
    </resultMap>
    <sql id="selectAllField">
        select id, teacher_manage_id, operate_type_id, qualification_type, job_category, operation_items, del_flag, create_by, create_time, update_by, update_time
        select id, examiner_manage_id, operate_type_id, qualification_type, job_category, operation_items, del_flag, create_by, create_time, update_by, update_time
        from examiner_manage_operate_type_bind
    </sql>
</mapper>
ruoyi-admin/src/main/java/com/ruoyi/web/core/config/SwaggerConfig.java
@@ -39,7 +39,7 @@
    private boolean enabled;
    /** 设置请求的统一前缀 */
    @Value("${swagger.pathMapping}")
    //@Value("${swagger.pathMapping}")
    private String pathMapping;
    /**
@@ -113,9 +113,9 @@
        // 用ApiInfoBuilder进行定制
        return new ApiInfoBuilder()
                // 设置标题
                .title("标题:若依管理系统_接口文档")
                .title("标题:考试系统_接口文档")
                // 描述
                .description("描述:用于管理集团旗下公司的人员信息,具体包括XXX,XXX模块...")
                .description("描述:具体包括煤矿,非煤模块...")
                // 作者信息
                .contact(new Contact(ruoyiConfig.getName(), null, null))
                // 版本
ruoyi-framework/src/main/java/com/ruoyi/framework/web/exception/GlobalExceptionHandler.java
@@ -158,7 +158,7 @@
    public Object handleMethodArgumentNotValidException(MethodArgumentNotValidException e)
    {
        //log.error(e.getMessage(), e);
        log.error(e.getBindingResult().getFieldError()+"");
        //log.error(e.getBindingResult().getFieldError()+"");
        String message = e.getBindingResult().getFieldError().getDefaultMessage();
        return AjaxResult.error(ResultConstants.PARAM_ERROR.getCode(),message);
    }
ruoyi-system/src/main/java/com/ruoyi/system/service/SysDistrictService.java
@@ -31,5 +31,7 @@
    public void resetDistrictCache();
    List<DistrictTreeRespDTO> selectAllByTree();
    List<Long> selectChildrenIdsById(Long id);
}
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDistrictServiceImpl.java
@@ -122,5 +122,35 @@
        return collect;
    }
    @Override
    public List<Long> selectChildrenIdsById(Long id) {
        List<SysDistrict> districts = this.selectAll();
        if (CollectionUtils.isEmpty(districts)){
            throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"区划信息获取失败");
        }
        List<Long> list = new ArrayList<>();
        districts.stream()
                //父节点的id = 0,根据它开始进行实现。
                .filter(e -> e.getId().equals(id))
                .map(e ->{
                    list.add(e.getId());
                    getchildrenIds(list,e,districts);
                    return e;
                }).collect(Collectors.toList());
        return list;
    }
    private void getchildrenIds(List<Long> list,SysDistrict root,List<SysDistrict> districts){
        //root为每次最新的传递过来的数据,也就是上面过滤之后的 e ;
        List<SysDistrict> collect = districts.stream()
                //根据传递过来的 e ,拿到他的id,来查询出他的子节点id 这里有个特点 e.id = 子节点的父节点id
                .filter(e -> Objects.equals(e.getParentcode(), root.getCode()))
                .map(e -> {
                    list.add(e.getId());
                    getchildrenIds(list,e,districts);
                    //递归找到他的子节点,直到找到最后一个子节点为止,饼进行封装。
                    return e;
                }).collect(Collectors.toList());
    }
}
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOperateTypeServiceImpl.java
@@ -1,5 +1,7 @@
package com.ruoyi.system.service.impl;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.TypeReference;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.constant.CacheConstants;
@@ -69,7 +71,8 @@
                SysOperateTypeWholeNameBO nameBO = this.operateTypeWholeNameCacheById(sysOperateType.getId());
                map.put(sysOperateType.getId(),nameBO);
            }
            SpringUtils.getBean(RedisCache.class).setCacheObject(CacheConstants.SYS_OPERATE_TYPE_NAME_KEY, map);
            String info = JSON.toJSONString(map);
            SpringUtils.getBean(RedisCache.class).setCacheObject(CacheConstants.SYS_OPERATE_TYPE_NAME_KEY, info);
        }
    }
@@ -342,7 +345,8 @@
    @Override
    public SysOperateTypeWholeNameBO getOperateTypeWholeNameById(Long id) {
        Map<Long, SysOperateTypeWholeNameBO> map = redisCache.getCacheObject(CacheConstants.SYS_OPERATE_TYPE_NAME_KEY);
        String info = redisCache.getCacheObject(CacheConstants.SYS_OPERATE_TYPE_NAME_KEY);
        Map<Long, SysOperateTypeWholeNameBO> map = JSON.parseObject(info, new TypeReference<Map<Long, SysOperateTypeWholeNameBO>>() {});
        if (map != null){
            return map.get(id);
        }