From 704ea6024361970e2c99f21c12d0f0d88d0f1942 Mon Sep 17 00:00:00 2001
From: zf <1603559716@qq.com>
Date: 星期四, 14 九月 2023 16:00:15 +0800
Subject: [PATCH] 违章

---
 exam-system/src/main/java/com/gkhy/exam/noncoalmine/entity/TrainingInstitution.java                    |   58 ++
 exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/ExamSiteService.java                       |   15 
 exam-system/src/main/resources/mapper/noncoalmine/ViolationRegistrationMapper.xml                      |   34 +
 exam-system/src/main/java/com/gkhy/exam/noncoalmine/controller/TrainingInstitutionController.java      |   86 ++++
 exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/impl/ViolationRegistrationServiceImpl.java |  108 +++++
 ruoyi-file/src/main/java/com/ruoyi/file/service/AttachmentInfoService.java                             |    2 
 exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/ViolationRegistrationService.java          |   11 
 exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/modForm/TrainingInstitutionModForm.java      |   13 
 exam-system/src/main/java/com/gkhy/exam/noncoalmine/controller/WorkRegistrationController.java         |    5 
 exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/addForm/ViolationRegistrationAddForm.java    |   45 ++
 exam-system/src/main/resources/mapper/noncoalmine/TrainingInstitutionMapper.xml                        |   41 +
 exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/query/TrainingInstitutionQuery.java          |   19 
 exam-system/pom.xml                                                                                    |    1 
 exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/vo/TrainingInstitutionVO.java                |   47 ++
 exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/impl/WorkRegistrationServiceImpl.java      |   22 
 exam-system/src/main/java/com/gkhy/exam/noncoalmine/entity/ExamSite.java                               |   60 ++
 exam-system/src/main/java/com/gkhy/exam/noncoalmine/mapper/ViolationRegistrationMapper.java            |    5 
 ruoyi-file/src/main/java/com/ruoyi/file/service/impl/AttachmentInfoServiceImpl.java                    |    7 
 exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/query/ViolationRegistrationQuery.java        |   13 
 exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/impl/ExamSiteServiceImpl.java              |   19 
 exam-system/src/main/resources/mapper/noncoalmine/WorkRegistrationMapper.xml                           |    1 
 ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysRoleMapper.java                                  |    2 
 exam-system/src/main/java/com/gkhy/exam/noncoalmine/mapper/ExamSiteMapper.java                         |   19 
 exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/modForm/ViolationRegistrationModForm.java    |   47 ++
 exam-system/src/main/java/com/gkhy/exam/noncoalmine/mapper/TrainingInstitutionMapper.java              |   25 +
 exam-system/src/main/java/com/gkhy/exam/noncoalmine/entity/ViolationRegistration.java                  |  166 ------
 exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/impl/TrainingInstitutionServiceImpl.java   |   73 +++
 exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/vo/ViolationRegistrationVO.java              |   62 ++
 exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/addForm/TrainingInstitutionAddForm.java      |   13 
 /dev/null                                                                                              |   20 
 exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/addForm/WorkRegistrationAddForm.java         |    2 
 exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/WorkRegistrationService.java               |    3 
 exam-system/src/main/java/com/gkhy/exam/noncoalmine/controller/ExamSiteController.java                 |   88 ++++
 exam-system/src/main/java/com/gkhy/exam/noncoalmine/entity/WorkRegistration.java                       |    2 
 exam-system/src/main/java/com/gkhy/exam/noncoalmine/controller/ViolationRegistrationController.java    |   45 +-
 exam-system/src/main/java/com/gkhy/exam/noncoalmine/mapper/WorkRegistrationMapper.java                 |    3 
 exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/TrainingInstitutionService.java            |   26 +
 37 files changed, 1,003 insertions(+), 205 deletions(-)

diff --git a/exam-system/pom.xml b/exam-system/pom.xml
index 0d0d6bf..76f6c69 100644
--- a/exam-system/pom.xml
+++ b/exam-system/pom.xml
@@ -24,6 +24,7 @@
             <groupId>com.ruoyi</groupId>
             <artifactId>ruoyi-file</artifactId>
         </dependency>
+
     </dependencies>
 
 </project>
