From 8182370136b1d91330ada09e2fcebdd01dde1161 Mon Sep 17 00:00:00 2001
From: “djh” <“3298565835@qq.com”>
Date: 星期一, 14 七月 2025 13:17:25 +0800
Subject: [PATCH] 新增

---
 multi-system/src/main/resources/mapper/system/ExStudentMapper.xml                                  |    5 
 multi-system/src/main/java/com/gkhy/exam/system/service/SupplierSureService.java                   |   16 
 multi-system/src/main/java/com/gkhy/exam/system/mapper/InternalAuditEvaluateMapper.java            |   13 
 multi-system/src/main/java/com/gkhy/exam/system/domain/InternalAuditCarryDept.java                 |   64 +
 multi-system/src/main/resources/mapper/system/QualityMapper.xml                                    |   12 
 multi-system/src/main/java/com/gkhy/exam/system/domain/ExPaperStudent.java                         |    4 
 multi-system/src/main/java/com/gkhy/exam/system/mapper/ExPaperStudentMapper.java                   |    2 
 multi-system/src/main/java/com/gkhy/exam/system/mapper/CatalogueMapper.java                        |    2 
 multi-system/src/main/java/com/gkhy/exam/system/domain/vo/TrainRecordVO.java                       |    2 
 multi-system/src/main/java/com/gkhy/exam/system/service/InternalAuditPlanService.java              |   16 
 multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/InternalAuditController.java          |  341 ++++++++++
 multi-system/src/main/java/com/gkhy/exam/system/domain/InternalAuditEvaluate.java                  |   73 ++
 multi-system/src/main/java/com/gkhy/exam/system/service/impl/InternalAuditPersonServiceImpl.java   |   76 ++
 multi-system/src/main/resources/mapper/system/SupplierSureMapper.xml                               |   34 +
 multi-system/src/main/java/com/gkhy/exam/system/service/impl/InternalAuditPlanServiceImpl.java     |   75 ++
 multi-system/src/main/java/com/gkhy/exam/system/mapper/InternalAuditCarryMapper.java               |   20 
 multi-system/src/main/java/com/gkhy/exam/system/mapper/InternalAuditPlanMapper.java                |   12 
 multi-system/src/main/java/com/gkhy/exam/system/mapper/SupplierSureMapper.java                     |   12 
 multi-system/src/main/resources/mapper/system/InternalAuditCarryMapper.xml                         |   73 ++
 multi-system/src/main/java/com/gkhy/exam/system/domain/vo/QualityDecomposeVo.java                  |    1 
 multi-system/src/main/java/com/gkhy/exam/system/service/impl/StandardizedTemplateServiceImpl.java  |   17 
 multi-system/src/main/java/com/gkhy/exam/system/domain/vo/CatalogueVo.java                         |    1 
 multi-system/src/main/resources/mapper/system/InternalAuditPersonMapper.xml                        |   31 
 multi-system/src/main/resources/mapper/system/QualityAccomplishMapper.xml                          |    7 
 multi-system/src/main/java/com/gkhy/exam/system/service/InternalAuditCarryService.java             |   16 
 multi-system/src/main/java/com/gkhy/exam/system/service/impl/CatalogueServiceImpl.java             |   43 +
 multi-system/src/main/resources/mapper/system/InternalAuditEvaluateMapper.xml                      |   38 +
 multi-system/src/main/resources/mapper/system/CatalogueMapper.xml                                  |   17 
 multi-system/src/main/java/com/gkhy/exam/system/service/impl/ExStudentServiceImpl.java             |    2 
 multi-system/src/main/java/com/gkhy/exam/system/service/impl/ExPaperStudentServiceImpl.java        |    8 
 multi-system/src/main/java/com/gkhy/exam/system/domain/Catalogue.java                              |    5 
 multi-system/src/main/java/com/gkhy/exam/system/mapper/InternalAuditPersonMapper.java              |   12 
 multi-system/src/main/resources/mapper/system/CustomerMapper.xml                                   |   32 
 multi-system/src/main/resources/mapper/system/QualityDecomposeMapper.xml                           |   10 
 multi-system/src/main/java/com/gkhy/exam/system/service/CatalogueService.java                      |    2 
 multi-system/src/main/java/com/gkhy/exam/system/service/InternalAuditPersonService.java            |   16 
 multi-system/src/main/java/com/gkhy/exam/system/domain/InternalAuditCarry.java                     |  123 +++
 multi-system/src/main/java/com/gkhy/exam/system/domain/ExStudent.java                              |    7 
 multi-system/src/main/java/com/gkhy/exam/system/domain/InternalAuditPerson.java                    |   65 +
 multi-system/src/main/java/com/gkhy/exam/system/service/CustomerService.java                       |   16 
 multi-system/src/main/java/com/gkhy/exam/system/service/impl/CustomerServiceImpl.java              |   62 +
 multi-system/src/main/resources/mapper/system/InternalAuditPlanMapper.xml                          |   43 +
 multi-system/src/main/java/com/gkhy/exam/system/domain/Customer.java                               |   58 +
 multi-system/src/main/java/com/gkhy/exam/system/domain/InternalAuditPlan.java                      |  105 +++
 multi-system/src/main/java/com/gkhy/exam/system/domain/SupplierSure.java                           |   76 ++
 multi-system/src/main/java/com/gkhy/exam/system/service/impl/InternalAuditEvaluateServiceImpl.java |   79 ++
 multi-system/src/main/java/com/gkhy/exam/system/mapper/CustomerMapper.java                         |   12 
 multi-system/src/main/java/com/gkhy/exam/system/service/impl/InternalAuditCarryServiceImpl.java    |   89 ++
 multi-system/src/main/java/com/gkhy/exam/system/service/impl/SupplierSureServiceImpl.java          |   62 +
 multi-system/src/main/java/com/gkhy/exam/system/service/InternalAuditEvaluateService.java          |   17 
 multi-system/src/main/resources/mapper/system/ExPaperStudentMapper.xml                             |    2 
 51 files changed, 1,908 insertions(+), 18 deletions(-)

diff --git a/multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/InternalAuditController.java b/multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/InternalAuditController.java
new file mode 100644
index 0000000..6fe61d8
--- /dev/null
+++ b/multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/InternalAuditController.java
@@ -0,0 +1,341 @@
+package com.gkhy.exam.admin.controller.web;
+
+import com.gkhy.exam.common.api.CommonResult;
+import com.gkhy.exam.system.domain.*;
+import com.gkhy.exam.system.service.*;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+@Api(tags = "内审管理")
+@RestController
+@RequestMapping("/internal/audit")
+public class InternalAuditController {
+
+    @Autowired
+    private InternalAuditPlanService planService;
+    @Autowired
+    private InternalAuditPersonService personService;
+    @Autowired
+    private InternalAuditEvaluateService evaluateService;
+    @Autowired
+    private InternalAuditCarryService carryService;
+
+    @Autowired
+    private SupplierSureService sureService;
+    @Autowired
+    private CustomerService customerService;
+
+
+    //内审策划
+    /**
+     * 内审策划列表
+     * @param plan
+     * @return
+     */
+    @ApiOperation(value = "内审策划列表(分页)")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "query", name = "pageNum", dataType = "int", required = false, value = "当前页,默认1"),
+            @ApiImplicitParam(paramType = "query", name = "pageSize", dataType = "int", required = false, value = "每页数目,默认10"),
+    })
+    @GetMapping("/plan/list")
+    public CommonResult listPlan(InternalAuditPlan plan){
+        return CommonResult.success(planService.selectPlanList(plan));
+    }
+
+
+    /**
+     * 内审策划新增
+     * @param plan
+     * @return
+     */
+    @ApiOperation(value = "内审策划新增")
+    @PostMapping("/plan/insert")
+    public CommonResult insertQuality(@RequestBody InternalAuditPlan plan){
+        return planService.insertPlan(plan);
+    }
+
+    /**
+     * 内审策划修改
+     * @param plan
+     * @return
+     */
+    @ApiOperation(value = "内审策划修改")
+    @PostMapping("/plan/update")
+    public CommonResult updateQuality(@RequestBody InternalAuditPlan plan){
+        return planService.updatePlan(plan);
+    }
+
+    /**
+     * 内审策划删除
+     * @param planId
+     * @return
+     */
+    @ApiOperation(value = "内审策划删除")
+    @GetMapping("/plan/deleted")
+    public CommonResult deletedQuality(@RequestParam("planId") Integer planId){
+        return planService.deletedPlan(planId);
+    }
+
+
+    /**
+     * 内审员列表
+     * @param person
+     * @return
+     */
+    @ApiOperation(value = "内审员列表(分页)")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "query", name = "pageNum", dataType = "int", required = false, value = "当前页,默认1"),
+            @ApiImplicitParam(paramType = "query", name = "pageSize", dataType = "int", required = false, value = "每页数目,默认10"),
+    })
+    @GetMapping("/person/list")
+    public CommonResult listPerson(InternalAuditPerson person){
+        return CommonResult.success(personService.selectPersonList(person));
+    }
+
+
+    /**
+     * 内审员新增
+     * @param person
+     * @return
+     */
+    @ApiOperation(value = "内审员新增")
+    @PostMapping("/person/insert")
+    public CommonResult insertPerson(@RequestBody InternalAuditPerson person){
+        return personService.insertPerson(person);
+    }
+
+    /**
+     * 内审员修改
+     * @param person
+     * @return
+     */
+    @ApiOperation(value = "内审员修改")
+    @PostMapping("/person/update")
+    public CommonResult updatePerson(@RequestBody InternalAuditPerson person){
+        return personService.updatePerson(person);
+    }
+
+    /**
+     * 内审员删除
+     * @param personId
+     * @return
+     */
+    @ApiOperation(value = "内审员删除")
+    @GetMapping("/person/deleted")
+    public CommonResult deletedPerson(@RequestParam("personId") Integer personId){
+        return personService.deletedPerson(personId);
+    }
+
+
+    /**
+     * 内审评定列表
+     * @param evaluate
+     * @return
+     */
+    @ApiOperation(value = "内审评定列表(分页)")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "query", name = "pageNum", dataType = "int", required = false, value = "当前页,默认1"),
+            @ApiImplicitParam(paramType = "query", name = "pageSize", dataType = "int", required = false, value = "每页数目,默认10"),
+    })
+    @GetMapping("/evaluate/list")
+    public CommonResult listEvaluate(InternalAuditEvaluate evaluate){
+        return CommonResult.success(evaluateService.selectEvaluateList(evaluate));
+    }
+
+
+    /**
+     * 内审评定新增
+     * @param evaluate
+     * @return
+     */
+    @ApiOperation(value = "内审评定新增")
+    @PostMapping("/evaluate/insert")
+    public CommonResult insertEvaluate(@RequestBody InternalAuditEvaluate evaluate){
+        return evaluateService.insertEvaluate(evaluate);
+    }
+
+    /**
+     * 内审评定修改
+     * @param evaluate
+     * @return
+     */
+    @ApiOperation(value = "内审评定修改")
+    @PostMapping("/evaluate/update")
+    public CommonResult updateEvaluate(@RequestBody InternalAuditEvaluate evaluate){
+        return evaluateService.updateEvaluate(evaluate);
+    }
+
+    /**
+     * 内审评定删除
+     * @param evaluateId
+     * @return
+     */
+    @ApiOperation(value = "内审评定删除")
+    @GetMapping("/evaluate/deleted")
+    public CommonResult deletedEvaluate(@RequestParam("evaluateId") Integer evaluateId){
+        return evaluateService.deletedEvaluate(evaluateId);
+    }
+
+
+
+    /**
+     * 内审计划实施
+     * @param carry
+     * @return
+     */
+    @ApiOperation(value = "内审计划实施列表(分页)")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "query", name = "pageNum", dataType = "int", required = false, value = "当前页,默认1"),
+            @ApiImplicitParam(paramType = "query", name = "pageSize", dataType = "int", required = false, value = "每页数目,默认10"),
+    })
+    @GetMapping("/carry/list")
+    public CommonResult listCarry(InternalAuditCarry carry){
+        return CommonResult.success(carryService.selectCarryList(carry));
+    }
+
+
+    /**
+     * 内审计划实施
+     * @param carry
+     * @return
+     */
+    @ApiOperation(value = "内审计划实施新增")
+    @PostMapping("/carry/insert")
+    public CommonResult insertCarry(@RequestBody InternalAuditCarry carry){
+        return carryService.insertCarry(carry);
+    }
+
+    /**
+     * 内审计划实施
+     * @param carry
+     * @return
+     */
+    @ApiOperation(value = "内审计划实施修改")
+    @PostMapping("/carry/update")
+    public CommonResult updateCarry(@RequestBody InternalAuditCarry carry){
+        return carryService.updateCarry(carry);
+    }
+
+    /**
+     * 内审计划实施
+     * @param carryId
+     * @return
+     */
+    @ApiOperation(value = "内审计划实施删除")
+    @GetMapping("/carry/deleted")
+    public CommonResult deletedCarry(@RequestParam("carryId") Integer carryId){
+        return carryService.deletedCarry(carryId);
+    }
+
+
+    /**
+     * 合格供应商列表
+     * @param sure
+     * @return
+     */
+    @ApiOperation(value = "合格供应商列表(分页)")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "query", name = "pageNum", dataType = "int", required = false, value = "当前页,默认1"),
+            @ApiImplicitParam(paramType = "query", name = "pageSize", dataType = "int", required = false, value = "每页数目,默认10"),
+    })
+    @GetMapping("/supplier/list")
+    public CommonResult listSupplier(SupplierSure sure){
+        return CommonResult.success(sureService.selectSupplierList(sure));
+    }
+
+
+    /**
+     * 合格供应商新增
+     * @param sure
+     * @return
+     */
+    @ApiOperation(value = "合格供应商新增")
+    @PostMapping("/supplier/insert")
+    public CommonResult insertSupplier(@RequestBody SupplierSure sure){
+        return sureService.insertSupplier(sure);
+    }
+
+    /**
+     * 合格供应商修改
+     * @param sure
+     * @return
+     */
+    @ApiOperation(value = "合格供应商修改")
+    @PostMapping("/supplier/update")
+    public CommonResult updateSupplier(@RequestBody SupplierSure sure){
+        return sureService.updateSupplier(sure);
+    }
+
+    /**
+     * 合格供应商删除
+     * @param supplierId
+     * @return
+     */
+    @ApiOperation(value = "合格供应商删除")
+    @GetMapping("/supplier/deleted")
+    public CommonResult deletedSupplier(@RequestParam("supplierId") Integer supplierId){
+        return sureService.deletedSupplier(supplierId);
+    }
+
+
+    /**
+     * 顾客满意度列表
+     * @param customer
+     * @return
+     */
+    @ApiOperation(value = "顾客满意度列表(分页)")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "query", name = "pageNum", dataType = "int", required = false, value = "当前页,默认1"),
+            @ApiImplicitParam(paramType = "query", name = "pageSize", dataType = "int", required = false, value = "每页数目,默认10"),
+    })
+    @GetMapping("/customer/list")
+    public CommonResult listCustomer(Customer customer){
+        return CommonResult.success(customerService.selectCustomerList(customer));
+    }
+
+
+    /**
+     * 顾客满意度新增
+     * @param customer
+     * @return
+     */
+    @ApiOperation(value = "顾客满意度新增")
+    @PostMapping("/customer/insert")
+    public CommonResult insertCustomer(@RequestBody Customer customer){
+        return customerService.insertCustomer(customer);
+    }
+
+    /**
+     * 顾客满意度修改
+     * @param customer
+     * @return
+     */
+    @ApiOperation(value = "顾客满意度修改")
+    @PostMapping("/customer/update")
+    public CommonResult updateCustomer(@RequestBody Customer customer){
+        return customerService.updateCustomer(customer);
+    }
+
+    /**
+     * 顾客满意度删除
+     * @param customerId
+     * @return
+     */
+    @ApiOperation(value = "顾客满意度删除")
+    @GetMapping("/customer/deleted")
+    public CommonResult deletedCustomer(@RequestParam("customerId") Integer customerId){
+        return customerService.deletedCustomer(customerId);
+    }
+
+
+
+
+
+
+
+
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/domain/Catalogue.java b/multi-system/src/main/java/com/gkhy/exam/system/domain/Catalogue.java
index ad746f6..df6f9ec 100644
--- a/multi-system/src/main/java/com/gkhy/exam/system/domain/Catalogue.java
+++ b/multi-system/src/main/java/com/gkhy/exam/system/domain/Catalogue.java
@@ -21,6 +21,9 @@
     @TableId(value = "id", type = IdType.AUTO)
     private Integer id;
 
