From ea09629d8857e0afa329858f72cf1c93e25b813c Mon Sep 17 00:00:00 2001
From: huangzhen <867217663@qq.com>
Date: Fri, 15 Sep 2023 10:36:59 +0800
Subject: [PATCH] 煤矿功能实现
---
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOperateTypeServiceImpl.java | 23
exam-system/src/main/java/com/gkhy/exam/coalmine/entity/CmStaffTrain.java | 60
exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/resp/CmStaffPageRespDTO.java | 55
exam-system/src/main/java/com/gkhy/exam/coalmine/entity/TeacherManage.java | 70
exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/resp/AttachmentInfoRespDTO.java | 22
exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/ExaminerManageAddReqDTO.java | 66
exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/CmStaffResumeService.java | 19
exam-system/src/main/java/com/gkhy/exam/coalmine/mapper/EmonExamRecordMapper.java | 12
exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/ExaminerManageUpdateOperateTypeReqDTO.java | 32
exam-system/src/main/resources/mapper/coalmine/CmStaffMapper.xml | 25
exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/CmStaffAddReqDTO.java | 44
exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/CmStaffResumeUpdateReqDTO.java | 39
exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/impl/EmonTrainRecordServiceImpl.java | 41
exam-system/src/main/java/com/gkhy/exam/coalmine/mapper/ExaminerManageOperateTypeBindMapper.java | 11
exam-system/src/main/java/com/gkhy/exam/coalmine/mapper/CmStaffQaMapper.java | 12
exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/TeacherManageOperateTypeBindService.java | 19
exam-system/src/main/java/com/gkhy/exam/coalmine/entity/EmonExamRecord.java | 60
exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/impl/CmStaffExamServiceImpl.java | 41
exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/CmStaffExamUpdateReqDTO.java | 48
exam-system/src/main/java/com/gkhy/exam/coalmine/controller/CmStaffExamController.java | 86 +
exam-system/src/main/java/com/gkhy/exam/coalmine/mapper/CmStaffMapper.java | 11
exam-system/src/main/java/com/gkhy/exam/coalmine/entity/CmStaffResume.java | 55
exam-system/src/main/java/com/gkhy/exam/coalmine/service/EduResourcesManagerService.java | 45
exam-system/src/main/resources/mapper/coalmine/CmStaffTrainMapper.xml | 24
exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/impl/ExaminerManageServiceImpl.java | 39
exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/TeacherManageUpdateReqDTO.java | 67
exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/EmonExamRecordService.java | 20
exam-system/src/main/java/com/gkhy/exam/coalmine/entity/ExaminerManageOperateTypeBind.java | 58
exam-system/src/main/java/com/gkhy/exam/coalmine/controller/CmStaffTrainController.java | 86 +
exam-system/src/main/resources/mapper/coalmine/ExaminerManageMapper.xml | 34
exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/resp/GetTeacherRespDTO.java | 56
exam-system/src/main/java/com/gkhy/exam/coalmine/entity/CmStaff.java | 62
exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/resp/GetExaminerRespDTO.java | 56
exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/TeacherManageAddOperateTypeReqDTO.java | 33
exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/CmStaffTrainUpdateReqDTO.java | 47
exam-system/src/main/resources/mapper/coalmine/TeacherManageMapper.xml | 30
exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/impl/EmonExamRecordServiceImpl.java | 41
exam-system/src/main/java/com/gkhy/exam/coalmine/controller/CmStaffResumeController.java | 82 +
exam-system/src/main/java/com/gkhy/exam/coalmine/service/impl/EduResourcesManagerServiceImpl.java | 405 +++++
exam-system/src/main/java/com/gkhy/exam/coalmine/mapper/ExaminerManageMapper.java | 12
exam-system/src/main/java/com/gkhy/exam/coalmine/controller/TeacherManageController.java | 149 +
exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/TeacherManageAddReqDTO.java | 64
exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/CmStaffExamAddReqDTO.java | 44
exam-system/src/main/resources/mapper/coalmine/EmonTrainRecordMapper.xml | 23
exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/TeacherManageService.java | 16
exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/impl/TeacherManageOperateTypeBindServiceImpl.java | 42
exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/resp/GetExamDataRespDTO.java | 32
exam-system/src/main/resources/mapper/coalmine/TeacherManageOperateTypeBindMapper.xml | 23
exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/CmStaffQaUpdateReqDTO.java | 50
exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/resp/GetTrainDataRespDTO.java | 31
exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/EmonTrainRecordService.java | 19
exam-system/src/main/java/com/gkhy/exam/coalmine/entity/TeacherManageOperateTypeBind.java | 58
exam-system/src/main/java/com/gkhy/exam/coalmine/controller/ExaminerManageController.java | 145 +
exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/ExaminerManageAddOperateTypeReqDTO.java | 35
exam-system/src/main/java/com/gkhy/exam/coalmine/entity/CmStaffExam.java | 61
exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/impl/CmStaffResumeServiceImpl.java | 41
exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/ExaminerManageOperateTypeBindService.java | 18
exam-system/src/main/java/com/gkhy/exam/coalmine/service/impl/CmStaffManagerServiceImpl.java | 229 ++
exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/CmStaffQaService.java | 20
exam-system/src/main/java/com/gkhy/exam/coalmine/mapper/CmStaffTrainMapper.java | 12
exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/CmStaffService.java | 13
exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/TeacherManageUpdateStatusReqDTO.java | 25
exam-system/src/main/java/com/gkhy/exam/coalmine/service/CmStaffManagerService.java | 43
exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/impl/TeacherManageServiceImpl.java | 40
exam-system/src/main/resources/mapper/coalmine/EmonExamRecordMapper.xml | 25
exam-system/src/main/java/com/gkhy/exam/coalmine/mapper/CmStaffResumeMapper.java | 12
exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/CmStaffTrainAddReqDTO.java | 44
exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/CmStaffTrainService.java | 18
exam-system/src/main/java/com/gkhy/exam/coalmine/entity/ExaminerManage.java | 78
exam-system/src/main/java/com/gkhy/exam/coalmine/mapper/EmonTrainRecordMapper.java | 14
exam-system/src/main/java/com/gkhy/exam/coalmine/entity/EmonTrainRecord.java | 60
exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/ExaminerManageUpdateReqDTO.java | 68
exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/ExaminerManageUpdateStatusReqDTO.java | 22
exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/impl/CmStaffTrainServiceImpl.java | 41
exam-system/src/main/java/com/gkhy/exam/coalmine/utils/AttachmentUtil.java | 29
exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/CmStaffQaAddReqDTO.java | 47
exam-system/src/main/java/com/gkhy/exam/coalmine/mapper/TeacherManageMapper.java | 11
exam-system/src/main/resources/mapper/coalmine/CmStaffExamMapper.xml | 24
exam-system/src/main/java/com/gkhy/exam/coalmine/service/impl/EmonRecordManagerServiceImpl.java | 211 ++
exam-system/src/main/resources/mapper/coalmine/CmStaffResumeMapper.xml | 22
exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/CmStaffExamService.java | 19
exam-system/src/main/java/com/gkhy/exam/coalmine/controller/CmStaffController.java | 70
exam-system/src/main/resources/mapper/coalmine/CmStaffQaMapper.xml | 25
exam-system/src/main/java/com/gkhy/exam/coalmine/controller/CmStaffQaController.java | 88 +
exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/impl/ExaminerManageOperateTypeBindServiceImpl.java | 40
exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/CmStaffResumeAddReqDTO.java | 36
exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/ExaminerManageService.java | 16
exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/TrainReceiveReqDTO.java | 31
exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/resp/GetExaminerOperateTypesRespDTO.java | 34
ruoyi-common/src/main/java/com/ruoyi/common/enums/coalmineEnums/EnableStatusEnum.java | 12
exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/impl/CmStaffQaServiceImpl.java | 42
exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/impl/CmStaffServiceImpl.java | 17
exam-system/src/main/java/com/gkhy/exam/coalmine/mapper/CmStaffExamMapper.java | 12
exam-system/src/main/java/com/gkhy/exam/coalmine/entity/CmStaffQa.java | 64
exam-system/src/main/java/com/gkhy/exam/coalmine/controller/EmonRecordController.java | 118 +
exam-system/src/main/resources/mapper/coalmine/ExaminerManageOperateTypeBindMapper.xml | 24
exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/resp/GetTeacherOperateTypesRespDTO.java | 34
exam-system/src/main/java/com/gkhy/exam/coalmine/mapper/TeacherManageOperateTypeBindMapper.java | 11
exam-system/src/main/java/com/gkhy/exam/coalmine/service/EmonRecordManagerService.java | 30
exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/TeacherManageUpdateOperateTypeReqDTO.java | 32
exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/ExamReceiveReqDTO.java | 34
101 files changed, 4,781 insertions(+), 15 deletions(-)
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/controller/CmStaffController.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/controller/CmStaffController.java
new file mode 100644
index 0000000..e05eec4
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/controller/CmStaffController.java
@@ -0,0 +1,70 @@
+package com.gkhy.exam.coalmine.controller;
+
+
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+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.ExaminerManageAddReqDTO;
+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.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+import com.ruoyi.common.core.domain.AjaxResult;
+
+import javax.annotation.Resource;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * @author hz
+ * @since 2023-09-14 10:37:03
+ */
+@RestController
+@RequestMapping("/cm/staff")
+public class CmStaffController extends BaseController {
+ /**
+ * 服务对象
+ */
+ @Resource
+ private CmStaffManagerService cmStaffManagerService;
+
+ /**
+ * 分页查询人员
+ */
+ @ApiOperation(value = "分页获取人员",httpMethod = "GET")
+ @GetMapping("/page")
+ public TableDataInfo selectPage() {
+ startPage();
+ List<CmStaffPageRespDTO> list = cmStaffManagerService.selectPage();
+ return getDataTable(list);
+ }
+
+ /**
+ * 新增数据
+ */
+ @PostMapping("/add")
+ @ApiOperation(value = "新增人员",httpMethod = "POST")
+ @ApiImplicitParams({
+ @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 insert(@Validated @RequestBody CmStaffAddReqDTO reqDTO) {
+ return this.cmStaffManagerService.saveCmStaff(reqDTO);
+ }
+}
+
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/controller/CmStaffExamController.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/controller/CmStaffExamController.java
new file mode 100644
index 0000000..ac33b1e
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/controller/CmStaffExamController.java
@@ -0,0 +1,86 @@
+package com.gkhy.exam.coalmine.controller;
+
+
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.gkhy.exam.coalmine.entity.CmStaffExam;
+import com.gkhy.exam.coalmine.model.dto.req.CmStaffExamAddReqDTO;
+import com.gkhy.exam.coalmine.model.dto.req.CmStaffExamUpdateReqDTO;
+import com.gkhy.exam.coalmine.model.dto.req.CmStaffResumeAddReqDTO;
+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.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+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;
+
+/**
+ * @author hz
+ * @since 2023-09-14 10:37:03
+ */
+@RestController
+@RequestMapping("/cmStaffExam")
+public class CmStaffExamController{
+ /**
+ * 服务对象
+ */
+ @Resource
+ private CmStaffManagerService cmStaffManagerService;
+
+ /**
+ * 新增考试经历
+ */
+ @PostMapping("/add")
+ @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 = "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)
+ })
+ public AjaxResult insert(@Validated @RequestBody CmStaffExamAddReqDTO reqDTO) {
+ return this.cmStaffManagerService.saveCmStaffExam(reqDTO);
+ }
+
+
+ /**
+ * 删除考试经历
+ */
+ @ApiOperation(value = "根据id删除考试经历",httpMethod = "GET")
+ @ApiImplicitParam(name = "id",dataTypeClass = Long.class,value = "考试经历id",required = true)
+ @GetMapping("/del")
+ public AjaxResult delete(@PathVariable @NotNull(message = "id不能为空") Long id) {
+ return this.cmStaffManagerService.deleteCmStaffExam(id);
+ }
+
+ /**
+ * 修改考试经历
+ */
+ @PostMapping("/edit")
+ @ApiOperation(value = "修改考试经历",httpMethod = "POST")
+ @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 = "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)
+ })
+ public AjaxResult insert(@Validated @RequestBody CmStaffExamUpdateReqDTO reqDTO) {
+ return this.cmStaffManagerService.updateCmStaffExam(reqDTO);
+ }
+}
+
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/controller/CmStaffQaController.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/controller/CmStaffQaController.java
new file mode 100644
index 0000000..74360d6
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/controller/CmStaffQaController.java
@@ -0,0 +1,88 @@
+package com.gkhy.exam.coalmine.controller;
+
+
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.gkhy.exam.coalmine.entity.CmStaffQa;
+import com.gkhy.exam.coalmine.model.dto.req.CmStaffExamAddReqDTO;
+import com.gkhy.exam.coalmine.model.dto.req.CmStaffExamUpdateReqDTO;
+import com.gkhy.exam.coalmine.model.dto.req.CmStaffQaAddReqDTO;
+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.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+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;
+
+/**
+ * @author hz
+ * @since 2023-09-14 10:37:03
+ */
+@RestController
+@RequestMapping("/cmStaffQa")
+public class CmStaffQaController{
+ /**
+ * 服务对象
+ */
+ @Resource
+ private CmStaffManagerService cmStaffManagerService;
+
+ /**
+ * 新增资格证书
+ */
+ @PostMapping("/add")
+ @ApiOperation(value = "新增资格证书",httpMethod = "POST")
+ @ApiImplicitParams({
+ @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 = "过期时间")
+ })
+ public AjaxResult insert(@Validated @RequestBody CmStaffQaAddReqDTO reqDTO) {
+ return this.cmStaffManagerService.saveCmStaffQa(reqDTO);
+ }
+
+
+ /**
+ * 删除资格证书
+ */
+ @ApiOperation(value = "根据id删除资格证书",httpMethod = "GET")
+ @ApiImplicitParam(name = "id",dataTypeClass = Long.class,value = "资格证书id",required = true)
+ @GetMapping("/del")
+ public AjaxResult delete(@PathVariable @NotNull(message = "id不能为空") Long id) {
+ return this.cmStaffManagerService.deleteCmStaffQa(id);
+ }
+
+ /**
+ * 修改资格证书
+ */
+ @PostMapping("/edit")
+ @ApiOperation(value = "修改资格证书",httpMethod = "POST")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "id",dataTypeClass = Long.class, value = "资格证书id",required = true),
+ @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 = "过期时间")
+ })
+ public AjaxResult insert(@Validated @RequestBody CmStaffQaUpdateReqDTO reqDTO) {
+ return this.cmStaffManagerService.updateCmStaffQa(reqDTO);
+ }
+}
+
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/controller/CmStaffResumeController.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/controller/CmStaffResumeController.java
new file mode 100644
index 0000000..7a07e46
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/controller/CmStaffResumeController.java
@@ -0,0 +1,82 @@
+package com.gkhy.exam.coalmine.controller;
+
+
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.gkhy.exam.coalmine.entity.CmStaffResume;
+import com.gkhy.exam.coalmine.model.dto.req.CmStaffAddReqDTO;
+import com.gkhy.exam.coalmine.model.dto.req.CmStaffResumeAddReqDTO;
+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.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+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;
+
+/**
+ * @author hz
+ * @since 2023-09-14 10:37:03
+ */
+@RestController
+@RequestMapping("/cm/staffResume")
+public class CmStaffResumeController{
+ /**
+ * 服务对象
+ */
+ @Resource
+ private CmStaffManagerService cmStaffManagerService;
+
+ /**
+ * 新增个人履历
+ */
+ @PostMapping("/add")
+ @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 = "unit", dataTypeClass = String.class,value = "单位",required = true)
+ })
+ public AjaxResult insert(@Validated @RequestBody CmStaffResumeAddReqDTO reqDTO) {
+ return this.cmStaffManagerService.saveCmStaffResume(reqDTO);
+ }
+
+
+ /**
+ * 删除个人履历
+ */
+ @ApiOperation(value = "根据id删除个人履历",httpMethod = "GET")
+ @ApiImplicitParam(name = "id",dataTypeClass = Long.class,value = "履历id",required = true)
+ @GetMapping("/del")
+ public AjaxResult delete(@PathVariable @NotNull(message = "id不能为空") Long id) {
+ return this.cmStaffManagerService.deleteCmStaffResume(id);
+ }
+
+ /**
+ * 修改个人履历
+ */
+ @PostMapping("/edit")
+ @ApiOperation(value = "修改个人履历",httpMethod = "POST")
+ @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 = "unit", dataTypeClass = String.class,value = "单位",required = true)
+ })
+ public AjaxResult insert(@Validated @RequestBody CmStaffResumeUpdateReqDTO reqDTO) {
+ return this.cmStaffManagerService.updateCmStaffResume(reqDTO);
+ }
+
+}
+
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/controller/CmStaffTrainController.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/controller/CmStaffTrainController.java
new file mode 100644
index 0000000..f908677
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/controller/CmStaffTrainController.java
@@ -0,0 +1,86 @@
+package com.gkhy.exam.coalmine.controller;
+
+
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.gkhy.exam.coalmine.entity.CmStaffTrain;
+import com.gkhy.exam.coalmine.model.dto.req.CmStaffResumeAddReqDTO;
+import com.gkhy.exam.coalmine.model.dto.req.CmStaffResumeUpdateReqDTO;
+import com.gkhy.exam.coalmine.model.dto.req.CmStaffTrainAddReqDTO;
+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.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+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;
+
+/**
+ * @author hz
+ * @since 2023-09-14 10:37:03
+ */
+@RestController
+@RequestMapping("/cmStaffTrain")
+public class CmStaffTrainController{
+ /**
+ * 服务对象
+ */
+ @Resource
+ private CmStaffManagerService cmStaffManagerService;
+
+ /**
+ * 新增个人培训经历
+ */
+ @PostMapping("/add")
+ @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 = "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)
+ })
+ public AjaxResult insert(@Validated @RequestBody CmStaffTrainAddReqDTO reqDTO) {
+ return this.cmStaffManagerService.saveCmStaffTrain(reqDTO);
+ }
+
+
+ /**
+ * 删除个人履历
+ */
+ @ApiOperation(value = "根据id删除个人培训经历",httpMethod = "GET")
+ @ApiImplicitParam(name = "id",dataTypeClass = Long.class,value = "培训经历id",required = true)
+ @GetMapping("/del")
+ public AjaxResult delete(@PathVariable @NotNull(message = "id不能为空") Long id) {
+ return this.cmStaffManagerService.deleteCmStaffTrain(id);
+ }
+
+ /**
+ * 修改个人培训经历
+ */
+ @PostMapping("/edit")
+ @ApiOperation(value = "修改个人培训经历",httpMethod = "POST")
+ @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 = "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)
+ })
+ public AjaxResult insert(@Validated @RequestBody CmStaffTrainUpdateReqDTO reqDTO) {
+ return this.cmStaffManagerService.updateCmStaffTrain(reqDTO);
+ }
+}
+
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/controller/EmonRecordController.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/controller/EmonRecordController.java
new file mode 100644
index 0000000..a97a890
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/controller/EmonRecordController.java
@@ -0,0 +1,118 @@
+package com.gkhy.exam.coalmine.controller;
+
+
+
+import com.gkhy.exam.coalmine.model.dto.req.ExamReceiveReqDTO;
+import com.gkhy.exam.coalmine.model.dto.req.ExaminerManageUpdateStatusReqDTO;
+import com.gkhy.exam.coalmine.model.dto.req.TrainReceiveReqDTO;
+import com.gkhy.exam.coalmine.model.dto.resp.GetExamDataRespDTO;
+import com.gkhy.exam.coalmine.model.dto.resp.GetExaminerRespDTO;
+import com.gkhy.exam.coalmine.model.dto.resp.GetTrainDataRespDTO;
+import com.gkhy.exam.coalmine.service.EmonRecordManagerService;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.page.TableDataInfo;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+import com.ruoyi.common.core.domain.AjaxResult;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.annotation.Resource;
+import javax.validation.constraints.NotNull;
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * @author hz
+ * @since 2023-09-13 10:13:39
+ */
+@RestController
+@RequestMapping("/emonRecord")
+public class EmonRecordController extends BaseController {
+ /**
+ * 服务对象
+ */
+ @Resource
+ private EmonRecordManagerService emonRecordManagerService;
+
+ /**
+ * 异常考场监控记录接收
+ */
+ @PostMapping("/examReceive")
+ @ApiOperation(value = "异常考场监控记录接收",httpMethod = "POST")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "reportTime", dataTypeClass = String.class,value = "上传时间"),
+ @ApiImplicitParam(name = "districtId", dataTypeClass = Long.class,value = "区划id"),
+ @ApiImplicitParam(name = "examCenter", dataTypeClass = String.class,value = "考试中心"),
+ @ApiImplicitParam(name = "excType", dataTypeClass = String.class,value = "AI分析异常类别"),
+ @ApiImplicitParam(name = "isCm", dataTypeClass = Byte.class,value = "是否为煤矿:0为非,1是"),
+ @ApiImplicitParam(name = "files", dataTypeClass = Arrays.class,value = "文件流"),
+ @ApiImplicitParam(name = "status", dataTypeClass = String.class,value = "文件模块")
+ })
+ public AjaxResult examReceive(@RequestPart("file") MultipartFile[] file,@RequestPart("req") ExamReceiveReqDTO reqDTO) {
+ return this.emonRecordManagerService.examReceive(file,reqDTO);
+ }
+
+ /**
+ * 培训监控异常记录接收
+ */
+ @PostMapping("/trainReceive")
+ @ApiOperation(value = "培训监控异常记录接收",httpMethod = "POST")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "reportTime", dataTypeClass = String.class,value = "上传时间"),
+ @ApiImplicitParam(name = "districtId", dataTypeClass = Long.class,value = "区划id"),
+ @ApiImplicitParam(name = "examCenter", dataTypeClass = String.class,value = "考试中心"),
+ @ApiImplicitParam(name = "excType", dataTypeClass = String.class,value = "AI分析异常类别"),
+ @ApiImplicitParam(name = "isCm", dataTypeClass = Byte.class,value = "是否为煤矿:0为非,1是"),
+ @ApiImplicitParam(name = "files", dataTypeClass = Arrays.class,value = "文件流"),
+ @ApiImplicitParam(name = "status", dataTypeClass = String.class,value = "文件模块")
+ })
+ public AjaxResult trainReceive(@RequestParam("file") MultipartFile[] file ,@RequestPart("req") TrainReceiveReqDTO reqDTO) {
+ return this.emonRecordManagerService.trainReceive(file,reqDTO);
+ }
+
+ /**
+ * 异常考场监控记录获取
+ */
+ @GetMapping("/getExamData")
+ @ApiOperation(value = "异常考场监控记录获取",httpMethod = "GET")
+ public TableDataInfo getExamData() {
+ startPage();
+ List<GetExamDataRespDTO> list = emonRecordManagerService.getExamData();
+ return getDataTable(list);
+ }
+
+ /**
+ * 异常培训监控记录获取
+ */
+ @GetMapping("/getTrainData")
+ @ApiOperation(value = "异常培训监控记录获取",httpMethod = "GET")
+ public TableDataInfo getTrainData() {
+ startPage();
+ List<GetTrainDataRespDTO> list = emonRecordManagerService.getTrainData();
+ return getDataTable(list);
+ }
+
+ /**
+ * 根据id删除考场异常监控记录
+ */
+ @ApiOperation(value = "根据id删除考场异常监控记录",httpMethod = "GET")
+ @ApiImplicitParam(name = "id",dataTypeClass = Long.class,value = "记录id",required = true)
+ @GetMapping("/exam/del")
+ public AjaxResult deleteExamRecord(@PathVariable @NotNull(message = "id不能为空") Long id) {
+ return this.emonRecordManagerService.deleteExamRecord(id);
+ }
+
+ /**
+ * 根据id删除培训异常监控记录
+ */
+ @ApiOperation(value = "根据id删除培训异常监控记录",httpMethod = "GET")
+ @ApiImplicitParam(name = "id",dataTypeClass = Long.class,value = "记录id",required = true)
+ @GetMapping("/train/del")
+ public AjaxResult deleteTrainRecord(@PathVariable @NotNull(message = "id不能为空") Long id) {
+ return this.emonRecordManagerService.deleteTrainRecord(id);
+ }
+}
+
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/controller/ExaminerManageController.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/controller/ExaminerManageController.java
new file mode 100644
index 0000000..0b320ed
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/controller/ExaminerManageController.java
@@ -0,0 +1,145 @@
+package com.gkhy.exam.coalmine.controller;
+
+
+
+import com.gkhy.exam.coalmine.model.dto.req.ExaminerManageAddReqDTO;
+import com.gkhy.exam.coalmine.model.dto.req.ExaminerManageUpdateReqDTO;
+import com.gkhy.exam.coalmine.model.dto.req.ExaminerManageUpdateStatusReqDTO;
+import com.gkhy.exam.coalmine.model.dto.resp.GetExaminerRespDTO;
+import com.gkhy.exam.coalmine.service.EduResourcesManagerService;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+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;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.validation.constraints.NotNull;
+
+import java.time.LocalDateTime;
+import java.util.List;
+
+import static com.ruoyi.common.core.domain.AjaxResult.success;
+
+/**
+ * @author hz
+ * @since 2023-09-11 14:26:20
+ */
+@Api(tags = "考评员管理")
+@RestController
+@RequestMapping("/examinerManage")
+public class ExaminerManageController extends BaseController {
+ /**
+ * 服务对象
+ */
+ @Resource
+ private EduResourcesManagerService eduResourcesManagerService;
+
+ /**
+ * 分页查询所有数据
+ */
+ @ApiOperation(value = "分页获取考评员管理",httpMethod = "GET")
+ @GetMapping("/page")
+ public TableDataInfo selectAll() {
+ startPage();
+ List<GetExaminerRespDTO> list = eduResourcesManagerService.selectAll();
+ return getDataTable(list);
+ }
+
+ /**
+ * 通过主键查询单条数据
+ */
+ @ApiOperation(value = "根据id获取考评员管理",httpMethod = "GET")
+ @ApiImplicitParam(name = "id",dataTypeClass = Long.class,value = "考评员id",required = true)
+ @GetMapping("{id}")
+ public AjaxResult selectOne(@PathVariable @NotNull(message = "id不能为空") Long id) {
+ return this.eduResourcesManagerService.getExaminerById(id);
+ }
+
+ /**
+ * 修改状态
+ */
+ @PostMapping("/updateStatus")
+ @ApiOperation(value = "开启停用状态",httpMethod = "POST")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "id",dataTypeClass = Long.class, value = "id",required = true),
+ @ApiImplicitParam(name = "status", dataTypeClass = String.class,value = "状态不能为空:0-正常,1-停用",required = true)
+ })
+ public AjaxResult updateStatus(@Validated @RequestBody ExaminerManageUpdateStatusReqDTO reqDTO) {
+ return this.eduResourcesManagerService.updateExaminerStatus(reqDTO);
+ }
+
+ /**
+ * 新增数据
+ */
+ @PostMapping("/add")
+ @ApiOperation(value = "新增考评员",httpMethod = "POST")
+ @ApiImplicitParams({
+ @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 = "photoAttachment", dataTypeClass = Long.class,value = "证件照id"),
+ @ApiImplicitParam(name = "qaAttachment", dataTypeClass = Long.class,value = "资质照id"),
+ @ApiImplicitParam(name = "jobTitle", dataTypeClass = String.class,value = "职称"),
+ @ApiImplicitParam(name = "eduLevel", dataTypeClass = String.class,value = "最高学历",required = true),
+ @ApiImplicitParam(name = "expiredTime", dataTypeClass = LocalDateTime.class,value = "过期时间",required = true),
+ @ApiImplicitParam(name = "isCm", dataTypeClass = Byte.class,value = "是否为煤矿:0为非,1是",required = true),
+ @ApiImplicitParam(name = "status", dataTypeClass = String.class,value = "状态不能为空:0-正常,1-停用",required = true),
+ @ApiImplicitParam(name = "description", dataTypeClass = String.class,value = "描述"),
+ @ApiImplicitParam(name = "operateTypes", dataTypeClass = List.class,value = "工种详情")
+ })
+ public AjaxResult insert(@Validated @RequestBody ExaminerManageAddReqDTO reqDTO) {
+ return this.eduResourcesManagerService.saveExaminer(reqDTO);
+ }
+
+ /**
+ * 修改数据
+ */
+ @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 = "photoAttachment", dataTypeClass = Long.class,value = "证件照id"),
+ @ApiImplicitParam(name = "qaAttachment", dataTypeClass = Long.class,value = "资质照id"),
+ @ApiImplicitParam(name = "jobTitle", dataTypeClass = String.class,value = "职称"),
+ @ApiImplicitParam(name = "eduLevel", dataTypeClass = String.class,value = "最高学历",required = true),
+ @ApiImplicitParam(name = "expiredTime", dataTypeClass = LocalDateTime.class,value = "过期时间",required = true),
+ @ApiImplicitParam(name = "isCm", dataTypeClass = Byte.class,value = "是否为煤矿:0为非,1是",required = true),
+ @ApiImplicitParam(name = "status", dataTypeClass = String.class,value = "状态不能为空:0-正常,1-停用",required = true),
+ @ApiImplicitParam(name = "description", dataTypeClass = String.class,value = "描述"),
+ @ApiImplicitParam(name = "operateTypes", dataTypeClass = List.class,value = "工种详情")
+ })
+ @PostMapping("/update")
+ public AjaxResult update(@Validated @RequestBody ExaminerManageUpdateReqDTO reqDTO) {
+ return this.eduResourcesManagerService.updateExaminerById(reqDTO);
+ }
+
+ /**
+ * 删除数据
+ */
+ @ApiOperation(value = "根据id删除考评员",httpMethod = "GET")
+ @ApiImplicitParam(name = "id",dataTypeClass = Long.class,value = "考评员id",required = true)
+ @GetMapping("/del")
+ public AjaxResult delete(@PathVariable @NotNull(message = "id不能为空") Long id) {
+ return this.eduResourcesManagerService.removeExaminerById(id);
+ }
+
+ /**
+ * 根据id删除与之关联的工种信息
+ */
+ @ApiOperation(value = "根据id删除与之关联的工种信息",httpMethod = "GET")
+ @ApiImplicitParam(name = "id",dataTypeClass = Long.class,value = "关联的工种id",required = true)
+ @GetMapping("/operateType/del")
+ public AjaxResult deleteExaminerBindOperateType(@PathVariable @NotNull(message = "id不能为空") Long id) {
+ return this.eduResourcesManagerService.deleteExaminerBindOperateType(id);
+ }
+}
+
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/controller/TeacherManageController.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/controller/TeacherManageController.java
new file mode 100644
index 0000000..901c4fe
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/controller/TeacherManageController.java
@@ -0,0 +1,149 @@
+package com.gkhy.exam.coalmine.controller;
+
+
+
+import com.gkhy.exam.coalmine.entity.TeacherManage;
+import com.gkhy.exam.coalmine.model.dto.req.TeacherManageAddReqDTO;
+import com.gkhy.exam.coalmine.model.dto.req.TeacherManageUpdateReqDTO;
+import com.gkhy.exam.coalmine.model.dto.req.TeacherManageUpdateStatusReqDTO;
+import com.gkhy.exam.coalmine.model.dto.resp.GetTeacherRespDTO;
+import com.gkhy.exam.coalmine.service.EduResourcesManagerService;
+import com.gkhy.exam.coalmine.service.baseService.TeacherManageService;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.core.domain.entity.SysRole;
+import com.ruoyi.common.core.page.TableDataInfo;
+import io.lettuce.core.StrAlgoArgs;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.validation.constraints.NotNull;
+
+import java.time.LocalDateTime;
+import java.util.List;
+
+import static com.ruoyi.common.core.domain.AjaxResult.success;
+
+/**
+ * @author hz
+ * @since 2023-09-11 14:26:20
+ */
+@Api(tags = "教师管理")
+@RestController
+@RequestMapping("/teacherManage")
+public class TeacherManageController extends BaseController {
+ /**
+ * 服务对象
+ */
+ @Resource
+ private EduResourcesManagerService eduResourcesManagerService;
+
+ /**
+ * 分页查询所有数据
+ */
+ @ApiOperation(value = "分页获取教师管理",httpMethod = "GET")
+ @GetMapping("/page")
+ public TableDataInfo selectTeacherAll() {
+ startPage();
+ List<GetTeacherRespDTO> list = eduResourcesManagerService.selectTeacherAll();
+ return getDataTable(list);
+ }
+
+ /**
+ * 通过主键查询单条数据
+ */
+ @ApiOperation(value = "根据id获取教师管理",httpMethod = "GET")
+ @ApiImplicitParam(name = "id",dataTypeClass = Long.class,value = "教师id",required = true)
+ @GetMapping("{id}")
+ public AjaxResult selectOne(@PathVariable Long id) {
+ return this.eduResourcesManagerService.getTeacherById(id);
+ }
+
+ /**
+ * 修改状态
+ */
+ @PostMapping("/updateStatus")
+ @ApiOperation(value = "开启停用状态",httpMethod = "POST")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "id",dataTypeClass = Long.class, value = "id",required = true),
+ @ApiImplicitParam(name = "status", dataTypeClass = String.class,value = "状态不能为空:0-正常,1-停用",required = true)
+ })
+ public AjaxResult updateStatus(@Validated @RequestBody TeacherManageUpdateStatusReqDTO reqDTO) {
+ return this.eduResourcesManagerService.updateStatus(reqDTO);
+ }
+
+ /**
+ * 新增数据
+ */
+ @PostMapping("/add")
+ @ApiOperation(value = "新增教师",httpMethod = "POST")
+ @ApiImplicitParams({
+ @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 = "photoAttachment", dataTypeClass = Long.class,value = "证件照id"),
+ @ApiImplicitParam(name = "qaAttachment", dataTypeClass = Long.class,value = "资质照id"),
+ @ApiImplicitParam(name = "jobTitle", dataTypeClass = String.class,value = "职称"),
+ @ApiImplicitParam(name = "eduLevel", dataTypeClass = String.class,value = "最高学历",required = true),
+ @ApiImplicitParam(name = "expiredTime", dataTypeClass = LocalDateTime.class,value = "过期时间",required = true),
+ @ApiImplicitParam(name = "isCm", dataTypeClass = Byte.class,value = "是否为煤矿:0为非,1是",required = true),
+ @ApiImplicitParam(name = "status", dataTypeClass = String.class,value = "状态不能为空:0-正常,1-停用",required = true),
+ @ApiImplicitParam(name = "description", dataTypeClass = String.class,value = "描述"),
+ @ApiImplicitParam(name = "operateTypes", dataTypeClass = List.class,value = "工种详情")
+ })
+ public AjaxResult insert(@Validated @RequestBody TeacherManageAddReqDTO reqDTO) {
+ return this.eduResourcesManagerService.saveTeacher(reqDTO);
+ }
+
+ /**
+ * 修改数据
+ */
+ @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 = "photoAttachment", dataTypeClass = Long.class,value = "证件照id"),
+ @ApiImplicitParam(name = "qaAttachment", dataTypeClass = Long.class,value = "资质照id"),
+ @ApiImplicitParam(name = "jobTitle", dataTypeClass = String.class,value = "职称"),
+ @ApiImplicitParam(name = "eduLevel", dataTypeClass = String.class,value = "最高学历",required = true),
+ @ApiImplicitParam(name = "expiredTime", dataTypeClass = LocalDateTime.class,value = "过期时间",required = true),
+ @ApiImplicitParam(name = "isCm", dataTypeClass = Byte.class,value = "是否为煤矿:0为非,1是",required = true),
+ @ApiImplicitParam(name = "status", dataTypeClass = String.class,value = "状态不能为空:0-正常,1-停用",required = true),
+ @ApiImplicitParam(name = "description", dataTypeClass = String.class,value = "描述"),
+ @ApiImplicitParam(name = "operateTypes", dataTypeClass = List.class,value = "工种详情")
+ })
+ @PostMapping("/update")
+ public AjaxResult update(@Validated @RequestBody TeacherManageUpdateReqDTO reqDTO) {
+ return this.eduResourcesManagerService.updateTeacherById(reqDTO);
+ }
+
+ /**
+ * 删除数据
+ */
+ @ApiOperation(value = "根据id删除教师",httpMethod = "GET")
+ @ApiImplicitParam(name = "id",dataTypeClass = Long.class,value = "教师id",required = true)
+ @GetMapping("/del")
+ public AjaxResult delete(@PathVariable @NotNull(message = "id不能为空") Long id) {
+ return this.eduResourcesManagerService.removeTeacherById(id);
+ }
+
+ /**
+ * 根据id删除与之关联的工种信息
+ */
+ @ApiOperation(value = "根据id删除与之关联的工种信息",httpMethod = "GET")
+ @ApiImplicitParam(name = "id",dataTypeClass = Long.class,value = "关联的工种id",required = true)
+ @GetMapping("/operateType/del")
+ public AjaxResult deleteTeacherBindOperateType(@PathVariable @NotNull(message = "id不能为空") Long id) {
+ return this.eduResourcesManagerService.deleteTeacherBindOperateType(id);
+ }
+}
+
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/entity/CmStaff.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/entity/CmStaff.java
new file mode 100644
index 0000000..d6fd958
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/entity/CmStaff.java
@@ -0,0 +1,62 @@
+package com.gkhy.exam.coalmine.entity;
+
+import java.time.LocalDateTime;
+import java.io.Serializable;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import org.springframework.data.annotation.Id;
+
+@Data
+@TableName("cm_staff")
+public class CmStaff implements Serializable {
+
+ @Id
+ @TableId(type = IdType.AUTO)
+ private Long id;
+
+ //姓名
+ private String name;
+
+ //性别
+ private String sex;
+
+ //民族
+ private String nationCode;
+
+ //身份证
+ private String code;
+
+ //手机号
+ private String mobilePhone;
+
+ //最高学历
+ private String eduLevel;
+
+ //证件照
+ private Long photoAttachment;
+
+ //删除标志(0代表存在 2代表删除)
+ private Byte delFlag;
+
+ /** 创建者 */
+ @TableField(fill = FieldFill.INSERT)
+ private String createBy;
+
+ /** 创建时间 */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @TableField(fill = FieldFill.INSERT)
+ private LocalDateTime createTime;
+
+ /** 更新者 */
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private String updateBy;
+
+ /** 更新时间 */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private LocalDateTime updateTime;
+
+}
+
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/entity/CmStaffExam.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/entity/CmStaffExam.java
new file mode 100644
index 0000000..aa89181
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/entity/CmStaffExam.java
@@ -0,0 +1,61 @@
+package com.gkhy.exam.coalmine.entity;
+
+import java.time.LocalDateTime;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import java.io.Serializable;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import org.springframework.data.annotation.Id;
+
+@Data
+@TableName("cm_staff_exam")
+public class CmStaffExam implements Serializable {
+
+ @Id
+ @TableId(type = IdType.AUTO)
+ private Long id;
+
+ //人员id
+ private Long staffId;
+
+ //开始时间
+ private LocalDateTime startTime;
+
+ //结束时间
+ private LocalDateTime endTime;
+
+ //考试中心
+ private String examCenter;
+
+ //科目
+ private String subject;
+
+ //考试结果;0-未通过;1-通过
+ private String result;
+
+ //删除标志(0代表存在 2代表删除)
+ private Byte delFlag;
+
+ /** 创建者 */
+ @TableField(fill = FieldFill.INSERT)
+ private String createBy;
+
+ /** 创建时间 */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @TableField(fill = FieldFill.INSERT)
+ private LocalDateTime createTime;
+
+ /** 更新者 */
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private String updateBy;
+
+ /** 更新时间 */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private LocalDateTime updateTime;
+
+}
+
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/entity/CmStaffQa.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/entity/CmStaffQa.java
new file mode 100644
index 0000000..95cf1d6
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/entity/CmStaffQa.java
@@ -0,0 +1,64 @@
+package com.gkhy.exam.coalmine.entity;
+
+import java.time.LocalDateTime;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import java.io.Serializable;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import org.springframework.data.annotation.Id;
+
+@Data
+@TableName("cm_staff_qa")
+public class CmStaffQa implements Serializable {
+
+ @Id
+ @TableId(type = IdType.AUTO)
+ private Long id;
+
+ //人员id
+ private Long staffId;
+
+ //证书名字
+ private String name;
+
+ //操作类型
+ private Long operateTypeId;
+
+ //资格类型
+ private String qualificationType;
+
+ //作业类别
+ private String jobCategory;
+
+ //操作项目
+ private String operationItems;
+
+ //过期时间
+ private LocalDateTime expiredTime;
+
+ //删除标志(0代表存在 2代表删除)
+ private Byte delFlag;
+
+ /** 创建者 */
+ @TableField(fill = FieldFill.INSERT)
+ private String createBy;
+
+ /** 创建时间 */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @TableField(fill = FieldFill.INSERT)
+ private LocalDateTime createTime;
+
+ /** 更新者 */
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private String updateBy;
+
+ /** 更新时间 */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private LocalDateTime updateTime;
+
+}
+
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/entity/CmStaffResume.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/entity/CmStaffResume.java
new file mode 100644
index 0000000..732948e
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/entity/CmStaffResume.java
@@ -0,0 +1,55 @@
+package com.gkhy.exam.coalmine.entity;
+
+import java.time.LocalDateTime;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import java.io.Serializable;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import org.springframework.data.annotation.Id;
+
+@Data
+@TableName("cm_staff_resume")
+public class CmStaffResume implements Serializable {
+
+ @Id
+ @TableId(type = IdType.AUTO)
+ private Long id;
+
+ //人员id
+ private Long staffId;
+
+ //开始时间
+ private LocalDateTime startTime;
+
+ //结束时间
+ private LocalDateTime endTime;
+
+ //单位
+ private String unit;
+
+ //删除标志(0代表存在 2代表删除)
+ private Byte delFlag;
+
+ /** 创建者 */
+ @TableField(fill = FieldFill.INSERT)
+ private String createBy;
+
+ /** 创建时间 */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @TableField(fill = FieldFill.INSERT)
+ private LocalDateTime createTime;
+
+ /** 更新者 */
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private String updateBy;
+
+ /** 更新时间 */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private LocalDateTime updateTime;
+
+}
+
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/entity/CmStaffTrain.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/entity/CmStaffTrain.java
new file mode 100644
index 0000000..b0b1cd2
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/entity/CmStaffTrain.java
@@ -0,0 +1,60 @@
+package com.gkhy.exam.coalmine.entity;
+
+import java.time.LocalDateTime;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import java.io.Serializable;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import org.springframework.data.annotation.Id;
+
+@Data
+@TableName("cm_staff_train")
+public class CmStaffTrain implements Serializable {
+
+ @Id
+ @TableId(type = IdType.AUTO)
+ private Long id;
+
+ //人员id
+ private Long staffId;
+
+ //开始时间
+ private LocalDateTime startTime;
+
+ //结束时间
+ private LocalDateTime endTime;
+
+ //单位
+ private String unit;
+
+ //所属批次
+ private String batch;
+
+ //科目
+ private String subject;
+
+ //删除标志(0代表存在 2代表删除)
+ private Byte delFlag;
+
+ /** 创建者 */
+ @TableField(fill = FieldFill.INSERT)
+ private String createBy;
+
+ /** 创建时间 */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @TableField(fill = FieldFill.INSERT)
+ private LocalDateTime createTime;
+
+ /** 更新者 */
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private String updateBy;
+
+ /** 更新时间 */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private LocalDateTime updateTime;
+}
+
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/entity/EmonExamRecord.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/entity/EmonExamRecord.java
new file mode 100644
index 0000000..a0be7bb
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/entity/EmonExamRecord.java
@@ -0,0 +1,60 @@
+package com.gkhy.exam.coalmine.entity;
+
+import java.time.LocalDateTime;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import java.io.Serializable;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import org.springframework.data.annotation.Id;
+
+@Data
+@TableName("emon_exam_record")
+public class EmonExamRecord implements Serializable {
+
+ @Id
+ @TableId(type = IdType.AUTO)
+ private Long id;
+
+
+ private LocalDateTime reportTime;
+
+
+ private Long districtId;
+
+
+ private String examCenter;
+
+
+ private String excType;
+
+ //是否为煤矿:0为非,1是
+ private Byte isCm;
+
+ private String excImage;
+
+ //删除标志(0代表存在 2代表删除)
+ private Byte delFlag;
+
+ /** 创建者 */
+ @TableField(fill = FieldFill.INSERT)
+ private String createBy;
+
+ /** 创建时间 */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @TableField(fill = FieldFill.INSERT)
+ private LocalDateTime createTime;
+
+ /** 更新者 */
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private String updateBy;
+
+ /** 更新时间 */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private LocalDateTime updateTime;
+
+}
+
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/entity/EmonTrainRecord.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/entity/EmonTrainRecord.java
new file mode 100644
index 0000000..ced1835
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/entity/EmonTrainRecord.java
@@ -0,0 +1,60 @@
+package com.gkhy.exam.coalmine.entity;
+
+import java.time.LocalDateTime;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import java.io.Serializable;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import org.springframework.data.annotation.Id;
+
+@Data
+@TableName("emon_train_record")
+public class EmonTrainRecord implements Serializable {
+
+ @Id
+ @TableId(type = IdType.AUTO)
+ private Long id;
+
+
+ private LocalDateTime reportTime;
+
+
+ private Long districtId;
+
+
+ private String examCenter;
+
+
+ private String excType;
+
+ //是否为煤矿:0为非,1是
+ private Byte isCm;
+
+ private String excImage;
+
+ //删除标志(0代表存在 2代表删除)
+ private Byte delFlag;
+
+ /** 创建者 */
+ @TableField(fill = FieldFill.INSERT)
+ private String createBy;
+
+ /** 创建时间 */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @TableField(fill = FieldFill.INSERT)
+ private LocalDateTime createTime;
+
+ /** 更新者 */
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private String updateBy;
+
+ /** 更新时间 */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private LocalDateTime updateTime;
+
+}
+
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/entity/ExaminerManage.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/entity/ExaminerManage.java
new file mode 100644
index 0000000..d41dc8b
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/entity/ExaminerManage.java
@@ -0,0 +1,78 @@
+package com.gkhy.exam.coalmine.entity;
+
+import java.time.LocalDateTime;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import java.io.Serializable;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.lettuce.core.StrAlgoArgs;
+import lombok.Data;
+import org.springframework.data.annotation.Id;
+
+@Data
+@TableName("examiner_manage")
+public class ExaminerManage implements Serializable {
+
+ @Id
+ @TableId(type = IdType.AUTO)
+ private Long id;
+
+ //姓名
+ private String name;
+
+ //性别
+ private String sex;
+
+ //身份证
+ private String code;
+
+ //手机号
+ private String mobilePhone;
+
+ //职称
+ private String jobTitle;
+
+ //最高学历
+ private String eduLevel;
+
+ //过期时间
+ private LocalDateTime expiredTime;
+
+ //是否为煤矿:0为非,1是
+ private Byte isCm;
+
+ //描述
+ private String description;
+
+ private Long photoAttachment;
+
+ private Long qaAttachment;
+
+ //状态
+ private String status;
+
+ //删除标志(0代表存在 2代表删除)
+ private Byte delFlag;
+
+ /** 创建者 */
+ @TableField(fill = FieldFill.INSERT)
+ private String createBy;
+
+ /** 创建时间 */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @TableField(fill = FieldFill.INSERT)
+ private LocalDateTime createTime;
+
+ /** 更新者 */
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private String updateBy;
+
+ /** 更新时间 */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private LocalDateTime updateTime;
+
+}
+
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/entity/ExaminerManageOperateTypeBind.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/entity/ExaminerManageOperateTypeBind.java
new file mode 100644
index 0000000..2581a4f
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/entity/ExaminerManageOperateTypeBind.java
@@ -0,0 +1,58 @@
+package com.gkhy.exam.coalmine.entity;
+
+import java.time.LocalDateTime;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import java.io.Serializable;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import org.springframework.data.annotation.Id;
+
+@Data
+@TableName("examiner_manage_operate_type_bind")
+public class ExaminerManageOperateTypeBind implements Serializable {
+
+ @Id
+ @TableId(type = IdType.AUTO)
+ private Long id;
+
+ //考评员管理id
+ private Long examinerManageId;
+
+ //操作类型
+ private Long operateTypeId;
+
+ //资格类型
+ private String qualificationType;
+
+ //作业类别
+ private String jobCategory;
+
+ //操作项目
+ private String operationItems;
+
+ //删除标志(0代表存在 2代表删除)
+ private Byte delFlag;
+
+ /** 创建者 */
+ @TableField(fill = FieldFill.INSERT)
+ private String createBy;
+
+ /** 创建时间 */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @TableField(fill = FieldFill.INSERT)
+ private LocalDateTime createTime;
+
+ /** 更新者 */
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private String updateBy;
+
+ /** 更新时间 */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private LocalDateTime updateTime;
+
+}
+
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/entity/TeacherManage.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/entity/TeacherManage.java
new file mode 100644
index 0000000..3fb79ed
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/entity/TeacherManage.java
@@ -0,0 +1,70 @@
+package com.gkhy.exam.coalmine.entity;
+
+import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import java.io.Serializable;
+import lombok.Data;
+import com.baomidou.mybatisplus.annotation.TableName;
+import org.springframework.data.annotation.Id;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+
+@Data
+@TableName("teacher_manage")
+public class TeacherManage implements Serializable {
+
+ @Id
+ @TableId(type = IdType.AUTO)
+ private Long id;
+
+ //性别
+ private String sex;
+
+ //身份证
+ private String code;
+
+ //手机号
+ private String mobilePhone;
+
+ //姓名
+ private String name;
+
+ //职称
+ private String jobTitle;
+
+ //最高学历
+ private String eduLevel;
+
+ //过期时间
+ private LocalDateTime expiredTime;
+
+ //是否为煤矿:0为非,1是
+ private Integer isCm;
+
+ //描述
+ private String description;
+
+ private Long photoAttachment;
+
+ private Long qaAttachment;
+
+ //状态
+ private String status;
+
+ //删除标志(0代表存在 2代表删除)
+ private Byte delFlag;
+
+ //创建者
+ private String createBy;
+
+ //创建时间
+ private LocalDateTime createTime;
+
+ //更新者
+ private String updateBy;
+
+ //更新时间
+ private LocalDateTime updateTime;
+
+}
+
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/entity/TeacherManageOperateTypeBind.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/entity/TeacherManageOperateTypeBind.java
new file mode 100644
index 0000000..eacf34b
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/entity/TeacherManageOperateTypeBind.java
@@ -0,0 +1,58 @@
+package com.gkhy.exam.coalmine.entity;
+
+import java.time.LocalDateTime;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import java.io.Serializable;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import org.springframework.data.annotation.Id;
+
+@Data
+@TableName("teacher_manage_operate_type_bind")
+public class TeacherManageOperateTypeBind implements Serializable {
+
+ @Id
+ @TableId(type = IdType.AUTO)
+ private Long id;
+
+ //老师管理id
+ private Long teacherManageId;
+
+ //操作类型
+ private Long operateTypeId;
+
+ //资格类型
+ private String qualificationType;
+
+ //作业类别
+ private String jobCategory;
+
+ //操作项目
+ private String operationItems;
+
+ //删除标志(0代表存在 2代表删除)
+ private Byte delFlag;
+
+ /** 创建者 */
+ @TableField(fill = FieldFill.INSERT)
+ private String createBy;
+
+ /** 创建时间 */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @TableField(fill = FieldFill.INSERT)
+ private LocalDateTime createTime;
+
+ /** 更新者 */
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private String updateBy;
+
+ /** 更新时间 */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private LocalDateTime updateTime;
+
+}
+
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/mapper/CmStaffExamMapper.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/mapper/CmStaffExamMapper.java
new file mode 100644
index 0000000..a0da94e
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/mapper/CmStaffExamMapper.java
@@ -0,0 +1,12 @@
+package com.gkhy.exam.coalmine.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gkhy.exam.coalmine.entity.CmStaffExam;
+import org.springframework.stereotype.Repository;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface CmStaffExamMapper extends BaseMapper<CmStaffExam> {
+
+}
+
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/mapper/CmStaffMapper.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/mapper/CmStaffMapper.java
new file mode 100644
index 0000000..f83ffcb
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/mapper/CmStaffMapper.java
@@ -0,0 +1,11 @@
+package com.gkhy.exam.coalmine.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gkhy.exam.coalmine.entity.CmStaff;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface CmStaffMapper extends BaseMapper<CmStaff> {
+
+}
+
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/mapper/CmStaffQaMapper.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/mapper/CmStaffQaMapper.java
new file mode 100644
index 0000000..4f178e2
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/mapper/CmStaffQaMapper.java
@@ -0,0 +1,12 @@
+package com.gkhy.exam.coalmine.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gkhy.exam.coalmine.entity.CmStaffQa;
+import org.springframework.stereotype.Repository;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface CmStaffQaMapper extends BaseMapper<CmStaffQa> {
+
+}
+
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/mapper/CmStaffResumeMapper.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/mapper/CmStaffResumeMapper.java
new file mode 100644
index 0000000..1fcc71b
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/mapper/CmStaffResumeMapper.java
@@ -0,0 +1,12 @@
+package com.gkhy.exam.coalmine.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gkhy.exam.coalmine.entity.CmStaffResume;
+import org.springframework.stereotype.Repository;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface CmStaffResumeMapper extends BaseMapper<CmStaffResume> {
+
+}
+
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/mapper/CmStaffTrainMapper.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/mapper/CmStaffTrainMapper.java
new file mode 100644
index 0000000..dc10d82
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/mapper/CmStaffTrainMapper.java
@@ -0,0 +1,12 @@
+package com.gkhy.exam.coalmine.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gkhy.exam.coalmine.entity.CmStaffTrain;
+import org.springframework.stereotype.Repository;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface CmStaffTrainMapper extends BaseMapper<CmStaffTrain> {
+
+}
+
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/mapper/EmonExamRecordMapper.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/mapper/EmonExamRecordMapper.java
new file mode 100644
index 0000000..2d3cb8c
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/mapper/EmonExamRecordMapper.java
@@ -0,0 +1,12 @@
+package com.gkhy.exam.coalmine.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gkhy.exam.coalmine.entity.EmonExamRecord;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface EmonExamRecordMapper extends BaseMapper<EmonExamRecord> {
+
+
+}
+
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/mapper/EmonTrainRecordMapper.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/mapper/EmonTrainRecordMapper.java
new file mode 100644
index 0000000..df902ca
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/mapper/EmonTrainRecordMapper.java
@@ -0,0 +1,14 @@
+package com.gkhy.exam.coalmine.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gkhy.exam.coalmine.entity.EmonTrainRecord;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+@Mapper
+public interface EmonTrainRecordMapper extends BaseMapper<EmonTrainRecord> {
+
+
+}
+
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/mapper/ExaminerManageMapper.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/mapper/ExaminerManageMapper.java
new file mode 100644
index 0000000..c940da6
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/mapper/ExaminerManageMapper.java
@@ -0,0 +1,12 @@
+package com.gkhy.exam.coalmine.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gkhy.exam.coalmine.entity.ExaminerManage;
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.stereotype.Repository;
+
+
+public interface ExaminerManageMapper extends BaseMapper<ExaminerManage> {
+
+}
+
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/mapper/ExaminerManageOperateTypeBindMapper.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/mapper/ExaminerManageOperateTypeBindMapper.java
new file mode 100644
index 0000000..76e7edd
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/mapper/ExaminerManageOperateTypeBindMapper.java
@@ -0,0 +1,11 @@
+package com.gkhy.exam.coalmine.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gkhy.exam.coalmine.entity.ExaminerManageOperateTypeBind;
+import org.apache.ibatis.annotations.Mapper;
+
+
+public interface ExaminerManageOperateTypeBindMapper extends BaseMapper<ExaminerManageOperateTypeBind> {
+
+}
+
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/mapper/TeacherManageMapper.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/mapper/TeacherManageMapper.java
new file mode 100644
index 0000000..04e91ec
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/mapper/TeacherManageMapper.java
@@ -0,0 +1,11 @@
+package com.gkhy.exam.coalmine.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gkhy.exam.coalmine.entity.TeacherManage;
+import org.apache.ibatis.annotations.Mapper;
+
+
+public interface TeacherManageMapper extends BaseMapper<TeacherManage> {
+
+}
+
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/mapper/TeacherManageOperateTypeBindMapper.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/mapper/TeacherManageOperateTypeBindMapper.java
new file mode 100644
index 0000000..45925f4
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/mapper/TeacherManageOperateTypeBindMapper.java
@@ -0,0 +1,11 @@
+package com.gkhy.exam.coalmine.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gkhy.exam.coalmine.entity.TeacherManageOperateTypeBind;
+import org.apache.ibatis.annotations.Mapper;
+
+
+public interface TeacherManageOperateTypeBindMapper extends BaseMapper<TeacherManageOperateTypeBind> {
+
+}
+
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/CmStaffAddReqDTO.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/CmStaffAddReqDTO.java
new file mode 100644
index 0000000..df89952
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/CmStaffAddReqDTO.java
@@ -0,0 +1,44 @@
+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 CmStaffAddReqDTO implements Serializable {
+
+ //姓名
+ @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;
+}
\ No newline at end of file
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/CmStaffExamAddReqDTO.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/CmStaffExamAddReqDTO.java
new file mode 100644
index 0000000..d7a9f6f
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/CmStaffExamAddReqDTO.java
@@ -0,0 +1,44 @@
+package com.gkhy.exam.coalmine.model.dto.req;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * @author Mr.huang
+ * @decription
+ * @date 2023/9/14 15:23
+ */
+@Data
+public class CmStaffExamAddReqDTO implements Serializable {
+
+ //人员id
+ @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;
+
+ //考试中心
+ @NotBlank(message = "考试中心不能为空")
+ private String examCenter;
+
+ //科目
+ @NotBlank(message = "科目不能为空")
+ private String subject;
+
+ //考试结果;0-通过;1-未通过
+ @NotBlank(message = "考试结果不能为空")
+ private String result;
+}
\ No newline at end of file
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/CmStaffExamUpdateReqDTO.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/CmStaffExamUpdateReqDTO.java
new file mode 100644
index 0000000..6a61d1d
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/CmStaffExamUpdateReqDTO.java
@@ -0,0 +1,48 @@
+package com.gkhy.exam.coalmine.model.dto.req;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * @author Mr.huang
+ * @decription
+ * @date 2023/9/14 15:23
+ */
+@Data
+public class CmStaffExamUpdateReqDTO implements Serializable {
+
+ //id
+ @NotNull(message = "id不能为空")
+ private Long id;
+
+ //人员id
+ @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;
+
+ //考试中心
+ @NotBlank(message = "考试中心不能为空")
+ private String examCenter;
+
+ //科目
+ @NotBlank(message = "科目不能为空")
+ private String subject;
+
+ //考试结果;0-通过;1-未通过
+ @NotBlank(message = "考试结果不能为空")
+ private String result;
+}
\ No newline at end of file
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/CmStaffQaAddReqDTO.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/CmStaffQaAddReqDTO.java
new file mode 100644
index 0000000..384e88b
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/CmStaffQaAddReqDTO.java
@@ -0,0 +1,47 @@
+package com.gkhy.exam.coalmine.model.dto.req;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * @author Mr.huang
+ * @decription
+ * @date 2023/9/14 15:39
+ */
+@Data
+public class CmStaffQaAddReqDTO implements Serializable {
+
+ //人员id
+ @NotNull(message = "人员id不能为空")
+ private Long staffId;
+
+ //证书名字
+ @NotBlank(message = "证书名字不能为空")
+ private String name;
+
+ //操作类型
+ @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;
+}
\ No newline at end of file
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/CmStaffQaUpdateReqDTO.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/CmStaffQaUpdateReqDTO.java
new file mode 100644
index 0000000..d25c6a4
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/CmStaffQaUpdateReqDTO.java
@@ -0,0 +1,50 @@
+package com.gkhy.exam.coalmine.model.dto.req;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * @author Mr.huang
+ * @decription
+ * @date 2023/9/14 15:39
+ */
+@Data
+public class CmStaffQaUpdateReqDTO implements Serializable {
+
+ @NotNull(message = "id不能为空")
+ private Long id;
+
+ //人员id
+ @NotNull(message = "人员id不能为空")
+ private Long staffId;
+
+ //证书名字
+ @NotBlank(message = "证书名字不能为空")
+ private String name;
+
+ //操作类型
+ @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;
+}
\ No newline at end of file
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/CmStaffResumeAddReqDTO.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/CmStaffResumeAddReqDTO.java
new file mode 100644
index 0000000..b0a92f6
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/CmStaffResumeAddReqDTO.java
@@ -0,0 +1,36 @@
+package com.gkhy.exam.coalmine.model.dto.req;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * @author Mr.huang
+ * @decription
+ * @date 2023/9/14 14:32
+ */
+@Data
+public class CmStaffResumeAddReqDTO implements Serializable {
+
+ //人员id
+ @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;
+
+ //单位
+ @NotBlank(message = "单位不能为空")
+ private String unit;
+}
\ No newline at end of file
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/CmStaffResumeUpdateReqDTO.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/CmStaffResumeUpdateReqDTO.java
new file mode 100644
index 0000000..6f0d5b0
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/CmStaffResumeUpdateReqDTO.java
@@ -0,0 +1,39 @@
+package com.gkhy.exam.coalmine.model.dto.req;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * @author Mr.huang
+ * @decription
+ * @date 2023/9/14 14:32
+ */
+@Data
+public class CmStaffResumeUpdateReqDTO implements Serializable {
+
+ @NotNull(message = "履历id不能为空")
+ private Long id;
+
+ //人员id
+ @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;
+
+ //单位
+ @NotBlank(message = "单位不能为空")
+ private String unit;
+}
\ No newline at end of file
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/CmStaffTrainAddReqDTO.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/CmStaffTrainAddReqDTO.java
new file mode 100644
index 0000000..db39f36
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/CmStaffTrainAddReqDTO.java
@@ -0,0 +1,44 @@
+package com.gkhy.exam.coalmine.model.dto.req;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * @author Mr.huang
+ * @decription
+ * @date 2023/9/14 15:09
+ */
+@Data
+public class CmStaffTrainAddReqDTO implements Serializable {
+
+ //人员id
+ @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;
+
+ //单位
+ @NotBlank(message = "单位不能为空")
+ private String unit;
+
+ //所属批次
+ @NotBlank(message = "所属批次不能为空")
+ private String batch;
+
+ //科目
+ @NotBlank(message = "科目不能为空")
+ private String subject;
+}
\ No newline at end of file
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/CmStaffTrainUpdateReqDTO.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/CmStaffTrainUpdateReqDTO.java
new file mode 100644
index 0000000..65fe74a
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/CmStaffTrainUpdateReqDTO.java
@@ -0,0 +1,47 @@
+package com.gkhy.exam.coalmine.model.dto.req;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * @author Mr.huang
+ * @decription
+ * @date 2023/9/14 15:09
+ */
+@Data
+public class CmStaffTrainUpdateReqDTO implements Serializable {
+
+ @NotNull(message = "id不能为空")
+ private Long id;
+
+ //人员id
+ @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;
+
+ //单位
+ @NotBlank(message = "单位不能为空")
+ private String unit;
+
+ //所属批次
+ @NotBlank(message = "所属批次不能为空")
+ private String batch;
+
+ //科目
+ @NotBlank(message = "科目不能为空")
+ private String subject;
+}
\ No newline at end of file
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/ExamReceiveReqDTO.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/ExamReceiveReqDTO.java
new file mode 100644
index 0000000..cdef2f7
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/ExamReceiveReqDTO.java
@@ -0,0 +1,34 @@
+package com.gkhy.exam.coalmine.model.dto.req;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * @author Mr.huang
+ * @decription
+ * @date 2023/9/13 10:27
+ */
+@Data
+public class ExamReceiveReqDTO{
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime reportTime;
+
+ private Long districtId;
+
+ private String examCenter;
+
+ private String excType;
+
+ //是否为煤矿:0为非,1是
+ private Byte isCm;
+
+ private String module;
+}
\ No newline at end of file
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/ExaminerManageAddOperateTypeReqDTO.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/ExaminerManageAddOperateTypeReqDTO.java
new file mode 100644
index 0000000..acd0517
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/ExaminerManageAddOperateTypeReqDTO.java
@@ -0,0 +1,35 @@
+package com.gkhy.exam.coalmine.model.dto.req;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * @author Mr.huang
+ * @decription
+ * @date 2023/9/11 15:57
+ */
+@Data
+public class ExaminerManageAddOperateTypeReqDTO implements Serializable {
+
+ //操作类型
+ @NotNull(message = "操作类型id不能为空")
+ private Long operateTypeId;
+
+ //资格类型
+ @NotBlank(message = "资格类型不能为空")
+ private String qualificationType;
+
+ //作业类别
+ @NotBlank(message = "作业类别不能为空")
+ private String jobCategory;
+
+ //操作项目
+ @NotBlank(message = "操作项目不能为空")
+ private String operationItems;
+
+}
\ No newline at end of file
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/ExaminerManageAddReqDTO.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/ExaminerManageAddReqDTO.java
new file mode 100644
index 0000000..e32dc94
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/ExaminerManageAddReqDTO.java
@@ -0,0 +1,66 @@
+package com.gkhy.exam.coalmine.model.dto.req;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import org.springframework.validation.annotation.Validated;
+
+import javax.validation.Valid;
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * @author Mr.huang
+ * @decription
+ * @date 2023/9/11 15:57
+ */
+@Data
+public class ExaminerManageAddReqDTO implements Serializable {
+
+ //姓名
+ @NotBlank(message = "姓名不能为空")
+ private String name;
+
+ //性别
+ private String sex;
+
+ //身份证
+ @NotBlank(message = "身份证不能为空")
+ private String code;
+
+ //手机号
+ @NotBlank(message = "手机号不能为空")
+ private String mobilePhone;
+
+ private Long photoAttachment;
+
+ private Long qaAttachment;
+
+ //职称
+ private String jobTitle;
+
+ //最高学历
+ @NotNull(message = "最高学历不能为空")
+ private String eduLevel;
+
+ //过期时间
+ @NotNull(message = "过期时间不能为空")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime expiredTime;
+
+ //是否为煤矿:0为非,1是
+ @NotNull(message = "煤矿类型不能为空")
+ private Byte isCm;
+
+
+ @NotNull(message = "状态不能为空")
+ private String status;
+
+ private String description;
+
+ @Valid
+ private List<ExaminerManageAddOperateTypeReqDTO> operateTypes;
+
+}
\ No newline at end of file
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/ExaminerManageUpdateOperateTypeReqDTO.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/ExaminerManageUpdateOperateTypeReqDTO.java
new file mode 100644
index 0000000..7dd0114
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/ExaminerManageUpdateOperateTypeReqDTO.java
@@ -0,0 +1,32 @@
+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/12 15:21
+ */
+@Data
+public class ExaminerManageUpdateOperateTypeReqDTO implements Serializable {
+
+ //操作类型
+ @NotNull(message = "操作类型id不能为空")
+ private Long operateTypeId;
+
+ //资格类型
+ @NotBlank(message = "资格类型不能为空")
+ private String qualificationType;
+
+ //作业类别
+ @NotBlank(message = "作业类别不能为空")
+ private String jobCategory;
+
+ //操作项目
+ @NotBlank(message = "操作项目不能为空")
+ private String operationItems;
+}
\ No newline at end of file
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/ExaminerManageUpdateReqDTO.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/ExaminerManageUpdateReqDTO.java
new file mode 100644
index 0000000..73b7c07
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/ExaminerManageUpdateReqDTO.java
@@ -0,0 +1,68 @@
+package com.gkhy.exam.coalmine.model.dto.req;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import javax.validation.Valid;
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * @author Mr.huang
+ * @decription
+ * @date 2023/9/11 15:57
+ */
+@Data
+public class ExaminerManageUpdateReqDTO implements Serializable {
+
+ @NotNull(message = "id不能为空")
+ private Long id;
+
+ //姓名
+ @NotBlank(message = "姓名不能为空")
+ private String name;
+
+ //性别
+ private String sex;
+
+ //身份证
+ @NotBlank(message = "身份证不能为空")
+ private String code;
+
+ //手机号
+ @NotBlank(message = "手机号不能为空")
+ private String mobilePhone;
+
+ //职称
+ private String jobTitle;
+
+ private Long photoAttachment;
+
+ private Long qaAttachment;
+
+ //最高学历
+ @NotNull(message = "最高学历不能为空")
+ private String eduLevel;
+
+ //过期时间
+ @NotNull(message = "过期时间不能为空")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime expiredTime;
+
+ //是否为煤矿:0为非,1是
+ @NotNull(message = "煤矿类型不能为空")
+ private Byte isCm;
+
+ @NotNull(message = "状态不能为空")
+ private String status;
+
+ //描述
+ private String description;
+
+ @Valid
+ private List<ExaminerManageAddOperateTypeReqDTO> operateTypes;
+
+}
\ No newline at end of file
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/ExaminerManageUpdateStatusReqDTO.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/ExaminerManageUpdateStatusReqDTO.java
new file mode 100644
index 0000000..acf65f0
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/ExaminerManageUpdateStatusReqDTO.java
@@ -0,0 +1,22 @@
+package com.gkhy.exam.coalmine.model.dto.req;
+
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+
+/**
+ * @author Mr.huang
+ * @decription
+ * @date 2023/9/11 15:57
+ */
+@Data
+public class ExaminerManageUpdateStatusReqDTO implements Serializable {
+
+ @NotNull(message = "id不能为空")
+ private Long id;
+
+ @NotNull(message = "状态不能为空")
+ private String status;
+
+}
\ No newline at end of file
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/TeacherManageAddOperateTypeReqDTO.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/TeacherManageAddOperateTypeReqDTO.java
new file mode 100644
index 0000000..bf2c51d
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/TeacherManageAddOperateTypeReqDTO.java
@@ -0,0 +1,33 @@
+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/11 15:57
+ */
+@Data
+public class TeacherManageAddOperateTypeReqDTO implements Serializable {
+
+ //操作类型
+ @NotNull(message = "操作类型id不能为空")
+ private Long operateTypeId;
+
+ //资格类型
+ @NotBlank(message = "资格类型不能为空")
+ private String qualificationType;
+
+ //作业类别
+ @NotBlank(message = "作业类别不能为空")
+ private String jobCategory;
+
+ //操作项目
+ @NotBlank(message = "操作项目不能为空")
+ private String operationItems;
+
+}
\ No newline at end of file
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/TeacherManageAddReqDTO.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/TeacherManageAddReqDTO.java
new file mode 100644
index 0000000..bd2a011
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/TeacherManageAddReqDTO.java
@@ -0,0 +1,64 @@
+package com.gkhy.exam.coalmine.model.dto.req;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import javax.validation.Valid;
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * @author Mr.huang
+ * @decription
+ * @date 2023/9/11 15:57
+ */
+@Data
+public class TeacherManageAddReqDTO implements Serializable {
+
+ //姓名
+ @NotBlank(message = "姓名不能为空")
+ private String name;
+
+ //性别
+ private String sex;
+
+ //身份证
+ @NotBlank(message = "身份证不能为空")
+ private String code;
+
+ //手机号
+ @NotBlank(message = "手机号不能为空")
+ private String mobilePhone;
+
+ private Long photoAttachment;
+
+ private Long qaAttachment;
+
+ //职称
+ private String jobTitle;
+
+ //最高学历
+ @NotNull(message = "最高学历不能为空")
+ private String eduLevel;
+
+ //过期时间
+ @NotNull(message = "过期时间不能为空")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime expiredTime;
+
+ //是否为煤矿:0为非,1是
+ @NotNull(message = "煤矿类型不能为空")
+ private Byte isCm;
+
+
+ @NotNull(message = "状态不能为空")
+ private String status;
+
+ private String description;
+
+ @Valid
+ private List<TeacherManageAddOperateTypeReqDTO> operateTypes;
+}
\ No newline at end of file
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/TeacherManageUpdateOperateTypeReqDTO.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/TeacherManageUpdateOperateTypeReqDTO.java
new file mode 100644
index 0000000..b02b7d2
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/TeacherManageUpdateOperateTypeReqDTO.java
@@ -0,0 +1,32 @@
+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/12 15:21
+ */
+@Data
+public class TeacherManageUpdateOperateTypeReqDTO implements Serializable {
+
+ //操作类型
+ @NotNull(message = "操作类型id不能为空")
+ private Long operateTypeId;
+
+ //资格类型
+ @NotBlank(message = "资格类型不能为空")
+ private String qualificationType;
+
+ //作业类别
+ @NotBlank(message = "作业类别不能为空")
+ private String jobCategory;
+
+ //操作项目
+ @NotBlank(message = "操作项目不能为空")
+ private String operationItems;
+}
\ No newline at end of file
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/TeacherManageUpdateReqDTO.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/TeacherManageUpdateReqDTO.java
new file mode 100644
index 0000000..3cf9d24
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/TeacherManageUpdateReqDTO.java
@@ -0,0 +1,67 @@
+package com.gkhy.exam.coalmine.model.dto.req;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import javax.validation.Valid;
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * @author Mr.huang
+ * @decription
+ * @date 2023/9/11 15:57
+ */
+@Data
+public class TeacherManageUpdateReqDTO implements Serializable {
+
+ @NotNull(message = "id不能为空")
+ private Long id;
+
+ //姓名
+ @NotBlank(message = "姓名不能为空")
+ private String name;
+
+ //性别
+ private String sex;
+
+ //身份证
+ @NotBlank(message = "身份证不能为空")
+ private String code;
+
+ //手机号
+ @NotBlank(message = "手机号不能为空")
+ private String mobilePhone;
+
+ //职称
+ private String jobTitle;
+
+ private Long photoAttachment;
+
+ private Long qaAttachment;
+
+ //最高学历
+ @NotNull(message = "最高学历不能为空")
+ private String eduLevel;
+
+ //过期时间
+ @NotNull(message = "过期时间不能为空")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime expiredTime;
+
+ //是否为煤矿:0为非,1是
+ @NotNull(message = "煤矿类型不能为空")
+ private Byte isCm;
+
+ @NotNull(message = "状态不能为空")
+ private String status;
+
+ //描述
+ private String description;
+
+ @Valid
+ private List<TeacherManageAddOperateTypeReqDTO> operateTypes;
+}
\ No newline at end of file
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/TeacherManageUpdateStatusReqDTO.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/TeacherManageUpdateStatusReqDTO.java
new file mode 100644
index 0000000..7b69d2d
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/TeacherManageUpdateStatusReqDTO.java
@@ -0,0 +1,25 @@
+package com.gkhy.exam.coalmine.model.dto.req;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * @author Mr.huang
+ * @decription
+ * @date 2023/9/11 15:57
+ */
+@Data
+public class TeacherManageUpdateStatusReqDTO implements Serializable {
+
+ @NotNull(message = "id不能为空")
+ private Long id;
+
+ @NotNull(message = "状态不能为空")
+ private String status;
+
+}
\ No newline at end of file
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/TrainReceiveReqDTO.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/TrainReceiveReqDTO.java
new file mode 100644
index 0000000..e0b2a04
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/req/TrainReceiveReqDTO.java
@@ -0,0 +1,31 @@
+package com.gkhy.exam.coalmine.model.dto.req;
+
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * @author Mr.huang
+ * @decription
+ * @date 2023/9/13 10:27
+ */
+@Data
+public class TrainReceiveReqDTO implements Serializable {
+
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime reportTime;
+
+ private Long districtId;
+
+ private String examCenter;
+
+ private String excType;
+
+ //是否为煤矿:0为非,1是
+ private Byte isCm;
+
+ private String module;
+}
\ No newline at end of file
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/resp/AttachmentInfoRespDTO.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/resp/AttachmentInfoRespDTO.java
new file mode 100644
index 0000000..cb07fc3
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/resp/AttachmentInfoRespDTO.java
@@ -0,0 +1,22 @@
+package com.gkhy.exam.coalmine.model.dto.resp;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @email 1603559716@qq.com
+ * @author: zf
+ * @date: 2023/5/6
+ * @time: 14:54
+ */
+@Data
+public class AttachmentInfoRespDTO implements Serializable {
+
+ private Long id;
+
+ private String fileUrl;
+
+ private String fileName;
+
+}
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/resp/CmStaffPageRespDTO.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/resp/CmStaffPageRespDTO.java
new file mode 100644
index 0000000..5f323b2
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/resp/CmStaffPageRespDTO.java
@@ -0,0 +1,55 @@
+package com.gkhy.exam.coalmine.model.dto.resp;
+
+import com.gkhy.exam.coalmine.entity.*;
+import com.gkhy.exam.noncoalmine.model.vo.ViolationRegistrationVO;
+import com.gkhy.exam.noncoalmine.model.vo.WorkRegistrationVO;
+import com.ruoyi.file.entity.AttachmentInfo;
+import jdk.internal.dynalink.linker.LinkerServices;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @author Mr.huang
+ * @decription
+ * @date 2023/9/14 15:57
+ */
+@Data
+public class CmStaffPageRespDTO 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;
+}
\ No newline at end of file
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/resp/GetExamDataRespDTO.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/resp/GetExamDataRespDTO.java
new file mode 100644
index 0000000..13ac950
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/resp/GetExamDataRespDTO.java
@@ -0,0 +1,32 @@
+package com.gkhy.exam.coalmine.model.dto.resp;
+
+import com.ruoyi.file.entity.AttachmentInfo;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * @author Mr.huang
+ * @decription
+ * @date 2023/9/13 14:23
+ */
+@Data
+public class GetExamDataRespDTO implements Serializable {
+
+ private Long id;
+
+ private LocalDateTime reportTime;
+
+ private Long districtId;
+
+ private String examCenter;
+
+ private String excType;
+
+ //是否为煤矿:0为非,1是
+ private Byte isCm;
+
+ private List<AttachmentInfoRespDTO> attachmentInfos;
+}
\ No newline at end of file
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/resp/GetExaminerOperateTypesRespDTO.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/resp/GetExaminerOperateTypesRespDTO.java
new file mode 100644
index 0000000..85f3d92
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/resp/GetExaminerOperateTypesRespDTO.java
@@ -0,0 +1,34 @@
+package com.gkhy.exam.coalmine.model.dto.resp;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @author Mr.huang
+ * @decription
+ * @date 2023/9/12 13:14
+ */
+@Data
+public class GetExaminerOperateTypesRespDTO implements Serializable {
+
+ private Long id;
+
+ //老师管理id
+ private Long teacherManageId;
+
+ //操作类型
+ private Long operateTypeId;
+
+ //资格类型
+ private String qualificationType;
+
+ //作业类别
+ private String jobCategory;
+
+ //操作项目
+ private String operationItems;
+
+ private Integer type;
+
+}
\ No newline at end of file
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/resp/GetExaminerRespDTO.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/resp/GetExaminerRespDTO.java
new file mode 100644
index 0000000..023ea0e
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/resp/GetExaminerRespDTO.java
@@ -0,0 +1,56 @@
+package com.gkhy.exam.coalmine.model.dto.resp;
+
+import com.ruoyi.file.entity.AttachmentInfo;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * @author Mr.huang
+ * @decription
+ * @date 2023/9/12 13:14
+ */
+@Data
+public class GetExaminerRespDTO implements Serializable {
+
+ private Long id;
+
+ //姓名
+ private String name;
+
+ //性别
+ private Integer sex;
+
+ //身份证
+ private String code;
+
+ //手机号
+ private String mobilePhone;
+
+ //职称
+ private Long jobTitle;
+
+ //最高学历
+ private Long eduLevel;
+
+ //过期时间
+ private LocalDateTime expiredTime;
+
+ //是否为煤矿:0为非,1是
+ private Byte isCm;
+
+ //描述
+ private String description;
+
+ private AttachmentInfo photoAttachment;
+
+ private AttachmentInfo qaAttachment;
+
+ private List<GetExaminerOperateTypesRespDTO> operateTypes;
+
+ //状态
+ private Byte status;
+
+}
\ No newline at end of file
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/resp/GetTeacherOperateTypesRespDTO.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/resp/GetTeacherOperateTypesRespDTO.java
new file mode 100644
index 0000000..6337278
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/resp/GetTeacherOperateTypesRespDTO.java
@@ -0,0 +1,34 @@
+package com.gkhy.exam.coalmine.model.dto.resp;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @author Mr.huang
+ * @decription
+ * @date 2023/9/12 13:14
+ */
+@Data
+public class GetTeacherOperateTypesRespDTO implements Serializable {
+
+ private Long id;
+
+ //老师管理id
+ private Long teacherManageId;
+
+ //操作类型
+ private Long operateTypeId;
+
+ //资格类型
+ private String qualificationType;
+
+ //作业类别
+ private String jobCategory;
+
+ //操作项目
+ private String operationItems;
+
+ private Integer type;
+
+}
\ No newline at end of file
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/resp/GetTeacherRespDTO.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/resp/GetTeacherRespDTO.java
new file mode 100644
index 0000000..75304f4
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/resp/GetTeacherRespDTO.java
@@ -0,0 +1,56 @@
+package com.gkhy.exam.coalmine.model.dto.resp;
+
+import com.ruoyi.file.entity.AttachmentInfo;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * @author Mr.huang
+ * @decription
+ * @date 2023/9/12 13:14
+ */
+@Data
+public class GetTeacherRespDTO implements Serializable {
+
+ private Long id;
+
+ //姓名
+ private String name;
+
+ //性别
+ private Integer sex;
+
+ //身份证
+ private String code;
+
+ //手机号
+ private String mobilePhone;
+
+ //职称
+ private Long jobTitle;
+
+ //最高学历
+ private Long eduLevel;
+
+ //过期时间
+ private LocalDateTime expiredTime;
+
+ //是否为煤矿:0为非,1是
+ private Byte isCm;
+
+ //描述
+ private String description;
+
+ private AttachmentInfo photoAttachment;
+
+ private AttachmentInfo qaAttachment;
+
+ private List<GetTeacherOperateTypesRespDTO> operateTypes;
+
+ //状态
+ private Byte status;
+
+}
\ No newline at end of file
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/resp/GetTrainDataRespDTO.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/resp/GetTrainDataRespDTO.java
new file mode 100644
index 0000000..1a0ac0b
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/model/dto/resp/GetTrainDataRespDTO.java
@@ -0,0 +1,31 @@
+package com.gkhy.exam.coalmine.model.dto.resp;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * @author Mr.huang
+ * @decription
+ * @date 2023/9/13 14:23
+ */
+@Data
+public class GetTrainDataRespDTO implements Serializable {
+
+ private Long id;
+
+ private LocalDateTime reportTime;
+
+ private Long districtId;
+
+ private String examCenter;
+
+ private String excType;
+
+ //是否为煤矿:0为非,1是
+ private Byte isCm;
+
+ private List<AttachmentInfoRespDTO> attachmentInfos;
+}
\ No newline at end of file
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/service/CmStaffManagerService.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/service/CmStaffManagerService.java
new file mode 100644
index 0000000..e23b4eb
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/service/CmStaffManagerService.java
@@ -0,0 +1,43 @@
+package com.gkhy.exam.coalmine.service;
+
+import com.gkhy.exam.coalmine.model.dto.req.*;
+import com.gkhy.exam.coalmine.model.dto.resp.CmStaffPageRespDTO;
+import com.ruoyi.common.core.domain.AjaxResult;
+
+import java.util.List;
+
+/**
+ * @author Mr.huang
+ * @decription
+ * @date 2023/9/14 10:48
+ */
+public interface CmStaffManagerService {
+ AjaxResult saveCmStaff(CmStaffAddReqDTO reqDTO);
+
+ AjaxResult saveCmStaffResume(CmStaffResumeAddReqDTO reqDTO);
+
+ AjaxResult deleteCmStaffResume(Long id);
+
+ AjaxResult updateCmStaffResume(CmStaffResumeUpdateReqDTO reqDTO);
+
+ AjaxResult saveCmStaffTrain(CmStaffTrainAddReqDTO reqDTO);
+
+ AjaxResult deleteCmStaffTrain(Long id);
+
+ AjaxResult updateCmStaffTrain(CmStaffTrainUpdateReqDTO reqDTO);
+
+ AjaxResult saveCmStaffExam(CmStaffExamAddReqDTO reqDTO);
+
+ AjaxResult deleteCmStaffExam(Long id);
+
+ AjaxResult updateCmStaffExam(CmStaffExamUpdateReqDTO reqDTO);
+
+ AjaxResult saveCmStaffQa(CmStaffQaAddReqDTO reqDTO);
+
+ AjaxResult deleteCmStaffQa(Long id);
+
+ AjaxResult updateCmStaffQa(CmStaffQaUpdateReqDTO reqDTO);
+
+ List<CmStaffPageRespDTO> selectPage();
+
+}
\ No newline at end of file
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/service/EduResourcesManagerService.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/service/EduResourcesManagerService.java
new file mode 100644
index 0000000..2837c13
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/service/EduResourcesManagerService.java
@@ -0,0 +1,45 @@
+package com.gkhy.exam.coalmine.service;
+
+import com.gkhy.exam.coalmine.entity.TeacherManage;
+import com.gkhy.exam.coalmine.model.dto.req.*;
+import com.gkhy.exam.coalmine.model.dto.resp.GetExaminerRespDTO;
+import com.gkhy.exam.coalmine.model.dto.resp.GetTeacherRespDTO;
+import com.ruoyi.common.core.domain.AjaxResult;
+
+import java.util.List;
+
+/**
+ * @author Mr.huang
+ * @decription
+ * @date 2023/9/11 14:52
+ */
+public interface EduResourcesManagerService {
+ AjaxResult saveExaminer(ExaminerManageAddReqDTO reqDTO);
+
+ AjaxResult removeExaminerById(Long id);
+
+ AjaxResult updateExaminerById(ExaminerManageUpdateReqDTO reqDTO);
+
+ AjaxResult getExaminerById(Long id);
+
+ List<GetExaminerRespDTO> selectAll();
+
+ AjaxResult saveTeacher(TeacherManageAddReqDTO reqDTO);
+
+ AjaxResult updateTeacherById(TeacherManageUpdateReqDTO reqDTO);
+
+ AjaxResult removeTeacherById(Long id);
+
+ AjaxResult getTeacherById(Long id);
+
+ List<GetTeacherRespDTO> selectTeacherAll();
+
+ AjaxResult updateStatus(TeacherManageUpdateStatusReqDTO reqDTO);
+
+ AjaxResult updateExaminerStatus(ExaminerManageUpdateStatusReqDTO reqDTO);
+
+ AjaxResult deleteExaminerBindOperateType(Long id);
+
+ AjaxResult deleteTeacherBindOperateType(Long id);
+
+}
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/service/EmonRecordManagerService.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/service/EmonRecordManagerService.java
new file mode 100644
index 0000000..61623dc
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/service/EmonRecordManagerService.java
@@ -0,0 +1,30 @@
+package com.gkhy.exam.coalmine.service;
+
+import com.gkhy.exam.coalmine.model.dto.req.ExamReceiveReqDTO;
+import com.gkhy.exam.coalmine.model.dto.req.TrainReceiveReqDTO;
+import com.gkhy.exam.coalmine.model.dto.resp.GetExamDataRespDTO;
+import com.gkhy.exam.coalmine.model.dto.resp.GetTrainDataRespDTO;
+import com.ruoyi.common.core.domain.AjaxResult;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.util.List;
+
+/**
+ * @author Mr.huang
+ * @decription
+ * @date 2023/9/13 10:19
+ */
+public interface EmonRecordManagerService {
+
+ AjaxResult examReceive(MultipartFile[] file,ExamReceiveReqDTO reqDTO);
+
+ AjaxResult trainReceive(MultipartFile[] file,TrainReceiveReqDTO reqDTO);
+
+ List<GetExamDataRespDTO> getExamData();
+
+ List<GetTrainDataRespDTO> getTrainData();
+
+ AjaxResult deleteExamRecord(Long id);
+
+ AjaxResult deleteTrainRecord(Long id);
+}
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/CmStaffExamService.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/CmStaffExamService.java
new file mode 100644
index 0000000..1f47512
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/CmStaffExamService.java
@@ -0,0 +1,19 @@
+package com.gkhy.exam.coalmine.service.baseService;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gkhy.exam.coalmine.entity.CmStaffExam;
+import com.gkhy.exam.coalmine.entity.CmStaffTrain;
+
+import java.util.List;
+
+/**
+ * @author hz
+ * @since 2023-09-14 10:37:03
+ */
+public interface CmStaffExamService extends IService<CmStaffExam> {
+
+ CmStaffExam getValidById(Long id);
+
+ List<CmStaffExam> listValid(Long id);
+}
+
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/CmStaffQaService.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/CmStaffQaService.java
new file mode 100644
index 0000000..b824df0
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/CmStaffQaService.java
@@ -0,0 +1,20 @@
+package com.gkhy.exam.coalmine.service.baseService;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gkhy.exam.coalmine.entity.CmStaffQa;
+import com.gkhy.exam.coalmine.entity.CmStaffTrain;
+
+import java.util.List;
+
+/**
+ * @author hz
+ * @since 2023-09-14 10:37:03
+ */
+public interface CmStaffQaService extends IService<CmStaffQa> {
+
+ CmStaffQa getValidById(Long id);
+
+ List<CmStaffQa> listValid(Long id);
+
+}
+
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/CmStaffResumeService.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/CmStaffResumeService.java
new file mode 100644
index 0000000..94437cf
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/CmStaffResumeService.java
@@ -0,0 +1,19 @@
+package com.gkhy.exam.coalmine.service.baseService;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gkhy.exam.coalmine.entity.CmStaffResume;
+import com.gkhy.exam.coalmine.entity.CmStaffTrain;
+
+import java.util.List;
+
+/**
+ * @author hz
+ * @since 2023-09-14 10:37:03
+ */
+public interface CmStaffResumeService extends IService<CmStaffResume> {
+
+ CmStaffResume getValidById(Long id);
+
+ List<CmStaffResume> listValid(Long id);
+}
+
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/CmStaffService.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/CmStaffService.java
new file mode 100644
index 0000000..8dc239b
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/CmStaffService.java
@@ -0,0 +1,13 @@
+package com.gkhy.exam.coalmine.service.baseService;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gkhy.exam.coalmine.entity.CmStaff;
+
+/**
+ * @author hz
+ * @since 2023-09-14 10:37:03
+ */
+public interface CmStaffService extends IService<CmStaff> {
+
+}
+
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/CmStaffTrainService.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/CmStaffTrainService.java
new file mode 100644
index 0000000..adbc918
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/CmStaffTrainService.java
@@ -0,0 +1,18 @@
+package com.gkhy.exam.coalmine.service.baseService;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gkhy.exam.coalmine.entity.CmStaffTrain;
+
+import java.util.List;
+
+/**
+ * @author hz
+ * @since 2023-09-14 10:37:03
+ */
+public interface CmStaffTrainService extends IService<CmStaffTrain> {
+
+ CmStaffTrain getValidById(Long id);
+
+ List<CmStaffTrain> listValid(Long id);
+}
+
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/EmonExamRecordService.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/EmonExamRecordService.java
new file mode 100644
index 0000000..1368e34
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/EmonExamRecordService.java
@@ -0,0 +1,20 @@
+package com.gkhy.exam.coalmine.service.baseService;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gkhy.exam.coalmine.entity.EmonExamRecord;
+
+import java.util.List;
+
+/**
+ * @author hz
+ * @since 2023-09-13 10:13:39
+ */
+public interface EmonExamRecordService extends IService<EmonExamRecord> {
+
+
+ EmonExamRecord findValidById(Long id);
+
+ List<EmonExamRecord> listValid();
+
+}
+
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/EmonTrainRecordService.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/EmonTrainRecordService.java
new file mode 100644
index 0000000..a5470c7
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/EmonTrainRecordService.java
@@ -0,0 +1,19 @@
+package com.gkhy.exam.coalmine.service.baseService;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gkhy.exam.coalmine.entity.EmonTrainRecord;
+
+import java.util.List;
+
+/**
+ * @author hz
+ * @since 2023-09-13 10:13:40
+ */
+public interface EmonTrainRecordService extends IService<EmonTrainRecord> {
+
+ EmonTrainRecord findValidById(Long id);
+
+ List<EmonTrainRecord> listValid();
+
+}
+
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/ExaminerManageOperateTypeBindService.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/ExaminerManageOperateTypeBindService.java
new file mode 100644
index 0000000..93965cb
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/ExaminerManageOperateTypeBindService.java
@@ -0,0 +1,18 @@
+package com.gkhy.exam.coalmine.service.baseService;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gkhy.exam.coalmine.entity.ExaminerManageOperateTypeBind;
+
+import java.util.List;
+
+/**
+ * @author hz
+ * @since 2023-09-11 14:47:33
+ */
+public interface ExaminerManageOperateTypeBindService extends IService<ExaminerManageOperateTypeBind> {
+
+ List<ExaminerManageOperateTypeBind> listByExaminerManageId(Long id);
+
+ ExaminerManageOperateTypeBind getNoDeleteById(Long id);
+}
+
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/ExaminerManageService.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/ExaminerManageService.java
new file mode 100644
index 0000000..3b6a389
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/ExaminerManageService.java
@@ -0,0 +1,16 @@
+package com.gkhy.exam.coalmine.service.baseService;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gkhy.exam.coalmine.entity.ExaminerManage;
+
+/**
+ * @author hz
+ * @since 2023-09-11 14:47:33
+ */
+public interface ExaminerManageService extends IService<ExaminerManage> {
+
+ ExaminerManage getExaminerById(Long id);
+
+ ExaminerManage getExaminerByCode(String code);
+}
+
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/TeacherManageOperateTypeBindService.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/TeacherManageOperateTypeBindService.java
new file mode 100644
index 0000000..f90c034
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/TeacherManageOperateTypeBindService.java
@@ -0,0 +1,19 @@
+package com.gkhy.exam.coalmine.service.baseService;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gkhy.exam.coalmine.entity.ExaminerManageOperateTypeBind;
+import com.gkhy.exam.coalmine.entity.TeacherManageOperateTypeBind;
+
+import java.util.List;
+
+/**
+ * @author hz
+ * @since 2023-09-11 14:47:33
+ */
+public interface TeacherManageOperateTypeBindService extends IService<TeacherManageOperateTypeBind> {
+
+ List<TeacherManageOperateTypeBind> listByTeacherManageId(Long id);
+
+ TeacherManageOperateTypeBind getNoDeleteById(Long id);
+}
+
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/TeacherManageService.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/TeacherManageService.java
new file mode 100644
index 0000000..23b899f
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/TeacherManageService.java
@@ -0,0 +1,16 @@
+package com.gkhy.exam.coalmine.service.baseService;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gkhy.exam.coalmine.entity.TeacherManage;
+
+/**
+ * @author hz
+ * @since 2023-09-11 14:47:33
+ */
+public interface TeacherManageService extends IService<TeacherManage> {
+
+ TeacherManage getTeacherByCode(String code);
+
+ TeacherManage getTeacherById(Long id);
+}
+
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/impl/CmStaffExamServiceImpl.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/impl/CmStaffExamServiceImpl.java
new file mode 100644
index 0000000..b4e5d6f
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/impl/CmStaffExamServiceImpl.java
@@ -0,0 +1,41 @@
+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.entity.CmStaffTrain;
+import com.gkhy.exam.coalmine.mapper.CmStaffExamMapper;
+import com.gkhy.exam.coalmine.entity.CmStaffExam;
+import com.gkhy.exam.coalmine.service.baseService.CmStaffExamService;
+import com.ruoyi.common.enums.coalmineEnums.DeleteStatusEnum;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * @author hz
+ * @since 2023-09-14 10:37:03
+ */
+@Service("cmStaffExamServiceImpl")
+public class CmStaffExamServiceImpl extends ServiceImpl<CmStaffExamMapper, CmStaffExam> implements CmStaffExamService {
+
+ @Resource
+ private CmStaffExamMapper cmStaffExamMapper;
+
+ @Override
+ public CmStaffExam getValidById(Long id) {
+ LambdaQueryWrapper<CmStaffExam> wrapper = new LambdaQueryWrapper<>();
+ wrapper.eq(CmStaffExam::getId,id)
+ .eq(CmStaffExam::getDelFlag, DeleteStatusEnum.NO.getStatus());
+ return cmStaffExamMapper.selectOne(wrapper);
+ }
+
+ @Override
+ public List<CmStaffExam> listValid(Long id) {
+ LambdaQueryWrapper<CmStaffExam> wrapper = new LambdaQueryWrapper<>();
+ wrapper.eq(CmStaffExam::getDelFlag, DeleteStatusEnum.NO.getStatus())
+ .eq(CmStaffExam::getId,id);
+ return cmStaffExamMapper.selectList(wrapper);
+ }
+}
+
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/impl/CmStaffQaServiceImpl.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/impl/CmStaffQaServiceImpl.java
new file mode 100644
index 0000000..0aa4046
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/impl/CmStaffQaServiceImpl.java
@@ -0,0 +1,42 @@
+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.entity.CmStaffExam;
+import com.gkhy.exam.coalmine.mapper.CmStaffQaMapper;
+import com.gkhy.exam.coalmine.entity.CmStaffQa;
+import com.gkhy.exam.coalmine.service.baseService.CmStaffQaService;
+import com.ruoyi.common.enums.coalmineEnums.DeleteStatusEnum;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.lang.ref.PhantomReference;
+import java.util.List;
+
+/**
+ * @author hz
+ * @since 2023-09-14 10:37:03
+ */
+@Service("cmStaffQaServiceImpl")
+public class CmStaffQaServiceImpl extends ServiceImpl<CmStaffQaMapper, CmStaffQa> implements CmStaffQaService {
+
+ @Resource
+ private CmStaffQaMapper cmStaffQaMapper;
+
+ @Override
+ public CmStaffQa getValidById(Long id) {
+ LambdaQueryWrapper<CmStaffQa> wrapper = new LambdaQueryWrapper<>();
+ wrapper.eq(CmStaffQa::getId,id)
+ .eq(CmStaffQa::getDelFlag, DeleteStatusEnum.NO.getStatus());
+ return cmStaffQaMapper.selectOne(wrapper);
+ }
+
+ @Override
+ public List<CmStaffQa> listValid(Long id) {
+ LambdaQueryWrapper<CmStaffQa> wrapper = new LambdaQueryWrapper<>();
+ wrapper.eq(CmStaffQa::getDelFlag, DeleteStatusEnum.NO.getStatus())
+ .eq(CmStaffQa::getId,id);
+ return cmStaffQaMapper.selectList(wrapper);
+ }
+}
+
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/impl/CmStaffResumeServiceImpl.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/impl/CmStaffResumeServiceImpl.java
new file mode 100644
index 0000000..15e4af0
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/impl/CmStaffResumeServiceImpl.java
@@ -0,0 +1,41 @@
+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.CmStaffResumeMapper;
+import com.gkhy.exam.coalmine.entity.CmStaffResume;
+import com.gkhy.exam.coalmine.service.baseService.CmStaffResumeService;
+import com.ruoyi.common.enums.coalmineEnums.DeleteStatusEnum;
+import org.springframework.stereotype.Service;
+import org.springframework.web.bind.annotation.DeleteMapping;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * @author hz
+ * @since 2023-09-14 10:37:03
+ */
+@Service("cmStaffResumeServiceImpl")
+public class CmStaffResumeServiceImpl extends ServiceImpl<CmStaffResumeMapper, CmStaffResume> implements CmStaffResumeService {
+
+ @Resource
+ private CmStaffResumeMapper cmStaffResumeMapper;
+
+ @Override
+ public CmStaffResume getValidById(Long id) {
+ LambdaQueryWrapper<CmStaffResume> wrapper = new LambdaQueryWrapper<>();
+ wrapper.eq(CmStaffResume::getId,id)
+ .eq(CmStaffResume::getDelFlag, DeleteStatusEnum.NO.getStatus());
+ return cmStaffResumeMapper.selectOne(wrapper);
+ }
+
+ @Override
+ public List<CmStaffResume> listValid(Long id) {
+ LambdaQueryWrapper<CmStaffResume> wrapper = new LambdaQueryWrapper<>();
+ wrapper.eq(CmStaffResume::getDelFlag, DeleteStatusEnum.NO.getStatus())
+ .eq(CmStaffResume::getStaffId,id);
+ return cmStaffResumeMapper.selectList(wrapper);
+ }
+}
+
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/impl/CmStaffServiceImpl.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/impl/CmStaffServiceImpl.java
new file mode 100644
index 0000000..bff6cce
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/impl/CmStaffServiceImpl.java
@@ -0,0 +1,17 @@
+package com.gkhy.exam.coalmine.service.baseService.impl;
+
+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 org.springframework.stereotype.Service;
+
+/**
+ * @author hz
+ * @since 2023-09-14 10:37:03
+ */
+@Service("cmStaffManageServiceImpl")
+public class CmStaffServiceImpl extends ServiceImpl<CmStaffMapper, CmStaff> implements CmStaffService {
+
+}
+
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/impl/CmStaffTrainServiceImpl.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/impl/CmStaffTrainServiceImpl.java
new file mode 100644
index 0000000..7ea77ab
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/impl/CmStaffTrainServiceImpl.java
@@ -0,0 +1,41 @@
+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.entity.CmStaffResume;
+import com.gkhy.exam.coalmine.mapper.CmStaffTrainMapper;
+import com.gkhy.exam.coalmine.entity.CmStaffTrain;
+import com.gkhy.exam.coalmine.service.baseService.CmStaffTrainService;
+import com.ruoyi.common.enums.coalmineEnums.DeleteStatusEnum;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * @author hz
+ * @since 2023-09-14 10:37:03
+ */
+@Service("cmStaffTrainServiceImpl")
+public class CmStaffTrainServiceImpl extends ServiceImpl<CmStaffTrainMapper, CmStaffTrain> implements CmStaffTrainService {
+
+ @Resource
+ private CmStaffTrainMapper cmStaffTrainMapper;
+
+ @Override
+ public CmStaffTrain getValidById(Long id) {
+ LambdaQueryWrapper<CmStaffTrain> wrapper = new LambdaQueryWrapper<>();
+ wrapper.eq(CmStaffTrain::getId,id)
+ .eq(CmStaffTrain::getDelFlag, DeleteStatusEnum.NO.getStatus());
+ return cmStaffTrainMapper.selectOne(wrapper);
+ }
+
+ @Override
+ public List<CmStaffTrain> listValid(Long id) {
+ LambdaQueryWrapper<CmStaffTrain> wrapper = new LambdaQueryWrapper<>();
+ wrapper.eq(CmStaffTrain::getDelFlag, DeleteStatusEnum.NO.getStatus())
+ .eq(CmStaffTrain::getStaffId,id);;
+ return cmStaffTrainMapper.selectList(wrapper);
+ }
+}
+
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/impl/EmonExamRecordServiceImpl.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/impl/EmonExamRecordServiceImpl.java
new file mode 100644
index 0000000..9b3f883
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/impl/EmonExamRecordServiceImpl.java
@@ -0,0 +1,41 @@
+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.EmonExamRecordMapper;
+import com.gkhy.exam.coalmine.entity.EmonExamRecord;
+import com.gkhy.exam.coalmine.service.baseService.EmonExamRecordService;
+import com.ruoyi.common.enums.coalmineEnums.DeleteStatusEnum;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * @author hz
+ * @since 2023-09-13 10:13:40
+ */
+@Service("emonExamRecordServiceImpl")
+public class EmonExamRecordServiceImpl extends ServiceImpl<EmonExamRecordMapper, EmonExamRecord> implements EmonExamRecordService {
+
+ @Resource
+ private EmonExamRecordMapper emonExamRecordMapper;
+
+
+ @Override
+ public EmonExamRecord findValidById(Long id) {
+ LambdaQueryWrapper<EmonExamRecord> wrapper = new LambdaQueryWrapper<>();
+ wrapper.eq(EmonExamRecord::getId,id)
+ .eq(EmonExamRecord::getDelFlag, DeleteStatusEnum.NO.getStatus());
+ return emonExamRecordMapper.selectOne(wrapper);
+ }
+
+ @Override
+ public List<EmonExamRecord> listValid() {
+ LambdaQueryWrapper<EmonExamRecord> wrapper = new LambdaQueryWrapper<>();
+ wrapper.eq(EmonExamRecord::getDelFlag, DeleteStatusEnum.NO.getStatus())
+ .orderByDesc(EmonExamRecord::getReportTime);
+ return emonExamRecordMapper.selectList(wrapper);
+ }
+}
+
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/impl/EmonTrainRecordServiceImpl.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/impl/EmonTrainRecordServiceImpl.java
new file mode 100644
index 0000000..f25152b
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/impl/EmonTrainRecordServiceImpl.java
@@ -0,0 +1,41 @@
+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.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 javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * @author hz
+ * @since 2023-09-13 10:13:40
+ */
+@Service("emonTrainRecordServiceImpl")
+public class EmonTrainRecordServiceImpl extends ServiceImpl<EmonTrainRecordMapper, EmonTrainRecord> implements EmonTrainRecordService {
+
+ @Resource
+ private EmonTrainRecordMapper emonTrainRecordMapper;
+
+
+ @Override
+ public EmonTrainRecord findValidById(Long id) {
+ LambdaQueryWrapper<EmonTrainRecord> wrapper = new LambdaQueryWrapper<>();
+ wrapper.eq(EmonTrainRecord::getId,id)
+ .eq(EmonTrainRecord::getDelFlag, DeleteStatusEnum.NO.getStatus());
+ return emonTrainRecordMapper.selectOne(wrapper);
+ }
+
+ @Override
+ public List<EmonTrainRecord> listValid() {
+ LambdaQueryWrapper<EmonTrainRecord> wrapper = new LambdaQueryWrapper<>();
+ wrapper.eq(EmonTrainRecord::getDelFlag, DeleteStatusEnum.NO.getStatus())
+ .orderByDesc(EmonTrainRecord::getReportTime);
+ return emonTrainRecordMapper.selectList(wrapper);
+ }
+}
+
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/impl/ExaminerManageOperateTypeBindServiceImpl.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/impl/ExaminerManageOperateTypeBindServiceImpl.java
new file mode 100644
index 0000000..e760ed4
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/impl/ExaminerManageOperateTypeBindServiceImpl.java
@@ -0,0 +1,40 @@
+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.ExaminerManageOperateTypeBindMapper;
+import com.gkhy.exam.coalmine.entity.ExaminerManageOperateTypeBind;
+import com.gkhy.exam.coalmine.service.baseService.ExaminerManageOperateTypeBindService;
+import com.ruoyi.common.enums.coalmineEnums.DeleteStatusEnum;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * @author hz
+ * @since 2023-09-11 14:47:33
+ */
+@Service("examinerManageOperateTypeBindServiceImpl")
+public class ExaminerManageOperateTypeBindServiceImpl extends ServiceImpl<ExaminerManageOperateTypeBindMapper, ExaminerManageOperateTypeBind> implements ExaminerManageOperateTypeBindService {
+
+ @Resource
+ private ExaminerManageOperateTypeBindMapper examinerManageOperateTypeBindMapper;
+
+ @Override
+ public List<ExaminerManageOperateTypeBind> listByExaminerManageId(Long id) {
+ LambdaQueryWrapper<ExaminerManageOperateTypeBind> wrapper = new LambdaQueryWrapper<>();
+ wrapper.eq(ExaminerManageOperateTypeBind::getDelFlag, DeleteStatusEnum.NO.getStatus())
+ .eq(ExaminerManageOperateTypeBind::getExaminerManageId,id);
+ return examinerManageOperateTypeBindMapper.selectList(wrapper);
+ }
+
+ @Override
+ public ExaminerManageOperateTypeBind getNoDeleteById(Long id) {
+ LambdaQueryWrapper<ExaminerManageOperateTypeBind> wrapper = new LambdaQueryWrapper<>();
+ wrapper.eq(ExaminerManageOperateTypeBind::getDelFlag, DeleteStatusEnum.NO.getStatus())
+ .eq(ExaminerManageOperateTypeBind::getId,id);
+ return examinerManageOperateTypeBindMapper.selectOne(wrapper);
+ }
+}
+
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/impl/ExaminerManageServiceImpl.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/impl/ExaminerManageServiceImpl.java
new file mode 100644
index 0000000..d0c8453
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/impl/ExaminerManageServiceImpl.java
@@ -0,0 +1,39 @@
+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.ExaminerManageMapper;
+import com.gkhy.exam.coalmine.entity.ExaminerManage;
+import com.gkhy.exam.coalmine.service.baseService.ExaminerManageService;
+import com.ruoyi.common.enums.coalmineEnums.DeleteStatusEnum;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+
+/**
+ * @author hz
+ * @since 2023-09-11 14:47:33
+ */
+@Service("examinerManageServiceImpl")
+public class ExaminerManageServiceImpl extends ServiceImpl<ExaminerManageMapper, ExaminerManage> implements ExaminerManageService {
+
+ @Resource
+ private ExaminerManageMapper examinerManageMapper;
+
+ @Override
+ public ExaminerManage getExaminerById(Long id) {
+ LambdaQueryWrapper<ExaminerManage> wrapper = new LambdaQueryWrapper<>();
+ wrapper.eq(ExaminerManage::getDelFlag, DeleteStatusEnum.NO.getStatus())
+ .eq(ExaminerManage::getId,id);
+ return examinerManageMapper.selectOne(wrapper);
+ }
+
+ @Override
+ public ExaminerManage getExaminerByCode(String code) {
+ LambdaQueryWrapper<ExaminerManage> wrapper = new LambdaQueryWrapper<>();
+ wrapper.eq(ExaminerManage::getDelFlag, DeleteStatusEnum.NO.getStatus())
+ .eq(ExaminerManage::getCode,code);
+ return examinerManageMapper.selectOne(wrapper);
+ }
+}
+
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/impl/TeacherManageOperateTypeBindServiceImpl.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/impl/TeacherManageOperateTypeBindServiceImpl.java
new file mode 100644
index 0000000..6188dfe
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/impl/TeacherManageOperateTypeBindServiceImpl.java
@@ -0,0 +1,42 @@
+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.entity.ExaminerManageOperateTypeBind;
+import com.gkhy.exam.coalmine.mapper.TeacherManageOperateTypeBindMapper;
+import com.gkhy.exam.coalmine.entity.TeacherManageOperateTypeBind;
+import com.gkhy.exam.coalmine.service.baseService.TeacherManageOperateTypeBindService;
+import com.ruoyi.common.enums.coalmineEnums.DeleteStatusEnum;
+import org.springframework.stereotype.Repository;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * @author hz
+ * @since 2023-09-11 14:47:33
+ */
+@Service("teacherManageOperateTypeBindServiceImpl")
+public class TeacherManageOperateTypeBindServiceImpl extends ServiceImpl<TeacherManageOperateTypeBindMapper, TeacherManageOperateTypeBind> implements TeacherManageOperateTypeBindService {
+
+ @Resource
+ private TeacherManageOperateTypeBindMapper teacherManageOperateTypeBindMapper;
+
+ @Override
+ public List<TeacherManageOperateTypeBind> listByTeacherManageId(Long id) {
+ LambdaQueryWrapper<TeacherManageOperateTypeBind> wrapper = new LambdaQueryWrapper<>();
+ wrapper.eq(TeacherManageOperateTypeBind::getDelFlag, DeleteStatusEnum.NO.getStatus())
+ .eq(TeacherManageOperateTypeBind::getTeacherManageId,id);
+ return teacherManageOperateTypeBindMapper.selectList(wrapper);
+ }
+
+ @Override
+ public TeacherManageOperateTypeBind getNoDeleteById(Long id) {
+ LambdaQueryWrapper<TeacherManageOperateTypeBind> wrapper = new LambdaQueryWrapper<>();
+ wrapper.eq(TeacherManageOperateTypeBind::getDelFlag, DeleteStatusEnum.NO.getStatus())
+ .eq(TeacherManageOperateTypeBind::getId,id);
+ return teacherManageOperateTypeBindMapper.selectOne(wrapper);
+ }
+}
+
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/impl/TeacherManageServiceImpl.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/impl/TeacherManageServiceImpl.java
new file mode 100644
index 0000000..be45a16
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/service/baseService/impl/TeacherManageServiceImpl.java
@@ -0,0 +1,40 @@
+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.entity.ExaminerManage;
+import com.gkhy.exam.coalmine.mapper.TeacherManageMapper;
+import com.gkhy.exam.coalmine.entity.TeacherManage;
+import com.gkhy.exam.coalmine.service.baseService.TeacherManageService;
+import com.ruoyi.common.enums.coalmineEnums.DeleteStatusEnum;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+
+/**
+ * @author hz
+ * @since 2023-09-11 14:47:33
+ */
+@Service("teacherManageServiceImpl")
+public class TeacherManageServiceImpl extends ServiceImpl<TeacherManageMapper, TeacherManage> implements TeacherManageService {
+
+ @Resource
+ private TeacherManageMapper teacherManageMapper;
+
+ @Override
+ public TeacherManage getTeacherByCode(String code) {
+ LambdaQueryWrapper<TeacherManage> wrapper = new LambdaQueryWrapper<>();
+ wrapper.eq(TeacherManage::getDelFlag, DeleteStatusEnum.NO.getStatus())
+ .eq(TeacherManage::getCode,code);
+ return teacherManageMapper.selectOne(wrapper);
+ }
+
+ @Override
+ public TeacherManage getTeacherById(Long id) {
+ LambdaQueryWrapper<TeacherManage> wrapper = new LambdaQueryWrapper<>();
+ wrapper.eq(TeacherManage::getDelFlag, DeleteStatusEnum.NO.getStatus())
+ .eq(TeacherManage::getId,id);
+ return teacherManageMapper.selectOne(wrapper);
+ }
+}
+
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/service/impl/CmStaffManagerServiceImpl.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/service/impl/CmStaffManagerServiceImpl.java
new file mode 100644
index 0000000..d45b56a
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/service/impl/CmStaffManagerServiceImpl.java
@@ -0,0 +1,229 @@
+package com.gkhy.exam.coalmine.service.impl;
+
+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.CmStaffPageRespDTO;
+import com.gkhy.exam.coalmine.service.CmStaffManagerService;
+import com.gkhy.exam.coalmine.service.baseService.*;
+import com.gkhy.exam.noncoalmine.service.ViolationRegistrationService;
+import com.gkhy.exam.noncoalmine.service.WorkRegistrationService;
+import com.ruoyi.common.constant.ResultConstants;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.enums.coalmineEnums.DeleteStatusEnum;
+import com.ruoyi.common.exception.BusinessException;
+import com.ruoyi.file.service.AttachmentInfoService;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * @author Mr.huang
+ * @decription
+ * @date 2023/9/14 10:48
+ */
+@Service
+public class CmStaffManagerServiceImpl implements CmStaffManagerService {
+
+ @Resource
+ private CmStaffService cmStaffService;
+
+ @Resource
+ private CmStaffTrainService cmStaffTrainService;
+
+ @Resource
+ private CmStaffResumeService cmStaffResumeService;
+
+ @Resource
+ private CmStaffExamService cmStaffExamService;
+
+ @Resource
+ private CmStaffQaService cmStaffQaService;
+
+ @Resource
+ private AttachmentInfoService attachmentInfoService;
+
+ @Resource
+ private ViolationRegistrationService violationRegistrationService;
+
+ @Resource
+ private WorkRegistrationService workRegistrationService;
+
+ @Override
+ public AjaxResult saveCmStaff(CmStaffAddReqDTO reqDTO) {
+ CmStaff cmStaff = new CmStaff();
+ BeanUtils.copyProperties(reqDTO,cmStaff);
+ cmStaff.setDelFlag(DeleteStatusEnum.NO.getStatus());
+ boolean save = cmStaffService.save(cmStaff);
+ if (!save)
+ throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"新增失败");
+ return AjaxResult.success("新增成功");
+ }
+
+ @Override
+ public AjaxResult saveCmStaffResume(CmStaffResumeAddReqDTO reqDTO) {
+ CmStaffResume cmStaffResume = new CmStaffResume();
+ BeanUtils.copyProperties(reqDTO,cmStaffResume);
+ cmStaffResume.setDelFlag(DeleteStatusEnum.NO.getStatus());
+ boolean save = cmStaffResumeService.save(cmStaffResume);
+ if (!save)
+ throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"新增履历失败");
+ return AjaxResult.success("新增履历成功");
+ }
+
+ @Override
+ public AjaxResult deleteCmStaffResume(Long id) {
+ CmStaffResume cmStaffResume = cmStaffResumeService.getValidById(id);
+ if (cmStaffResume == null)
+ return AjaxResult.success("删除履历成功");
+ cmStaffResume.setDelFlag(DeleteStatusEnum.YES.getStatus());
+ boolean save = cmStaffResumeService.save(cmStaffResume);
+ if (!save)
+ throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"删除履历失败");
+ return AjaxResult.success("删除履历成功");
+ }
+
+ @Override
+ public AjaxResult updateCmStaffResume(CmStaffResumeUpdateReqDTO reqDTO) {
+ CmStaffResume cmStaffResume = cmStaffResumeService.getValidById(reqDTO.getId());
+ if (cmStaffResume == null)
+ throw new BusinessException(this.getClass(),ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"数据不存在");
+ BeanUtils.copyProperties(reqDTO,cmStaffResume,"id");
+ boolean save = cmStaffResumeService.save(cmStaffResume);
+ if (!save)
+ throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"删除履历失败");
+ return AjaxResult.success("删除履历成功");
+ }
+
+ @Override
+ public AjaxResult saveCmStaffTrain(CmStaffTrainAddReqDTO reqDTO) {
+ CmStaffTrain cmStaffTrain = new CmStaffTrain();
+ BeanUtils.copyProperties(reqDTO,cmStaffTrain);
+ cmStaffTrain.setDelFlag(DeleteStatusEnum.NO.getStatus());
+ boolean save = cmStaffTrainService.save(cmStaffTrain);
+ if (!save)
+ throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"新增培训经历失败");
+ return AjaxResult.success("新增培训经历成功");
+ }
+
+ @Override
+ public AjaxResult deleteCmStaffTrain(Long id) {
+ CmStaffTrain cmStaffTrain = cmStaffTrainService.getValidById(id);
+ if (cmStaffTrain == null)
+ return AjaxResult.success("删除培训经历成功");
+ cmStaffTrain.setDelFlag(DeleteStatusEnum.YES.getStatus());
+ boolean save = cmStaffTrainService.save(cmStaffTrain);
+ if (!save)
+ throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"删除培训经历失败");
+ return AjaxResult.success("删除培训经历成功");
+ }
+
+ @Override
+ public AjaxResult updateCmStaffTrain(CmStaffTrainUpdateReqDTO reqDTO) {
+ CmStaffTrain cmStaffTrain = cmStaffTrainService.getValidById(reqDTO.getId());
+ if (cmStaffTrain == null)
+ throw new BusinessException(this.getClass(),ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"数据不存在");
+ BeanUtils.copyProperties(reqDTO,cmStaffTrain,"id");
+ boolean save = cmStaffTrainService.save(cmStaffTrain);
+ if (!save)
+ throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"修改培训经历失败");
+ return AjaxResult.success("修改培训经历成功");
+ }
+
+ @Override
+ public AjaxResult saveCmStaffExam(CmStaffExamAddReqDTO reqDTO) {
+ CmStaffExam cmStaffExam = new CmStaffExam();
+ BeanUtils.copyProperties(reqDTO,cmStaffExam);
+ cmStaffExam.setDelFlag(DeleteStatusEnum.NO.getStatus());
+ boolean save = cmStaffExamService.save(cmStaffExam);
+ if (!save)
+ throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"新增考试经历失败");
+ return AjaxResult.success("新增考试经历成功");
+ }
+
+ @Override
+ public AjaxResult deleteCmStaffExam(Long id) {
+ CmStaffExam cmStaffExam = cmStaffExamService.getValidById(id);
+ if (cmStaffExam == null)
+ return AjaxResult.success("删除考试经历成功");
+ cmStaffExam.setDelFlag(DeleteStatusEnum.YES.getStatus());
+ boolean save = cmStaffExamService.save(cmStaffExam);
+ if (!save)
+ throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"删除考试经历失败");
+ return AjaxResult.success("删除考试经历成功");
+ }
+
+ @Override
+ public AjaxResult updateCmStaffExam(CmStaffExamUpdateReqDTO reqDTO) {
+ CmStaffExam cmStaffExam = cmStaffExamService.getValidById(reqDTO.getId());
+ if (cmStaffExam == null)
+ throw new BusinessException(this.getClass(),ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"数据不存在");
+ BeanUtils.copyProperties(reqDTO,cmStaffExam,"id");
+ boolean save = cmStaffExamService.save(cmStaffExam);
+ if (!save)
+ throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"修改考试经历失败");
+ return AjaxResult.success("修改考试经历成功");
+ }
+
+ @Override
+ public AjaxResult saveCmStaffQa(CmStaffQaAddReqDTO reqDTO) {
+ CmStaffQa cmStaffQa = new CmStaffQa();
+ BeanUtils.copyProperties(reqDTO,cmStaffQa);
+ cmStaffQa.setDelFlag(DeleteStatusEnum.NO.getStatus());
+ boolean save = cmStaffQaService.save(cmStaffQa);
+ if (!save)
+ throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"新增资格证书失败");
+ return AjaxResult.success("新增资格证书成功");
+ }
+
+ @Override
+ public AjaxResult deleteCmStaffQa(Long id) {
+ CmStaffQa cmStaffQa = cmStaffQaService.getValidById(id);
+ if (cmStaffQa == null)
+ return AjaxResult.success("删除资格证书成功");
+ cmStaffQa.setDelFlag(DeleteStatusEnum.YES.getStatus());
+ boolean save = cmStaffQaService.save(cmStaffQa);
+ if (!save)
+ throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"删除资格证书失败");
+ return AjaxResult.success("删除资格证书成功");
+ }
+
+ @Override
+ public AjaxResult updateCmStaffQa(CmStaffQaUpdateReqDTO reqDTO) {
+ CmStaffQa cmStaffQa = cmStaffQaService.getValidById(reqDTO.getId());
+ if (cmStaffQa == null)
+ throw new BusinessException(this.getClass(),ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"数据不存在");
+ BeanUtils.copyProperties(reqDTO,cmStaffQa,"id");
+ boolean save = cmStaffQaService.save(cmStaffQa);
+ if (!save)
+ throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"修改资格证书失败");
+ return AjaxResult.success("修改资格证书成功");
+ }
+
+ @Override
+ public List<CmStaffPageRespDTO> selectPage() {
+ LambdaQueryWrapper<CmStaff> wrapper = new LambdaQueryWrapper<>();
+ wrapper.eq(CmStaff::getDelFlag,DeleteStatusEnum.NO.getStatus());
+ List<CmStaff> cmStaffs = cmStaffService.list(wrapper);
+ if (CollectionUtils.isEmpty(cmStaffs)){
+ return null;
+ }
+ List<CmStaffPageRespDTO> dtos = cmStaffs.stream().map(cmStaff -> {
+ CmStaffPageRespDTO dto = new CmStaffPageRespDTO();
+ 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 dto;
+ }).collect(Collectors.toList());
+ return dtos;
+ }
+}
\ No newline at end of file
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/service/impl/EduResourcesManagerServiceImpl.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/service/impl/EduResourcesManagerServiceImpl.java
new file mode 100644
index 0000000..5eb58e2
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/service/impl/EduResourcesManagerServiceImpl.java
@@ -0,0 +1,405 @@
+package com.gkhy.exam.coalmine.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.gkhy.exam.coalmine.entity.ExaminerManage;
+import com.gkhy.exam.coalmine.entity.ExaminerManageOperateTypeBind;
+import com.gkhy.exam.coalmine.entity.TeacherManage;
+import com.gkhy.exam.coalmine.entity.TeacherManageOperateTypeBind;
+import com.gkhy.exam.coalmine.model.dto.req.*;
+import com.gkhy.exam.coalmine.model.dto.resp.GetExaminerOperateTypesRespDTO;
+import com.gkhy.exam.coalmine.model.dto.resp.GetExaminerRespDTO;
+import com.gkhy.exam.coalmine.model.dto.resp.GetTeacherOperateTypesRespDTO;
+import com.gkhy.exam.coalmine.model.dto.resp.GetTeacherRespDTO;
+import com.gkhy.exam.coalmine.service.EduResourcesManagerService;
+import com.gkhy.exam.coalmine.service.baseService.ExaminerManageOperateTypeBindService;
+import com.gkhy.exam.coalmine.service.baseService.ExaminerManageService;
+import com.gkhy.exam.coalmine.service.baseService.TeacherManageOperateTypeBindService;
+import com.gkhy.exam.coalmine.service.baseService.TeacherManageService;
+import com.ruoyi.common.constant.CacheConstants;
+import com.ruoyi.common.constant.ResultConstants;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.core.redis.RedisCache;
+import com.ruoyi.common.enums.coalmineEnums.DeleteStatusEnum;
+import com.ruoyi.common.enums.coalmineEnums.EnableStatusEnum;
+import com.ruoyi.common.exception.BusinessException;
+import com.ruoyi.file.entity.AttachmentInfo;
+import com.ruoyi.file.service.AttachmentInfoService;
+import com.ruoyi.system.domain.bo.SysOperateTypeWholeNameBO;
+import com.ruoyi.system.service.SysOperateTypeService;
+import com.sun.org.apache.bcel.internal.generic.IF_ACMPEQ;
+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.Map;
+import java.util.stream.Collectors;
+
+/**
+ * @author Mr.huang
+ * @decription
+ * @date 2023/9/11 16:04
+ */
+@Service
+public class EduResourcesManagerServiceImpl implements EduResourcesManagerService {
+
+ @Resource
+ private ExaminerManageService examinerManageService;
+
+ @Resource
+ private TeacherManageService teacherManageService;
+
+ @Resource
+ private AttachmentInfoService attachmentInfoService;
+
+ @Resource
+ private SysOperateTypeService operateTypeService;
+
+ @Resource
+ private RedisCache redisCache;
+
+ @Resource
+ private ExaminerManageOperateTypeBindService examinerManageOperateTypeBindService;
+
+ @Resource
+ private TeacherManageOperateTypeBindService teacherManageOperateTypeBindService;
+
+ @Override
+ @Transactional
+ public AjaxResult saveExaminer(ExaminerManageAddReqDTO reqDTO) {
+ ExaminerManage examinerByCode = examinerManageService.getExaminerByCode(reqDTO.getCode());
+ if (examinerByCode != null)
+ throw new BusinessException(this.getClass(),ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"身份证已存在");
+ ExaminerManage examinerManage = new ExaminerManage();
+ BeanUtils.copyProperties(reqDTO,examinerManage);
+ examinerManage.setDelFlag(DeleteStatusEnum.NO.getStatus());
+ examinerManage.setStatus(EnableStatusEnum.YES.getStatus());
+ boolean save = examinerManageService.save(examinerManage);
+ if (!save)
+ throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"考评员信息保存失败");
+ if (!CollectionUtils.isEmpty(reqDTO.getOperateTypes())){
+ ArrayList<ExaminerManageOperateTypeBind> binds = new ArrayList<>();
+ for (ExaminerManageAddOperateTypeReqDTO operateType : reqDTO.getOperateTypes()) {
+ ExaminerManageOperateTypeBind examinerManageOperateTypeBind = new ExaminerManageOperateTypeBind();
+ BeanUtils.copyProperties(operateType,examinerManageOperateTypeBind);
+ examinerManageOperateTypeBind.setDelFlag(DeleteStatusEnum.NO.getStatus());
+ examinerManageOperateTypeBind.setExaminerManageId(examinerManage.getId());
+ binds.add(examinerManageOperateTypeBind);
+ }
+ boolean saveBatch = examinerManageOperateTypeBindService.saveBatch(binds);
+ if (!saveBatch)
+ throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"考评员工种数据保存失败");
+ }
+ return AjaxResult.success("新增成功");
+ }
+
+
+ @Override
+ @Transactional
+ public AjaxResult removeExaminerById(Long id) {
+ ExaminerManage manage = examinerManageService.getExaminerById(id);
+ if (manage == null)
+ return AjaxResult.success("删除成功");
+ manage.setDelFlag(DeleteStatusEnum.YES.getStatus());
+ boolean save = examinerManageService.updateById(manage);
+ if (!save)
+ throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"考评员信息删除失败");
+ removeOldExaminerManageOperateTypeBind(id);
+ return AjaxResult.success("删除成功");
+ }
+
+ private void removeOldExaminerManageOperateTypeBind(Long id){
+ List<ExaminerManageOperateTypeBind> binds = examinerManageOperateTypeBindService.listByExaminerManageId(id);
+ if (!CollectionUtils.isEmpty(binds)){
+ binds = binds.stream().map(bind -> {
+ bind.setDelFlag(DeleteStatusEnum.YES.getStatus());
+ return bind;
+ }).collect(Collectors.toList());
+ boolean updateBatchById = examinerManageOperateTypeBindService.updateBatchById(binds);
+ if (!updateBatchById)
+ throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"考评员信息修改失败");
+ }
+ }
+
+ private void removeOldTeacherManageOperateTypeBind(Long id){
+ List<TeacherManageOperateTypeBind> binds = teacherManageOperateTypeBindService.listByTeacherManageId(id);
+ if (!CollectionUtils.isEmpty(binds)){
+ binds = binds.stream().map(bind -> {
+ bind.setDelFlag(DeleteStatusEnum.YES.getStatus());
+ return bind;
+ }).collect(Collectors.toList());
+ boolean updateBatchById = teacherManageOperateTypeBindService.updateBatchById(binds);
+ if (!updateBatchById)
+ throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"教师信息修改失败");
+ }
+ }
+
+ @Override
+ @Transactional
+ public AjaxResult updateExaminerById(ExaminerManageUpdateReqDTO reqDTO) {
+ ExaminerManage examinerByCode = examinerManageService.getExaminerByCode(reqDTO.getCode());
+ if (examinerByCode != null && examinerByCode.getId() != reqDTO.getId())
+ throw new BusinessException(this.getClass(),ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"身份证已存在");
+ ExaminerManage examinerManage = new ExaminerManage();
+ BeanUtils.copyProperties(reqDTO,examinerManage,"id");
+ boolean save = examinerManageService.updateById(examinerManage);
+ if (!save)
+ throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"考评员信息修改失败");
+ removeOldExaminerManageOperateTypeBind(reqDTO.getId());
+ if (!CollectionUtils.isEmpty(reqDTO.getOperateTypes())){
+ ArrayList<ExaminerManageOperateTypeBind> binds = new ArrayList<>();
+ for (ExaminerManageAddOperateTypeReqDTO operateType : reqDTO.getOperateTypes()) {
+ ExaminerManageOperateTypeBind examinerManageOperateTypeBind = new ExaminerManageOperateTypeBind();
+ BeanUtils.copyProperties(operateType,examinerManageOperateTypeBind);
+ examinerManageOperateTypeBind.setDelFlag(DeleteStatusEnum.NO.getStatus());
+ examinerManageOperateTypeBind.setExaminerManageId(examinerManage.getId());
+ binds.add(examinerManageOperateTypeBind);
+ }
+ boolean saveBatch = examinerManageOperateTypeBindService.saveBatch(binds);
+ if (!saveBatch)
+ throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"考评员工种数据保存失败");
+ }
+ return AjaxResult.success("修改成功");
+ }
+
+ private AttachmentInfo getAttachmentInfoById(Long id){
+ if (id != null){
+ AttachmentInfo attachmentInfo = attachmentInfoService.findById(id);
+ return attachmentInfo;
+ }
+ return null;
+ }
+
+ @Override
+ public AjaxResult getExaminerById(Long id) {
+ ExaminerManage manage = examinerManageService.getExaminerById(id);
+ GetExaminerRespDTO dto = getExaminerRespDTO(manage);
+ return AjaxResult.success(dto);
+ }
+
+ private GetExaminerRespDTO getExaminerRespDTO(ExaminerManage manage) {
+ GetExaminerRespDTO dto = new GetExaminerRespDTO();
+ if (manage == null)
+ return null;
+ BeanUtils.copyProperties(manage,dto);
+ dto.setQaAttachment(getAttachmentInfoById(manage.getQaAttachment()));
+ dto.setPhotoAttachment(getAttachmentInfoById(manage.getPhotoAttachment()));
+ LambdaQueryWrapper<ExaminerManageOperateTypeBind> wrapper = new LambdaQueryWrapper<>();
+ wrapper.eq(ExaminerManageOperateTypeBind::getExaminerManageId,manage.getId())
+ .eq(ExaminerManageOperateTypeBind::getDelFlag,DeleteStatusEnum.NO.getStatus());
+ List<ExaminerManageOperateTypeBind> list = examinerManageOperateTypeBindService.list(wrapper);
+ if (CollectionUtils.isEmpty(list))
+ return dto;
+ Boolean flag = redisCache.hasKey(CacheConstants.SYS_OPERATE_TYPE_NAME_KEY);
+ Map<Long, SysOperateTypeWholeNameBO> map;
+ if (flag){
+ operateTypeService.resetOperateTypeCache();
+ }
+ map = redisCache.getCacheObject(CacheConstants.SYS_OPERATE_TYPE_NAME_KEY);
+ List<GetExaminerOperateTypesRespDTO> getExaminerOperateTypesRespDTOS = new ArrayList<>();
+ for (ExaminerManageOperateTypeBind examinerManageOperateTypeBind : list) {
+ GetExaminerOperateTypesRespDTO operateTypesRespDTO = new GetExaminerOperateTypesRespDTO();
+ BeanUtils.copyProperties(examinerManageOperateTypeBind,operateTypesRespDTO);
+ SysOperateTypeWholeNameBO sysOperateTypeWholeNameBO = map.get(examinerManageOperateTypeBind.getOperateTypeId());
+ if (sysOperateTypeWholeNameBO != null){
+ BeanUtils.copyProperties(sysOperateTypeWholeNameBO,operateTypesRespDTO);
+ }
+ getExaminerOperateTypesRespDTOS.add(operateTypesRespDTO);
+ }
+ dto.setOperateTypes(getExaminerOperateTypesRespDTOS);
+ return dto;
+ }
+
+
+ @Override
+ public List<GetExaminerRespDTO> selectAll() {
+ LambdaQueryWrapper<ExaminerManage> wrapper = new LambdaQueryWrapper<>();
+ wrapper.eq(ExaminerManage::getDelFlag,DeleteStatusEnum.NO.getStatus());
+ List<ExaminerManage> list = examinerManageService.list(wrapper);
+ if (CollectionUtils.isEmpty(list))
+ return null;
+ List<GetExaminerRespDTO> dtos = new ArrayList<>();
+ for (ExaminerManage manage : list) {
+ GetExaminerRespDTO dto = getExaminerRespDTO(manage);
+ dtos.add(dto);
+ }
+ return dtos;
+ }
+
+ @Override
+ @Transactional
+ public AjaxResult saveTeacher(TeacherManageAddReqDTO reqDTO) {
+ TeacherManage teacherManage = teacherManageService.getTeacherByCode(reqDTO.getCode());
+ if (teacherManage != null)
+ throw new BusinessException(this.getClass(),ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"身份证已存在");
+ teacherManage = new TeacherManage();
+ BeanUtils.copyProperties(reqDTO,teacherManage);
+ teacherManage.setDelFlag(DeleteStatusEnum.NO.getStatus());
+ teacherManage.setStatus(EnableStatusEnum.YES.getStatus());
+ boolean save = teacherManageService.save(teacherManage);
+ if (!save)
+ throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"教师信息保存失败");
+ if (!CollectionUtils.isEmpty(reqDTO.getOperateTypes())){
+ ArrayList<TeacherManageOperateTypeBind> binds = new ArrayList<>();
+ for (TeacherManageAddOperateTypeReqDTO operateType : reqDTO.getOperateTypes()) {
+ TeacherManageOperateTypeBind teacherManageOperateTypeBind = new TeacherManageOperateTypeBind();
+ BeanUtils.copyProperties(operateType,teacherManageOperateTypeBind);
+ teacherManageOperateTypeBind.setDelFlag(DeleteStatusEnum.NO.getStatus());
+ teacherManageOperateTypeBind.setTeacherManageId(teacherManage.getId());
+ binds.add(teacherManageOperateTypeBind);
+ }
+ boolean saveBatch = teacherManageOperateTypeBindService.saveBatch(binds);
+ if (!saveBatch)
+ throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"教师工种数据保存失败");
+ }
+ return AjaxResult.success("新增成功");
+ }
+
+ @Override
+ @Transactional
+ public AjaxResult updateTeacherById(TeacherManageUpdateReqDTO reqDTO) {
+ TeacherManage teacherByCode = teacherManageService.getTeacherByCode(reqDTO.getCode());
+ if (teacherByCode != null && teacherByCode.getId() != reqDTO.getId())
+ throw new BusinessException(this.getClass(),ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"身份证已存在");
+ TeacherManage teacherManage = new TeacherManage();
+ BeanUtils.copyProperties(reqDTO,teacherManage,"id");
+ boolean save = teacherManageService.updateById(teacherManage);
+ if (!save)
+ throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"教师信息修改失败");
+ removeOldTeacherManageOperateTypeBind(reqDTO.getId());
+ if (!CollectionUtils.isEmpty(reqDTO.getOperateTypes())){
+ ArrayList<TeacherManageOperateTypeBind> binds = new ArrayList<>();
+ for (TeacherManageAddOperateTypeReqDTO operateType : reqDTO.getOperateTypes()) {
+ TeacherManageOperateTypeBind examinerManageOperateTypeBind = new TeacherManageOperateTypeBind();
+ BeanUtils.copyProperties(operateType,examinerManageOperateTypeBind);
+ examinerManageOperateTypeBind.setDelFlag(DeleteStatusEnum.NO.getStatus());
+ examinerManageOperateTypeBind.setTeacherManageId(teacherManage.getId());
+ binds.add(examinerManageOperateTypeBind);
+ }
+ boolean saveBatch = teacherManageOperateTypeBindService.saveBatch(binds);
+ if (!saveBatch)
+ throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"教师工种数据保存失败");
+ }
+ return AjaxResult.success("修改成功");
+ }
+
+ @Override
+ public AjaxResult removeTeacherById(Long id) {
+ TeacherManage manage = teacherManageService.getTeacherById(id);
+ if (manage == null)
+ return AjaxResult.success("删除成功");
+ manage.setDelFlag(DeleteStatusEnum.YES.getStatus());
+ boolean save = teacherManageService.updateById(manage);
+ if (!save)
+ throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"教师信息删除失败");
+ removeOldTeacherManageOperateTypeBind(id);
+ return AjaxResult.success("删除成功");
+ }
+
+ @Override
+ public AjaxResult getTeacherById(Long id) {
+ TeacherManage manage = teacherManageService.getTeacherById(id);
+ GetTeacherRespDTO dto = getTeacherRespDTO(manage);
+ return AjaxResult.success(dto);
+ }
+
+ private GetTeacherRespDTO getTeacherRespDTO(TeacherManage manage) {
+ GetTeacherRespDTO dto = new GetTeacherRespDTO();
+ if (manage == null)
+ return null;
+ BeanUtils.copyProperties(manage,dto);
+ dto.setQaAttachment(getAttachmentInfoById(manage.getQaAttachment()));
+ dto.setPhotoAttachment(getAttachmentInfoById(manage.getPhotoAttachment()));
+ LambdaQueryWrapper<TeacherManageOperateTypeBind> wrapper = new LambdaQueryWrapper<>();
+ wrapper.eq(TeacherManageOperateTypeBind::getTeacherManageId,manage.getId())
+ .eq(TeacherManageOperateTypeBind::getDelFlag,DeleteStatusEnum.NO.getStatus());
+ List<TeacherManageOperateTypeBind> list = teacherManageOperateTypeBindService.list(wrapper);
+ if (CollectionUtils.isEmpty(list))
+ return dto;
+ Boolean flag = redisCache.hasKey(CacheConstants.SYS_OPERATE_TYPE_NAME_KEY);
+ Map<Long, SysOperateTypeWholeNameBO> map;
+ if (flag){
+ operateTypeService.resetOperateTypeCache();
+ }
+ map = redisCache.getCacheObject(CacheConstants.SYS_OPERATE_TYPE_NAME_KEY);
+ List<GetTeacherOperateTypesRespDTO> getTeacherOperateTypesRespDTOS = new ArrayList<>();
+ for (TeacherManageOperateTypeBind examinerManageOperateTypeBind : list) {
+ GetTeacherOperateTypesRespDTO operateTypesRespDTO = new GetTeacherOperateTypesRespDTO();
+ BeanUtils.copyProperties(examinerManageOperateTypeBind,operateTypesRespDTO);
+ SysOperateTypeWholeNameBO sysOperateTypeWholeNameBO = map.get(examinerManageOperateTypeBind.getOperateTypeId());
+ if (sysOperateTypeWholeNameBO != null){
+ BeanUtils.copyProperties(sysOperateTypeWholeNameBO,operateTypesRespDTO);
+ }
+ getTeacherOperateTypesRespDTOS.add(operateTypesRespDTO);
+ }
+ dto.setOperateTypes(getTeacherOperateTypesRespDTOS);
+ return dto;
+ }
+
+ @Override
+ public List<GetTeacherRespDTO> selectTeacherAll() {
+ LambdaQueryWrapper<TeacherManage> wrapper = new LambdaQueryWrapper<>();
+ wrapper.eq(TeacherManage::getDelFlag,DeleteStatusEnum.NO.getStatus());
+ List<TeacherManage> list = teacherManageService.list(wrapper);
+ if (CollectionUtils.isEmpty(list))
+ return null;
+ List<GetTeacherRespDTO> dtos = new ArrayList<>();
+ for (TeacherManage manage : list) {
+ GetTeacherRespDTO dto = getTeacherRespDTO(manage);
+ dtos.add(dto);
+ }
+ return dtos;
+
+ }
+
+ @Override
+ public AjaxResult updateStatus(TeacherManageUpdateStatusReqDTO reqDTO) {
+ TeacherManage manage = teacherManageService.getTeacherById(reqDTO.getId());
+ if (manage == null)
+ return AjaxResult.success("数据不存在");
+ manage.setStatus(reqDTO.getStatus());
+ boolean save = teacherManageService.updateById(manage);
+ if (!save)
+ throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"教师状态变更失败");
+ return AjaxResult.success("教师状态变更成功");
+ }
+
+ @Override
+ public AjaxResult updateExaminerStatus(ExaminerManageUpdateStatusReqDTO reqDTO) {
+ ExaminerManage manage = examinerManageService.getExaminerById(reqDTO.getId());
+ if (manage == null)
+ return AjaxResult.success("数据不存在");
+ manage.setStatus(reqDTO.getStatus());
+ boolean save = examinerManageService.updateById(manage);
+ if (!save)
+ throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"考评员状态变更失败");
+ return AjaxResult.success("教师状态变更成功");
+ }
+
+ @Override
+ public AjaxResult deleteExaminerBindOperateType(Long id) {
+ ExaminerManageOperateTypeBind manage = examinerManageOperateTypeBindService.getNoDeleteById(id);
+ if (manage == null)
+ return AjaxResult.success("数据不存在");
+ manage.setDelFlag(DeleteStatusEnum.YES.getStatus());
+ boolean save = examinerManageOperateTypeBindService.updateById(manage);
+ if (!save)
+ throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"考评员关联工种删除失败");
+ return AjaxResult.success("考评员关联工种删除失败");
+ }
+
+ @Override
+ public AjaxResult deleteTeacherBindOperateType(Long id) {
+ TeacherManageOperateTypeBind manage = teacherManageOperateTypeBindService.getNoDeleteById(id);
+ if (manage == null)
+ return AjaxResult.success("数据不存在");
+ manage.setDelFlag(DeleteStatusEnum.YES.getStatus());
+ boolean save = teacherManageOperateTypeBindService.updateById(manage);
+ if (!save)
+ throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"教师关联工种删除失败");
+ return AjaxResult.success("教师关联工种删除失败");
+ }
+}
\ No newline at end of file
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/service/impl/EmonRecordManagerServiceImpl.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/service/impl/EmonRecordManagerServiceImpl.java
new file mode 100644
index 0000000..60596a3
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/service/impl/EmonRecordManagerServiceImpl.java
@@ -0,0 +1,211 @@
+package com.gkhy.exam.coalmine.service.impl;
+
+import com.gkhy.exam.coalmine.entity.EmonExamRecord;
+import com.gkhy.exam.coalmine.entity.EmonTrainRecord;
+import com.gkhy.exam.coalmine.model.dto.req.ExamReceiveReqDTO;
+import com.gkhy.exam.coalmine.model.dto.req.TrainReceiveReqDTO;
+import com.gkhy.exam.coalmine.model.dto.resp.AttachmentInfoRespDTO;
+import com.gkhy.exam.coalmine.model.dto.resp.GetExamDataRespDTO;
+import com.gkhy.exam.coalmine.model.dto.resp.GetTrainDataRespDTO;
+import com.gkhy.exam.coalmine.service.EmonRecordManagerService;
+import com.gkhy.exam.coalmine.service.baseService.EmonExamRecordService;
+import com.gkhy.exam.coalmine.service.baseService.EmonTrainRecordService;
+import com.gkhy.exam.coalmine.utils.AttachmentUtil;
+import com.ruoyi.common.constant.ResultConstants;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.enums.coalmineEnums.DeleteStatusEnum;
+import com.ruoyi.common.exception.BusinessException;
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.file.entity.AttachmentInfo;
+import com.ruoyi.file.service.AttachmentService;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.CollectionUtils;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.annotation.Resource;
+import java.util.Arrays;
+import java.util.Date;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * @author Mr.huang
+ * @decription
+ * @date 2023/9/13 10:19
+ */
+@Service
+public class EmonRecordManagerServiceImpl implements EmonRecordManagerService {
+
+ @Resource
+ private AttachmentService attachmentService;
+
+ @Resource
+ private EmonExamRecordService emonExamRecordService;
+
+ @Resource
+ private EmonTrainRecordService emonTrainRecordService;
+
+
+ private Boolean examDataIsValid(MultipartFile[] file,ExamReceiveReqDTO reqDTO){
+ boolean valid = reqDTO != null && reqDTO.getReportTime() != null && reqDTO.getDistrictId() != null
+ && StringUtils.isNotBlank(reqDTO.getExamCenter()) && StringUtils.isNotBlank(reqDTO.getExcType())
+ && reqDTO.getIsCm() != null && StringUtils.isNotBlank(reqDTO.getModule()) && !CollectionUtils.isEmpty(Arrays.asList(file));
+ return valid;
+ }
+
+ @Override
+ @Transactional
+ public AjaxResult examReceive(MultipartFile[] file,ExamReceiveReqDTO reqDTO) {
+ if (examDataIsValid(file,reqDTO)) {
+ List<AttachmentInfo> attachmentInfos = (List<AttachmentInfo>) attachmentService.saveBatchFileToPath(file, reqDTO.getModule());
+ if (CollectionUtils.isEmpty(attachmentInfos))
+ throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR_DATABASE_FAIL, "考场异常监控记录图片保存失败");
+ String attachmentIds = AttachmentUtil.idConvertString(attachmentInfos);
+ EmonExamRecord emonExamRecord = new EmonExamRecord();
+ BeanUtils.copyProperties(reqDTO, emonExamRecord);
+ emonExamRecord.setDelFlag(DeleteStatusEnum.NO.getStatus());
+ emonExamRecord.setExcImage(attachmentIds);
+ boolean save = emonExamRecordService.save(emonExamRecord);
+ if (!save)
+ throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR_DATABASE_FAIL, "考场异常监控记录保存失败");
+
+ return AjaxResult.success();
+ }
+ return null;
+ }
+
+ private Boolean trainDataIsValid(MultipartFile[] file,TrainReceiveReqDTO reqDTO){
+ boolean valid = reqDTO != null && reqDTO.getReportTime() != null && reqDTO.getDistrictId() != null
+ && StringUtils.isNotBlank(reqDTO.getExamCenter()) && StringUtils.isNotBlank(reqDTO.getExcType())
+ && reqDTO.getIsCm() != null && !CollectionUtils.isEmpty(Arrays.asList(file))
+ && StringUtils.isNotBlank(reqDTO.getModule());
+ return valid;
+ }
+
+ @Override
+ public AjaxResult trainReceive(MultipartFile[] file,TrainReceiveReqDTO reqDTO) {
+ List<AttachmentInfo> attachmentInfos = (List<AttachmentInfo>) attachmentService.saveBatchFileToPath(file, reqDTO.getModule());
+ if (CollectionUtils.isEmpty(attachmentInfos))
+ throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR_DATABASE_FAIL, "培训监控异常记录图片保存失败");
+ String attachmentIds = AttachmentUtil.idConvertString(attachmentInfos);
+ if (trainDataIsValid(file,reqDTO)) {
+ EmonTrainRecord emonTrainRecord = new EmonTrainRecord ();
+ BeanUtils.copyProperties(reqDTO,emonTrainRecord);
+ emonTrainRecord.setDelFlag(DeleteStatusEnum.NO.getStatus());
+ emonTrainRecord.setExcImage(attachmentIds);
+ boolean save = emonTrainRecordService.save(emonTrainRecord);
+ if (!save)
+ throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR_DATABASE_FAIL, "培训监控异常记录保存失败");
+ return AjaxResult.success();
+ }
+ return null;
+ }
+
+ @Override
+ public List<GetExamDataRespDTO> getExamData() {
+ List<EmonExamRecord> emonExamRecords = emonExamRecordService.listValid();
+ if (!CollectionUtils.isEmpty(emonExamRecords)){
+ List<GetExamDataRespDTO> list = emonExamRecords.stream().map(emonExamRecord -> {
+ GetExamDataRespDTO dto = new GetExamDataRespDTO();
+ BeanUtils.copyProperties(emonExamRecord, dto);
+ String excImage = emonExamRecord.getExcImage();
+ if (StringUtils.isNotBlank(excImage)) {
+ List<Long> ids = AttachmentUtil.stringConvertIds(excImage);
+ List<AttachmentInfo> attachmentInfos = attachmentService.findByIds(ids);
+ if (!CollectionUtils.isEmpty(attachmentInfos)) {
+ List<AttachmentInfoRespDTO> attachmentInfoRespDTOS = attachmentInfos.stream().map(attachmentInfo -> {
+ AttachmentInfoRespDTO respDTO = new AttachmentInfoRespDTO();
+ BeanUtils.copyProperties(attachmentInfo, respDTO);
+ return respDTO;
+ }).collect(Collectors.toList());
+ dto.setAttachmentInfos(attachmentInfoRespDTOS);
+ }
+ }
+ return dto;
+ }).collect(Collectors.toList());
+ return list;
+ }
+ return null;
+ }
+
+ @Override
+ public List<GetTrainDataRespDTO> getTrainData() {
+ List<EmonTrainRecord> emonTrainRecords = emonTrainRecordService.listValid();
+ if (!CollectionUtils.isEmpty(emonTrainRecords)){
+ List<GetTrainDataRespDTO> list = emonTrainRecords.stream().map(emonTrainRecord -> {
+ GetTrainDataRespDTO dto = new GetTrainDataRespDTO();
+ BeanUtils.copyProperties(emonTrainRecord, dto);
+ String excImage = emonTrainRecord.getExcImage();
+ if (StringUtils.isNotBlank(excImage)) {
+ List<Long> ids = AttachmentUtil.stringConvertIds(excImage);
+ List<AttachmentInfo> attachmentInfos = attachmentService.findByIds(ids);
+ if (!CollectionUtils.isEmpty(attachmentInfos)) {
+ List<AttachmentInfoRespDTO> attachmentInfoRespDTOS = attachmentInfos.stream().map(attachmentInfo -> {
+ AttachmentInfoRespDTO respDTO = new AttachmentInfoRespDTO();
+ BeanUtils.copyProperties(attachmentInfo, respDTO);
+ return respDTO;
+ }).collect(Collectors.toList());
+ dto.setAttachmentInfos(attachmentInfoRespDTOS);
+ }
+ }
+ return dto;
+ }).collect(Collectors.toList());
+ return list;
+ }
+ return null;
+ }
+
+ @Override
+ public AjaxResult deleteExamRecord(Long id) {
+ EmonExamRecord emonExamRecord = emonExamRecordService.findValidById(id);
+ if (emonExamRecord == null)
+ return AjaxResult.success();
+ emonExamRecord.setDelFlag(DeleteStatusEnum.YES.getStatus());
+ boolean update = emonExamRecordService.updateById(emonExamRecord);
+ if (!update)
+ throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR_DATABASE_FAIL, "考场异常监控记录删除失败");
+ String excImage = emonExamRecord.getExcImage();
+ if (StringUtils.isNotBlank(excImage)) {
+ List<Long> ids = AttachmentUtil.stringConvertIds(excImage);
+ List<AttachmentInfo> attachmentInfos = attachmentService.findByIds(ids);
+ if (!CollectionUtils.isEmpty(attachmentInfos)) {
+ attachmentInfos = attachmentInfos.stream().map(attachmentInfo -> {
+ attachmentInfo.setDelFlag(1);
+ attachmentInfo.setUpdateBy(SecurityUtils.getUsername());
+ attachmentInfo.setUpdateTime(new Date());
+ return attachmentInfo;
+ }).collect(Collectors.toList());
+ attachmentService.updateBatchById(attachmentInfos);
+ }
+ }
+ return AjaxResult.success("考场异常监控记录删除成功");
+ }
+
+ @Override
+ public AjaxResult deleteTrainRecord(Long id) {
+ EmonTrainRecord emonTrainRecord = emonTrainRecordService.findValidById(id);
+ if (emonTrainRecord == null)
+ return AjaxResult.success();
+ emonTrainRecord.setDelFlag(DeleteStatusEnum.YES.getStatus());
+ boolean update = emonTrainRecordService.updateById(emonTrainRecord);
+ if (!update)
+ throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR_DATABASE_FAIL, "培训异常监控记录删除失败");
+ String excImage = emonTrainRecord.getExcImage();
+ if (StringUtils.isNotBlank(excImage)) {
+ List<AttachmentInfo> attachmentInfos = attachmentService.findByBusinessId(id);
+ if (!CollectionUtils.isEmpty(attachmentInfos)) {
+ attachmentInfos = attachmentInfos.stream().map(attachmentInfo -> {
+ attachmentInfo.setDelFlag(1);
+ attachmentInfo.setUpdateBy(SecurityUtils.getUsername());
+ attachmentInfo.setUpdateTime(new Date());
+ return attachmentInfo;
+ }).collect(Collectors.toList());
+ attachmentService.updateBatchById(attachmentInfos);
+ }
+ }
+ return AjaxResult.success("培训异常监控记录删除成功");
+ }
+}
\ No newline at end of file
diff --git a/exam-system/src/main/java/com/gkhy/exam/coalmine/utils/AttachmentUtil.java b/exam-system/src/main/java/com/gkhy/exam/coalmine/utils/AttachmentUtil.java
new file mode 100644
index 0000000..faa4366
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/coalmine/utils/AttachmentUtil.java
@@ -0,0 +1,29 @@
+package com.gkhy.exam.coalmine.utils;
+
+import com.ruoyi.file.entity.AttachmentInfo;
+
+import java.util.List;
+import java.util.regex.Pattern;
+import java.util.stream.Collectors;
+
+/**
+ * @author Mr.huang
+ * @decription
+ * @date 2023/9/14 9:59
+ */
+public class AttachmentUtil {
+
+ public static List<Long> stringConvertIds(String str){
+ List<Long> list = Pattern.compile(",\\s*")
+ .splitAsStream(str)
+ .map(Long::parseLong)
+ .collect(Collectors.toList());
+ return list;
+ }
+
+ public static String idConvertString(List<AttachmentInfo> attachmentInfos){
+ String attachmentIds = attachmentInfos.stream().map(AttachmentInfo::getId).map(Object::toString)
+ .collect(Collectors.joining(","));
+ return attachmentIds;
+ }
+}
\ No newline at end of file
diff --git a/exam-system/src/main/resources/mapper/coalmine/CmStaffExamMapper.xml b/exam-system/src/main/resources/mapper/coalmine/CmStaffExamMapper.xml
new file mode 100644
index 0000000..8cfd93e
--- /dev/null
+++ b/exam-system/src/main/resources/mapper/coalmine/CmStaffExamMapper.xml
@@ -0,0 +1,24 @@
+<?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="com.gkhy.exam.coalmine.mapper.CmStaffExamMapper">
+
+ <resultMap type="com.gkhy.exam.coalmine.entity.CmStaffExam" id="CmStaffExamMap">
+ <result property="id" column="id"/>
+ <result property="staffId" column="staff_id"/>
+ <result property="startTime" column="start_time"/>
+ <result property="endTime" column="end_time"/>
+ <result property="examCenter" column="exam_center"/>
+ <result property="subject" column="subject"/>
+ <result property="result" column="result"/>
+ <result property="delFlag" column="del_flag"/>
+ <result property="createBy" column="create_by"/>
+ <result property="createTime" column="create_time"/>
+ <result property="updateBy" column="update_by"/>
+ <result property="updateTime" column="update_time"/>
+ </resultMap>
+ <sql id="selectAllField">
+ select id, staff_id, start_time, end_time, exam_center, subject, result, del_flag, create_by, create_time, update_by, update_time
+ from cm_staff_exam
+ </sql>
+</mapper>
+
diff --git a/exam-system/src/main/resources/mapper/coalmine/CmStaffMapper.xml b/exam-system/src/main/resources/mapper/coalmine/CmStaffMapper.xml
new file mode 100644
index 0000000..c5a8bb5
--- /dev/null
+++ b/exam-system/src/main/resources/mapper/coalmine/CmStaffMapper.xml
@@ -0,0 +1,25 @@
+<?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="com.gkhy.exam.coalmine.mapper.CmStaffMapper">
+
+ <resultMap type="com.gkhy.exam.coalmine.entity.CmStaff" id="CmStaffManageMap">
+ <result property="id" column="id"/>
+ <result property="name" column="name"/>
+ <result property="sex" column="sex"/>
+ <result property="nationCode" column="nation_code"/>
+ <result property="code" column="code"/>
+ <result property="mobilePhone" column="mobile_phone"/>
+ <result property="eduLevel" column="edu_level"/>
+ <result property="photoAttachment" column="photo_attachment"/>
+ <result property="delFlag" column="del_flag"/>
+ <result property="createBy" column="create_by"/>
+ <result property="createTime" column="create_time"/>
+ <result property="updateBy" column="update_by"/>
+ <result property="updateTime" column="update_time"/>
+ </resultMap>
+ <sql id="selectAllField">
+ select id, name, sex, nation_code, code, mobile_phone, edu_level, photo_attachment, del_flag, create_by, create_time, update_by, update_time
+ from cm_staff_manage
+ </sql>
+</mapper>
+
diff --git a/exam-system/src/main/resources/mapper/coalmine/CmStaffQaMapper.xml b/exam-system/src/main/resources/mapper/coalmine/CmStaffQaMapper.xml
new file mode 100644
index 0000000..a59351a
--- /dev/null
+++ b/exam-system/src/main/resources/mapper/coalmine/CmStaffQaMapper.xml
@@ -0,0 +1,25 @@
+<?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="com.gkhy.exam.coalmine.mapper.CmStaffQaMapper">
+
+ <resultMap type="com.gkhy.exam.coalmine.entity.CmStaffQa" id="CmStaffQaMap">
+ <result property="id" column="id"/>
+ <result property="staffId" column="staff_id"/>
+ <result property="name" column="name"/>
+ <result property="operateTypeId" column="operate_type_id"/>
+ <result property="qualificationType" column="qualification_type"/>
+ <result property="jobCategory" column="job_category"/>
+ <result property="operationItems" column="operation_items"/>
+ <result property="expiredTime" column="expired_time"/>
+ <result property="delFlag" column="del_flag"/>
+ <result property="createBy" column="create_by"/>
+ <result property="createTime" column="create_time"/>
+ <result property="updateBy" column="update_by"/>
+ <result property="updateTime" column="update_time"/>
+ </resultMap>
+ <sql id="selectAllField">
+ select id, staff_id, name, operate_type_id, qualification_type, job_category, operation_items, expired_time, del_flag, create_by, create_time, update_by, update_time
+ from cm_staff_qa
+ </sql>
+</mapper>
+
diff --git a/exam-system/src/main/resources/mapper/coalmine/CmStaffResumeMapper.xml b/exam-system/src/main/resources/mapper/coalmine/CmStaffResumeMapper.xml
new file mode 100644
index 0000000..f0f957e
--- /dev/null
+++ b/exam-system/src/main/resources/mapper/coalmine/CmStaffResumeMapper.xml
@@ -0,0 +1,22 @@
+<?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="com.gkhy.exam.coalmine.mapper.CmStaffResumeMapper">
+
+ <resultMap type="com.gkhy.exam.coalmine.entity.CmStaffResume" id="CmStaffResumeMap">
+ <result property="id" column="id"/>
+ <result property="staffId" column="staff_id"/>
+ <result property="startTime" column="start_time"/>
+ <result property="endTime" column="end_time"/>
+ <result property="unit" column="unit"/>
+ <result property="delFlag" column="del_flag"/>
+ <result property="createBy" column="create_by"/>
+ <result property="createTime" column="create_time"/>
+ <result property="updateBy" column="update_by"/>
+ <result property="updateTime" column="update_time"/>
+ </resultMap>
+ <sql id="selectAllField">
+ select id, staff_id, start_time, end_time, unit, del_flag, create_by, create_time, update_by, update_time
+ from cm_staff_resume
+ </sql>
+</mapper>
+
diff --git a/exam-system/src/main/resources/mapper/coalmine/CmStaffTrainMapper.xml b/exam-system/src/main/resources/mapper/coalmine/CmStaffTrainMapper.xml
new file mode 100644
index 0000000..49c0f6a
--- /dev/null
+++ b/exam-system/src/main/resources/mapper/coalmine/CmStaffTrainMapper.xml
@@ -0,0 +1,24 @@
+<?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="com.gkhy.exam.coalmine.mapper.CmStaffTrainMapper">
+
+ <resultMap type="com.gkhy.exam.coalmine.entity.CmStaffTrain" id="CmStaffTrainMap">
+ <result property="id" column="id"/>
+ <result property="staffId" column="staff_id"/>
+ <result property="startTime" column="start_time"/>
+ <result property="endTime" column="end_time"/>
+ <result property="unit" column="unit"/>
+ <result property="batch" column="batch"/>
+ <result property="subject" column="subject"/>
+ <result property="delFlag" column="del_flag"/>
+ <result property="createBy" column="create_by"/>
+ <result property="createTime" column="create_time"/>
+ <result property="updateBy" column="update_by"/>
+ <result property="updateTime" column="update_time"/>
+ </resultMap>
+ <sql id="selectAllField">
+ select id, staff_id, start_time, end_time, unit, batch, subject, del_flag, create_by, create_time, update_by, update_time
+ from cm_staff_train
+ </sql>
+</mapper>
+
diff --git a/exam-system/src/main/resources/mapper/coalmine/EmonExamRecordMapper.xml b/exam-system/src/main/resources/mapper/coalmine/EmonExamRecordMapper.xml
new file mode 100644
index 0000000..ef1611b
--- /dev/null
+++ b/exam-system/src/main/resources/mapper/coalmine/EmonExamRecordMapper.xml
@@ -0,0 +1,25 @@
+<?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="com.gkhy.exam.coalmine.mapper.EmonExamRecordMapper">
+
+ <resultMap type="com.gkhy.exam.coalmine.entity.EmonExamRecord" id="EmonExamRecordMap">
+ <result property="id" column="id"/>
+ <result property="reportTime" column="report_time"/>
+ <result property="districtId" column="district_id"/>
+ <result property="examCenter" column="exam_center"/>
+ <result property="excType" column="exc_type"/>
+ <result property="isCm" column="is_cm"/>
+ <result property="updateBy" column="update_by"/>
+ <result property="updateTime" column="update_time"/>
+ <result property="createBy" column="create_by"/>
+ <result property="createTime" column="create_time"/>
+ <result property="delFlag" column="del_flag"/>
+ </resultMap>
+
+ <sql id="selectAllField">
+ select id, report_time, district_id, exam_center, exc_type, is_cm,exc_image, update_by, update_time, create_by, create_time, del_flag
+ from emon_exam_record
+ </sql>
+
+</mapper>
+
diff --git a/exam-system/src/main/resources/mapper/coalmine/EmonTrainRecordMapper.xml b/exam-system/src/main/resources/mapper/coalmine/EmonTrainRecordMapper.xml
new file mode 100644
index 0000000..f2b4a5e
--- /dev/null
+++ b/exam-system/src/main/resources/mapper/coalmine/EmonTrainRecordMapper.xml
@@ -0,0 +1,23 @@
+<?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="com.gkhy.exam.coalmine.mapper.EmonTrainRecordMapper">
+
+ <resultMap type="com.gkhy.exam.coalmine.entity.EmonTrainRecord" id="EmonTrainRecordMap">
+ <result property="id" column="id"/>
+ <result property="reportTime" column="report_time"/>
+ <result property="districtId" column="district_id"/>
+ <result property="examCenter" column="exam_center"/>
+ <result property="excType" column="exc_type"/>
+ <result property="isCm" column="is_cm"/>
+ <result property="updateBy" column="update_by"/>
+ <result property="updateTime" column="update_time"/>
+ <result property="createBy" column="create_by"/>
+ <result property="createTime" column="create_time"/>
+ <result property="delFlag" column="del_flag"/>
+ </resultMap>
+ <sql id="selectAllField">
+ select id, report_time, district_id, exam_center, exc_type, is_cm, update_by, update_time, create_by, create_time, del_flag
+ from emon_train_record
+ </sql>
+</mapper>
+
diff --git a/exam-system/src/main/resources/mapper/coalmine/ExaminerManageMapper.xml b/exam-system/src/main/resources/mapper/coalmine/ExaminerManageMapper.xml
index b977843..b488d33 100644
--- a/exam-system/src/main/resources/mapper/coalmine/ExaminerManageMapper.xml
+++ b/exam-system/src/main/resources/mapper/coalmine/ExaminerManageMapper.xml
@@ -1,7 +1,31 @@
-<?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">
+<?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="com.gkhy.exam.coalmine.mapper.ExaminerManageMapper">
-</mapper>
\ No newline at end of file
+ <resultMap type="com.gkhy.exam.coalmine.entity.ExaminerManage" id="ExaminerManageMap">
+ <result property="id" column="id"/>
+ <result property="name" column="name"/>
+ <result property="sex" column="sex"/>
+ <result property="code" column="code"/>
+ <result property="mobilePhone" column="mobile_phone"/>
+ <result property="jobTitle" column="job_title"/>
+ <result property="eduLevel" column="edu_level"/>
+ <result property="expiredTime" column="expired_time"/>
+ <result property="isCm" column="is_cm"/>
+ <result property="description" column="description"/>
+ <result property="photoAttachment" column="photo_attachment"/>
+ <result property="qaAttachment" column="qa_attachment"/>
+ <result property="status" column="status"/>
+ <result property="delFlag" column="del_flag"/>
+ <result property="createBy" column="create_by"/>
+ <result property="createTime" column="create_time"/>
+ <result property="updateBy" column="update_by"/>
+ <result property="updateTime" column="update_time"/>
+ </resultMap>
+
+ <sql id="selectAllField">
+ select id, name, sex, code, mobile_phone, job_title, edu_level, expired_time, is_cm, description,photo_attachment, qa_attachment,status, del_flag, create_by, create_time, update_by, update_time
+ from examiner_manage
+ </sql>
+</mapper>
+
diff --git a/exam-system/src/main/resources/mapper/coalmine/ExaminerManageOperateTypeBindMapper.xml b/exam-system/src/main/resources/mapper/coalmine/ExaminerManageOperateTypeBindMapper.xml
new file mode 100644
index 0000000..f945198
--- /dev/null
+++ b/exam-system/src/main/resources/mapper/coalmine/ExaminerManageOperateTypeBindMapper.xml
@@ -0,0 +1,24 @@
+<?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="com.gkhy.exam.coalmine.mapper.ExaminerManageOperateTypeBindMapper">
+
+ <resultMap type="com.gkhy.exam.coalmine.entity.ExaminerManageOperateTypeBind" id="ExaminerManageOperateTypeBindMap">
+ <result property="id" column="id"/>
+ <result property="teacherManageId" column="teacher_manage_id"/>
+ <result property="operateTypeId" column="operate_type_id"/>
+ <result property="qualificationType" column="qualification_type"/>
+ <result property="jobCategory" column="job_category"/>
+ <result property="operationItems" column="operation_items"/>
+ <result property="delFlag" column="del_flag"/>
+ <result property="createBy" column="create_by"/>
+ <result property="createTime" column="create_time"/>
+ <result property="updateBy" column="update_by"/>
+ <result property="updateTime" column="update_time"/>
+ </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
+ from examiner_manage_operate_type_bind
+ </sql>
+</mapper>
+
diff --git a/exam-system/src/main/resources/mapper/coalmine/TeacherManageMapper.xml b/exam-system/src/main/resources/mapper/coalmine/TeacherManageMapper.xml
new file mode 100644
index 0000000..c3b3127
--- /dev/null
+++ b/exam-system/src/main/resources/mapper/coalmine/TeacherManageMapper.xml
@@ -0,0 +1,30 @@
+<?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="com.gkhy.exam.coalmine.mapper.TeacherManageMapper">
+
+ <resultMap type="com.gkhy.exam.coalmine.entity.TeacherManage" id="TeacherManageMap">
+ <result property="id" column="id"/>
+ <result property="sex" column="sex"/>
+ <result property="code" column="code"/>
+ <result property="mobilePhone" column="mobile_phone"/>
+ <result property="name" column="name"/>
+ <result property="jobTitle" column="job_title"/>
+ <result property="eduLevel" column="edu_level"/>
+ <result property="expiredTime" column="expired_time"/>
+ <result property="isCm" column="is_cm"/>
+ <result property="description" column="description"/>
+ <result property="photoAttachment" column="photo_attachment"/>
+ <result property="qaAttachment" column="qa_attachment"/>
+ <result property="status" column="status"/>
+ <result property="delFlag" column="del_flag"/>
+ <result property="createBy" column="create_by"/>
+ <result property="createTime" column="create_time"/>
+ <result property="updateBy" column="update_by"/>
+ <result property="updateTime" column="update_time"/>
+ </resultMap>
+ <sql id="selectAllField">
+ select id, sex, code, mobile_phone, name, job_title, edu_level, expired_time, is_cm, description,photo_attachment, qa_attachment, status, del_flag, create_by, create_time, update_by, update_time
+ from teacher_manage
+ </sql>
+</mapper>
+
diff --git a/exam-system/src/main/resources/mapper/coalmine/TeacherManageOperateTypeBindMapper.xml b/exam-system/src/main/resources/mapper/coalmine/TeacherManageOperateTypeBindMapper.xml
new file mode 100644
index 0000000..c3b2af6
--- /dev/null
+++ b/exam-system/src/main/resources/mapper/coalmine/TeacherManageOperateTypeBindMapper.xml
@@ -0,0 +1,23 @@
+<?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="com.gkhy.exam.coalmine.mapper.TeacherManageOperateTypeBindMapper">
+
+ <resultMap type="com.gkhy.exam.coalmine.entity.TeacherManageOperateTypeBind" id="TeacherManageOperateTypeBindMap">
+ <result property="id" column="id"/>
+ <result property="teacherManageId" column="teacher_manage_id"/>
+ <result property="operateTypeId" column="operate_type_id"/>
+ <result property="qualificationType" column="qualification_type"/>
+ <result property="jobCategory" column="job_category"/>
+ <result property="operationItems" column="operation_items"/>
+ <result property="delFlag" column="del_flag"/>
+ <result property="createBy" column="create_by"/>
+ <result property="createTime" column="create_time"/>
+ <result property="updateBy" column="update_by"/>
+ <result property="updateTime" column="update_time"/>
+ </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
+ from teacher_manage_operate_type_bind
+ </sql>
+</mapper>
+
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/enums/coalmineEnums/EnableStatusEnum.java b/ruoyi-common/src/main/java/com/ruoyi/common/enums/coalmineEnums/EnableStatusEnum.java
index 7ab58f9..f371016 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/enums/coalmineEnums/EnableStatusEnum.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/enums/coalmineEnums/EnableStatusEnum.java
@@ -2,23 +2,23 @@
public enum EnableStatusEnum {
- NO((byte)0,"停用"),
- YES((byte)1,"启用"),
+ NO("1","停用"),
+ YES("0","启用"),
;
- private Byte status;
+ private String status;
private String desc;
- EnableStatusEnum(Byte status, String desc) {
+ EnableStatusEnum(String status, String desc) {
this.status = status;
this.desc = desc;
}
- public Byte getStatus() {
+ public String getStatus() {
return status;
}
- public void setStatus(Byte status) {
+ public void setStatus(String status) {
this.status = status;
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOperateTypeServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOperateTypeServiceImpl.java
index d1de2a7..e04cd77 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOperateTypeServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOperateTypeServiceImpl.java
@@ -20,12 +20,14 @@
import com.ruoyi.system.mapper.SysOperateTypeMapper;
import com.ruoyi.system.mapper.SysRoleMapper;
import com.ruoyi.system.service.SysOperateTypeService;
+import org.apache.ibatis.logging.Log;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import javax.annotation.PostConstruct;
+import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.HashMap;
@@ -45,21 +47,26 @@
@Autowired
private SysRoleMapper roleMapper;
+ @Resource
+ private RedisCache redisCache;
+
+
@PostConstruct
public void init()
{
loadingOperateTypeCache();
+
}
@Override
public void loadingOperateTypeCache() {
LambdaQueryWrapper<SysOperateType> wrapper = new LambdaQueryWrapper<>();
- wrapper.eq(SysOperateType::getDelFlag, DeleteStatusEnum.YES.getStatus());
+ wrapper.eq(SysOperateType::getDelFlag, DeleteStatusEnum.NO.getStatus());
List<SysOperateType> sysOperateTypes = operateTypeMapper.selectList(wrapper);
if (!CollectionUtils.isEmpty(sysOperateTypes)){
Map<Long, SysOperateTypeWholeNameBO> map = new HashMap<>();
for (SysOperateType sysOperateType : sysOperateTypes) {
- SysOperateTypeWholeNameBO nameBO = this.getOperateTypeWholeNameById(sysOperateType.getId());
+ SysOperateTypeWholeNameBO nameBO = this.operateTypeWholeNameCacheById(sysOperateType.getId());
map.put(sysOperateType.getId(),nameBO);
}
SpringUtils.getBean(RedisCache.class).setCacheObject(CacheConstants.SYS_OPERATE_TYPE_NAME_KEY, map);
@@ -302,8 +309,7 @@
return this.operateTypeMapper.updateById(sysOperateType);
}
- @Override
- public SysOperateTypeWholeNameBO getOperateTypeWholeNameById(Long id) {
+ private SysOperateTypeWholeNameBO operateTypeWholeNameCacheById(Long id){
SysOperateType sysOperateType = operateTypeMapper.selectOperateTypeById(id);
if (sysOperateType == null)
return null;
@@ -333,6 +339,15 @@
}
return bo;
}
+
+ @Override
+ public SysOperateTypeWholeNameBO getOperateTypeWholeNameById(Long id) {
+ Map<Long, SysOperateTypeWholeNameBO> map = redisCache.getCacheObject(CacheConstants.SYS_OPERATE_TYPE_NAME_KEY);
+ if (map != null){
+ return map.get(id);
+ }
+ return null;
+ }
//
///**
// * 递归列表
--
Gitblit v1.9.2