diff --git a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/controller/ExamSiteController.java b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/controller/ExamSiteController.java
new file mode 100644
index 0000000..1dbcafd
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/controller/ExamSiteController.java
@@ -0,0 +1,88 @@
+package controller;
+
+
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.api.ApiController;
+import com.baomidou.mybatisplus.extension.api.R;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import .entity.ExamSite;
+import .service.ExamSiteService;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * (ExamSite)表控制层
+ *
+ * @author makejava
+ * @since 2023-09-13 16:11:04
+ */
+@RestController
+@RequestMapping("examSite")
+public class ExamSiteController extends ApiController {
+    /**
+     * 服务对象
+     */
+    @Resource
+    private ExamSiteService examSiteService;
+
+    /**
+     * 分页查询所有数据
+     *
+     * @param page 分页对象
+     * @param examSite 查询实体
+     * @return 所有数据
+     */
+    @GetMapping
+    public R selectAll(Page<ExamSite> page, ExamSite examSite) {
+        return success(this.examSiteService.page(page, new QueryWrapper<>(examSite)));
+    }
+
+    /**
+     * 通过主键查询单条数据
+     *
+     * @param id 主键
+     * @return 单条数据
+     */
+    @GetMapping("{id}")
+    public R selectOne(@PathVariable Serializable id) {
+        return success(this.examSiteService.getById(id));
+    }
+
+    /**
+     * 新增数据
+     *
+     * @param examSite 实体对象
+     * @return 新增结果
+     */
+    @PostMapping
+    public R insert(@RequestBody ExamSite examSite) {
+        return success(this.examSiteService.save(examSite));
+    }
+
+    /**
+     * 修改数据
+     *
+     * @param examSite 实体对象
+     * @return 修改结果
+     */
+    @PutMapping
+    public R update(@RequestBody ExamSite examSite) {
+        return success(this.examSiteService.updateById(examSite));
+    }
+
+    /**
+     * 删除数据
+     *
+     * @param idList 主键结合
+     * @return 删除结果
+     */
+    @DeleteMapping
+    public R delete(@RequestParam("idList") List<Long> idList) {
+        return success(this.examSiteService.removeByIds(idList));
+    }
+}
+
diff --git a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/controller/TestDemoController.java b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/controller/TestDemoController.java
deleted file mode 100644
index 5b6654f..0000000
--- a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/controller/TestDemoController.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.gkhy.exam.noncoalmine.controller;
-
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * @email 1603559716@qq.com
- * @author: zf
- * @date: 2023/9/6
- * @time: 17:24
- */
-@RestController
-@RequestMapping("/demo")
-public class TestDemoController {
-    @GetMapping("/test")
-    public String test(){
-        return "testController";
-    }
-}
diff --git a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/controller/TrainingInstitutionController.java b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/controller/TrainingInstitutionController.java
new file mode 100644
index 0000000..61015ee
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/controller/TrainingInstitutionController.java
@@ -0,0 +1,86 @@
+package com.gkhy.exam.noncoalmine.controller;
+
+import com.gkhy.exam.noncoalmine.model.addForm.TrainingInstitutionAddForm;
+import com.gkhy.exam.noncoalmine.model.modForm.TrainingInstitutionModForm;
+import com.gkhy.exam.noncoalmine.model.query.TrainingInstitutionQuery;
+import com.gkhy.exam.noncoalmine.service.TrainingInstitutionService;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.core.page.TableDataInfo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+import java.util.List;
+
+/**
+ * (TrainingInstitution)表控制层
+ *
+ * @author makejava
+ * @since 2023-09-13 16:12:31
+ */
+@RestController
+@RequestMapping("training/institution")
+public class TrainingInstitutionController extends BaseController {
+    /**
+     * 服务对象
+     */
+    @Autowired
+    private TrainingInstitutionService trainingInstitutionService;
+
+    /**
+     * 分页查询所有数据
+     *
+     * @param query 查询实体
+     * @return 所有数据
+     */
+    @GetMapping
+    public TableDataInfo listByPage(TrainingInstitutionQuery query) {
+        startPage();
+        return getDataTable(this.trainingInstitutionService.listByPage( query));
+    }
+
+    /**
+     * 通过主键查询单条数据
+     *
+     * @param institutionId 主键
+     * @return 单条数据
+     */
+    @GetMapping("get/{institutionId}")
+    public AjaxResult selectOne(@PathVariable Long institutionId) {
+        return success(this.trainingInstitutionService.getById(institutionId));
+    }
+
+    /**
+     * 新增数据
+     *
+     * @param addForm 实体对象
+     * @return 新增结果
+     */
+    @PostMapping("add")
+    public AjaxResult add(@Validated @RequestBody TrainingInstitutionAddForm addForm) {
+        return toAjax(this.trainingInstitutionService.add(addForm));
+    }
+
+    /**
+     * 修改数据
+     *
+     * @param modForm 实体对象
+     * @return 修改结果
+     */
+    @PutMapping("mod")
+    public AjaxResult mod(@Validated @RequestBody TrainingInstitutionModForm modForm) {
+        return toAjax(this.trainingInstitutionService.mod(modForm));
+    }
+
+    /**
+     * 删除数据
+     *
+     * @param institutionIds 主键结合
+     * @return 删除结果
+     */
+    @DeleteMapping("/del/batch/{institutionIds}")
+    public AjaxResult delete(@PathVariable("institutionIds") List<Long> institutionIds) {
+        return toAjax(this.trainingInstitutionService.removeByIds(institutionIds));
+    }
+}
+
diff --git a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/controller/ViolationRegistrationController.java b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/controller/ViolationRegistrationController.java
index 47f4115..682b590 100644
--- a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/controller/ViolationRegistrationController.java
+++ b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/controller/ViolationRegistrationController.java
@@ -2,18 +2,16 @@
 
 
 
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.gkhy.exam.noncoalmine.entity.ViolationRegistration;
+import com.gkhy.exam.noncoalmine.model.addForm.ViolationRegistrationAddForm;
+import com.gkhy.exam.noncoalmine.model.modForm.ViolationRegistrationModForm;
+import com.gkhy.exam.noncoalmine.model.query.ViolationRegistrationQuery;
 import com.gkhy.exam.noncoalmine.service.ViolationRegistrationService;
 import com.ruoyi.common.core.controller.BaseController;
 import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.core.page.TableDataInfo;
+import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
-
 import javax.annotation.Resource;
-import java.io.Serializable;
 import java.util.List;
 
 /**
@@ -39,51 +37,52 @@
      */
     @GetMapping("page/list")
     public TableDataInfo listByPage(ViolationRegistrationQuery query) {
-        return getDataTable(this.violationRegistrationService.listByPage(page, new QueryWrapper<>(violationRegistration)));
+        startPage();
+        return getDataTable(this.violationRegistrationService.listByPage(query));
     }
 
     /**
      * 通过主键查询单条数据
      *
-     * @param id 主键
+     * @param violationId 主键
      * @return 单条数据
      */