+    @TableField("company_id")
+    private Integer companyId;
+
     @ApiModelProperty("序号")
     @TableField(value = "number")
     private String  number;
@@ -33,7 +36,7 @@
     @TableField(value = "mess")
     private String mess;
 
-    @ApiModelProperty("目录名称 (1范围目录 2规范性引用目录 3术语与定义目录  4组织环境目录  5领导作业目录  6策划目录  7支持目录  8运行目录  9绩效评价目录  10改进目录)")
+    @ApiModelProperty("目录名称 (1范围目录 2技术类 3项目类  4组织环境目录  5领导作业目录  6策划目录  7支持目录  8运行目录  9绩效评价目录  10改进目录)")
     @TableField(value = "type")
     private Integer type;
 
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/domain/Customer.java b/multi-system/src/main/java/com/gkhy/exam/system/domain/Customer.java
new file mode 100644
index 0000000..838fbf6
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/domain/Customer.java
@@ -0,0 +1,58 @@
+package com.gkhy.exam.system.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+@Data
+@TableName("customer")
+@ApiModel(value = "Customer对象", description = "顾客满意度")
+public class Customer implements Serializable {
+
+    @ApiModelProperty("主键")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty(value = "企业id",required = true)
+    @TableField("company_id")
+    private Integer companyId;
+
+    @TableField(exist = false)
+    private String companyName;
+
+    @ApiModelProperty(value = "年份")
+    @TableField("year")
+    private String year;
+
+    @ApiModelProperty(value = "文件名称")
+    @TableField("file_name")
+    private String fileName;
+
+    @ApiModelProperty(value = "文件路径")
+    @TableField("file_path")
+    private String filePath;
+
+    @TableField("del_flag")
+    private Integer delFlag;
+
+    @TableField("create_by")
+    private String createBy;
+
+    @TableField("create_time")
+    private LocalDateTime createTime;
+
+    @TableField("update_by")
+    private String updateBy;
+
+    @TableField("update_time")
+    private LocalDateTime updateTime;
+
+
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/domain/ExPaperStudent.java b/multi-system/src/main/java/com/gkhy/exam/system/domain/ExPaperStudent.java
index 9face33..6a2285e 100644
--- a/multi-system/src/main/java/com/gkhy/exam/system/domain/ExPaperStudent.java
+++ b/multi-system/src/main/java/com/gkhy/exam/system/domain/ExPaperStudent.java
@@ -55,6 +55,10 @@
     @TableField("passed")
     private Integer passed;
 
+    @ApiModelProperty("证书编号")
+    @TableField("number")
+    private String number;
+
 //    @ApiModelProperty("是否完成考试(0否,1是 默认0)")
 //    @TableField("completed")
 //    private Integer completed;
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/domain/ExStudent.java b/multi-system/src/main/java/com/gkhy/exam/system/domain/ExStudent.java
index 980d053..a43c71c 100644
--- a/multi-system/src/main/java/com/gkhy/exam/system/domain/ExStudent.java
+++ b/multi-system/src/main/java/com/gkhy/exam/system/domain/ExStudent.java
@@ -89,6 +89,13 @@
     @TableField("post")
     private String post;
 
+    @ApiModelProperty("所属部门")
+    @TableField("dept_id")
+    private Long deptId;
+
+    @TableField(exist = false)
+    private String deptName;
+
     @ApiModelProperty("删除标志(0代表存在,1代表删除,默认0)")
     @TableField("del_flag")
     private Integer delFlag;
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/domain/InternalAuditCarry.java b/multi-system/src/main/java/com/gkhy/exam/system/domain/InternalAuditCarry.java
new file mode 100644
index 0000000..b0e0829
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/domain/InternalAuditCarry.java
@@ -0,0 +1,123 @@
+package com.gkhy.exam.system.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.util.Date;
+import java.util.List;
+
+@Data
+@TableName("internal_audit_carry")
+@ApiModel(value = "InternalAuditCarry对象", description = "内审计划实施")
+public class InternalAuditCarry implements Serializable {
+
+    @ApiModelProperty("主键")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty(value = "企业id",required = true)
+    @TableField("company_id")
+    private Integer companyId;
+
+    @TableField(exist = false)
+    private String companyName;
+
+    @ApiModelProperty(value = "年份",required = true)
+    @TableField("year")
+    private String year;
+
+    @ApiModelProperty(value = "审核目的",required = true)
+    @TableField("audit_purpose")
+    private String auditPurpose;
+
+    @ApiModelProperty(value = "审核依据",required = true)
+    @TableField("review_basis")
+    private String reviewBasis;
+
+    @ApiModelProperty(value = "审核范围",required = true)
+    @TableField("review_scope")
+    private String reviewScope;
+
+    @ApiModelProperty(value = "审核开始时间",required = true)
+    @TableField("review_start")
+    private LocalDate reviewStart;
+
+    @ApiModelProperty(value = "审核结束时间",required = true)
+    @TableField("review_end")
+    private LocalDate reviewEnd;
+
+    @ApiModelProperty(value = "审核组",required = true)
+    @TableField("review_person")
+    private String reviewPerson;
+
+    @ApiModelProperty(value = "首次审核开始时间",required = true)
+    @TableField("first_starttime")
+    private LocalDateTime firstStarttime;
+
+    @ApiModelProperty(value = "首次审核结束时间",required = true)
+    @TableField("first_endtime")
+    private LocalDateTime firstEndtime;
+
+    @ApiModelProperty(value = "末次审核开始时间",required = true)
+    @TableField("last_starttime")
+    private LocalDateTime lastStarttime;
+
+    @ApiModelProperty(value = "末次审核结束时间",required = true)
+    @TableField("last_endtime")
+    private LocalDateTime lastEndtime;
+
+    @ApiModelProperty(value = "编制人id",required = true)
+    @TableField("compilation_id")
+    private Integer compilationId;
+
+    @TableField(exist = false)
+    private String compilationName;
+
+    @ApiModelProperty(value = "校对人id",required = true)
+    @TableField("proofread_id")
+    private Integer proofreadId;
+
+    @TableField(exist = false)
+    private String proofreadName;
+
+    @ApiModelProperty(value = "审核人id",required = true)
+    @TableField("check_id")
+    private Integer checkId;
+
+    @TableField(exist = false)
+    private String checkName;
+
+    @ApiModelProperty(value = "批准人id",required = true)
+    @TableField("ratify_id")
+    private Integer ratifyId;
+
+    @TableField(exist = false)
+    private String ratifyName;
+
+    @TableField("del_flag")
+    private Integer delFlag;
+
+    @TableField("create_by")
+    private String createBy;
+
+    @TableField("create_time")
+    private LocalDateTime createTime;
+
+    @TableField("update_by")
+    private String updateBy;
+
+    @TableField("update_time")
+    private LocalDateTime updateTime;
+
+
+    @TableField(exist = false)
+    private List<InternalAuditCarryDept> deptList;
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/domain/InternalAuditCarryDept.java b/multi-system/src/main/java/com/gkhy/exam/system/domain/InternalAuditCarryDept.java
new file mode 100644
index 0000000..4e28703
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/domain/InternalAuditCarryDept.java
@@ -0,0 +1,64 @@
+package com.gkhy.exam.system.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+@TableName("internal_audit_carry_dept")
+@ApiModel(value = "InternalAuditCarryDept对象", description = "内审计划实施对应部门数据")
+public class InternalAuditCarryDept implements Serializable {
+
+    @ApiModelProperty("主键")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty(value = "内审实施id",required = true)
+    @TableField("carry_id")
+    private Integer carryId;
+
+    @ApiModelProperty(value = "部门id")
+    @TableField("dept_id")
+    private Integer deptId;
+
+    @TableField(exist = false)
+    private String deptName;
+
+    @ApiModelProperty(value = "日期")
+    @TableField("date")
+    private String date;
+
+    @ApiModelProperty(value = "时间")
+    @TableField("time")
+    private String time;
+
+    @ApiModelProperty("审核员id")
+    @TableField("check_id")
+    private Integer checkId;
+
+    @TableField(exist = false)
+    private String  checkName;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/domain/InternalAuditEvaluate.java b/multi-system/src/main/java/com/gkhy/exam/system/domain/InternalAuditEvaluate.java
new file mode 100644
index 0000000..b1dc6b6
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/domain/InternalAuditEvaluate.java
@@ -0,0 +1,73 @@
+package com.gkhy.exam.system.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+
+@Data
+@TableName("internal_audit_evaluate")
+@ApiModel(value = "InternalAuditevaluate对象", description = "内审评定")
+public class InternalAuditEvaluate implements Serializable {
+
+    @ApiModelProperty("主键")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty(value = "企业id",required = true)
+    @TableField("company_id")
+    private Integer companyId;
+
+    @ApiModelProperty(value = "企业名称")
+    @TableField(exist = false)
+    private String companyName;
+
+    @ApiModelProperty(value = "人员id")
+    @TableField("person_id")
+    private Integer personId;
+
+    @ApiModelProperty(value = "人员名称")
+    @TableField(exist = false)
+    private String personName;
+
+    @TableField(exist = false)
+    private Integer deptId;
+    @TableField(exist = false)
+    private String deptName;
+    @TableField(exist = false)
+    private String paperName;
+
+    @ApiModelProperty(value = "证书")
+    @TableField("certifity")
+    private String certifity;
+
+    @ApiModelProperty(value = "审核经历次数")
+    @TableField("amount")
+    private String amount;
+
+    @ApiModelProperty("评定结论")
+    @TableField("conclusion")
+    private String conclusion;
+
+    @TableField("del_flag")
+    private Integer delFlag;
+
+    @TableField("create_by")
+    private String createBy;
+
+    @TableField("create_time")
+    private LocalDateTime createTime;
+
+    @TableField("update_by")
+    private String updateBy;
+
+    @TableField("update_time")
+    private LocalDateTime updateTime;
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/domain/InternalAuditPerson.java b/multi-system/src/main/java/com/gkhy/exam/system/domain/InternalAuditPerson.java
new file mode 100644
index 0000000..6884f7c
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/domain/InternalAuditPerson.java
@@ -0,0 +1,65 @@
+package com.gkhy.exam.system.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+
+@Data
+@TableName("internal_audit_person")
+@ApiModel(value = "InternalAuditPerson对象", description = "内审人员")
+public class InternalAuditPerson implements Serializable {
+
+    @ApiModelProperty("主键")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty(value = "企业id",required = true)
+    @TableField("company_id")
+    private Integer companyId;
+    @TableField(exist = false)
+    private String companyName;
+
+    @ApiModelProperty(value = "人员id")
+    @TableField("person_id")
+    private Integer personId;
+    @ApiModelProperty(value = "人员名称")
+    @TableField(exist = false)
+    private String personName;
+
+    @ApiModelProperty(value = "专长领域")
+    @TableField("speciality")
+    private String speciality;
+
+    @ApiModelProperty(value = "部门id")
+    @TableField(exist = false)
+    private Integer deptId;
+    @ApiModelProperty(value = "部门名称")
+    @TableField(exist = false)
+    private String deptName;
+    @ApiModelProperty(value = "职务")
+    @TableField(exist = false)
+    private String duty;
+
+    @TableField("del_flag")
+    private Integer delFlag;
+
+    @TableField("create_by")
+    private String createBy;
+
+    @TableField("create_time")
+    private LocalDateTime createTime;
+
+    @TableField("update_by")
+    private String updateBy;
+
+    @TableField("update_time")
+    private LocalDateTime updateTime;
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/domain/InternalAuditPlan.java b/multi-system/src/main/java/com/gkhy/exam/system/domain/InternalAuditPlan.java
new file mode 100644
index 0000000..dc3dc24
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/domain/InternalAuditPlan.java
@@ -0,0 +1,105 @@
+package com.gkhy.exam.system.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+
+@Data
+@TableName("internal_audit_plan")
+@ApiModel(value = "InternalAuditPlan对象", description = "内审策划")
+public class InternalAuditPlan implements Serializable {
+
+    @ApiModelProperty("主键")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty(value = "企业id",required = true)
+    @TableField("company_id")
+    private Integer companyId;
+
+    @TableField(exist = false)
+    private String companyName;
+
+    @ApiModelProperty(value = "年份",required = true)
+    @TableField("year")
+    private String year;
+
+    @ApiModelProperty(value = "目的",required = true)
+    @TableField("purpose")
+    private String purpose;
+
+    @ApiModelProperty(value = "审核目的",required = true)
+    @TableField("audit_purpose")
+    private String auditPurpose;
+
+    @ApiModelProperty(value = "审核依据",required = true)
+    @TableField("review_basis")
+    private String reviewBasis;
+
+    @ApiModelProperty(value = "审核范围",required = true)
+    @TableField("review_scope")
+    private String reviewScope;
+
+    @ApiModelProperty(value = "审核实施",required = true)
+    @TableField("review_carry")
+    private String reviewCarry;
+
+    @ApiModelProperty(value = "审核组构成",required = true)
+    @TableField("review_constitute")
+    private String reviewConstitute;
+
+    @ApiModelProperty(value = "要求",required = true)
+    @TableField("review_require")
+    private String reviewRequire;
+
+    @ApiModelProperty(value = "编制人id",required = true)
+    @TableField("compilation_id")
+    private Integer compilationId;
+
+    @TableField(exist = false)
+    private String compilationName;
+
+    @ApiModelProperty(value = "校对人id",required = true)
+    @TableField("proofread_id")
+    private Integer proofreadId;
+
+    @TableField(exist = false)
+    private String proofreadName;
+
+    @ApiModelProperty(value = "审核人id",required = true)
+    @TableField("check_id")
+    private Integer checkId;
+
+    @TableField(exist = false)
+    private String checkName;
+
+    @ApiModelProperty(value = "批准人id",required = true)
+    @TableField("ratify_id")
+    private Integer ratifyId;
+
+    @TableField(exist = false)
+    private String ratifyName;
+
+    @TableField("del_flag")
+    private Integer delFlag;
+
+    @TableField("create_by")
+    private String createBy;
+
+    @TableField("create_time")
+    private LocalDateTime createTime;
+
+    @TableField("update_by")
+    private String updateBy;
+
+    @TableField("update_time")
+    private LocalDateTime updateTime;
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/domain/SupplierSure.java b/multi-system/src/main/java/com/gkhy/exam/system/domain/SupplierSure.java
new file mode 100644
index 0000000..1bdfebe
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/domain/SupplierSure.java
@@ -0,0 +1,76 @@
+package com.gkhy.exam.system.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+@Data
+@TableName("supplier_sure")
+@ApiModel(value = "SupplierSure对象", description = "合格供应商目录")
+public class SupplierSure implements Serializable {
+
+    @ApiModelProperty("主键")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty(value = "企业id",required = true)
+    @TableField("company_id")
+    private Integer companyId;
+
+    @ApiModelProperty(value = "供应商名称")
+    @TableField("supplier_name")
+    private String supplierName;
+
+    @ApiModelProperty(value = "供应商类型")
+    @TableField("supplier_type")
+    private String supplierType;
+
+    @ApiModelProperty(value = "联系人")
+    @TableField("user")
+    private String user;
+
+    @ApiModelProperty(value = "联系人电话")
+    @TableField("phone")
+    private String phone;
+
+    @ApiModelProperty(value = "邮箱")
+    @TableField("emil")
+    private String emil;
+
+    @ApiModelProperty(value = "主营产品")
+    @TableField("merito")
+    private String merito;
+
+    @ApiModelProperty(value = "服务内容")
+    @TableField("content")
+    private String content;
+
+    @TableField("del_flag")
+    private Integer delFlag;
+
+    @TableField("create_by")
+    private String createBy;
+
+    @TableField("create_time")
+    private LocalDateTime createTime;
+
+    @TableField("update_by")
+    private String updateBy;
+
+    @TableField("update_time")
+    private LocalDateTime updateTime;
+
+
+
+
+
+
+
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/domain/vo/CatalogueVo.java b/multi-system/src/main/java/com/gkhy/exam/system/domain/vo/CatalogueVo.java
index 280e6f8..44d6f8e 100644
--- a/multi-system/src/main/java/com/gkhy/exam/system/domain/vo/CatalogueVo.java
+++ b/multi-system/src/main/java/com/gkhy/exam/system/domain/vo/CatalogueVo.java
@@ -8,6 +8,7 @@
 public class CatalogueVo {
 
     private Integer id;
+    private Integer companyId;
 
     private String  number;
 
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/domain/vo/QualityDecomposeVo.java b/multi-system/src/main/java/com/gkhy/exam/system/domain/vo/QualityDecomposeVo.java
index 1a1a2b0..483ea9c 100644
--- a/multi-system/src/main/java/com/gkhy/exam/system/domain/vo/QualityDecomposeVo.java
+++ b/multi-system/src/main/java/com/gkhy/exam/system/domain/vo/QualityDecomposeVo.java
@@ -20,6 +20,7 @@
     private String companyName;
     private String year;
     private Integer type;
+    private Integer departId;
     private String departName;
     private Integer qualityId;
     private String number;
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/domain/vo/TrainRecordVO.java b/multi-system/src/main/java/com/gkhy/exam/system/domain/vo/TrainRecordVO.java
index 173b41f..31c109e 100644
--- a/multi-system/src/main/java/com/gkhy/exam/system/domain/vo/TrainRecordVO.java
+++ b/multi-system/src/main/java/com/gkhy/exam/system/domain/vo/TrainRecordVO.java
@@ -29,4 +29,6 @@
     private Long companyId;
     @ApiModelProperty(value = "公司名称")
     private String companyName;
+    private String number;
+    private Integer passed;
 }
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/mapper/CatalogueMapper.java b/multi-system/src/main/java/com/gkhy/exam/system/mapper/CatalogueMapper.java
index e624086..d063dd9 100644
--- a/multi-system/src/main/java/com/gkhy/exam/system/mapper/CatalogueMapper.java
+++ b/multi-system/src/main/java/com/gkhy/exam/system/mapper/CatalogueMapper.java
@@ -35,4 +35,6 @@
     void updateCatalogueDataFileByCompanyId(CatalogueDataFile catalogueDataFile);
 
     void deleteByCatalogueDataFileId(@Param("id") Integer id);
+
+    void insertCatalogue(Catalogue catalogue1);
 }
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/mapper/CustomerMapper.java b/multi-system/src/main/java/com/gkhy/exam/system/mapper/CustomerMapper.java
new file mode 100644
index 0000000..c9b4ceb
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/mapper/CustomerMapper.java
@@ -0,0 +1,12 @@
+package com.gkhy.exam.system.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gkhy.exam.system.domain.Customer;
+import org.mapstruct.Mapper;
+
+import java.util.List;
+
+@Mapper
+public interface CustomerMapper extends BaseMapper<Customer> {
+    List<Customer> selectCustomerList(Customer customer);
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/mapper/ExPaperStudentMapper.java b/multi-system/src/main/java/com/gkhy/exam/system/mapper/ExPaperStudentMapper.java
index cd0e45e..7c20a5f 100644
--- a/multi-system/src/main/java/com/gkhy/exam/system/mapper/ExPaperStudentMapper.java
+++ b/multi-system/src/main/java/com/gkhy/exam/system/mapper/ExPaperStudentMapper.java
@@ -72,7 +72,7 @@
      * @param studentId
      * @return
      */
-    List<ExPaperStudent> selectByStudentId(Long studentId);
+    List<ExPaperStudent> selectByStudentId(@Param("studentId") Long studentId);
 
     /**
      * 分页获取未完成考试学生列表
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/mapper/InternalAuditCarryMapper.java b/multi-system/src/main/java/com/gkhy/exam/system/mapper/InternalAuditCarryMapper.java
new file mode 100644
index 0000000..601ffdc
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/mapper/InternalAuditCarryMapper.java
@@ -0,0 +1,20 @@
+package com.gkhy.exam.system.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gkhy.exam.system.domain.InternalAuditCarry;
+import com.gkhy.exam.system.domain.InternalAuditCarryDept;
+import org.apache.ibatis.annotations.Param;
+import org.mapstruct.Mapper;
+
+import java.util.List;
+
+@Mapper
+public interface InternalAuditCarryMapper extends BaseMapper<InternalAuditCarry> {
+    List<InternalAuditCarry> selectCarryList(InternalAuditCarry carry);
+
+    List<InternalAuditCarryDept> selectCarryDeptList(@Param("carryId") Integer id);
+
+    void insertCarryDept(@Param("deptList") List<InternalAuditCarryDept> deptList);
+
+    Integer deletedCarryDeptByCarryId(@Param("carryId") Integer id);
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/mapper/InternalAuditEvaluateMapper.java b/multi-system/src/main/java/com/gkhy/exam/system/mapper/InternalAuditEvaluateMapper.java
new file mode 100644
index 0000000..836fcd0
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/mapper/InternalAuditEvaluateMapper.java
@@ -0,0 +1,13 @@
+package com.gkhy.exam.system.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gkhy.exam.system.domain.InternalAuditEvaluate;
+import org.mapstruct.Mapper;
+
+import java.util.List;
+
+@Mapper
+public interface InternalAuditEvaluateMapper extends BaseMapper<InternalAuditEvaluate> {
+    List<InternalAuditEvaluate> selectEvaluateList(InternalAuditEvaluate evaluate);
+
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/mapper/InternalAuditPersonMapper.java b/multi-system/src/main/java/com/gkhy/exam/system/mapper/InternalAuditPersonMapper.java
new file mode 100644
index 0000000..41f5d4a
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/mapper/InternalAuditPersonMapper.java
@@ -0,0 +1,12 @@
+package com.gkhy.exam.system.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gkhy.exam.system.domain.InternalAuditPerson;
+import org.mapstruct.Mapper;
+
+import java.util.List;
+
+@Mapper
+public interface InternalAuditPersonMapper extends BaseMapper<InternalAuditPerson> {
+    List<InternalAuditPerson> selectPersonList(InternalAuditPerson person);
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/mapper/InternalAuditPlanMapper.java b/multi-system/src/main/java/com/gkhy/exam/system/mapper/InternalAuditPlanMapper.java
new file mode 100644
index 0000000..771be60
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/mapper/InternalAuditPlanMapper.java
@@ -0,0 +1,12 @@
+package com.gkhy.exam.system.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gkhy.exam.system.domain.InternalAuditPlan;
+import org.mapstruct.Mapper;
+
+import java.util.List;
+
+@Mapper
+public interface InternalAuditPlanMapper extends BaseMapper<InternalAuditPlan> {
+    List<InternalAuditPlan> selectPlanList(InternalAuditPlan plan);
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/mapper/SupplierSureMapper.java b/multi-system/src/main/java/com/gkhy/exam/system/mapper/SupplierSureMapper.java
new file mode 100644
index 0000000..1de14f4
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/mapper/SupplierSureMapper.java
@@ -0,0 +1,12 @@
+package com.gkhy.exam.system.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gkhy.exam.system.domain.SupplierSure;
+import org.mapstruct.Mapper;
+
+import java.util.List;
+
+@Mapper
+public interface SupplierSureMapper extends BaseMapper<SupplierSure> {
+    List<SupplierSure> selectSupplierList(SupplierSure sure);
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/CatalogueService.java b/multi-system/src/main/java/com/gkhy/exam/system/service/CatalogueService.java
index 5d433ca..b4f6be0 100644
--- a/multi-system/src/main/java/com/gkhy/exam/system/service/CatalogueService.java
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/CatalogueService.java
@@ -35,4 +35,6 @@
     CommonResult deletedCatalogueDataFile(Integer dataFileId);
 
     CommonResult selectCatalogueDataFileList(CatalogueReq catalogueReq);
+
+    CommonResult copyCatalogue(List<CatalogueVo> catalogue);
 }
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/CustomerService.java b/multi-system/src/main/java/com/gkhy/exam/system/service/CustomerService.java
new file mode 100644
index 0000000..07f096a
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/CustomerService.java
@@ -0,0 +1,16 @@
+package com.gkhy.exam.system.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gkhy.exam.common.api.CommonPage;
+import com.gkhy.exam.common.api.CommonResult;
+import com.gkhy.exam.system.domain.Customer;
+
+public interface CustomerService extends IService<Customer> {
+    CommonPage selectCustomerList(Customer customer);
+
+    CommonResult insertCustomer(Customer customer);
+
+    CommonResult updateCustomer(Customer customer);
+
+    CommonResult deletedCustomer(Integer customerId);
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/InternalAuditCarryService.java b/multi-system/src/main/java/com/gkhy/exam/system/service/InternalAuditCarryService.java
new file mode 100644
index 0000000..8aa6c49
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/InternalAuditCarryService.java
@@ -0,0 +1,16 @@
+package com.gkhy.exam.system.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gkhy.exam.common.api.CommonPage;
+import com.gkhy.exam.common.api.CommonResult;
+import com.gkhy.exam.system.domain.InternalAuditCarry;
+
+public interface InternalAuditCarryService extends IService<InternalAuditCarry> {
+    CommonPage selectCarryList(InternalAuditCarry carry);
+
+    CommonResult insertCarry(InternalAuditCarry carry);
+
+    CommonResult updateCarry(InternalAuditCarry carry);
+
+    CommonResult deletedCarry(Integer carryId);
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/InternalAuditEvaluateService.java b/multi-system/src/main/java/com/gkhy/exam/system/service/InternalAuditEvaluateService.java
new file mode 100644
index 0000000..ed6c27e
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/InternalAuditEvaluateService.java
@@ -0,0 +1,17 @@
+package com.gkhy.exam.system.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gkhy.exam.common.api.CommonPage;
+import com.gkhy.exam.common.api.CommonResult;
+import com.gkhy.exam.system.domain.InternalAuditCarry;
+import com.gkhy.exam.system.domain.InternalAuditEvaluate;
+
+public interface InternalAuditEvaluateService extends IService<InternalAuditEvaluate> {
+    CommonPage selectEvaluateList(InternalAuditEvaluate evaluate);
+
+    CommonResult insertEvaluate(InternalAuditEvaluate evaluate);
+
+    CommonResult updateEvaluate(InternalAuditEvaluate evaluate);
+
+    CommonResult deletedEvaluate(Integer evaluateId);
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/InternalAuditPersonService.java b/multi-system/src/main/java/com/gkhy/exam/system/service/InternalAuditPersonService.java
new file mode 100644
index 0000000..38e0b14
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/InternalAuditPersonService.java
@@ -0,0 +1,16 @@
+package com.gkhy.exam.system.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gkhy.exam.common.api.CommonPage;
+import com.gkhy.exam.common.api.CommonResult;
+import com.gkhy.exam.system.domain.InternalAuditPerson;
+
+public interface InternalAuditPersonService extends IService<InternalAuditPerson> {
+    CommonPage selectPersonList(InternalAuditPerson person);
+
+    CommonResult insertPerson(InternalAuditPerson person);
+
+    CommonResult updatePerson(InternalAuditPerson person);
+
+    CommonResult deletedPerson(Integer personId);
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/InternalAuditPlanService.java b/multi-system/src/main/java/com/gkhy/exam/system/service/InternalAuditPlanService.java
new file mode 100644
index 0000000..03c16c9
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/InternalAuditPlanService.java
@@ -0,0 +1,16 @@
+package com.gkhy.exam.system.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gkhy.exam.common.api.CommonPage;
+import com.gkhy.exam.common.api.CommonResult;
+import com.gkhy.exam.system.domain.InternalAuditPlan;
+
+public interface InternalAuditPlanService extends IService<InternalAuditPlan> {
+    CommonPage selectPlanList(InternalAuditPlan plan);
+
+    CommonResult insertPlan(InternalAuditPlan plan);
+
+    CommonResult updatePlan(InternalAuditPlan plan);
+
+    CommonResult deletedPlan(Integer planId);
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/SupplierSureService.java b/multi-system/src/main/java/com/gkhy/exam/system/service/SupplierSureService.java
new file mode 100644
index 0000000..9d7ec91
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/SupplierSureService.java
@@ -0,0 +1,16 @@
+package com.gkhy.exam.system.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gkhy.exam.common.api.CommonPage;
+import com.gkhy.exam.common.api.CommonResult;
+import com.gkhy.exam.system.domain.SupplierSure;
+
+public interface SupplierSureService extends IService<SupplierSure> {
+    CommonPage selectSupplierList(SupplierSure sure);
+
+    CommonResult insertSupplier(SupplierSure sure);
+
+    CommonResult updateSupplier(SupplierSure sure);
+
+    CommonResult deletedSupplier(Integer supplierId);
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/CatalogueServiceImpl.java b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/CatalogueServiceImpl.java
index f41451a..616fe49 100644
--- a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/CatalogueServiceImpl.java
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/CatalogueServiceImpl.java
@@ -1,8 +1,10 @@
 package com.gkhy.exam.system.service.impl;
 
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.gkhy.exam.common.api.CommonPage;
 import com.gkhy.exam.common.api.CommonResult;
+import com.gkhy.exam.common.exception.ApiException;
 import com.gkhy.exam.common.utils.SecurityUtils;
 import com.gkhy.exam.system.domain.*;
 import com.gkhy.exam.system.domain.req.CatalogueDataReq;
@@ -52,7 +54,7 @@
     private List<CatalogueVo> getchildren(CatalogueVo catalogueVo, List<CatalogueVo> catalogueVos) {
         List<CatalogueVo> catalogueCharlden = new ArrayList<>();
         for (CatalogueVo catalogue : catalogueVos) {
-            if (catalogueVo.getId() == catalogue.getParentId()){
+            if (catalogueVo.getId().equals(catalogue.getParentId())){
                 catalogueCharlden.add(catalogue);
             }
         }
@@ -65,6 +67,11 @@
 
     @Override
     public CommonResult insertCatalogue(Catalogue catalogue) {
+        if (catalogue.getType()==2||catalogue.getType()==3){
+            if (catalogue.getCompanyId()==null){
+                throw new ApiException("企业id不能为空");
+            }
+        }
         catalogue.setCreateBy(SecurityUtils.getUsername());
         catalogue.setCreateTime(LocalDate.now());
         int insert = catalogueMapper.insert(catalogue);
@@ -232,4 +239,38 @@
     public CommonResult selectCatalogueDataFileList(CatalogueReq catalogueReq) {
         return CommonResult.success(catalogueMapper.selectCatalogueDataFile(catalogueReq.getCompanyId(),catalogueReq.getCatalogueId()));
     }
+
+    @Override
+    public CommonResult copyCatalogue(List<CatalogueVo> catalogue) {
+        Integer companyId = catalogue.get(0).getCompanyId();
+        catalogueMapper.delete(Wrappers.<Catalogue>lambdaQuery().eq(Catalogue::getCompanyId,companyId));
+        for (CatalogueVo catalogueVo : catalogue) {
+            Catalogue catalogue1 = new Catalogue();
+            BeanUtils.copyProperties(catalogueVo,catalogue1);
+            catalogueMapper.insertCatalogue(catalogue1);
+            List<CatalogueVo> children = catalogueVo.getChildren();
+            if (children.size()>0){
+                saveCatalogue(children,catalogue1);
+            }
+        }
+        return CommonResult.success();
+    }
+
+    private void saveCatalogue(List<CatalogueVo> children,Catalogue catalogue) {
+        for (CatalogueVo child : children) {
+            Catalogue catalogue1 = new Catalogue();
+            BeanUtils.copyProperties(child,catalogue1);
+            catalogue1.setParentId(catalogue.getId());
+            catalogue1.setCompanyId(catalogue.getCompanyId());
+            catalogueMapper.insertCatalogue(catalogue1);
+            List<CatalogueVo> children1 = child.getChildren();
+            if (children1.size()>0){
+                saveCatalogue(children1,catalogue1);
+            }else {
+                continue;
+            }
+        }
+    }
+
+
 }
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/CustomerServiceImpl.java b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/CustomerServiceImpl.java
new file mode 100644
index 0000000..9bea879
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/CustomerServiceImpl.java
@@ -0,0 +1,62 @@
+package com.gkhy.exam.system.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gkhy.exam.common.api.CommonPage;
+import com.gkhy.exam.common.api.CommonResult;
+import com.gkhy.exam.common.exception.ApiException;
+import com.gkhy.exam.common.utils.PageUtils;
+import com.gkhy.exam.common.utils.SecurityUtils;
+import com.gkhy.exam.system.domain.Customer;
+import com.gkhy.exam.system.mapper.CustomerMapper;
+import com.gkhy.exam.system.service.CustomerService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.time.LocalDateTime;
+import java.util.List;
+
+@Service
+public class CustomerServiceImpl extends ServiceImpl<CustomerMapper, Customer> implements CustomerService {
+
+    @Autowired
+    private CustomerMapper customerMapper;
+
+    @Override
+    public CommonPage selectCustomerList(Customer customer) {
+        if (!SecurityUtils.adminUser()){
+            if (customer.getCompanyId()==null){
+                throw new ApiException("非管理员操作,企业id不可为空");
+            }
+        }
+        PageUtils.startPage();
+        List<Customer> customers = customerMapper.selectCustomerList(customer);
+        return CommonPage.restPage(customers);
+    }
+
+    @Override
+    public CommonResult insertCustomer(Customer customer) {
+        customer.setCreateBy(SecurityUtils.getUsername());
+        customer.setCreateTime(LocalDateTime.now());
+        customerMapper.insert(customer);
+        return CommonResult.success();
+    }
+
+    @Override
+    public CommonResult updateCustomer(Customer customer) {
+        customer.setUpdateBy(SecurityUtils.getUsername());
+        customer.setUpdateTime(LocalDateTime.now());
+        customerMapper.updateById(customer);
+        return CommonResult.success();
+    }
+
+    @Override
+    public CommonResult deletedCustomer(Integer customerId) {
+        Customer customer = new Customer();
+        customer.setId(customerId);
+        customer.setUpdateTime(LocalDateTime.now());
+        customer.setUpdateBy(SecurityUtils.getUsername());
+        customer.setDelFlag(2);
+        customerMapper.updateById(customer);
+        return CommonResult.success();
+    }
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/ExPaperStudentServiceImpl.java b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/ExPaperStudentServiceImpl.java
index 63de6e3..3892fd2 100644
--- a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/ExPaperStudentServiceImpl.java
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/ExPaperStudentServiceImpl.java
@@ -24,6 +24,8 @@
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.time.LocalDate;
+import java.time.format.DateTimeFormatter;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -306,6 +308,12 @@
                 paperStudent.setPassed(Constant.EXAM_UNPASS);
             }else{
                 paperStudent.setPassed(Constant.EXAM_PASS);
+                //生成考试证书编号
+                DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+                String format = LocalDate.now().format(dateTimeFormatter);
+                Long l = baseMapper.selectCount(Wrappers.<ExPaperStudent>lambdaQuery().eq(ExPaperStudent::getPassed, 1).eq(ExPaperStudent::getState,2));
+                l+=1;
+                paperStudent.setNumber("AQSC-"+format+"-"+l);
             }
         }
         int row=baseMapper.updateById(paperStudent);
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/ExStudentServiceImpl.java b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/ExStudentServiceImpl.java
index ff0174e..14bd781 100644
--- a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/ExStudentServiceImpl.java
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/ExStudentServiceImpl.java
@@ -278,6 +278,8 @@
                 TrainRecordVO trainRecordVO=new TrainRecordVO();
                 trainRecordVO.setStudentId(item.getStudentId());
                 trainRecordVO.setTrainType(2);
+                trainRecordVO.setPassed(item.getPassed());
+                trainRecordVO.setNumber(item.getNumber());
                 trainRecordVO.setName(item.getExamPaper().getName());
                 trainRecordVO.setCreateTime(item.getCreateTime());
                 trainRecordVO.setCompanyId(item.getCompanyId());
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/InternalAuditCarryServiceImpl.java b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/InternalAuditCarryServiceImpl.java
new file mode 100644
index 0000000..8521dca
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/InternalAuditCarryServiceImpl.java
@@ -0,0 +1,89 @@
+package com.gkhy.exam.system.service.impl;
+
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gkhy.exam.common.api.CommonPage;
+import com.gkhy.exam.common.api.CommonResult;
+import com.gkhy.exam.common.exception.ApiException;
+import com.gkhy.exam.common.utils.PageUtils;
+import com.gkhy.exam.common.utils.SecurityUtils;
+import com.gkhy.exam.system.domain.InternalAuditCarry;
+import com.gkhy.exam.system.domain.InternalAuditCarryDept;
+import com.gkhy.exam.system.mapper.InternalAuditCarryMapper;
+import com.gkhy.exam.system.service.InternalAuditCarryService;
+import org.checkerframework.checker.units.qual.A;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.time.LocalDateTime;
+import java.util.List;
+
+@Service
+public class InternalAuditCarryServiceImpl extends ServiceImpl<InternalAuditCarryMapper, InternalAuditCarry> implements InternalAuditCarryService {
+
+
+    @Autowired
+    private InternalAuditCarryMapper carryMapper;
+
+    @Override
+    public CommonPage selectCarryList(InternalAuditCarry carry) {
+        if (!SecurityUtils.adminUser()){
+            if (carry.getCompanyId()==null){
+                throw new ApiException("非管理员操作,企业id不可为空");
+            }
+        }
+        PageUtils.startPage();
+        List<InternalAuditCarry> internalAuditCarries = carryMapper.selectCarryList(carry);
+        for (InternalAuditCarry internalAuditCarry : internalAuditCarries) {
+            List<InternalAuditCarryDept> internalAuditCarryDepts = carryMapper.selectCarryDeptList(internalAuditCarry.getId());
+            internalAuditCarry.setDeptList(internalAuditCarryDepts);
+        }
+        return CommonPage.restPage(internalAuditCarries);
+    }
+
+    @Override
+    public CommonResult insertCarry(InternalAuditCarry carry) {
+
+        List<InternalAuditCarry> internalAuditCarries = carryMapper.selectList(Wrappers.<InternalAuditCarry>lambdaQuery()
+                .eq(InternalAuditCarry::getCompanyId, carry.getCompanyId())
+                .eq(InternalAuditCarry::getYear, carry.getYear())
+                .eq(InternalAuditCarry::getDelFlag,1));
+        if (internalAuditCarries.size()>0){
+            throw new ApiException("当前企业已有相关数据");
+        }
+        carry.setCreateBy(SecurityUtils.getUsername());
+        carry.setCreateTime(LocalDateTime.now());
+        carryMapper.insert(carry);
+        List<InternalAuditCarryDept> deptList = carry.getDeptList();
+        for (InternalAuditCarryDept internalAuditCarryDept : deptList) {
+            internalAuditCarryDept.setCarryId(carry.getId());
+        }
+        carryMapper.insertCarryDept(deptList);
+        return CommonResult.success();
+    }
+
+    @Override
+    public CommonResult updateCarry(InternalAuditCarry carry) {
+        carry.setUpdateBy(SecurityUtils.getUsername());
+        carry.setUpdateTime(LocalDateTime.now());
+        carryMapper.updateById(carry);
+        List<InternalAuditCarryDept> deptList = carry.getDeptList();
+        for (InternalAuditCarryDept internalAuditCarryDept : deptList) {
+            internalAuditCarryDept.setCarryId(carry.getId());
+        }
+        Integer i = carryMapper.deletedCarryDeptByCarryId(carry.getId());
+        carryMapper.insertCarryDept(deptList);
+        return CommonResult.success();
+    }
+
+    @Override
+    public CommonResult deletedCarry(Integer carryId) {
+        InternalAuditCarry internalAuditCarry = new InternalAuditCarry();
+        internalAuditCarry.setId(carryId);
+        internalAuditCarry.setDelFlag(2);
+        internalAuditCarry.setUpdateBy(SecurityUtils.getUsername());
+        internalAuditCarry.setUpdateTime(LocalDateTime.now());
+        carryMapper.updateById(internalAuditCarry);
+        return CommonResult.success();
+    }
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/InternalAuditEvaluateServiceImpl.java b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/InternalAuditEvaluateServiceImpl.java
new file mode 100644
index 0000000..3c54ebf
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/InternalAuditEvaluateServiceImpl.java
@@ -0,0 +1,79 @@
+package com.gkhy.exam.system.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gkhy.exam.common.api.CommonPage;
+import com.gkhy.exam.common.api.CommonResult;
+import com.gkhy.exam.common.domain.entity.SysUser;
+import com.gkhy.exam.common.exception.ApiException;
+import com.gkhy.exam.common.utils.PageUtils;
+import com.gkhy.exam.common.utils.SecurityUtils;
+import com.gkhy.exam.system.domain.ExStudent;
+import com.gkhy.exam.system.domain.InternalAuditEvaluate;
+import com.gkhy.exam.system.mapper.ExStudentMapper;
+import com.gkhy.exam.system.mapper.InternalAuditEvaluateMapper;
+import com.gkhy.exam.system.mapper.SysUserMapper;
+import com.gkhy.exam.system.service.InternalAuditEvaluateService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.time.LocalDateTime;
+import java.util.List;
+
+@Service
+public class InternalAuditEvaluateServiceImpl extends ServiceImpl<InternalAuditEvaluateMapper, InternalAuditEvaluate> implements InternalAuditEvaluateService {
+
+    @Autowired
+    private InternalAuditEvaluateMapper evaluateMapper;
+
+    @Autowired
+    private ExStudentMapper exStudentMapper;
+
+
+
+    @Override
+    public CommonPage selectEvaluateList(InternalAuditEvaluate evaluate) {
+        if (!SecurityUtils.adminUser()){
+            if (evaluate.getCompanyId()==null){
+                throw new ApiException("非管理员操作,企业id不可为空");
+            }
+        }
+        PageUtils.startPage();
+        List<InternalAuditEvaluate> internalAuditEvaluates = evaluateMapper.selectEvaluateList(evaluate);
+        return CommonPage.restPage(internalAuditEvaluates);
+    }
+
+    @Override
+    public CommonResult insertEvaluate(InternalAuditEvaluate evaluate) {
+        SysUser user = SecurityUtils.getLoginUser().getUser();
+        if (!user.getUserType().equals(0)&&!user.getUserType().equals(1)){
+            throw new ApiException("普通用户无法添加相关数据");
+        }
+        ExStudent exStudent = exStudentMapper.selectStudentById(Long.valueOf(evaluate.getPersonId()));
+        if (user.getDeptId().equals(exStudent.getDeptId())){
+            throw new ApiException("请勿选择本部门成员");
+        }
+        evaluate.setCreateBy(SecurityUtils.getUsername());
+        evaluate.setCreateTime(LocalDateTime.now());
+        evaluateMapper.insert(evaluate);
+        return CommonResult.success();
+    }
+
+    @Override
+    public CommonResult updateEvaluate(InternalAuditEvaluate evaluate) {
+        evaluate.setUpdateBy(SecurityUtils.getUsername());
+        evaluate.setUpdateTime(LocalDateTime.now());
+        evaluateMapper.updateById(evaluate);
+        return CommonResult.success();
+    }
+
+    @Override
+    public CommonResult deletedEvaluate(Integer evaluateId) {
+        InternalAuditEvaluate internalAuditEvaluate = new InternalAuditEvaluate();
+        internalAuditEvaluate.setId(evaluateId);
+        internalAuditEvaluate.setUpdateBy(SecurityUtils.getUsername());
+        internalAuditEvaluate.setUpdateTime(LocalDateTime.now());
+        internalAuditEvaluate.setDelFlag(2);
+        evaluateMapper.updateById(internalAuditEvaluate);
+        return CommonResult.success();
+    }
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/InternalAuditPersonServiceImpl.java b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/InternalAuditPersonServiceImpl.java
new file mode 100644
index 0000000..ada0c82
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/InternalAuditPersonServiceImpl.java
@@ -0,0 +1,76 @@
+package com.gkhy.exam.system.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gkhy.exam.common.api.CommonPage;
+import com.gkhy.exam.common.api.CommonResult;
+import com.gkhy.exam.common.domain.entity.SysUser;
+import com.gkhy.exam.common.exception.ApiException;
+import com.gkhy.exam.common.utils.PageUtils;
+import com.gkhy.exam.common.utils.SecurityUtils;
+import com.gkhy.exam.system.domain.ExStudent;
+import com.gkhy.exam.system.domain.InternalAuditPerson;
+import com.gkhy.exam.system.mapper.ExStudentMapper;
+import com.gkhy.exam.system.mapper.InternalAuditPersonMapper;
+import com.gkhy.exam.system.mapper.SysDeptMapper;
+import com.gkhy.exam.system.mapper.SysUserMapper;
+import com.gkhy.exam.system.service.InternalAuditPersonService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.time.LocalDateTime;
+import java.util.List;
+
+@Service
+public class InternalAuditPersonServiceImpl extends ServiceImpl<InternalAuditPersonMapper, InternalAuditPerson> implements InternalAuditPersonService {
+
+
+    @Autowired
+    private InternalAuditPersonMapper personMapper;
+
+    @Autowired
+    private ExStudentMapper exStudentMapper;
+
+    @Override
+    public CommonPage selectPersonList(InternalAuditPerson person) {
+        if (!SecurityUtils.adminUser()){
+            if (person.getCompanyId()==null){
+                throw new ApiException("非管理员操作,企业id不可为空");
+            }
+        }
+        PageUtils.startPage();
+        List<InternalAuditPerson> internalAuditPeople = personMapper.selectPersonList(person);
+        return CommonPage.restPage(internalAuditPeople);
+    }
+
+    @Override
+    public CommonResult insertPerson(InternalAuditPerson person) {
+        SysUser user = SecurityUtils.getLoginUser().getUser();
+        ExStudent exStudent = exStudentMapper.selectStudentById(Long.valueOf(person.getPersonId()));
+        if (user.getDeptId().equals(exStudent.getDeptId())){
+            throw new ApiException("请勿选择本部门成员");
+        }
+        person.setCreateBy(SecurityUtils.getUsername());
+        person.setCreateTime(LocalDateTime.now());
+        personMapper.insert(person);
+        return CommonResult.success();
+    }
+
+    @Override
+    public CommonResult updatePerson(InternalAuditPerson person) {
+        person.setUpdateBy(SecurityUtils.getUsername());
+        person.setUpdateTime(LocalDateTime.now());
+        personMapper.updateById(person);
+        return CommonResult.success();
+    }
+
+    @Override
+    public CommonResult deletedPerson(Integer personId) {
+        InternalAuditPerson internalAuditPerson = new InternalAuditPerson();
+        internalAuditPerson.setUpdateTime(LocalDateTime.now());
+        internalAuditPerson.setUpdateBy(SecurityUtils.getUsername());
+        internalAuditPerson.setId(personId);
+        internalAuditPerson.setDelFlag(2);
+        personMapper.updateById(internalAuditPerson);
+        return CommonResult.success();
+    }
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/InternalAuditPlanServiceImpl.java b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/InternalAuditPlanServiceImpl.java
new file mode 100644
index 0000000..887f6a4
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/InternalAuditPlanServiceImpl.java
@@ -0,0 +1,75 @@
+package com.gkhy.exam.system.service.impl;
+
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gkhy.exam.common.api.CommonPage;
+import com.gkhy.exam.common.api.CommonResult;
+import com.gkhy.exam.common.exception.ApiException;
+import com.gkhy.exam.common.utils.PageUtils;
+import com.gkhy.exam.common.utils.SecurityUtils;
+import com.gkhy.exam.system.domain.InternalAuditPlan;
+import com.gkhy.exam.system.mapper.InternalAuditPlanMapper;
+import com.gkhy.exam.system.service.InternalAuditPlanService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.util.List;
+
+@Service
+public class InternalAuditPlanServiceImpl extends ServiceImpl<InternalAuditPlanMapper, InternalAuditPlan> implements InternalAuditPlanService {
+
+    @Autowired
+    private InternalAuditPlanMapper planMapper;
+
+
+
+
+    @Override
+    public CommonPage selectPlanList(InternalAuditPlan plan) {
+        if (!SecurityUtils.adminUser()){
+            if (plan.getCompanyId()==null){
+                throw new ApiException("非管理员操作,企业id不可为空");
+            }
+        }
+        PageUtils.startPage();
+        List<InternalAuditPlan> internalAuditPlans = planMapper.selectPlanList(plan);
+        return CommonPage.restPage(internalAuditPlans);
+    }
+
+    @Override
+    public CommonResult insertPlan(InternalAuditPlan plan) {
+        List<InternalAuditPlan> internalAuditPlans = planMapper.selectList(
+                Wrappers.<InternalAuditPlan>lambdaQuery()
+                        .eq(InternalAuditPlan::getCompanyId, plan.getCompanyId())
+                        .eq(InternalAuditPlan::getYear, plan.getYear())
+                        .eq(InternalAuditPlan::getDelFlag,1));
+        if (internalAuditPlans.size()>0){
+            throw new ApiException("当前企业已有相关数据");
+        }
+        plan.setCreateBy(SecurityUtils.getUsername());
+        plan.setCreateTime(LocalDateTime.now());
+        planMapper.insert(plan);
+        return CommonResult.success();
+    }
+
+    @Override
+    public CommonResult updatePlan(InternalAuditPlan plan) {
+        plan.setUpdateBy(SecurityUtils.getUsername());
+        plan.setUpdateTime(LocalDateTime.now());
+        planMapper.updateById(plan);
+        return CommonResult.success();
+    }
+
+    @Override
+    public CommonResult deletedPlan(Integer planId) {
+        InternalAuditPlan internalAuditPlan = new InternalAuditPlan();
+        internalAuditPlan.setDelFlag(2);
+        internalAuditPlan.setUpdateTime(LocalDateTime.now());
+        internalAuditPlan.setUpdateBy(SecurityUtils.getUsername());
+        internalAuditPlan.setId(planId);
+        planMapper.updateById(internalAuditPlan);
+        return CommonResult.success();
+    }
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/StandardizedTemplateServiceImpl.java b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/StandardizedTemplateServiceImpl.java
index e4e60be..7a8eb90 100644
--- a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/StandardizedTemplateServiceImpl.java
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/StandardizedTemplateServiceImpl.java
@@ -14,10 +14,7 @@
 import com.gkhy.exam.common.utils.SecurityUtils;
 import com.gkhy.exam.system.domain.*;
 import com.gkhy.exam.system.mapper.*;
-import com.gkhy.exam.system.service.CompanyIndustryTemplateService;
-import com.gkhy.exam.system.service.ISysDeptService;
-import com.gkhy.exam.system.service.StandardizedTemplateService;
-import com.gkhy.exam.system.service.SysCompanyService;
+import com.gkhy.exam.system.service.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -47,6 +44,9 @@
     private CompanySummaryMapper companySummaryMapper;
     @Autowired
     private CompanyQualityPolicyMapper companyQualityPolicyMapper;
+
+    @Autowired
+    private CustomerService customerService;
     @Override
     public CommonPage selectStandardizedTemplateList(Integer companyId, Integer templateType) {
         boolean admin = SecurityUtils.adminUser();
@@ -69,6 +69,15 @@
         standardizedTemplate.setCreateBy(loginUser.getUsername());
         standardizedTemplate.setCreateTime(LocalDateTime.now());
         int insert = standardizedTemplateMapper.insert(standardizedTemplate);
+
+        if (standardizedTemplate.getTemplateType().equals(4)&&standardizedTemplate.getTemplateName().contains("满意度")){
+            Customer customer = new Customer();
+            customer.setCompanyId(standardizedTemplate.getCompanyId());
+            customer.setFileName(standardizedTemplate.getTemplateName());
+            customer.setFilePath(standardizedTemplate.getFilePath());
+            customerService.insertCustomer(customer);
+        }
+
         if (insert>0){
             return CommonResult.success();
         }
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/SupplierSureServiceImpl.java b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/SupplierSureServiceImpl.java
new file mode 100644
index 0000000..597a75a
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/SupplierSureServiceImpl.java
@@ -0,0 +1,62 @@
+package com.gkhy.exam.system.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gkhy.exam.common.api.CommonPage;
+import com.gkhy.exam.common.api.CommonResult;
+import com.gkhy.exam.common.exception.ApiException;
+import com.gkhy.exam.common.utils.PageUtils;
+import com.gkhy.exam.common.utils.SecurityUtils;
+import com.gkhy.exam.system.domain.SupplierSure;
+import com.gkhy.exam.system.mapper.SupplierSureMapper;
+import com.gkhy.exam.system.service.SupplierSureService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.time.LocalDateTime;
+import java.util.List;
+
+@Service
+public class SupplierSureServiceImpl extends ServiceImpl<SupplierSureMapper, SupplierSure> implements SupplierSureService {
+
+    @Autowired
+    private SupplierSureMapper supplierSureMapper;
+
+    @Override
+    public CommonPage selectSupplierList(SupplierSure sure) {
+        if (!SecurityUtils.adminUser()){
+            if (sure.getCompanyId()==null){
+                throw new ApiException("非管理员操作,企业id不可为空");
+            }
+        }
+        PageUtils.startPage();
+        List<SupplierSure> supplierSures = supplierSureMapper.selectSupplierList(sure);
+        return CommonPage.restPage(supplierSures);
+    }
+
+    @Override
+    public CommonResult insertSupplier(SupplierSure sure) {
+        sure.setCreateTime(LocalDateTime.now());
+        sure.setCreateBy(SecurityUtils.getUsername());
+        supplierSureMapper.insert(sure);
+        return CommonResult.success();
+    }
+
+    @Override
+    public CommonResult updateSupplier(SupplierSure sure) {
+        sure.setUpdateBy(SecurityUtils.getUsername());
+        sure.setUpdateTime(LocalDateTime.now());
+        supplierSureMapper.updateById(sure);
+        return CommonResult.success();
+    }
+
+    @Override
+    public CommonResult deletedSupplier(Integer supplierId) {
+        SupplierSure supplierSure = new SupplierSure();
+        supplierSure.setId(supplierId);
+        supplierSure.setUpdateTime(LocalDateTime.now());
+        supplierSure.setUpdateBy(SecurityUtils.getUsername());
+        supplierSure.setDelFlag(2);
+        supplierSureMapper.updateById(supplierSure);
+        return CommonResult.success();
+    }
+}
diff --git a/multi-system/src/main/resources/mapper/system/CatalogueMapper.xml b/multi-system/src/main/resources/mapper/system/CatalogueMapper.xml
index 9b34e41..da41167 100644
--- a/multi-system/src/main/resources/mapper/system/CatalogueMapper.xml
+++ b/multi-system/src/main/resources/mapper/system/CatalogueMapper.xml
@@ -14,6 +14,17 @@
         VALUES
             ( #{catalogueId},#{companyId}, #{name}, #{filePath},#{fileName}, #{type}, #{createBy}, #{createTime} )
     </insert>
+    <insert id="insertCatalogue" useGeneratedKeys="true" keyProperty="id">
+        INSERT INTO `catalogue` ( `parent_id`, `number`, `mess`, `type`,`company_id` )
+        VALUES
+            (
+                #{parentId},
+                #{number},
+                #{mess},
+                #{type},
+                #{companyId}
+               )
+    </insert>
 
     <update id="updateCatalogueData">
         UPDATE `catalogue_data`
@@ -86,6 +97,7 @@
     <select id="selectCatalogueList" resultType="com.gkhy.exam.system.domain.vo.CatalogueVo">
         SELECT
             `id`,
+            company_id,
             `parent_id`,
             `number`,
             `mess`,
@@ -98,9 +110,12 @@
         FROM
             catalogue
         WHERE del_flag = 1
-          <if test="type!=null">
+          <if test="type!=null and type!=''">
               and type = #{type}
           </if>
+        <if test="companyId!=null and companyId!=''">
+            and company_id = #{companyId}
+        </if>
         ORDER BY
         CAST(SUBSTRING_INDEX(number, '.', 1) AS UNSIGNED) ASC,
         CAST(SUBSTRING_INDEX(SUBSTRING_INDEX(number, '.', 2), '.', -1) AS UNSIGNED) ASC,  -- 第二级
diff --git a/multi-system/src/main/resources/mapper/system/CustomerMapper.xml b/multi-system/src/main/resources/mapper/system/CustomerMapper.xml
new file mode 100644
index 0000000..1be9b41
--- /dev/null
+++ b/multi-system/src/main/resources/mapper/system/CustomerMapper.xml
@@ -0,0 +1,32 @@
+<?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.system.mapper.CustomerMapper">
+
+    <select id="selectCustomerList" resultType="com.gkhy.exam.system.domain.Customer">
+        SELECT
+            c.`id`,
+            c.`company_id`,
+            sc.`name` as company_name,
+            c.`year`,
+            c.`file_name`,
+            c.`file_path`,
+            c.`del_flag`,
+            c.`create_by`,
+            c.`create_time`,
+            c.`update_by`,
+            c.`update_time`
+        FROM
+            customer c
+        left join sys_company sc on c.company_id = sc.id
+        WHERE
+            c.del_flag = 1
+        <if test="companyId!=null and companyId!=''">
+            and c.company_id = #{companyId}
+        </if>
+        <if test="year!=null and year!=''">
+            and c.year = #{year}
+        </if>
+        ORDER BY
+            c.create_time ASC
+    </select>
+</mapper>
diff --git a/multi-system/src/main/resources/mapper/system/ExPaperStudentMapper.xml b/multi-system/src/main/resources/mapper/system/ExPaperStudentMapper.xml
index f2c2602..96b78b7 100644
--- a/multi-system/src/main/resources/mapper/system/ExPaperStudentMapper.xml
+++ b/multi-system/src/main/resources/mapper/system/ExPaperStudentMapper.xml
@@ -31,6 +31,7 @@
         <result property="useTime"     column="use_time"     />
         <result property="startTime"     column="start_time"     />
         <result property="state"     column="state"     />
+        <result property="number" column="number"/>
         <result property="version"         column="version"          />
         <result property="createBy"       column="create_by"       />
         <result property="createTime"     column="create_time"     />
@@ -186,6 +187,7 @@
         select a.*,b.name as paper_name,c.id as company_id,c.name as company_name from ex_paper_student a
         left join ex_exam_paper b on b.id=a.paper_id
         left join sys_company c on c.id=b.company_id
+        WHERE a.student_id = #{studentId}
     </select>
 
     <select id="selectNoCompleteStudent" resultMap="SimplePaperStudentResult">
diff --git a/multi-system/src/main/resources/mapper/system/ExStudentMapper.xml b/multi-system/src/main/resources/mapper/system/ExStudentMapper.xml
index 2cb0b2b..c18f90e 100644
--- a/multi-system/src/main/resources/mapper/system/ExStudentMapper.xml
+++ b/multi-system/src/main/resources/mapper/system/ExStudentMapper.xml
@@ -11,6 +11,8 @@
         <result property="status"         column="status"          />
         <result property="sex"         column="sex"          />
         <result property="idNo"         column="id_no"          />
+        <result property="deptId"         column="dept_id"          />
+        <result property="deptName"         column="dept_name"          />
         <result property="post"         column="post"          />
         <result property="duty"         column="duty"          />
         <result property="createId"         column="create_id"          />
@@ -40,12 +42,13 @@
     </resultMap>
 
     <sql id="selectStudentVo">
-        select s.id, s.name, s.company_id, s.empno, s.phone,s.status,s.sex,s.id_no,s.post,s.duty,
+        select s.id, s.name, s.company_id, s.empno, s.phone,s.status,s.sex,s.id_no,s.post,s.duty,s.dept_id,sd.dept_name,
                s.create_id,s.del_flag,s.version, s.create_by, s.create_time, s.update_by, s.update_time, s.remark,
                 c.id as company_id,c.name as company_name,d.name as create_name
         from ex_student s
         left join sys_company c on c.id=s.company_id
         left join sys_user d on d.id=s.create_id
+        left join sys_dept sd on sd.dept_id = s.dept_id
     </sql>
 
     <update id="deleteByStudentId">
diff --git a/multi-system/src/main/resources/mapper/system/InternalAuditCarryMapper.xml b/multi-system/src/main/resources/mapper/system/InternalAuditCarryMapper.xml
new file mode 100644
index 0000000..f6fc669
--- /dev/null
+++ b/multi-system/src/main/resources/mapper/system/InternalAuditCarryMapper.xml
@@ -0,0 +1,73 @@
+<?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.system.mapper.InternalAuditCarryMapper">
+    <insert id="insertCarryDept">
+        INSERT INTO`internal_audit_carry_dept` (`carry_id`, `dept_id`, `date`, `time`, `check_id` )
+        VALUES
+        <foreach collection="deptList" separator="," item="item">
+            ( #{item.carryId}, #{item.deptId}, #{item.date}, #{item.time}, #{item.checkId} )
+        </foreach>
+    </insert>
+    <delete id="deletedCarryDeptByCarryId">
+        DELETE FROM internal_audit_carry_dept WHERE carry_id = #{carryId}
+    </delete>
+
+    <select id="selectCarryList" resultType="com.gkhy.exam.system.domain.InternalAuditCarry">
+        SELECT
+            iac.`id`,
+            iac.`company_id`,
+            sc.`name` as company_name,
+            iac.`year`,
+            iac.`audit_purpose`,
+            iac.`review_basis`,
+            iac.`review_scope`,
+            iac.`review_start`,
+            iac.`review_end`,
+            iac.`review_person`,
+            iac.`first_starttime`,
+            iac.`first_endtime`,
+            iac.`last_starttime`,
+            iac.`last_endtime`,
+            iac.`compilation_id`,
+            su1.`name` as compilation_name,
+            iac.`proofread_id`,
+            su2.`name` as proofread_name,
+            iac.`check_id`,
+            su3.`name` as check_name,
+            iac.`ratify_id`,
+            su4.`name` as ratify_name,
+            iac.`del_flag`,
+            iac.`create_by`,
+            iac.`create_time`,
+            iac.`update_by`,
+            iac.`update_time`
+        FROM
+            internal_audit_carry iac
+                LEFT JOIN sys_user su1 on iac.compilation_id = su1.id
+                LEFT JOIN sys_user su2 on iac.proofread_id = su2.id
+                LEFT JOIN sys_user su3 on iac.check_id = su3.id
+                LEFT JOIN sys_user su4 on iac.ratify_id = su4.id
+                LEFT JOIN sys_company sc on iac.company_id = sc.id
+        WHERE iac.del_flag =1
+        <if test="companyId!=null and companyId!=''">
+            and iac.company_id = #{companyId}
+        </if>
+        ORDER BY iac.create_time ASC
+    </select>
+    <select id="selectCarryDeptList" resultType="com.gkhy.exam.system.domain.InternalAuditCarryDept">
+        SELECT
+            iacd.`id`,
+            iacd.`carry_id`,
+            iacd.`dept_id`,
+            sd.dept_name,
+            iacd.`date`,
+            iacd.`time`,
+            iacd.`check_id` ,
+            su.`name` as check_name
+        FROM
+            internal_audit_carry_dept iacd
+                LEFT JOIN sys_user su on iacd.check_id = su.id
+        left join  sys_dept sd on iacd.dept_id = sd.dept_id
+        WHERE iacd.carry_id = #{carryId}
+    </select>
+</mapper>
diff --git a/multi-system/src/main/resources/mapper/system/InternalAuditEvaluateMapper.xml b/multi-system/src/main/resources/mapper/system/InternalAuditEvaluateMapper.xml
new file mode 100644
index 0000000..2459b8e
--- /dev/null
+++ b/multi-system/src/main/resources/mapper/system/InternalAuditEvaluateMapper.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.gkhy.exam.system.mapper.InternalAuditEvaluateMapper">
+
+    <select id="selectEvaluateList" resultType="com.gkhy.exam.system.domain.InternalAuditEvaluate">
+        SELECT
+            iae.`id`,
+            iae.`company_id`,
+            sc.`name` AS company_name,
+            iae.`person_id`,
+            es.`name` AS person_name,
+            es.dept_id,
+            sd.dept_name,
+            eep.`name` as paper_name,
+            iae.`certifity`,
+            iae.`amount`,
+            iae.`conclusion`,
+            iae.`del_flag`,
+            iae.`create_by`,
+            iae.`create_time`,
+            iae.`update_by`,
+            iae.`update_time`
+        FROM
+            internal_audit_evaluate iae
+                LEFT JOIN ex_student es ON iae.person_id = es.id
+                LEFT JOIN sys_dept sd ON es.dept_id = sd.dept_id
+                LEFT JOIN sys_company sc ON iae.company_id = sc.id
+                LEFT JOIN ex_paper_student eps on eps.student_id = iae.person_id and eps.number = iae.certifity
+                LEFT JOIN ex_exam_paper eep on eps.paper_id = eep.id
+        WHERE
+            iae.del_flag = 1
+        <if test="companyId!=null and companyId!=''">
+            and iae.company_id = #{companyId}
+        </if>
+        ORDER BY
+            iae.create_time ASC
+    </select>
+</mapper>
diff --git a/multi-system/src/main/resources/mapper/system/InternalAuditPersonMapper.xml b/multi-system/src/main/resources/mapper/system/InternalAuditPersonMapper.xml
new file mode 100644
index 0000000..3c5c051
--- /dev/null
+++ b/multi-system/src/main/resources/mapper/system/InternalAuditPersonMapper.xml
@@ -0,0 +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">
+<mapper namespace="com.gkhy.exam.system.mapper.InternalAuditPersonMapper">
+
+    <select id="selectPersonList" resultType="com.gkhy.exam.system.domain.InternalAuditPerson">
+        SELECT
+            iap.`id`,
+            iap.`company_id`,
+            sc.`name` as company_name,
+            iap.`person_id`,
+            es.`name` as person_name,
+            es.dept_id,
+            sd.dept_name,
+            es.duty,
+            iap.`speciality`,
+            iap.`create_by`,
+            iap.`create_time`,
+            iap.`update_by`,
+            iap.`update_time`,
+            iap.`del_flag`
+        FROM `internal_audit_person` iap
+                 LEFT JOIN ex_student es on iap.person_id = es.id
+                 LEFT JOIN sys_dept sd on es.dept_id = sd.dept_id
+                 LEFT JOIN sys_company sc on iap.company_id = sc.id
+        WHERE iap.del_flag = 1
+        <if test="companyId!=null and companyId!=''">
+            and iap.company_id = #{companyId}
+        </if>
+        ORDER BY create_time ASC
+    </select>
+</mapper>
diff --git a/multi-system/src/main/resources/mapper/system/InternalAuditPlanMapper.xml b/multi-system/src/main/resources/mapper/system/InternalAuditPlanMapper.xml
new file mode 100644
index 0000000..4a82e83
--- /dev/null
+++ b/multi-system/src/main/resources/mapper/system/InternalAuditPlanMapper.xml
@@ -0,0 +1,43 @@
+<?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.system.mapper.InternalAuditPlanMapper">
+
+    <select id="selectPlanList" resultType="com.gkhy.exam.system.domain.InternalAuditPlan">
+        SELECT
+            iap.`id`,
+            iap.`company_id`,
+            sc.`name` as company_name,
+            iap.`year`,
+            iap.`purpose`,
+            iap.`audit_purpose`,
+            iap.`review_scope`,
+            iap.`review_basis`,
+            iap.`review_carry`,
+            iap.`review_constitute`,
+            iap.`review_require`,
+            iap.`compilation_id`,
+            su1.`name` as compilation_name,
+            iap.`proofread_id`,
+            su2.`name` as proofread_name,
+            iap.`check_id`,
+            su3.`name` as check_name,
+            iap.`ratify_id`,
+            su4.`name` as ratify_name,
+            iap.`del_flag`,
+            iap.`create_by`,
+            iap.`create_time`,
+            iap.`update_by`,
+            iap.`update_time`
+        FROM internal_audit_plan  iap
+                 LEFT JOIN sys_user su1 on iap.compilation_id = su1.id
+                 LEFT JOIN sys_user su2 on iap.proofread_id = su2.id
+                 LEFT JOIN sys_user su3 on iap.check_id = su3.id
+                 LEFT JOIN sys_user su4 on iap.ratify_id = su4.id
+                 LEFT JOIN sys_company sc on iap.company_id = sc.id
+        WHERE iap.del_flag = 1
+        <if test="companyId!=null and companyId!=''">
+            and iap.company_id = #{companyId}
+        </if>
+        ORDER BY create_time ASC
+    </select>
+</mapper>
diff --git a/multi-system/src/main/resources/mapper/system/QualityAccomplishMapper.xml b/multi-system/src/main/resources/mapper/system/QualityAccomplishMapper.xml
index a43a488..e87185f 100644
--- a/multi-system/src/main/resources/mapper/system/QualityAccomplishMapper.xml
+++ b/multi-system/src/main/resources/mapper/system/QualityAccomplishMapper.xml
@@ -17,7 +17,7 @@
             qa.`measure`,
             qa.`opinion`,
             qa.`charge_id`,
-            qa.`charge_name`,
+            su1.`name` as charge_name,
             qa.`charge_time`,
             qa.`del_flag`,
             qa.`create_by`,
@@ -27,8 +27,9 @@
         FROM
             quality_accomplish qa
                 LEFT JOIN quality q ON qa.quality_id = q.id
-        left join sys_company sc on q.company_id = sc.id
-        left join sys_dept sd on q.depart_id = sd.dept_id
+            left join sys_company sc on q.company_id = sc.id
+            left join sys_dept sd on q.depart_id = sd.dept_id
+            left join  sys_user su1 on qa.charge_id = su1.id
         WHERE
             qa.del_flag = 1
         <if test="companyId!=null and companyId!=''">
diff --git a/multi-system/src/main/resources/mapper/system/QualityDecomposeMapper.xml b/multi-system/src/main/resources/mapper/system/QualityDecomposeMapper.xml
index 056151e..a9dada5 100644
--- a/multi-system/src/main/resources/mapper/system/QualityDecomposeMapper.xml
+++ b/multi-system/src/main/resources/mapper/system/QualityDecomposeMapper.xml
@@ -19,18 +19,19 @@
             sc.`name` as company_name,
             q.`year`,
             q.type,
+            q.depart_id,
             sd.dept_name as depart_name,
             qd.`quality_id`,
             qd.`number`,
             qd.`serial`,
             qd.`fiction_id`,
-            qd.`fiction_name`,
+            su1.`name` as fiction_name,
             qd.`fiction_time`,
             qd.`check_id`,
-            qd.`check_name`,
+            su2.`name` as check_name,
             qd.`check_time`,
             qd.`ratify_id`,
-            qd.`ratify_name`,
+            su3.`name` as ratify_name,
             qd.`ratify_time`,
             qd.`del_flag`,
             qd.`create_by`,
@@ -41,6 +42,9 @@
             LEFT JOIN quality q on qd.quality_id = q.id
             left join sys_company sc on q.company_id = sc.id
             left join sys_dept sd on q.depart_id = sd.dept_id
+            left join sys_user su1 on qd.fiction_id = su1.id
+            left join sys_user su2 on qd.check_id = su2.id
+            left join sys_user su3 on qd.ratify_id = su3.id
         WHERE qd.del_flag = 1
             <if test="companyId !=null and companyId!=''">
                 and q.company_id =#{companyId}
diff --git a/multi-system/src/main/resources/mapper/system/QualityMapper.xml b/multi-system/src/main/resources/mapper/system/QualityMapper.xml
index a473e16..49ad8c5 100644
--- a/multi-system/src/main/resources/mapper/system/QualityMapper.xml
+++ b/multi-system/src/main/resources/mapper/system/QualityMapper.xml
@@ -99,17 +99,20 @@
             sd.`dept_name` as depart_name,
             q.`method`,
             q.`compilation_id`,
-            q.`compilation_name`,
+            su1.`name` as compilation_name,
             q.`compilation_time`,
             q.`quality_id`,
-            q.`quality_name`,
+            su2.`name` as quality_name,
             q.`quality_time`,
             q.`lead_id`,
-            q.`lead_name`,
+            su3.`name` as lead_name,
             q.`lead_time`
         FROM quality q
             left join  sys_company sc on q.company_id = sc.id
             left join sys_dept sd on q.depart_id = sd.dept_id
+            left join sys_user su1 on q.compilation_id = su1.id
+            left join sys_user su2 on q.quality_id = su2.id
+            left join sys_user su3 on q.lead_id = su3.id
         WHERE
             q.del_flag=1
         <if test="companyId!=null and companyId!=''">
@@ -121,6 +124,9 @@
         <if test="type!=null and type!=''">
             and q.`type` = #{type}
         </if>
+        <if test="departId!=null">
+            and q.depart_id = #{departId}
+        </if>
         ORDER BY
             q.create_time DESC
     </select>
diff --git a/multi-system/src/main/resources/mapper/system/SupplierSureMapper.xml b/multi-system/src/main/resources/mapper/system/SupplierSureMapper.xml
new file mode 100644
index 0000000..33283ad
--- /dev/null
+++ b/multi-system/src/main/resources/mapper/system/SupplierSureMapper.xml
@@ -0,0 +1,34 @@
+<?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.system.mapper.SupplierSureMapper">
+
+    <select id="selectSupplierList" resultType="com.gkhy.exam.system.domain.SupplierSure">
+        SELECT
+            ss.`id`,
+            ss.`company_id`,
+            sc.`name` AS company_name,
+            ss.`supplier_name`,
+            ss.`supplier_type`,
+            ss.`user`,
+            ss.`phone`,
+            ss.`emil`,
+            ss.`merito`,
+            ss.`content`,
+            ss.`del_flag`,
+            ss.`create_by`,
+            ss.`create_time`,
+            ss.`update_by`,
+            ss.`update_time`
+        FROM
+            `supplier_sure` ss
+                LEFT JOIN sys_company sc ON ss.company_id = ss.id
+        WHERE
+            ss.del_flag = 1
+        <if test="companyId!=null and companyId!=''">
+            and ss.company_id =#{companyId}
+        </if>
+        ORDER BY
+            ss.create_time ASC
+
+    </select>
+</mapper>

--
Gitblit v1.9.2