-    @GetMapping("get/{id}")
-    public AjaxResult selectOne(@PathVariable Long id) {
-        return success(this.violationRegistrationService.getById(id));
+    @GetMapping("get/{violationId}")
+    public AjaxResult selectOne(@PathVariable Long violationId) {
+        return success(this.violationRegistrationService.getById(violationId));
     }
 
     /**
      * 新增数据
      *
-     * @param violationRegistration 实体对象
+     * @param addForm 实体对象
      * @return 新增结果
      */
-    @PostMapping()
-    public AjaxResult insert(@RequestBody ViolationRegistration violationRegistration) {
-        return success(this.violationRegistrationService.save(violationRegistration));
+    @PostMapping("add")
+    public AjaxResult add(@Validated @RequestBody ViolationRegistrationAddForm addForm) {
+        return toAjax(this.violationRegistrationService.add(addForm));
     }
 
     /**
      * 修改数据
      *
-     * @param violationRegistration 实体对象
+     * @param modForm 实体对象
      * @return 修改结果
      */
-    @PutMapping
-    public AjaxResult update(@RequestBody ViolationRegistration violationRegistration) {
-        return success(this.violationRegistrationService.updateById(violationRegistration));
+    @PutMapping("mod")
+    public AjaxResult mod(@Validated @RequestBody ViolationRegistrationModForm modForm) {
+        return toAjax(this.violationRegistrationService.mod(modForm));
     }
 
     /**
      * 删除数据
      *
-     * @param workIds 主键结合
+     * @param violationIds 主键结合
      * @return 删除结果
      */
-    @DeleteMapping("/del/batch/{workIds}")
-    public AjaxResult delete(@PathVariable("workIds") List<Long> workIds) {
-        return success(this.violationRegistrationService.removeByIds(workIds));
+    @DeleteMapping("/del/batch/{violationIds}")
+    public AjaxResult delete(@PathVariable("violationIds") List<Long> violationIds) {
+        return success(this.violationRegistrationService.removeByIds(violationIds));
     }
 }
 
diff --git a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/controller/WorkRegistrationController.java b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/controller/WorkRegistrationController.java
index f03aac4..bfab52a 100644
--- a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/controller/WorkRegistrationController.java
+++ b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/controller/WorkRegistrationController.java
@@ -2,9 +2,6 @@
 
 
 
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.gkhy.exam.noncoalmine.entity.WorkRegistration;
 import com.gkhy.exam.noncoalmine.model.addForm.WorkRegistrationAddForm;
 import com.gkhy.exam.noncoalmine.model.modForm.WorkRegistrationModForm;
 import com.gkhy.exam.noncoalmine.model.query.WorkRegistrationQuery;
@@ -14,9 +11,7 @@
 import com.ruoyi.common.core.page.TableDataInfo;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
-
 import javax.annotation.Resource;
-import java.io.Serializable;
 import java.util.List;
 
 /**
diff --git a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/entity/ExamSite.java b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/entity/ExamSite.java
new file mode 100644
index 0000000..8269068
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/entity/ExamSite.java
@@ -0,0 +1,60 @@
+package com.gkhy.exam.noncoalmine.entity;
+
+import java.util.Date;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * (ExamSite)表实体类
+ *
+ * @author makejava
+ * @since 2023-09-13 16:11:10
+ */
+@Data
+public class ExamSite {
+    @TableId(type = IdType.AUTO)
+    private Long siteId;
+    //地点名称
+    private String siteName;
+    //地区id
+    private Long districtId;
+    //地址
+    private String address;
+    //负责人
+    private String header;
+    //负责人电话
+    private String hphone;
+    //联系人
+    private String contact;
+    //联系人电话
+    private String cphone;
+    //备注
+    private String remark;
+    //机构ID
+    private Long institutionId;
+    //删除标识(0未删除,1删除)
+    private Byte delFlag;
+    //是否为煤矿:0为非,1是
+    private Byte isCm;
+    @TableField(fill = FieldFill.INSERT)
+    private String createBy;
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private String updateBy;
+    @TableField(fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date createTime;
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date updateTime;
+
+
+}
+
diff --git a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/entity/TrainingInstitution.java b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/entity/TrainingInstitution.java
new file mode 100644
index 0000000..ad62bbe
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/entity/TrainingInstitution.java
@@ -0,0 +1,58 @@
+package com.gkhy.exam.noncoalmine.entity;
+
+import java.util.Date;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * (TrainingInstitution)表实体类
+ *
+ * @author makejava
+ * @since 2023-09-13 16:12:31
+ */
+@Data
+public class TrainingInstitution {
+    @TableId(type = IdType.AUTO)
+    private String institutionId;
+    //机构名称
+    private String institutionName;
+    //地区id
+    private Long districtId;
+    //地址
+    private String address;
+    //负责人
+    private String header;
+    //负责人电话
+    private String hphone;
+    //联系人
+    private String contact;
+    //联系人电话
+    private String cphone;
+    //是否为煤矿:0为非,1是
+    private Byte isCm;
+    //备注
+    private String remark;
+    //删除标识(0未删除,1删除)
+    private Byte delFlag;
+
+    @TableField(fill = FieldFill.INSERT)
+    private String createBy;
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private String updateBy;
+    @TableField(fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date createTime;
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date updateTime;
+
+}
+
diff --git a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/entity/ViolationRegistration.java b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/entity/ViolationRegistration.java
index f64768e..5ca0df5 100644
--- a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/entity/ViolationRegistration.java
+++ b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/entity/ViolationRegistration.java
@@ -1,7 +1,15 @@
 package com.gkhy.exam.noncoalmine.entity;
 
 import java.util.Date;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
 import java.io.Serializable;
 
 /**
@@ -10,9 +18,10 @@
  * @author makejava
  * @since 2023-09-11 16:59:09
  */
-@SuppressWarnings("serial")
-public class ViolationRegistration extends Model<ViolationRegistration> {
+@Data
+public class ViolationRegistration {
     //违章主键
+    @TableId(type = IdType.AUTO)
     private Long violationId;
     //姓名
     private String name;
@@ -23,6 +32,7 @@
     //IC卡编号
     private String icNum;
     //违章时间
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date violationTime;
     //所属单位
     private String dept;
@@ -35,153 +45,17 @@
     //描述
     private String remark;
     //删除标识(0未删除,1删除)
-    private Integer delFlag;
-    
+    private Byte delFlag;
+    @TableField(fill = FieldFill.INSERT)
     private String createBy;
-    
+    @TableField(fill = FieldFill.INSERT_UPDATE)
     private String updateBy;
-    
+    @TableField(fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date createTime;
-    
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date updateTime;
 
-
-    public Long getViolationId() {
-        return violationId;
-    }
-
-    public void setViolationId(Long violationId) {
-        this.violationId = violationId;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-
-    public String getIdCard() {
-        return idCard;
-    }
-
-    public void setIdCard(String idCard) {
-        this.idCard = idCard;
-    }
-
-    public String getElectNum() {
-        return electNum;
-    }
-
-    public void setElectNum(String electNum) {
-        this.electNum = electNum;
-    }
-
-    public String getIcNum() {
-        return icNum;
-    }
-
-    public void setIcNum(String icNum) {
-        this.icNum = icNum;
-    }
-
-    public Date getViolationTime() {
-        return violationTime;
-    }
-
-    public void setViolationTime(Date violationTime) {
-        this.violationTime = violationTime;
-    }
-
-    public String getDept() {
-        return dept;
-    }
-
-    public void setDept(String dept) {
-        this.dept = dept;
-    }
-
-    public Long getOperateTypeId() {
-        return operateTypeId;
-    }
-
-    public void setOperateTypeId(Long operateTypeId) {
-        this.operateTypeId = operateTypeId;
-    }
-
-    public Integer getIsCm() {
-        return isCm;
-    }
-
-    public void setIsCm(Integer isCm) {
-        this.isCm = isCm;
-    }
-
-    public String getViolationPath() {
-        return violationPath;
-    }
-
-    public void setViolationPath(String violationPath) {
-        this.violationPath = violationPath;
-    }
-
-    public String getRemark() {
-        return remark;
-    }
-
-    public void setRemark(String remark) {
-        this.remark = remark;
-    }
-
-    public Integer getDelFlag() {
-        return delFlag;
-    }
-
-    public void setDelFlag(Integer delFlag) {
-        this.delFlag = delFlag;
-    }
-
-    public String getCreateBy() {
-        return createBy;
-    }
-
-    public void setCreateBy(String createBy) {
-        this.createBy = createBy;
-    }
-
-    public String getUpdateBy() {
-        return updateBy;
-    }
-
-    public void setUpdateBy(String updateBy) {
-        this.updateBy = updateBy;
-    }
-
-    public Date getCreateTime() {
-        return createTime;
-    }
-
-    public void setCreateTime(Date createTime) {
-        this.createTime = createTime;
-    }
-
-    public Date getUpdateTime() {
-        return updateTime;
-    }
-
-    public void setUpdateTime(Date updateTime) {
-        this.updateTime = updateTime;
-    }
-
-    /**
-     * 获取主键值
-     *
-     * @return 主键值
-     */
-    @Override
-    protected Serializable pkVal() {
-        return this.violationId;
-    }
-    }
+}
 
diff --git a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/entity/WorkRegistration.java b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/entity/WorkRegistration.java
index cc9c6cb..8bffe22 100644
--- a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/entity/WorkRegistration.java
+++ b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/entity/WorkRegistration.java
@@ -33,7 +33,7 @@
     private String icNum;
     //作业时间
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date violationTime;
+    private Date workTime;
     //所属单位
     private String dept;
     //操作类型id
diff --git a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/mapper/ExamSiteMapper.java b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/mapper/ExamSiteMapper.java
new file mode 100644
index 0000000..63365fb
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/mapper/ExamSiteMapper.java
@@ -0,0 +1,19 @@
+package com.gkhy.exam.noncoalmine.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gkhy.exam.noncoalmine.entity.ExamSite;
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.stereotype.Repository;
+
+/**
+ * (ExamSite)表数据库访问层
+ *
+ * @author makejava
+ * @since 2023-09-13 16:11:10
+ */
+@Repository
+@Mapper
+public interface ExamSiteMapper extends BaseMapper<ExamSite> {
+
+}
+
diff --git a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/mapper/TrainingInstitutionMapper.java b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/mapper/TrainingInstitutionMapper.java
new file mode 100644
index 0000000..b862cbd
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/mapper/TrainingInstitutionMapper.java
@@ -0,0 +1,25 @@
+package com.gkhy.exam.noncoalmine.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gkhy.exam.noncoalmine.entity.TrainingInstitution;
+import com.gkhy.exam.noncoalmine.model.query.TrainingInstitutionQuery;
+import com.gkhy.exam.noncoalmine.model.vo.TrainingInstitutionVO;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+/**
+ * (TrainingInstitution)表数据库访问层
+ *
+ * @author makejava
+ * @since 2023-09-13 16:12:31
+ */
+@Repository
+@Mapper
+public interface TrainingInstitutionMapper extends BaseMapper<TrainingInstitution> {
+
+	List<TrainingInstitutionVO> listByPage(@Param("query") TrainingInstitutionQuery query);
+}
+
diff --git a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/mapper/ViolationRegistrationMapper.java b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/mapper/ViolationRegistrationMapper.java
index aaf9060..92a0309 100644
--- a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/mapper/ViolationRegistrationMapper.java
+++ b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/mapper/ViolationRegistrationMapper.java
@@ -2,7 +2,11 @@
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.gkhy.exam.noncoalmine.entity.ViolationRegistration;
+import com.gkhy.exam.noncoalmine.model.query.ViolationRegistrationQuery;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * (ViolationRegistration)表数据库访问层
@@ -13,5 +17,6 @@
 @Mapper
 public interface ViolationRegistrationMapper extends BaseMapper<ViolationRegistration> {
 
+	List<ViolationRegistration> listByPage(@Param("query") ViolationRegistrationQuery query);
 }
 
diff --git a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/mapper/WorkRegistrationMapper.java b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/mapper/WorkRegistrationMapper.java
index 11b04d5..abe3809 100644
--- a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/mapper/WorkRegistrationMapper.java
+++ b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/mapper/WorkRegistrationMapper.java
@@ -4,6 +4,7 @@
 import com.gkhy.exam.noncoalmine.entity.WorkRegistration;
 import com.gkhy.exam.noncoalmine.model.query.WorkRegistrationQuery;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -16,6 +17,6 @@
 @Mapper
 public interface WorkRegistrationMapper extends BaseMapper<WorkRegistration> {
 
-	List<WorkRegistration> listByPage(WorkRegistrationQuery query);
+	List<WorkRegistration> listByPage(@Param("query") WorkRegistrationQuery query);
 }
 
diff --git a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/addForm/TrainingInstitutionAddForm.java b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/addForm/TrainingInstitutionAddForm.java
new file mode 100644
index 0000000..139733b
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/addForm/TrainingInstitutionAddForm.java
@@ -0,0 +1,13 @@
+package com.gkhy.exam.noncoalmine.model.addForm;
+
+import lombok.Data;
+
+/**
+ * @email 1603559716@qq.com
+ * @author: zf
+ * @date: 2023/9/13
+ * @time: 16:46
+ */
+@Data
+public class TrainingInstitutionAddForm {
+}
diff --git a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/addForm/ViolationRegistrationAddForm.java b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/addForm/ViolationRegistrationAddForm.java
new file mode 100644
index 0000000..b2a892a
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/addForm/ViolationRegistrationAddForm.java
@@ -0,0 +1,45 @@
+package com.gkhy.exam.noncoalmine.model.addForm;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.util.Date;
+
+/**
+ * @email 1603559716@qq.com
+ * @author: zf
+ * @date: 2023/9/13
+ * @time: 15:37
+ */
+@Data
+public class ViolationRegistrationAddForm {
+	//姓名
+	@NotEmpty(message = "请填写姓名")
+	private String name;
+	//身份证
+	@NotEmpty(message = "请填写身份证")
+	private String idCard;
+	//电子证号
+	private String electNum;
+	//IC卡编号
+	private String icNum;
+	//作业时间
+	@NotNull(message = "请填写做业时间")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date violationTime;
+	//违章附件
+	private String violationPath;
+	//所属单位
+	@NotEmpty(message = "请填写所属单位")
+	private String dept;
+	//操作类型id
+	@NotNull(message = "请选择操作类型")
+	private Long operateTypeId;
+	//是否为煤矿:0为非,1是
+	@NotNull(message = "是否为煤矿不可为空")
+	private Integer isCm;
+	//描述
+	private String remark;
+}
diff --git a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/addForm/WorkRegistrationAddForm.java b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/addForm/WorkRegistrationAddForm.java
index c621c64..648cc3d 100644
--- a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/addForm/WorkRegistrationAddForm.java
+++ b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/addForm/WorkRegistrationAddForm.java
@@ -31,7 +31,7 @@
 	//作业时间
 	@NotNull(message = "请填写做业时间")
 	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-	private Date violationTime;
+	private Date workTime;
 	//所属单位
 	@NotEmpty(message = "请填写所属单位")
 	private String dept;
diff --git a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/modForm/TrainingInstitutionModForm.java b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/modForm/TrainingInstitutionModForm.java
new file mode 100644
index 0000000..618d07f
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/modForm/TrainingInstitutionModForm.java
@@ -0,0 +1,13 @@
+package com.gkhy.exam.noncoalmine.model.modForm;
+
+import lombok.Data;
+
+/**
+ * @email 1603559716@qq.com
+ * @author: zf
+ * @date: 2023/9/13
+ * @time: 16:46
+ */
+@Data
+public class TrainingInstitutionModForm {
+}
diff --git a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/modForm/ViolationRegistrationModForm.java b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/modForm/ViolationRegistrationModForm.java
new file mode 100644
index 0000000..35828a9
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/modForm/ViolationRegistrationModForm.java
@@ -0,0 +1,47 @@
+package com.gkhy.exam.noncoalmine.model.modForm;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.util.Date;
+
+/**
+ * @email 1603559716@qq.com
+ * @author: zf
+ * @date: 2023/9/13
+ * @time: 15:37
+ */
+@Data
+public class ViolationRegistrationModForm {
+	@NotNull(message = "违章主键不可为空")
+	private Long violationId;
+	//姓名
+	@NotEmpty(message = "请填写姓名")
+	private String name;
+	//身份证
+	@NotEmpty(message = "请填写身份证")
+	private String idCard;
+	//电子证号
+	private String electNum;
+	//IC卡编号
+	private String icNum;
+	//作业时间
+	@NotNull(message = "请填写做业时间")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date violationTime;
+	//违章附件
+	private String violationPath;
+	//所属单位
+	@NotEmpty(message = "请填写所属单位")
+	private String dept;
+	//操作类型id
+	@NotNull(message = "请选择操作类型")
+	private Long operateTypeId;
+	//是否为煤矿:0为非,1是
+	@NotNull(message = "是否为煤矿不可为空")
+	private Integer isCm;
+	//描述
+	private String remark;
+}
diff --git a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/query/TrainingInstitutionQuery.java b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/query/TrainingInstitutionQuery.java
new file mode 100644
index 0000000..b162624
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/query/TrainingInstitutionQuery.java
@@ -0,0 +1,19 @@
+package com.gkhy.exam.noncoalmine.model.query;
+
+import lombok.Data;
+
+/**
+ * @email 1603559716@qq.com
+ * @author: zf
+ * @date: 2023/9/13
+ * @time: 16:33
+ */
+@Data
+public class TrainingInstitutionQuery {
+	//机构名称
+	private String institutionName;
+	//是否为煤矿:0为非,1是
+	private Byte isCm;
+	//区划编码
+	private String regionCode;
+}
diff --git a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/query/ViolationRegistrationQuery.java b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/query/ViolationRegistrationQuery.java
new file mode 100644
index 0000000..82f334f
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/query/ViolationRegistrationQuery.java
@@ -0,0 +1,13 @@
+package com.gkhy.exam.noncoalmine.model.query;
+
+import lombok.Data;
+
+/**
+ * @email 1603559716@qq.com
+ * @author: zf
+ * @date: 2023/9/13
+ * @time: 15:00
+ */
+@Data
+public class ViolationRegistrationQuery {
+}
diff --git a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/vo/TrainingInstitutionVO.java b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/vo/TrainingInstitutionVO.java
new file mode 100644
index 0000000..2970ba8
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/vo/TrainingInstitutionVO.java
@@ -0,0 +1,47 @@
+package com.gkhy.exam.noncoalmine.model.vo;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @email 1603559716@qq.com
+ * @author: zf
+ * @date: 2023/9/13
+ * @time: 16:42
+ */
+@Data
+public class TrainingInstitutionVO {
+	private String institutionId;
+	//机构名称
+	private String institutionName;
+	//地区id
+	private Long districtId;
+	//地址
+	private String address;
+	//负责人
+	private String header;
+	//负责人电话
+	private String hphone;
+	//联系人
+	private String contact;
+	//联系人电话
+	private String cphone;
+	//是否为煤矿:0为非,1是
+	private Byte isCm;
+	//备注
+	private String remark;
+	//删除标识(0未删除,1删除)
+	private Byte delFlag;
+	private String createBy;
+	private String updateBy;
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date createTime;
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date updateTime;
+	private String districtName;
+
+}
diff --git a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/vo/ViolationRegistrationVO.java b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/vo/ViolationRegistrationVO.java
new file mode 100644
index 0000000..c0d0c5b
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/model/vo/ViolationRegistrationVO.java
@@ -0,0 +1,62 @@
+package com.gkhy.exam.noncoalmine.model.vo;
+
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.common.core.domain.BaseEntity;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * (ViolationRegistration)表实体类
+ *
+ * @author makejava
+ * @since 2023-09-11 16:59:09
+ */
+@Data
+public class ViolationRegistrationVO {
+    //违章主键
+    private Long violationId;
+    //姓名
+    private String name;
+    //身份证
+    private String idCard;
+    //电子证号
+    private String electNum;
+    //IC卡编号
+    private String icNum;
+    //违章时间
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date violationTime;
+    //所属单位
+    private String dept;
+    //操作类型id
+    private Long operateTypeId;
+    //是否为煤矿:0为非,1是
+    private Integer isCm;
+    //违章附件
+    private String violationPath;
+    //描述
+    private String remark;
+    //删除标识(0未删除,1删除)
+    private Byte delFlag;
+    
+    private String createBy;
+    
+    private String updateBy;
+
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date createTime;
+
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date updateTime;
+
+    private String qualificationType;
+
+    private String jobCategory;
+
+    private String operationItems;
+
+}
+
diff --git a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/ExamSiteService.java b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/ExamSiteService.java
new file mode 100644
index 0000000..24e1436
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/ExamSiteService.java
@@ -0,0 +1,15 @@
+package com.gkhy.exam.noncoalmine.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gkhy.exam.noncoalmine.entity.ExamSite;
+
+/**
+ * (ExamSite)表服务接口
+ *
+ * @author makejava
+ * @since 2023-09-13 16:11:11
+ */
+public interface ExamSiteService extends IService<ExamSite> {
+
+}
+
diff --git a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/TrainingInstitutionService.java b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/TrainingInstitutionService.java
new file mode 100644
index 0000000..e7673c1
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/TrainingInstitutionService.java
@@ -0,0 +1,26 @@
+package com.gkhy.exam.noncoalmine.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gkhy.exam.noncoalmine.entity.TrainingInstitution;
+import com.gkhy.exam.noncoalmine.model.addForm.TrainingInstitutionAddForm;
+import com.gkhy.exam.noncoalmine.model.modForm.TrainingInstitutionModForm;
+import com.gkhy.exam.noncoalmine.model.query.TrainingInstitutionQuery;
+import com.gkhy.exam.noncoalmine.model.vo.TrainingInstitutionVO;
+
+import java.util.List;
+
+/**
+ * (TrainingInstitution)表服务接口
+ *
+ * @author makejava
+ * @since 2023-09-13 16:12:31
+ */
+public interface TrainingInstitutionService extends IService<TrainingInstitution> {
+
+	List<TrainingInstitutionVO> listByPage(TrainingInstitutionQuery query);
+
+	int mod(TrainingInstitutionModForm modForm);
+
+	int add(TrainingInstitutionAddForm addForm);
+}
+
diff --git a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/ViolationRegistrationService.java b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/ViolationRegistrationService.java
index 1a6ff2d..2d50f23 100644
--- a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/ViolationRegistrationService.java
+++ b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/ViolationRegistrationService.java
@@ -2,6 +2,12 @@
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.gkhy.exam.noncoalmine.entity.ViolationRegistration;
+import com.gkhy.exam.noncoalmine.model.addForm.ViolationRegistrationAddForm;
+import com.gkhy.exam.noncoalmine.model.modForm.ViolationRegistrationModForm;
+import com.gkhy.exam.noncoalmine.model.query.ViolationRegistrationQuery;
+import com.gkhy.exam.noncoalmine.model.vo.ViolationRegistrationVO;
+
+import java.util.List;
 
 /**
  * (ViolationRegistration)表服务接口
@@ -11,5 +17,10 @@
  */
 public interface ViolationRegistrationService extends IService<ViolationRegistration> {
 
+	List<ViolationRegistrationVO> listByPage(ViolationRegistrationQuery query);
+
+	int add(ViolationRegistrationAddForm addForm);
+
+	int mod(ViolationRegistrationModForm modForm);
 }
 
diff --git a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/WorkRegistrationService.java b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/WorkRegistrationService.java
index 8477d3d..7413915 100644
--- a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/WorkRegistrationService.java
+++ b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/WorkRegistrationService.java
@@ -5,6 +5,7 @@
 import com.gkhy.exam.noncoalmine.model.addForm.WorkRegistrationAddForm;
 import com.gkhy.exam.noncoalmine.model.modForm.WorkRegistrationModForm;
 import com.gkhy.exam.noncoalmine.model.query.WorkRegistrationQuery;
+import com.gkhy.exam.noncoalmine.model.vo.WorkRegistrationVO;
 
 import java.util.List;
 
@@ -16,7 +17,7 @@
  */
 public interface WorkRegistrationService extends IService<WorkRegistration> {
 
-	List<WorkRegistration> listByPage(WorkRegistrationQuery query);
+	List<WorkRegistrationVO> listByPage(WorkRegistrationQuery query);
 
 	int add(WorkRegistrationAddForm addForm);
 
diff --git a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/impl/ExamSiteServiceImpl.java b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/impl/ExamSiteServiceImpl.java
new file mode 100644
index 0000000..fa9899e
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/impl/ExamSiteServiceImpl.java
@@ -0,0 +1,19 @@
+package com.gkhy.exam.noncoalmine.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gkhy.exam.noncoalmine.entity.ExamSite;
+import com.gkhy.exam.noncoalmine.mapper.ExamSiteMapper;
+import com.gkhy.exam.noncoalmine.service.ExamSiteService;
+import org.springframework.stereotype.Service;
+
+/**
+ * (ExamSite)表服务实现类
+ *
+ * @author makejava
+ * @since 2023-09-13 16:11:11
+ */
+@Service("examSiteService")
+public class ExamSiteServiceImpl extends ServiceImpl<ExamSiteMapper, ExamSite> implements ExamSiteService {
+
+}
+
diff --git a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/impl/TrainingInstitutionServiceImpl.java b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/impl/TrainingInstitutionServiceImpl.java
new file mode 100644
index 0000000..7b7ef30
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/impl/TrainingInstitutionServiceImpl.java
@@ -0,0 +1,73 @@
+package com.gkhy.exam.noncoalmine.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gkhy.exam.noncoalmine.entity.TrainingInstitution;
+import com.gkhy.exam.noncoalmine.mapper.TrainingInstitutionMapper;
+import com.gkhy.exam.noncoalmine.model.addForm.TrainingInstitutionAddForm;
+import com.gkhy.exam.noncoalmine.model.modForm.TrainingInstitutionModForm;
+import com.gkhy.exam.noncoalmine.model.query.TrainingInstitutionQuery;
+import com.gkhy.exam.noncoalmine.model.vo.TrainingInstitutionVO;
+import com.gkhy.exam.noncoalmine.service.TrainingInstitutionService;
+import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.system.domain.SysDistrict;
+import com.ruoyi.system.service.SysDistrictService;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * (TrainingInstitution)表服务实现类
+ *
+ * @author makejava
+ * @since 2023-09-13 16:12:31
+ */
+@Service("trainingInstitutionService")
+public class TrainingInstitutionServiceImpl extends ServiceImpl<TrainingInstitutionMapper, TrainingInstitution> implements TrainingInstitutionService {
+	@Autowired
+	private TrainingInstitutionMapper trainingInstitutionMapper;
+	@Autowired
+	private SysDistrictService districtService;
+
+	@Override
+	public List<TrainingInstitutionVO> listByPage(TrainingInstitutionQuery query) {
+		SysUser user = SecurityUtils.getLoginUser().getUser();
+		if(StringUtils.isEmpty(query.getRegionCode())){
+			//传入区划为空
+			if(!user.isAdmin(user.getUserId())){
+				//非超管
+				List<SysDistrict> districtList = districtService
+						.selectAll()
+						.stream()
+						.filter(sysDistrict -> sysDistrict.getId().equals(user.getDistrictId()))
+						.collect(Collectors.toList());
+				if(districtList.size() > 0){
+					SysDistrict sysDistrict = districtList.get(0);
+					query.setRegionCode(sysDistrict.getCode());
+				}
+			}
+		}
+		List<TrainingInstitutionVO> trainingInstitutionVOS = trainingInstitutionMapper.listByPage(query);
+		return trainingInstitutionVOS;
+	}
+
+	@Override
+	public int mod(TrainingInstitutionModForm modForm) {
+		TrainingInstitution trainingInstitution = new TrainingInstitution();
+		BeanUtils.copyProperties(modForm,trainingInstitution);
+		return baseMapper.updateById(trainingInstitution);
+	}
+
+	@Override
+	public int add(TrainingInstitutionAddForm addForm) {
+		TrainingInstitution trainingInstitution = new TrainingInstitution();
+		BeanUtils.copyProperties(addForm,trainingInstitution);
+		trainingInstitution.setDelFlag((byte)0);
+		return baseMapper.insert(trainingInstitution);
+	}
+}
+
diff --git a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/impl/ViolationRegistrationServiceImpl.java b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/impl/ViolationRegistrationServiceImpl.java
index eb7e19b..564a9df 100644
--- a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/impl/ViolationRegistrationServiceImpl.java
+++ b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/impl/ViolationRegistrationServiceImpl.java
@@ -1,10 +1,29 @@
 package com.gkhy.exam.noncoalmine.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.gkhy.exam.noncoalmine.mapper.ViolationRegistrationDao;
 import com.gkhy.exam.noncoalmine.entity.ViolationRegistration;
+import com.gkhy.exam.noncoalmine.entity.WorkRegistration;
+import com.gkhy.exam.noncoalmine.mapper.ViolationRegistrationMapper;
+import com.gkhy.exam.noncoalmine.model.addForm.ViolationRegistrationAddForm;
+import com.gkhy.exam.noncoalmine.model.modForm.ViolationRegistrationModForm;
+import com.gkhy.exam.noncoalmine.model.query.ViolationRegistrationQuery;
+import com.gkhy.exam.noncoalmine.model.vo.ViolationRegistrationVO;
+import com.gkhy.exam.noncoalmine.model.vo.WorkRegistrationVO;
 import com.gkhy.exam.noncoalmine.service.ViolationRegistrationService;
+import com.ruoyi.common.utils.bean.BeanUtils;
+import com.ruoyi.file.entity.AttachmentInfo;
+import com.ruoyi.file.mapper.AttachmentInfoMapper;
+import com.ruoyi.file.service.AttachmentInfoService;
+import com.ruoyi.system.domain.bo.SysOperateTypeWholeNameBO;
+import com.ruoyi.system.service.SysOperateTypeService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * (ViolationRegistration)表服务实现类
@@ -13,7 +32,92 @@
  * @since 2023-09-11 16:59:09
  */
 @Service("violationRegistrationService")
-public class ViolationRegistrationServiceImpl extends ServiceImpl<ViolationRegistrationDao, ViolationRegistration> implements ViolationRegistrationService {
+public class ViolationRegistrationServiceImpl extends ServiceImpl<ViolationRegistrationMapper, ViolationRegistration> implements ViolationRegistrationService {
+	@Autowired
+	private SysOperateTypeService sysOperateTypeService;
+	@Autowired
+	private ViolationRegistrationMapper violationRegistrationMapper;
+	@Autowired
+	private AttachmentInfoService attachmentInfoService;
 
+	/**
+	 * 分页
+	 * @param query
+	 * @return
+	 */
+	@Override
+	public List<ViolationRegistrationVO> listByPage(ViolationRegistrationQuery query) {
+		List<ViolationRegistration> violationRegistrations = violationRegistrationMapper.listByPage(query);
+		List<ViolationRegistrationVO> list = violationRegistrations.stream().map(registration -> {
+			ViolationRegistrationVO violationRegistrationVO = new ViolationRegistrationVO();
+			BeanUtils.copyProperties(registration, violationRegistrationVO);
+			SysOperateTypeWholeNameBO operateTypeWholeName = sysOperateTypeService.getOperateTypeWholeNameById(registration.getOperateTypeId());
+			violationRegistrationVO.setJobCategory(operateTypeWholeName.getJobCategory());
+			violationRegistrationVO.setQualificationType(operateTypeWholeName.getQualificationType());
+			violationRegistrationVO.setOperationItems(operateTypeWholeName.getOperationItems());
+			//附件转换
+			violationRegistrationVO.setViolationPath(getAttachmentUrl(registration.getViolationPath()));
+			return violationRegistrationVO;
+		}).collect(Collectors.toList());
+		return list;
+	}
+
+	/**
+	 * 新增
+	 * @param addForm
+	 * @return
+	 */
+	@Override
+	public int add(ViolationRegistrationAddForm addForm) {
+		ViolationRegistration violationRegistration = new ViolationRegistration();
+		BeanUtils.copyProperties(addForm,violationRegistration);
+		violationRegistration.setDelFlag((byte) 0);
+		return baseMapper.insert(violationRegistration);
+	}
+
+	/**
+	 * 修改
+	 * @param modForm
+	 * @return
+	 */
+	@Override
+	public int mod(ViolationRegistrationModForm modForm) {
+		ViolationRegistration violationRegistration = new ViolationRegistration();
+		BeanUtils.copyProperties(modForm,violationRegistration);
+		return baseMapper.updateById(violationRegistration);
+	}
+	/**
+	 * 根据身份证获取违章数据
+	 */
+	public List<ViolationRegistrationVO> getByIdCard(String idCard){
+		List<ViolationRegistration> violationRegistrations = baseMapper.selectList(new LambdaQueryWrapper<ViolationRegistration>()
+				.eq(ViolationRegistration::getDelFlag, 0)
+				.eq(ViolationRegistration::getIdCard, idCard));
+		List<ViolationRegistrationVO> list = violationRegistrations.stream().map(registration -> {
+			ViolationRegistrationVO violationRegistrationVO = new ViolationRegistrationVO();
+			BeanUtils.copyProperties(registration, violationRegistrationVO);
+			return violationRegistrationVO;
+		}).collect(Collectors.toList());
+		return list;
+	}
+
+
+	/**
+	 * 附件转换
+	 * @param keys
+	 * @return
+	 */
+	private String getAttachmentUrl(String keys){
+		String[] arry = keys.split(",");
+		StringBuffer paths = new StringBuffer();
+		List<AttachmentInfo> attachmentList = attachmentInfoService.findByKeys(Arrays.asList(arry));
+		if(!CollectionUtils.isEmpty(attachmentList)){
+			for (AttachmentInfo attachmentInfo : attachmentList) {
+				paths.append(attachmentInfo.getFileUrl()).append(",");
+			}
+			paths.deleteCharAt(paths.length() -1);
+		}
+		return paths.toString();
+	}
 }
 
diff --git a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/impl/WorkRegistrationServiceImpl.java b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/impl/WorkRegistrationServiceImpl.java
index 3df6821..2cfd3f6 100644
--- a/exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/impl/WorkRegistrationServiceImpl.java
+++ b/exam-system/src/main/java/com/gkhy/exam/noncoalmine/service/impl/WorkRegistrationServiceImpl.java
@@ -6,11 +6,15 @@
 import com.gkhy.exam.noncoalmine.model.addForm.WorkRegistrationAddForm;
 import com.gkhy.exam.noncoalmine.model.modForm.WorkRegistrationModForm;
 import com.gkhy.exam.noncoalmine.model.query.WorkRegistrationQuery;
+import com.gkhy.exam.noncoalmine.model.vo.WorkRegistrationVO;
 import com.gkhy.exam.noncoalmine.service.WorkRegistrationService;
 import com.ruoyi.common.utils.bean.BeanUtils;
+import com.ruoyi.system.domain.bo.SysOperateTypeWholeNameBO;
+import com.ruoyi.system.service.SysOperateTypeService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * (WorkRegistration)表服务实现类
@@ -22,14 +26,22 @@
 public class WorkRegistrationServiceImpl extends ServiceImpl<WorkRegistrationMapper, WorkRegistration> implements WorkRegistrationService {
 	@Autowired
 	private WorkRegistrationMapper workRegistrationMapper;
+	@Autowired
+	private SysOperateTypeService sysOperateTypeService;
 
 	@Override
-	public List<WorkRegistration> listByPage(WorkRegistrationQuery query) {
+	public List<WorkRegistrationVO> listByPage(WorkRegistrationQuery query) {
 		List<WorkRegistration> workRegistrations = workRegistrationMapper.listByPage(query);
-//		workRegistrations.stream().map(workRegistration -> {
-//
-//		}).collect(Collectors.toList());
-		return workRegistrations;
+		List<WorkRegistrationVO> list = workRegistrations.stream().map(workRegistration -> {
+			WorkRegistrationVO workRegistrationVO = new WorkRegistrationVO();
+			BeanUtils.copyProperties(workRegistration, workRegistrationVO);
+			SysOperateTypeWholeNameBO operateTypeWholeName = sysOperateTypeService.getOperateTypeWholeNameById(workRegistration.getOperateTypeId());
+			workRegistrationVO.setJobCategory(operateTypeWholeName.getJobCategory());
+			workRegistrationVO.setQualificationType(operateTypeWholeName.getQualificationType());
+			workRegistrationVO.setOperationItems(operateTypeWholeName.getOperationItems());
+			return workRegistrationVO;
+		}).collect(Collectors.toList());
+		return list;
 	}
 
 	/**
diff --git a/exam-system/src/main/resources/mapper/noncoalmine/TrainingInstitutionMapper.xml b/exam-system/src/main/resources/mapper/noncoalmine/TrainingInstitutionMapper.xml
new file mode 100644
index 0000000..cf4fe69
--- /dev/null
+++ b/exam-system/src/main/resources/mapper/noncoalmine/TrainingInstitutionMapper.xml
@@ -0,0 +1,41 @@
+<?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.noncoalmine.mapper.ViolationRegistrationMapper">
+    <select id="listByPage" resultType="com.gkhy.exam.noncoalmine.entity.TrainingInstitution">
+        select
+        violation_id,
+        name,
+        id_card,
+        elect_num,
+        ic_num,
+        violation_time,
+        dept,
+        operate_type_id,
+        is_cm,
+        violation_path,
+        remark,
+        del_flag,
+        create_by,
+        create_time,
+        update_by,
+        update_time
+        from violation_registration
+        where del_flag = 0
+        <if test="query.dept != null and query.dept = ''">
+            and dept like concat('%', #{query.dept}, '%')
+        </if>
+        <if test="query.name != null and query.name = ''">
+            and name like concat('%', #{query.name}, '%')
+        </if>
+        <if test="query.idCard != null and query.idCard = ''">
+            and id_card like concat('%', #{query.idCard}, '%')
+        </if>
+        <if test="query.operateTypeId != null and query.operateTypeId != 0">
+            and (operate_type_id = #{query.operateTypeId} OR operate_type_id IN ( SELECT t.id FROM sys_operate_type t WHERE find_in_set(#{query.operateTypeId}, ancestors)))
+        </if>
+        order by create_time desc
+
+    </select>
+</mapper>
\ No newline at end of file
diff --git a/exam-system/src/main/resources/mapper/noncoalmine/ViolationRegistrationMapper.xml b/exam-system/src/main/resources/mapper/noncoalmine/ViolationRegistrationMapper.xml
index 23f40e9..f4eb62c 100644
--- a/exam-system/src/main/resources/mapper/noncoalmine/ViolationRegistrationMapper.xml
+++ b/exam-system/src/main/resources/mapper/noncoalmine/ViolationRegistrationMapper.xml
@@ -3,5 +3,39 @@
         PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.gkhy.exam.noncoalmine.mapper.ViolationRegistrationMapper">
+    <select id="listByPage" resultType="com.gkhy.exam.noncoalmine.entity.ViolationRegistration">
+        select
+        violation_id,
+        name,
+        id_card,
+        elect_num,
+        ic_num,
+        violation_time,
+        dept,
+        operate_type_id,
+        is_cm,
+        violation_path,
+        remark,
+        del_flag,
+        create_by,
+        create_time,
+        update_by,
+        update_time
+        from violation_registration
+        where del_flag = 0
+        <if test="query.dept != null and query.dept = ''">
+            and dept like concat('%', #{query.dept}, '%')
+        </if>
+        <if test="query.name != null and query.name = ''">
+            and name like concat('%', #{query.name}, '%')
+        </if>
+        <if test="query.idCard != null and query.idCard = ''">
+            and id_card like concat('%', #{query.idCard}, '%')
+        </if>
+        <if test="query.operateTypeId != null and query.operateTypeId != 0">
+            and (operate_type_id = #{query.operateTypeId} OR operate_type_id IN ( SELECT t.id FROM sys_operate_type t WHERE find_in_set(#{query.operateTypeId}, ancestors)))
+        </if>
+        order by create_time desc
 
+    </select>
 </mapper>
\ No newline at end of file
diff --git a/exam-system/src/main/resources/mapper/noncoalmine/WorkRegistrationMapper.xml b/exam-system/src/main/resources/mapper/noncoalmine/WorkRegistrationMapper.xml
index 2407edd..ab483aa 100644
--- a/exam-system/src/main/resources/mapper/noncoalmine/WorkRegistrationMapper.xml
+++ b/exam-system/src/main/resources/mapper/noncoalmine/WorkRegistrationMapper.xml
@@ -34,6 +34,7 @@
         <if test="query.operateTypeId != null and query.operateTypeId != 0">
             and (operate_type_id = #{query.operateTypeId} OR operate_type_id IN ( SELECT t.id FROM sys_operate_type t WHERE find_in_set(#{query.operateTypeId}, ancestors)))
         </if>
+        order by create_time desc
 
     </select>
 
diff --git a/ruoyi-file/src/main/java/com/ruoyi/file/service/AttachmentInfoService.java b/ruoyi-file/src/main/java/com/ruoyi/file/service/AttachmentInfoService.java
index 6bb6b5d..bc456cc 100644
--- a/ruoyi-file/src/main/java/com/ruoyi/file/service/AttachmentInfoService.java
+++ b/ruoyi-file/src/main/java/com/ruoyi/file/service/AttachmentInfoService.java
@@ -30,4 +30,6 @@
      void updateBusinessIdBatch(List<AttachmentInfo> attachmentList);
 
      void deleteByBusinessId(Long businessId);
+
+     List<AttachmentInfo> findByKeys(List<String> keys);
 }
diff --git a/ruoyi-file/src/main/java/com/ruoyi/file/service/impl/AttachmentInfoServiceImpl.java b/ruoyi-file/src/main/java/com/ruoyi/file/service/impl/AttachmentInfoServiceImpl.java
index 6e56f53..7c571ec 100644
--- a/ruoyi-file/src/main/java/com/ruoyi/file/service/impl/AttachmentInfoServiceImpl.java
+++ b/ruoyi-file/src/main/java/com/ruoyi/file/service/impl/AttachmentInfoServiceImpl.java
@@ -84,5 +84,12 @@
     public void deleteByBusinessId(Long businessId) {
         attachmentInfoMapper.deleteByBusinessId(businessId);
     }
+
+    @Override
+    public List<AttachmentInfo> findByKeys(List<String> keys) {
+        return attachmentInfoMapper.selectList(new LambdaQueryWrapper<AttachmentInfo>()
+                .in(AttachmentInfo::getFileKey,keys)
+                .eq(AttachmentInfo::getDelFlag,0));
+    }
 }
 
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysRoleMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysRoleMapper.java
index cf2bd8c..78d37ab 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysRoleMapper.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysRoleMapper.java
@@ -2,12 +2,14 @@
 
 import java.util.List;
 import com.ruoyi.common.core.domain.entity.SysRole;
+import org.springframework.stereotype.Repository;
 
 /**
  * 角色表 数据层
  * 
  * @author ruoyi
  */
+@Repository
 public interface SysRoleMapper
 {
     /**

--
Gitblit v1.9.2