From a8a6760635f0642a2cbf61854b5587d9d0944985 Mon Sep 17 00:00:00 2001
From: heheng <475597332@qq.com>
Date: 星期五, 11 七月 2025 17:20:36 +0800
Subject: [PATCH] 新功能加问题修复

---
 multi-system/src/main/java/com/gkhy/exam/system/service/ManagementReviewService.java            |   25 
 multi-system/src/test/java/com/gkhy/exam/system/MybatisPlusGenerator.java                       |    6 
 multi-system/src/main/java/com/gkhy/exam/system/service/ManagementPlanService.java              |   27 
 multi-common/src/main/java/com/gkhy/exam/common/domain/entity/SysDept.java                      |    1 
 multi-system/src/main/java/com/gkhy/exam/system/service/MeetingsService.java                    |   24 
 multi-system/src/main/java/com/gkhy/exam/system/domain/Meetings.java                            |   79 ++
 multi-system/src/main/java/com/gkhy/exam/system/service/InconsistentService.java                |   25 
 multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/InconsistentController.java        |   63 +
 multi-system/src/main/java/com/gkhy/exam/system/service/impl/MeetingsServiceImpl.java           |   70 +
 multi-system/src/main/java/com/gkhy/exam/system/service/impl/ManagementPlanServiceImpl.java     |   79 ++
 multi-system/src/main/java/com/gkhy/exam/system/service/impl/InconsistentServiceImpl.java       |   72 +
 multi-system/src/main/java/com/gkhy/exam/system/domain/InternalAuditCheck.java                  |   90 ++
 multi-system/src/main/java/com/gkhy/exam/system/service/InternalAuditCheckService.java          |   28 
 multi-system/src/main/java/com/gkhy/exam/system/mapper/SysFunctionalRemarkMapper.java           |   25 
 multi-system/src/main/resources/mapper/system/InternalAuditCheckPersonMapper.xml                |   27 
 multi-common/src/main/java/com/gkhy/exam/common/enums/UserTypeEnum.java                         |    3 
 multi-system/src/main/java/com/gkhy/exam/system/mapper/ManagementReviewMapper.java              |   22 
 multi-system/src/main/java/com/gkhy/exam/system/domain/vo/FunctionalDistributionVo.java         |    9 
 multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/ManagementReviewController.java    |   65 +
 multi-system/src/main/resources/mapper/system/InconsistentMapper.xml                            |   26 
 multi-system/src/main/java/com/gkhy/exam/system/domain/vo/InternalAuditCheckVo.java             |   24 
 multi-system/src/main/java/com/gkhy/exam/system/domain/Inconsistent.java                        |   76 +
 multi-system/src/main/java/com/gkhy/exam/system/service/impl/SysUserServiceImpl.java            |    2 
 multi-system/src/main/java/com/gkhy/exam/system/mapper/InternalAuditCheckPersonMapper.java      |   23 
 multi-system/src/main/java/com/gkhy/exam/system/mapper/MeetingsMapper.java                      |   21 
 multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/MeetingsController.java            |   63 +
 multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/CorrectionController.java          |   62 +
 multi-system/src/main/java/com/gkhy/exam/system/service/impl/ManagementReviewServiceImpl.java   |   71 +
 multi-system/src/main/java/com/gkhy/exam/system/service/impl/SysDeptServiceImpl.java            |   90 +
 multi-system/src/main/java/com/gkhy/exam/system/mapper/ManagementPlanMapper.java                |   21 
 multi-system/src/main/java/com/gkhy/exam/system/service/impl/CorrectionServiceImpl.java         |   74 +
 multi-system/src/main/resources/mapper/system/SysFunctionalRemarkMapper.xml                     |   54 +
 multi-common/src/main/java/com/gkhy/exam/common/domain/entity/SysUser.java                      |   21 
 multi-system/src/main/resources/mapper/system/ManagementPlanMapper.xml                          |   12 
 multi-system/src/main/java/com/gkhy/exam/system/domain/Correction.java                          |   80 ++
 multi-system/src/main/java/com/gkhy/exam/system/mapper/InconsistentMapper.java                  |   22 
 multi-system/src/main/java/com/gkhy/exam/system/domain/ManagementReview.java                    |   85 ++
 multi-system/src/main/java/com/gkhy/exam/system/domain/InternalAuditCheckPerson.java            |   66 +
 multi-system/src/main/java/com/gkhy/exam/system/domain/SysFunctionalRemark.java                 |   25 
 multi-system/src/main/java/com/gkhy/exam/system/service/ISysDeptService.java                    |    3 
 multi-system/src/main/resources/mapper/system/InternalAuditCheckMapper.xml                      |   36 
 multi-system/src/main/java/com/gkhy/exam/system/domain/vo/SysDeptSaveDTOReq.java                |    4 
 multi-system/src/main/java/com/gkhy/exam/system/mapper/CorrectionMapper.java                    |   21 
 multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/ManagementPlanController.java      |   64 +
 multi-system/src/main/resources/mapper/system/ManagementReviewMapper.xml                        |   13 
 multi-system/src/main/resources/mapper/system/SysUserMapper.xml                                 |    9 
 multi-system/src/main/java/com/gkhy/exam/system/service/impl/InternalAuditCheckServiceImpl.java |  201 +++++
 multi-system/src/main/resources/mapper/system/SysDeptMapper.xml                                 |    7 
 multi-system/src/main/java/com/gkhy/exam/system/service/CorrectionService.java                  |   26 
 multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/InternalAuditCheckController.java  |   72 +
 multi-admin/src/main/java/com/gkhy/exam/admin/controller/system/SysDeptController.java          |   13 
 multi-system/src/main/resources/mapper/system/MeetingsMapper.xml                                |   12 
 multi-system/src/main/java/com/gkhy/exam/system/mapper/InternalAuditCheckMapper.java            |   21 
 multi-system/src/main/java/com/gkhy/exam/system/domain/ManagementPlan.java                      |  139 +++
 multi-system/src/main/resources/mapper/system/CorrectionMapper.xml                              |   12 
 55 files changed, 2,271 insertions(+), 40 deletions(-)

diff --git a/multi-admin/src/main/java/com/gkhy/exam/admin/controller/system/SysDeptController.java b/multi-admin/src/main/java/com/gkhy/exam/admin/controller/system/SysDeptController.java
index 351199a..a7a66fd 100644
--- a/multi-admin/src/main/java/com/gkhy/exam/admin/controller/system/SysDeptController.java
+++ b/multi-admin/src/main/java/com/gkhy/exam/admin/controller/system/SysDeptController.java
@@ -7,6 +7,7 @@
 import com.gkhy.exam.common.domain.TreeSelect;
 import com.gkhy.exam.common.domain.entity.SysDept;
 import com.gkhy.exam.system.domain.SysFunctionalDistribution;
+import com.gkhy.exam.system.domain.SysFunctionalRemark;
 import com.gkhy.exam.system.domain.req.SysDeptPageReq;
 import com.gkhy.exam.system.domain.vo.DeptVo;
 import com.gkhy.exam.system.domain.vo.FunctionalDistributionVo;
@@ -146,6 +147,18 @@
         return CommonResult.success(functionalDistributionList);
     }
 
+    @GetMapping("/functionalRemarkList")
+    @ApiOperation(value = "职能分配备注数据")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "query", name = "companyId", dataType = "Long", required = true, value = "公司id"),
+    })
+    public CommonResult functionalRemarkList(@RequestParam Long companyId)
+    {
+        List<SysFunctionalRemark> functionalRemarkList = deptService.getFunctionalRemarkList(companyId);
+
+        return CommonResult.success(functionalRemarkList);
+    }
+
 
     @PostMapping("/saveFunctionalDistribution")
     @ApiOperation(value = "保存职能分配")
diff --git a/multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/CorrectionController.java b/multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/CorrectionController.java
new file mode 100644
index 0000000..e5dde90
--- /dev/null
+++ b/multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/CorrectionController.java
@@ -0,0 +1,62 @@
+package com.gkhy.exam.admin.controller.web;
+
+
+import com.gkhy.exam.common.annotation.RepeatSubmit;
+import com.gkhy.exam.common.api.CommonResult;
+import com.gkhy.exam.system.domain.Correction;
+import com.gkhy.exam.system.domain.InformationPlatform;
+import com.gkhy.exam.system.service.CorrectionService;
+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.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * <p>
+ * 整改管理 前端控制器
+ * </p>
+ *
+ * @author hh
+ * @since 2025-07-10 15:11:50
+ */
+@RestController
+@RequestMapping("/system/correction")
+@Api(tags = "整改管理")
+public class CorrectionController {
+
+    @Autowired
+    private CorrectionService correctionService;
+    @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"),
+            @ApiImplicitParam(paramType = "query", name = "companyId", dataType = "int", required = false, value = "公司id"),
+    })
+    @GetMapping("/selectCorrectionList")
+    public CommonResult selectCorrectionList(Integer companyId){
+        return CommonResult.success(correctionService.selectCorrectionList(companyId));
+    }
+    @RepeatSubmit
+    @ApiOperation(value = "新增整改管理")
+    @PostMapping("/saveCorrection")
+    public CommonResult insertCorrection(@RequestBody @Validated Correction correction){
+        return correctionService.insertCorrection(correction);
+    }
+    @ApiOperation(value = "修改整改管理")
+    @PostMapping("/updateCorrection")
+    public CommonResult updateCorrection(@RequestBody @Validated Correction correction){
+        return correctionService.updateCorrection(correction);
+    }
+    @ApiOperation(value = "删除整改管理")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "query", name = "id", dataType = "int", required = true, value = "id"),
+    })
+    @GetMapping("/delCorrection")
+    public CommonResult deletedCorrection(@RequestParam Integer id){
+        return correctionService.deletedCorrection(id);
+    }
+
+}
diff --git a/multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/InconsistentController.java b/multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/InconsistentController.java
new file mode 100644
index 0000000..33eab00
--- /dev/null
+++ b/multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/InconsistentController.java
@@ -0,0 +1,63 @@
+package com.gkhy.exam.admin.controller.web;
+
+
+import com.gkhy.exam.common.annotation.RepeatSubmit;
+import com.gkhy.exam.common.api.CommonResult;
+import com.gkhy.exam.system.domain.Correction;
+import com.gkhy.exam.system.domain.Inconsistent;
+import com.gkhy.exam.system.service.InconsistentService;
+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.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * <p>
+ * 不符合项管理 前端控制器
+ * </p>
+ *
+ * @author hh
+ * @since 2025-07-10 15:11:50
+ */
+@RestController
+@RequestMapping("/system/inconsistent")
+@Api(tags = "不符合项管理")
+public class InconsistentController {
+
+    @Autowired
+    private InconsistentService inconsistentService;
+
+    @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"),
+            @ApiImplicitParam(paramType = "query", name = "companyId", dataType = "int", required = false, value = "公司id"),
+    })
+    @GetMapping("/selectInconsistentList")
+    public CommonResult selectInconsistentList(Integer companyId){
+        return CommonResult.success(inconsistentService.selectInconsistentList(companyId));
+    }
+    @RepeatSubmit
+    @ApiOperation(value = "新增不符合项管理")
+    @PostMapping("/saveInconsistent")
+    public CommonResult insertInconsistent(@RequestBody @Validated Inconsistent inconsistent){
+        return inconsistentService.insertInconsistent(inconsistent);
+    }
+    @ApiOperation(value = "修改不符合项管理")
+    @PostMapping("/updateCorrection")
+    public CommonResult updateCorrection(@RequestBody @Validated Inconsistent inconsistent){
+        return inconsistentService.updateInconsistent(inconsistent);
+    }
+    @ApiOperation(value = "删除不符合项管理")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "query", name = "id", dataType = "int", required = true, value = "id"),
+    })
+    @GetMapping("/deletedInconsistent")
+    public CommonResult deletedInconsistent(@RequestParam Integer id){
+        return inconsistentService.deletedInconsistent(id);
+    }
+
+}
diff --git a/multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/InternalAuditCheckController.java b/multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/InternalAuditCheckController.java
new file mode 100644
index 0000000..3b74a3a
--- /dev/null
+++ b/multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/InternalAuditCheckController.java
@@ -0,0 +1,72 @@
+package com.gkhy.exam.admin.controller.web;
+
+
+import com.gkhy.exam.common.annotation.RepeatSubmit;
+import com.gkhy.exam.common.api.CommonResult;
+import com.gkhy.exam.system.domain.Meetings;
+import com.gkhy.exam.system.domain.vo.InternalAuditCheckVo;
+import com.gkhy.exam.system.service.InternalAuditCheckService;
+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.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * <p>
+ * 内审检查 前端控制器
+ * </p>
+ *
+ * @author hh
+ * @since 2025-07-10 15:11:50
+ */
+@RestController
+@RequestMapping("/system/internalAuditCheck")
+@Api(tags = "内审检查")
+public class InternalAuditCheckController {
+
+    @Autowired
+   private InternalAuditCheckService internalAuditCheckService;
+
+
+    @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"),
+            @ApiImplicitParam(paramType = "query", name = "companyId", dataType = "int", required = false, value = "公司id"),
+    })
+    @GetMapping("/selectInternalAuditCheckList")
+    public CommonResult selectInternalAuditCheckList(Integer companyId){
+        return CommonResult.success(internalAuditCheckService.selectInternalAuditCheckList(companyId));
+    }
+    @RepeatSubmit
+    @ApiOperation(value = "新增内审检查")
+    @PostMapping("/saveInternalAuditCheck")
+    public CommonResult insertInternalAuditCheck(@RequestBody @Validated InternalAuditCheckVo internalAuditCheckVo){
+        return internalAuditCheckService.insertInternalAuditCheck(internalAuditCheckVo);
+    }
+    @ApiOperation(value = "修改内审检查")
+    @PostMapping("/updateInternalAuditCheck")
+    public CommonResult updateInternalAuditCheck(@RequestBody @Validated InternalAuditCheckVo internalAuditCheckVo){
+        return internalAuditCheckService.updateInternalAuditCheck(internalAuditCheckVo);
+    }
+    @ApiOperation(value = "删除内审检查")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "query", name = "id", dataType = "int", required = true, value = "id"),
+    })
+    @GetMapping("/deletedInternalAuditCheck")
+    public CommonResult deletedInternalAuditCheck(@RequestParam Integer id){
+        return internalAuditCheckService.deletedInternalAuditCheck(id);
+    }
+
+    @ApiOperation(value = "内审检查详情")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "query", name = "id", dataType = "int", required = true, value = "id"),
+    })
+    @GetMapping("/internalAuditCheckInfo")
+    public CommonResult internalAuditCheckInfo(@RequestParam Integer id){
+        return internalAuditCheckService.internalAuditCheckInfo(id);
+    }
+}
diff --git a/multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/ManagementPlanController.java b/multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/ManagementPlanController.java
new file mode 100644
index 0000000..0ed45bc
--- /dev/null
+++ b/multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/ManagementPlanController.java
@@ -0,0 +1,64 @@
+package com.gkhy.exam.admin.controller.web;
+
+
+import com.gkhy.exam.common.annotation.RepeatSubmit;
+import com.gkhy.exam.common.api.CommonResult;
+import com.gkhy.exam.system.domain.ManagementPlan;
+import com.gkhy.exam.system.domain.Meetings;
+import com.gkhy.exam.system.service.ManagementPlanService;
+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.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * <p>
+ * 管理审批计划 前端控制器
+ * </p>
+ *
+ * @author hh
+ * @since 2025-07-10 15:11:50
+ */
+@RestController
+@RequestMapping("/system/managementPlan")
+@Api(tags = "管理审批计划")
+public class ManagementPlanController {
+
+    @Autowired
+    private ManagementPlanService managementPlanService;
+
+
+    @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"),
+            @ApiImplicitParam(paramType = "query", name = "companyId", dataType = "int", required = false, value = "公司id"),
+    })
+    @GetMapping("/selectManagementPlanList")
+    public CommonResult selectManagementPlanList(Integer companyId){
+        return CommonResult.success(managementPlanService.selectManagementPlanList(companyId));
+    }
+    @RepeatSubmit
+    @ApiOperation(value = "新增管理审批计划")
+    @PostMapping("/saveManagementPlan")
+    public CommonResult insertManagementPlan(@RequestBody @Validated ManagementPlan managementPlan){
+        return managementPlanService.insertManagementPlan(managementPlan);
+    }
+    @ApiOperation(value = "修改管理审批计划")
+    @PostMapping("/updateManagementPlan")
+    public CommonResult updateManagementPlan(@RequestBody @Validated ManagementPlan managementPlan){
+        return managementPlanService.updateManagementPlan(managementPlan);
+    }
+    @ApiOperation(value = "删除管理审批计划")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "query", name = "id", dataType = "int", required = true, value = "id"),
+    })
+    @GetMapping("/deletedManagementPlan")
+    public CommonResult deletedManagementPlan(@RequestParam Integer id){
+        return managementPlanService.deletedManagementPlan(id);
+    }
+
+}
diff --git a/multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/ManagementReviewController.java b/multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/ManagementReviewController.java
new file mode 100644
index 0000000..8f6f144
--- /dev/null
+++ b/multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/ManagementReviewController.java
@@ -0,0 +1,65 @@
+package com.gkhy.exam.admin.controller.web;
+
+
+import com.gkhy.exam.common.annotation.RepeatSubmit;
+import com.gkhy.exam.common.api.CommonResult;
+import com.gkhy.exam.system.domain.ManagementReview;
+import com.gkhy.exam.system.domain.Meetings;
+import com.gkhy.exam.system.service.ManagementReviewService;
+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.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * <p>
+ * 管理评审会议、输入、报告 前端控制器
+ * </p>
+ *
+ * @author hh
+ * @since 2025-07-10 15:11:50
+ */
+@RestController
+@RequestMapping("/system/managementReview")
+@Api(tags = "管理评审会议、输入、报告")
+public class ManagementReviewController {
+    @Autowired
+    private ManagementReviewService managementReviewService;
+
+
+
+    @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"),
+            @ApiImplicitParam(paramType = "query", name = "companyId", dataType = "int", required = false, value = "公司id"),
+            @ApiImplicitParam(paramType = "query", name = "reviewType", dataType = "int", required = true, value = "1会议、2输入、3报告")
+    })
+    @GetMapping("/selectMeetingsList")
+    public CommonResult selectMeetingsList(Integer companyId,@RequestParam("reviewType") Integer reviewType){
+        return CommonResult.success(managementReviewService.selectManagementReviewList(companyId,reviewType));
+    }
+    @RepeatSubmit
+    @ApiOperation(value = "新增管理评审会议、输入、报告")
+    @PostMapping("/saveManagementReview")
+    public CommonResult insertManagementReview(@RequestBody @Validated ManagementReview managementReview){
+        return managementReviewService.insertManagementReview(managementReview);
+    }
+    @ApiOperation(value = "修改管理评审会议、输入、报告")
+    @PostMapping("/updateManagementReview")
+    public CommonResult updateManagementReview(@RequestBody @Validated ManagementReview managementReview){
+        return managementReviewService.updateManagementReview(managementReview);
+    }
+    @ApiOperation(value = "删除管理评审会议、输入、报告")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "query", name = "id", dataType = "int", required = true, value = "id"),
+    })
+    @GetMapping("/deletedManagementReview")
+    public CommonResult deletedManagementReview(@RequestParam Integer id){
+        return managementReviewService.deletedManagementReview(id);
+    }
+
+}
diff --git a/multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/MeetingsController.java b/multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/MeetingsController.java
new file mode 100644
index 0000000..448a26a
--- /dev/null
+++ b/multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/MeetingsController.java
@@ -0,0 +1,63 @@
+package com.gkhy.exam.admin.controller.web;
+
+
+import com.gkhy.exam.common.annotation.RepeatSubmit;
+import com.gkhy.exam.common.api.CommonResult;
+import com.gkhy.exam.system.domain.Inconsistent;
+import com.gkhy.exam.system.domain.Meetings;
+import com.gkhy.exam.system.service.MeetingsService;
+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.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * <p>
+ * 会议管理 前端控制器
+ * </p>
+ *
+ * @author hh
+ * @since 2025-07-10 15:11:50
+ */
+@RestController
+@RequestMapping("/system/meetings")
+@Api(tags = "会议管理")
+public class MeetingsController {
+    @Autowired
+    private MeetingsService meetingsService;
+
+
+    @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"),
+            @ApiImplicitParam(paramType = "query", name = "companyId", dataType = "int", required = false, value = "公司id"),
+    })
+    @GetMapping("/selectMeetingsList")
+    public CommonResult selectMeetingsList(Integer companyId){
+        return CommonResult.success(meetingsService.selectMeetingsList(companyId));
+    }
+    @RepeatSubmit
+    @ApiOperation(value = "新增会议管理")
+    @PostMapping("/saveMeetings")
+    public CommonResult insertMeetings(@RequestBody @Validated Meetings meetings){
+        return meetingsService.insertMeetings(meetings);
+    }
+    @ApiOperation(value = "修改会议管理")
+    @PostMapping("/updateMeetings")
+    public CommonResult updateMeetings(@RequestBody @Validated Meetings meetings){
+        return meetingsService.updateMeetings(meetings);
+    }
+    @ApiOperation(value = "删除会议管理")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "query", name = "id", dataType = "int", required = true, value = "id"),
+    })
+    @GetMapping("/deletedMeetings")
+    public CommonResult deletedMeetings(@RequestParam Integer id){
+        return meetingsService.deletedMeetings(id);
+    }
+
+}
diff --git a/multi-common/src/main/java/com/gkhy/exam/common/domain/entity/SysDept.java b/multi-common/src/main/java/com/gkhy/exam/common/domain/entity/SysDept.java
index c6a38b8..f835a1f 100644
--- a/multi-common/src/main/java/com/gkhy/exam/common/domain/entity/SysDept.java
+++ b/multi-common/src/main/java/com/gkhy/exam/common/domain/entity/SysDept.java
@@ -79,6 +79,7 @@
 
 
     @ApiModelProperty("部门类型1默认2管理")
+    @NotBlank(message = "部门类型不能为空")
     private String deptType;
 
     @ApiModelProperty("是否职能分配1是2否")
diff --git a/multi-common/src/main/java/com/gkhy/exam/common/domain/entity/SysUser.java b/multi-common/src/main/java/com/gkhy/exam/common/domain/entity/SysUser.java
index cbbeca4..b23557b 100644
--- a/multi-common/src/main/java/com/gkhy/exam/common/domain/entity/SysUser.java
+++ b/multi-common/src/main/java/com/gkhy/exam/common/domain/entity/SysUser.java
@@ -52,7 +52,7 @@
     private String name;
 
     @NotNull(message = "用户类型不能为空")
-    @ApiModelProperty(value = "用户类型(0系统用户,1企业级用户,2部门级用户,3车间级(岗位)级,4其他,默认0)",required = true)
+    @ApiModelProperty(value = "用户类型(0系统用户,1企业级用户,2部门级用户,3车间级(岗位)级,4其他,默认0,6企业管理员)",required = true)
     @TableField("user_type")
     private Integer userType;
 
@@ -66,6 +66,21 @@
     @ApiModelProperty("用户性别(0男,1女,2未知,默认2)")
     @TableField("sex")
     private Integer sex;
+
+    @ApiModelProperty(value = "用户年龄",required = true)
+    @NotNull(message = "年龄不能为空")
+    @TableField("age")
+    private Integer age;
+
+    @ApiModelProperty(value = "人员类别1技术2管理",required = true)
+    @NotNull(message = "人员类别1技术2管理")
+    @TableField("person_type")
+    private Integer personType;
+
+    @NotBlank(message = "职称不能为空")
+    @ApiModelProperty("职称")
+    @TableField("positional")
+    private String positional;
 
     @ApiModelProperty("父级账号id")
     @TableField("parent_id")
@@ -130,6 +145,10 @@
     @TableField("entry_time")
     private LocalDate entryTime;
 
+    @ApiModelProperty("离职时间")
+    @TableField("resign_time")
+    private LocalDate resignTime;
+
     @ApiModelProperty("公司名称")
     @TableField(exist = false)
     private String companyName;
diff --git a/multi-common/src/main/java/com/gkhy/exam/common/enums/UserTypeEnum.java b/multi-common/src/main/java/com/gkhy/exam/common/enums/UserTypeEnum.java
index 908d29b..8916f44 100644
--- a/multi-common/src/main/java/com/gkhy/exam/common/enums/UserTypeEnum.java
+++ b/multi-common/src/main/java/com/gkhy/exam/common/enums/UserTypeEnum.java
@@ -11,7 +11,8 @@
     DEPART_USER(2, "部门级用户"),
     WORKSHOP_USER(3, "车间级用户"),
     OTHER_USER(4, "其他"),
-    STUDENT(5, "学员");
+    STUDENT(5, "学员"),
+    COMPANY_ADMIN(6, "企业管理员");
 
     private final Integer code;
     private final String info;
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/domain/Correction.java b/multi-system/src/main/java/com/gkhy/exam/system/domain/Correction.java
new file mode 100644
index 0000000..fe001b6
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/domain/Correction.java
@@ -0,0 +1,80 @@
+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 java.io.Serializable;
+import java.time.LocalDateTime;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+/**
+ * <p>
+ * 整改管理
+ * </p>
+ *
+ * @author hh
+ * @since 2025-07-10 15:11:50
+ */
+@Getter
+@Setter
+@TableName("correction")
+@ApiModel(value = "整改管理", description = "整改管理")
+public class Correction implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    @ApiModelProperty("企业id")
+    @TableField("company_id")
+    @NotNull(message = "企业id不能为空")
+    private Integer companyId;
+
+    @ApiModelProperty("0否1是")
+    @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;
+
+    @ApiModelProperty("文件名称")
+    @TableField("correction_name")
+    @NotBlank(message = "文件名称不能为空")
+    private String correctionName;
+
+    @ApiModelProperty("附件地址")
+    @TableField("file_path")
+    private String filePath;
+
+    @ApiModelProperty("格式")
+    @TableField("format")
+    private String format;
+
+    @ApiModelProperty("年份")
+    @TableField("year")
+    private String year;
+
+    @ApiModelProperty("部门管理")
+    @TableField("dept_id")
+    @NotNull(message = "部门管理不能为空")
+    private Long deptId;
+
+
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/domain/Inconsistent.java b/multi-system/src/main/java/com/gkhy/exam/system/domain/Inconsistent.java
new file mode 100644
index 0000000..a96f519
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/domain/Inconsistent.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 java.io.Serializable;
+import java.time.LocalDateTime;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+/**
+ * <p>
+ * 不符合项管理
+ * </p>
+ *
+ * @author hh
+ * @since 2025-07-10 15:11:50
+ */
+@Getter
+@Setter
+@TableName("inconsistent")
+@ApiModel(value = "不符合项管理", description = "不符合项管理")
+public class Inconsistent implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    @ApiModelProperty("企业id")
+    @TableField("company_id")
+    @NotNull(message = "企业id不能为空")
+    private Integer companyId;
+
+    @ApiModelProperty("0否1是")
+    @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;
+
+    @ApiModelProperty("名称")
+    @NotBlank(message = "名称不能为空")
+    @TableField("inconsistent_name")
+    private String inconsistentName;
+
+    @ApiModelProperty("附件地址")
+    @TableField("file_path")
+    private String filePath;
+
+    @ApiModelProperty("格式")
+    @TableField("format")
+    private String format;
+
+    @ApiModelProperty("年份")
+    @TableField("year")
+    @NotBlank(message = "年份不能为空")
+    private String year;
+
+
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/domain/InternalAuditCheck.java b/multi-system/src/main/java/com/gkhy/exam/system/domain/InternalAuditCheck.java
new file mode 100644
index 0000000..6d04814
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/domain/InternalAuditCheck.java
@@ -0,0 +1,90 @@
+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 java.io.Serializable;
+import java.time.LocalDateTime;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+/**
+ * <p>
+ * 内审检查
+ * </p>
+ *
+ * @author hh
+ * @since 2025-07-10 15:11:50
+ */
+@Getter
+@Setter
+@TableName("internal_audit_check")
+@ApiModel(value = "InternalAuditCheck对象", description = "内审检查")
+public class InternalAuditCheck implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    @ApiModelProperty("企业id")
+    @TableField("company_id")
+    @NotNull(message = "企业id不能为空")
+    private Integer companyId;
+
+    @ApiModelProperty("受审部门")
+    @TableField("dept_id")
+    @NotNull(message = "受审部门不能为空")
+    private Long deptId;
+
+    @ApiModelProperty("内审人员")
+    @TableField("audit_id")
+    @NotNull(message = "内审人员不能为空")
+    private Long auditId;
+
+    @ApiModelProperty("内审日期")
+    @NotNull(message = "内审日期不能为空")
+    @TableField("audit_date")
+    private LocalDateTime auditDate;
+
+    @ApiModelProperty("条款编码")
+    @TableField("caluse_num")
+    private String caluseNum;
+
+    @ApiModelProperty("条款内容")
+    @TableField("caluse_content")
+    private String caluseContent;
+
+    @ApiModelProperty("检查记录")
+    @TableField("check_record")
+    @NotBlank(message = "检查记录不能为空")
+    private String checkRecord;
+
+    @ApiModelProperty("不符合标记")
+    @TableField("inconsistent")
+    private String inconsistent;
+
+    @ApiModelProperty("0否1是")
+    @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/InternalAuditCheckPerson.java b/multi-system/src/main/java/com/gkhy/exam/system/domain/InternalAuditCheckPerson.java
new file mode 100644
index 0000000..67a55e3
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/domain/InternalAuditCheckPerson.java
@@ -0,0 +1,66 @@
+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 java.io.Serializable;
+import java.time.LocalDateTime;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 内审检查
+ * </p>
+ *
+ * @author hh
+ * @since 2025-07-10 15:11:50
+ */
+@Getter
+@Setter
+@TableName("internal_audit_check_person")
+@ApiModel(value = "InternalAuditCheckPerson对象", description = "内审检查")
+public class InternalAuditCheckPerson implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    @ApiModelProperty("企业id")
+    @TableField("company_id")
+    private Integer companyId;
+
+    @ApiModelProperty("检查id")
+    @TableField("audit_id")
+    private Long auditId;
+
+    @ApiModelProperty("受审人员")
+    @TableField("audit_user_id")
+    private Long auditUserId;
+
+    @ApiModelProperty("受审人员名称")
+    @TableField("audit_user_name")
+    private String auditUserName;
+
+    @ApiModelProperty("0否1是")
+    @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/ManagementPlan.java b/multi-system/src/main/java/com/gkhy/exam/system/domain/ManagementPlan.java
new file mode 100644
index 0000000..5d62efe
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/domain/ManagementPlan.java
@@ -0,0 +1,139 @@
+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 java.io.Serializable;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+/**
+ * <p>
+ * 管理审批计划
+ * </p>
+ *
+ * @author hh
+ * @since 2025-07-10 15:11:50
+ */
+@Getter
+@Setter
+@TableName("management_plan")
+@ApiModel(value = "ManagementPlan对象", description = "管理审批计划")
+public class ManagementPlan implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty("企业ID")
+    @TableField("company_id")
+    @NotNull(message = "企业ID不能为空")
+    private Integer companyId;
+
+    @ApiModelProperty("编号")
+    @TableField("number")
+    @NotBlank(message = "编号不能为空")
+    private String number;
+
+    @ApiModelProperty("年份")
+    @TableField("year")
+    @NotBlank(message = "年份不能为空")
+    private String year;
+
+    @ApiModelProperty("编制人ID")
+    @TableField("fiction_id")
+    @NotNull(message = "编制人ID不能为空")
+    private Integer fictionId;
+
+    @ApiModelProperty("编制人名称")
+    @TableField("fiction_name")
+    @NotBlank(message = "编制人名称不能为空")
+    private String fictionName;
+
+    @ApiModelProperty("编制时间")
+    @TableField("fiction_time")
+    @NotNull(message = "编制时间不能为空")
+    private LocalDate fictionTime;
+
+    @ApiModelProperty("审核人ID")
+    @TableField("check_id")
+    @NotNull(message = "审核人ID不能为空")
+    private Integer checkId;
+
+    @ApiModelProperty("审核人名称")
+    @TableField("check_name")
+    @NotBlank(message = "审核人名称不能为空")
+    private String checkName;
+
+    @ApiModelProperty("审核时间")
+    @TableField("check_time")
+    @NotNull(message = "审核时间不能为空")
+    private LocalDate checkTime;
+
+    @ApiModelProperty("批准人ID")
+    @TableField("ratify_id")
+    @NotNull(message = "批准人ID不能为空")
+    private Integer ratifyId;
+
+    @ApiModelProperty("批准人名称")
+    @TableField("ratify_name")
+    @NotBlank(message = "批准人名称不能为空")
+    private String ratifyName;
+
+    @ApiModelProperty("批准时间")
+    @TableField("ratify_time")
+    @NotNull(message = "批准时间不能为空")
+    private LocalDate ratifyTime;
+
+    @ApiModelProperty("内容")
+    @TableField("content")
+    @NotBlank(message = "内容不能为空")
+    private String content;
+
+    @ApiModelProperty("目的")
+    @TableField("objective")
+    @NotBlank(message = "目的不能为空")
+    private String objective;
+
+    @ApiModelProperty("地点")
+    @TableField("location")
+    @NotBlank(message = "地点不能为空")
+    private String location;
+
+    @ApiModelProperty("人员")
+    @TableField("staff")
+    @NotBlank(message = "人员不能为空")
+    private String staff;
+
+    @ApiModelProperty("报告")
+    @TableField("report")
+    @NotBlank(message = "报告不能为空")
+    private String report;
+
+    @ApiModelProperty("是否删除0否1是")
+    @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/ManagementReview.java b/multi-system/src/main/java/com/gkhy/exam/system/domain/ManagementReview.java
new file mode 100644
index 0000000..7ef90c4
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/domain/ManagementReview.java
@@ -0,0 +1,85 @@
+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 java.io.Serializable;
+import java.time.LocalDateTime;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+/**
+ * <p>
+ * 管理评审会议、输入、报告
+ * </p>
+ *
+ * @author hh
+ * @since 2025-07-10 15:11:50
+ */
+@Getter
+@Setter
+@TableName("management_review")
+@ApiModel(value = "ManagementReview对象", description = "管理评审会议、输入、报告")
+public class ManagementReview implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    @ApiModelProperty("企业id")
+    @TableField("company_id")
+    @NotNull(message = "企业Id不可为空")
+    private Integer companyId;
+
+    @ApiModelProperty("企业名称")
+    @TableField("company_name")
+    private String companyName;
+
+    @ApiModelProperty("0否1是")
+    @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;
+
+    @ApiModelProperty("文件名称")
+    @TableField("review_name")
+    @NotBlank(message = "文件名称不可为空")
+    private String reviewName;
+
+    @ApiModelProperty("1会议、2输入、3报告")
+    @TableField("review_type")
+    @NotNull(message = "文件类型不可为空")
+    private Integer reviewType;
+
+    @ApiModelProperty("附件地址")
+    @TableField("file_path")
+    private String filePath;
+
+    @ApiModelProperty("格式")
+    @TableField("format")
+    private String format;
+
+    @ApiModelProperty("年份")
+    @TableField("year")
+    @NotBlank(message = "年份不可为空")
+    private String year;
+
+
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/domain/Meetings.java b/multi-system/src/main/java/com/gkhy/exam/system/domain/Meetings.java
new file mode 100644
index 0000000..a799ec4
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/domain/Meetings.java
@@ -0,0 +1,79 @@
+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 java.io.Serializable;
+import java.time.LocalDateTime;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ * <p>
+ * 会议管理
+ * </p>
+ *
+ * @author hh
+ * @since 2025-07-10 15:11:50
+ */
+@Getter
+@Setter
+@TableName("meetings")
+@ApiModel(value = "Meetings对象", description = "会议管理")
+public class Meetings implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    @ApiModelProperty("企业id")
+    @TableField("company_id")
+    @NotNull(message = "企业id不能为空")
+    private Integer companyId;
+
+    @ApiModelProperty("企业名称")
+    @TableField("company_name")
+    private String companyName;
+
+    @ApiModelProperty("0否1是")
+    @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;
+
+    @ApiModelProperty("文件名称")
+    @TableField("meetings_name")
+    @NotNull(message = "文件名称不能为空")
+    private String meetingsName;
+
+    @ApiModelProperty("附件地址")
+    @TableField("file_path")
+    private String filePath;
+
+    @ApiModelProperty("格式")
+    @TableField("format")
+    private String format;
+
+    @ApiModelProperty("年份")
+    @TableField("year")
+    @NotNull(message = "年份不能为空")
+    private String year;
+
+
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/domain/SysFunctionalRemark.java b/multi-system/src/main/java/com/gkhy/exam/system/domain/SysFunctionalRemark.java
new file mode 100644
index 0000000..0f212ca
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/domain/SysFunctionalRemark.java
@@ -0,0 +1,25 @@
+package com.gkhy.exam.system.domain;
+
+import com.gkhy.exam.common.domain.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+
+@ApiModel(value = "职能分配备注")
+@Data
+public class SysFunctionalRemark extends BaseEntity {
+
+    @ApiModelProperty("公司id")
+    private Long companyId;
+
+    @ApiModelProperty("条款编码")
+    @NotBlank(message = "条款编码不能为空")
+    private String clauseNum;
+
+    @ApiModelProperty("备注")
+    private String remark;
+
+
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/domain/vo/FunctionalDistributionVo.java b/multi-system/src/main/java/com/gkhy/exam/system/domain/vo/FunctionalDistributionVo.java
index 215dcca..ae27207 100644
--- a/multi-system/src/main/java/com/gkhy/exam/system/domain/vo/FunctionalDistributionVo.java
+++ b/multi-system/src/main/java/com/gkhy/exam/system/domain/vo/FunctionalDistributionVo.java
@@ -1,6 +1,7 @@
 package com.gkhy.exam.system.domain.vo;
 
 import com.gkhy.exam.system.domain.SysFunctionalDistribution;
+import com.gkhy.exam.system.domain.SysFunctionalRemark;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -18,6 +19,12 @@
     private Long companyId;
 
     @ApiModelProperty(value = "数据",  required = true)
-    @NotEmpty
+//    @NotEmpty
     private List<SysFunctionalDistribution> list;
+
+    @ApiModelProperty(value = "备注数据",  required = true)
+//    @NotEmpty
+    private List<SysFunctionalRemark> remarks;
+
+
 }
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/domain/vo/InternalAuditCheckVo.java b/multi-system/src/main/java/com/gkhy/exam/system/domain/vo/InternalAuditCheckVo.java
new file mode 100644
index 0000000..5ad2020
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/domain/vo/InternalAuditCheckVo.java
@@ -0,0 +1,24 @@
+package com.gkhy.exam.system.domain.vo;
+
+import com.gkhy.exam.system.domain.InternalAuditCheck;
+import com.gkhy.exam.system.domain.InternalAuditCheckPerson;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
+@Data
+@ApiModel("内审检查详情")
+public class InternalAuditCheckVo extends InternalAuditCheck {
+    @ApiModelProperty("部门名称")
+    private String deptName;
+    @ApiModelProperty("内审人员名称")
+    private String auditName;
+
+    @ApiModelProperty("受审人员")
+    @NotEmpty
+    private List<InternalAuditCheckPerson> internalAuditCheckPeople;
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/domain/vo/SysDeptSaveDTOReq.java b/multi-system/src/main/java/com/gkhy/exam/system/domain/vo/SysDeptSaveDTOReq.java
index cacf0a8..280b32e 100644
--- a/multi-system/src/main/java/com/gkhy/exam/system/domain/vo/SysDeptSaveDTOReq.java
+++ b/multi-system/src/main/java/com/gkhy/exam/system/domain/vo/SysDeptSaveDTOReq.java
@@ -52,6 +52,10 @@
     @NotBlank(message = "是否智能分配不能为空")
     private String responsType;
 
+    @ApiModelProperty("是否管理层0否1是")
+    @NotBlank(message = "是否管理层0否1是")
+    private String deptType;
+
 //    @ApiModelProperty("负责部门id")
 //    private List<Long> childDeptIds;
 
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/mapper/CorrectionMapper.java b/multi-system/src/main/java/com/gkhy/exam/system/mapper/CorrectionMapper.java
new file mode 100644
index 0000000..3acdcc3
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/mapper/CorrectionMapper.java
@@ -0,0 +1,21 @@
+package com.gkhy.exam.system.mapper;
+
+import com.gkhy.exam.system.domain.Correction;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 整改管理 Mapper 接口
+ * </p>
+ *
+ * @author hh
+ * @since 2025-07-10 15:11:50
+ */
+@Mapper
+public interface CorrectionMapper extends BaseMapper<Correction> {
+
+    List<Correction> selectCorrectionList(Integer companyId);
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/mapper/InconsistentMapper.java b/multi-system/src/main/java/com/gkhy/exam/system/mapper/InconsistentMapper.java
new file mode 100644
index 0000000..112d691
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/mapper/InconsistentMapper.java
@@ -0,0 +1,22 @@
+package com.gkhy.exam.system.mapper;
+
+import com.gkhy.exam.system.domain.Inconsistent;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 不符合项管理 Mapper 接口
+ * </p>
+ *
+ * @author hh
+ * @since 2025-07-10 15:11:50
+ */
+@Mapper
+public interface InconsistentMapper extends BaseMapper<Inconsistent> {
+
+    List<Inconsistent> selectInconsistentList(Integer companyId);
+
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/mapper/InternalAuditCheckMapper.java b/multi-system/src/main/java/com/gkhy/exam/system/mapper/InternalAuditCheckMapper.java
new file mode 100644
index 0000000..ca156be
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/mapper/InternalAuditCheckMapper.java
@@ -0,0 +1,21 @@
+package com.gkhy.exam.system.mapper;
+
+import com.gkhy.exam.system.domain.InternalAuditCheck;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 内审检查 Mapper 接口
+ * </p>
+ *
+ * @author hh
+ * @since 2025-07-10 15:11:50
+ */
+@Mapper
+public interface InternalAuditCheckMapper extends BaseMapper<InternalAuditCheck> {
+    List<InternalAuditCheck> selectInternalAuditCheckList(Integer companyId);
+
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/mapper/InternalAuditCheckPersonMapper.java b/multi-system/src/main/java/com/gkhy/exam/system/mapper/InternalAuditCheckPersonMapper.java
new file mode 100644
index 0000000..aabdcfb
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/mapper/InternalAuditCheckPersonMapper.java
@@ -0,0 +1,23 @@
+package com.gkhy.exam.system.mapper;
+
+import com.gkhy.exam.system.domain.InternalAuditCheckPerson;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 内审检查 Mapper 接口
+ * </p>
+ *
+ * @author hh
+ * @since 2025-07-10 15:11:50
+ */
+@Mapper
+public interface InternalAuditCheckPersonMapper extends BaseMapper<InternalAuditCheckPerson> {
+
+    int batchInsert(List<InternalAuditCheckPerson> internalAuditCheckPeople);
+    int batchUpdate(List<InternalAuditCheckPerson> internalAuditCheckPeople);
+
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/mapper/ManagementPlanMapper.java b/multi-system/src/main/java/com/gkhy/exam/system/mapper/ManagementPlanMapper.java
new file mode 100644
index 0000000..01ead9c
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/mapper/ManagementPlanMapper.java
@@ -0,0 +1,21 @@
+package com.gkhy.exam.system.mapper;
+
+import com.gkhy.exam.system.domain.ManagementPlan;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 管理审批计划 Mapper 接口
+ * </p>
+ *
+ * @author hh
+ * @since 2025-07-10 15:11:50
+ */
+@Mapper
+public interface ManagementPlanMapper extends BaseMapper<ManagementPlan> {
+    List<ManagementPlan> selectManagementPlanById(Integer companyId);
+
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/mapper/ManagementReviewMapper.java b/multi-system/src/main/java/com/gkhy/exam/system/mapper/ManagementReviewMapper.java
new file mode 100644
index 0000000..d290ca1
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/mapper/ManagementReviewMapper.java
@@ -0,0 +1,22 @@
+package com.gkhy.exam.system.mapper;
+
+import com.gkhy.exam.system.domain.ManagementReview;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 管理评审会议、输入、报告 Mapper 接口
+ * </p>
+ *
+ * @author hh
+ * @since 2025-07-10 15:11:50
+ */
+@Mapper
+public interface ManagementReviewMapper extends BaseMapper<ManagementReview> {
+
+    List<ManagementReview> selectManagementReviewList(@Param("companyId") Integer companyId, @Param("reviewType") Integer reviewType);
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/mapper/MeetingsMapper.java b/multi-system/src/main/java/com/gkhy/exam/system/mapper/MeetingsMapper.java
new file mode 100644
index 0000000..bc4d48c
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/mapper/MeetingsMapper.java
@@ -0,0 +1,21 @@
+package com.gkhy.exam.system.mapper;
+
+import com.gkhy.exam.system.domain.Meetings;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 会议管理 Mapper 接口
+ * </p>
+ *
+ * @author hh
+ * @since 2025-07-10 15:11:50
+ */
+@Mapper
+public interface MeetingsMapper extends BaseMapper<Meetings> {
+    List<Meetings> selectMeetingsList(Integer companyId);
+
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/mapper/SysFunctionalRemarkMapper.java b/multi-system/src/main/java/com/gkhy/exam/system/mapper/SysFunctionalRemarkMapper.java
new file mode 100644
index 0000000..aa65909
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/mapper/SysFunctionalRemarkMapper.java
@@ -0,0 +1,25 @@
+package com.gkhy.exam.system.mapper;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gkhy.exam.system.domain.SysFunctionalDistribution;
+import com.gkhy.exam.system.domain.SysFunctionalRemark;
+
+import java.util.List;
+
+/**
+ * 部门管理 数据层
+ * 
+ * @author expert
+ */
+public interface SysFunctionalRemarkMapper extends BaseMapper<SysFunctionalRemark> {
+
+    List<SysFunctionalRemark> selectListVo(Long companyId);
+
+    int batchInsert(List<SysFunctionalRemark> list);
+
+    int batchUpdate(List<SysFunctionalRemark> list);
+
+    int delByCompanyId(Long companyId);
+
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/CorrectionService.java b/multi-system/src/main/java/com/gkhy/exam/system/service/CorrectionService.java
new file mode 100644
index 0000000..8f33e47
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/CorrectionService.java
@@ -0,0 +1,26 @@
+package com.gkhy.exam.system.service;
+
+import com.gkhy.exam.common.api.CommonPage;
+import com.gkhy.exam.common.api.CommonResult;
+import com.gkhy.exam.system.domain.Correction;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gkhy.exam.system.domain.Inconsistent;
+
+/**
+ * <p>
+ * 整改管理 服务类
+ * </p>
+ *
+ * @author hh
+ * @since 2025-07-10 15:11:50
+ */
+public interface CorrectionService extends IService<Correction> {
+    CommonPage selectCorrectionList(Integer companyId);
+
+    CommonResult insertCorrection(Correction correction);
+
+    CommonResult updateCorrection(Correction correction);
+
+    CommonResult deletedCorrection(Integer id);
+
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/ISysDeptService.java b/multi-system/src/main/java/com/gkhy/exam/system/service/ISysDeptService.java
index 5d0eb69..8df0672 100644
--- a/multi-system/src/main/java/com/gkhy/exam/system/service/ISysDeptService.java
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/ISysDeptService.java
@@ -6,6 +6,7 @@
 import com.gkhy.exam.common.domain.TreeSelect;
 import com.gkhy.exam.common.domain.entity.SysDept;
 import com.gkhy.exam.system.domain.SysFunctionalDistribution;
+import com.gkhy.exam.system.domain.SysFunctionalRemark;
 import com.gkhy.exam.system.domain.req.SysDeptPageReq;
 import com.gkhy.exam.system.domain.vo.*;
 
@@ -132,6 +133,8 @@
 
     int saveFunctionalDistribution(FunctionalDistributionVo reqVo);
 
+
+    List<SysFunctionalRemark> getFunctionalRemarkList(Long companyId);
     /**
      * 修改保存部门信息
      * 
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/InconsistentService.java b/multi-system/src/main/java/com/gkhy/exam/system/service/InconsistentService.java
new file mode 100644
index 0000000..a2968cf
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/InconsistentService.java
@@ -0,0 +1,25 @@
+package com.gkhy.exam.system.service;
+
+import com.gkhy.exam.common.api.CommonPage;
+import com.gkhy.exam.common.api.CommonResult;
+import com.gkhy.exam.system.domain.Inconsistent;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gkhy.exam.system.domain.StandardizedTemplate;
+
+/**
+ * <p>
+ * 不符合项管理 服务类
+ * </p>
+ *
+ * @author hh
+ * @since 2025-07-10 15:11:50
+ */
+public interface InconsistentService extends IService<Inconsistent> {
+    CommonPage selectInconsistentList(Integer companyId);
+
+    CommonResult insertInconsistent(Inconsistent inconsistent);
+
+    CommonResult updateInconsistent(Inconsistent inconsistent);
+
+    CommonResult deletedInconsistent(Integer id);
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/InternalAuditCheckService.java b/multi-system/src/main/java/com/gkhy/exam/system/service/InternalAuditCheckService.java
new file mode 100644
index 0000000..60c8fcd
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/InternalAuditCheckService.java
@@ -0,0 +1,28 @@
+package com.gkhy.exam.system.service;
+
+import com.gkhy.exam.common.api.CommonPage;
+import com.gkhy.exam.common.api.CommonResult;
+import com.gkhy.exam.system.domain.Inconsistent;
+import com.gkhy.exam.system.domain.InternalAuditCheck;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gkhy.exam.system.domain.vo.InternalAuditCheckVo;
+
+/**
+ * <p>
+ * 内审检查 服务类
+ * </p>
+ *
+ * @author hh
+ * @since 2025-07-10 15:11:50
+ */
+public interface InternalAuditCheckService extends IService<InternalAuditCheck> {
+    CommonPage selectInternalAuditCheckList(Integer companyId);
+
+    CommonResult insertInternalAuditCheck(InternalAuditCheckVo internalAuditCheck);
+
+    CommonResult updateInternalAuditCheck(InternalAuditCheckVo internalAuditCheck);
+
+    CommonResult deletedInternalAuditCheck(Integer id);
+
+    CommonResult internalAuditCheckInfo(Integer id);
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/ManagementPlanService.java b/multi-system/src/main/java/com/gkhy/exam/system/service/ManagementPlanService.java
new file mode 100644
index 0000000..cf7e51d
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/ManagementPlanService.java
@@ -0,0 +1,27 @@
+package com.gkhy.exam.system.service;
+
+import com.gkhy.exam.common.api.CommonPage;
+import com.gkhy.exam.common.api.CommonResult;
+import com.gkhy.exam.system.domain.Inconsistent;
+import com.gkhy.exam.system.domain.ManagementPlan;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 管理审批计划 服务类
+ * </p>
+ *
+ * @author hh
+ * @since 2025-07-10 15:11:50
+ */
+public interface ManagementPlanService extends IService<ManagementPlan> {
+
+    CommonPage selectManagementPlanList(Integer companyId);
+
+    CommonResult insertManagementPlan(ManagementPlan managementPlan);
+
+    CommonResult updateManagementPlan(ManagementPlan managementPlan);
+
+    CommonResult deletedManagementPlan(Integer id);
+
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/ManagementReviewService.java b/multi-system/src/main/java/com/gkhy/exam/system/service/ManagementReviewService.java
new file mode 100644
index 0000000..4f9eaab
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/ManagementReviewService.java
@@ -0,0 +1,25 @@
+package com.gkhy.exam.system.service;
+
+import com.gkhy.exam.common.api.CommonPage;
+import com.gkhy.exam.common.api.CommonResult;
+import com.gkhy.exam.system.domain.Inconsistent;
+import com.gkhy.exam.system.domain.ManagementReview;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 管理评审会议、输入、报告 服务类
+ * </p>
+ *
+ * @author hh
+ * @since 2025-07-10 15:11:50
+ */
+public interface ManagementReviewService extends IService<ManagementReview> {
+    CommonPage selectManagementReviewList(Integer companyId,Integer reviewType);
+
+    CommonResult insertManagementReview(ManagementReview managementReview);
+
+    CommonResult updateManagementReview(ManagementReview managementReview);
+
+    CommonResult deletedManagementReview(Integer id);
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/MeetingsService.java b/multi-system/src/main/java/com/gkhy/exam/system/service/MeetingsService.java
new file mode 100644
index 0000000..9d9e035
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/MeetingsService.java
@@ -0,0 +1,24 @@
+package com.gkhy.exam.system.service;
+
+import com.gkhy.exam.common.api.CommonPage;
+import com.gkhy.exam.common.api.CommonResult;
+import com.gkhy.exam.system.domain.Meetings;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 会议管理 服务类
+ * </p>
+ *
+ * @author hh
+ * @since 2025-07-10 15:11:50
+ */
+public interface MeetingsService extends IService<Meetings> {
+    CommonPage selectMeetingsList(Integer companyId);
+
+    CommonResult insertMeetings(Meetings meetings);
+
+    CommonResult updateMeetings(Meetings meetings);
+
+    CommonResult deletedMeetings(Integer id);
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/CorrectionServiceImpl.java b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/CorrectionServiceImpl.java
new file mode 100644
index 0000000..26977f9
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/CorrectionServiceImpl.java
@@ -0,0 +1,74 @@
+package com.gkhy.exam.system.service.impl;
+
+import com.gkhy.exam.common.api.CommonPage;
+import com.gkhy.exam.common.api.CommonResult;
+import com.gkhy.exam.common.utils.PageUtils;
+import com.gkhy.exam.common.utils.SecurityUtils;
+import com.gkhy.exam.system.domain.Correction;
+import com.gkhy.exam.system.domain.Inconsistent;
+import com.gkhy.exam.system.mapper.CorrectionMapper;
+import com.gkhy.exam.system.service.CorrectionService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * <p>
+ * 整改管理 服务实现类
+ * </p>
+ *
+ * @author hh
+ * @since 2025-07-10 15:11:50
+ */
+@Service
+public class CorrectionServiceImpl extends ServiceImpl<CorrectionMapper, Correction> implements CorrectionService {
+
+    @Autowired
+    private CorrectionMapper correctionMapper;
+    @Override
+    public CommonPage selectCorrectionList(Integer companyId) {
+        PageUtils.startPage();
+        List<Correction> corrections = correctionMapper.selectCorrectionList(companyId);
+        return CommonPage.restPage(corrections);
+    }
+
+    @Override
+    public CommonResult insertCorrection(Correction correction) {
+        correction.setCreateBy(SecurityUtils.getUsername());
+        correction.setCreateTime(LocalDateTime.now());
+        int insert = correctionMapper.insert(correction);
+        if (insert > 0){
+            return CommonResult.success();
+        }
+        return CommonResult.failed();
+    }
+
+    @Override
+    public CommonResult updateCorrection(Correction Correction) {
+        Correction.setUpdateBy(SecurityUtils.getUsername());
+        Correction.setUpdateTime(LocalDateTime.now());
+        int insert = correctionMapper.updateById(Correction);
+        if (insert > 0){
+            return CommonResult.success();
+        }
+        return CommonResult.failed();
+    }
+
+    @Override
+    public CommonResult deletedCorrection(Integer id) {
+        Correction Correction = new Correction();
+        Correction.setId(id.longValue());
+        Correction.setDelFlag(1);
+        Correction.setUpdateBy(SecurityUtils.getUsername());
+        Correction.setUpdateTime(LocalDateTime.now());
+        int insert = correctionMapper.updateById(Correction);
+        if (insert > 0){
+            return CommonResult.success();
+        }
+        return CommonResult.failed();
+    }
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/InconsistentServiceImpl.java b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/InconsistentServiceImpl.java
new file mode 100644
index 0000000..5970f36
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/InconsistentServiceImpl.java
@@ -0,0 +1,72 @@
+package com.gkhy.exam.system.service.impl;
+
+import com.gkhy.exam.common.api.CommonPage;
+import com.gkhy.exam.common.api.CommonResult;
+import com.gkhy.exam.common.utils.PageUtils;
+import com.gkhy.exam.common.utils.SecurityUtils;
+import com.gkhy.exam.system.domain.Inconsistent;
+import com.gkhy.exam.system.mapper.InconsistentMapper;
+import com.gkhy.exam.system.service.InconsistentService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * <p>
+ * 不符合项管理 服务实现类
+ * </p>
+ *
+ * @author hh
+ * @since 2025-07-10 15:11:50
+ */
+@Service
+public class InconsistentServiceImpl extends ServiceImpl<InconsistentMapper, Inconsistent> implements InconsistentService {
+
+    @Autowired
+    private InconsistentMapper inconsistentMapper;
+    @Override
+    public CommonPage selectInconsistentList(Integer companyId) {
+        PageUtils.startPage();
+        List<Inconsistent> inconsistents = inconsistentMapper.selectInconsistentList(companyId);
+        return CommonPage.restPage(inconsistents);
+    }
+
+    @Override
+    public CommonResult insertInconsistent(Inconsistent inconsistent) {
+        inconsistent.setCreateBy(SecurityUtils.getUsername());
+        inconsistent.setCreateTime(LocalDateTime.now());
+        int insert = inconsistentMapper.insert(inconsistent);
+        if (insert > 0){
+            return CommonResult.success();
+        }
+        return CommonResult.failed();
+    }
+
+    @Override
+    public CommonResult updateInconsistent(Inconsistent inconsistent) {
+        inconsistent.setUpdateBy(SecurityUtils.getUsername());
+        inconsistent.setUpdateTime(LocalDateTime.now());
+        int insert = inconsistentMapper.updateById(inconsistent);
+        if (insert > 0){
+            return CommonResult.success();
+        }
+        return CommonResult.failed();
+    }
+
+    @Override
+    public CommonResult deletedInconsistent(Integer id) {
+        Inconsistent inconsistent = new Inconsistent();
+        inconsistent.setId(id.longValue());
+        inconsistent.setDelFlag(1);
+        inconsistent.setUpdateBy(SecurityUtils.getUsername());
+        inconsistent.setUpdateTime(LocalDateTime.now());
+        int insert = inconsistentMapper.updateById(inconsistent);
+        if (insert > 0){
+            return CommonResult.success();
+        }
+        return CommonResult.failed();
+    }
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/InternalAuditCheckServiceImpl.java b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/InternalAuditCheckServiceImpl.java
new file mode 100644
index 0000000..09aa831
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/InternalAuditCheckServiceImpl.java
@@ -0,0 +1,201 @@
+package com.gkhy.exam.system.service.impl;
+
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.gkhy.exam.common.api.CommonPage;
+import com.gkhy.exam.common.api.CommonResult;
+import com.gkhy.exam.common.domain.entity.SysDept;
+import com.gkhy.exam.common.utils.PageUtils;
+import com.gkhy.exam.common.utils.SecurityUtils;
+import com.gkhy.exam.system.domain.InternalAuditCheck;
+import com.gkhy.exam.system.domain.InternalAuditCheckPerson;
+import com.gkhy.exam.system.domain.vo.InternalAuditCheckVo;
+import com.gkhy.exam.system.mapper.InternalAuditCheckMapper;
+import com.gkhy.exam.system.mapper.InternalAuditCheckPersonMapper;
+import com.gkhy.exam.system.mapper.SysDeptMapper;
+import com.gkhy.exam.system.mapper.SysUserMapper;
+import com.gkhy.exam.system.service.InternalAuditCheckService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.time.LocalDateTime;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * <p>
+ * 内审检查 服务实现类
+ * </p>
+ *
+ * @author hh
+ * @since 2025-07-10 15:11:50
+ */
+@Service
+public class InternalAuditCheckServiceImpl extends ServiceImpl<InternalAuditCheckMapper, InternalAuditCheck> implements InternalAuditCheckService {
+
+    @Autowired
+    private InternalAuditCheckMapper internalAuditCheckMapper;
+    @Autowired
+    private InternalAuditCheckPersonMapper internalAuditCheckPersonMapper;
+    @Autowired
+    private SysUserMapper sysUserMapper;
+    @Autowired
+    private SysDeptMapper sysDeptMapper;
+    @Override
+    public CommonPage selectInternalAuditCheckList(Integer companyId) {
+        PageUtils.startPage();
+        List<InternalAuditCheck> internalAuditChecks = internalAuditCheckMapper.selectInternalAuditCheckList(companyId);
+        return CommonPage.restPage(internalAuditChecks);
+    }
+
+    @Override
+    @Transactional
+    public CommonResult insertInternalAuditCheck(InternalAuditCheckVo internalAuditCheck) {
+        InternalAuditCheck internalAuditCheck1 = new InternalAuditCheck();
+        BeanUtils.copyProperties(internalAuditCheck,internalAuditCheck1);
+        internalAuditCheck1.setCreateTime(LocalDateTime.now());
+        internalAuditCheck1.setCreateBy(SecurityUtils.getUsername());
+
+        int insert = internalAuditCheckMapper.insert(internalAuditCheck1);
+        if (insert > 0) {
+            if (ObjectUtil.isNotEmpty(internalAuditCheck.getInternalAuditCheckPeople())){
+                batchInsert(internalAuditCheck.getInternalAuditCheckPeople(),internalAuditCheck1.getId());
+            }
+
+        }
+        return CommonResult.failed();
+    }
+
+    private void batchInsert(List<InternalAuditCheckPerson> internalAuditCheckPeople,Long auditId) {
+        internalAuditCheckPeople.forEach(e -> {
+            e.setAuditId(auditId);
+            e.setCreateTime(LocalDateTime.now());
+            e.setCreateBy(SecurityUtils.getUsername());
+        });
+        internalAuditCheckPersonMapper.batchInsert(internalAuditCheckPeople);
+    }
+
+    private void batchUpdate(List<InternalAuditCheckPerson> internalAuditCheckPeople) {
+        internalAuditCheckPeople.forEach(e -> {
+            e.setUpdateTime(LocalDateTime.now());
+            e.setUpdateBy(SecurityUtils.getUsername());
+        });
+        internalAuditCheckPersonMapper.batchUpdate(internalAuditCheckPeople);
+    }
+
+    @Override
+    public CommonResult updateInternalAuditCheck(InternalAuditCheckVo internalAuditCheck) {
+        InternalAuditCheck internalAuditCheck1 = new InternalAuditCheck();
+        BeanUtils.copyProperties(internalAuditCheck,internalAuditCheck1);
+        internalAuditCheck1.setUpdateTime(LocalDateTime.now());
+        internalAuditCheck1.setUpdateBy(SecurityUtils.getUsername());
+
+        int update = internalAuditCheckMapper.updateById(internalAuditCheck1);
+        if (update > 0) {
+            List<InternalAuditCheckPerson> internalAuditCheckPeople = internalAuditCheck.getInternalAuditCheckPeople();
+            if (ObjectUtil.isNotEmpty(internalAuditCheckPeople)){
+                List<Long> collect = internalAuditCheckPeople.stream().map(InternalAuditCheckPerson::getAuditUserId)
+                        .collect(Collectors.toList());
+                if (collect.size() != internalAuditCheckPeople.size()){
+                    throw new RuntimeException("选择的受审人员重复");
+                }
+                LambdaQueryWrapper<InternalAuditCheckPerson> queryWrapper = new LambdaQueryWrapper<>();
+                queryWrapper.eq(InternalAuditCheckPerson::getAuditId, internalAuditCheck.getId());
+                queryWrapper.eq(InternalAuditCheckPerson::getDelFlag, 0);
+                List<InternalAuditCheckPerson> internalAuditCheckPeople1 = internalAuditCheckPersonMapper.selectList(queryWrapper);
+
+                List<Long> idsAll = internalAuditCheckPeople1.stream()
+                        .map(InternalAuditCheckPerson::getId)
+                        .collect(Collectors.toList());
+
+
+                List<Long> idsUpdate = internalAuditCheckPeople.stream()
+                        .map(InternalAuditCheckPerson::getId)
+                        .filter(id -> id != null) // 过滤掉 null 值
+                        .collect(Collectors.toList());
+                if (!idsUpdate.isEmpty() && !idsAll.isEmpty()){
+                    //不存在的删除
+                    List<Long> result = idsAll.stream()
+                            .filter(id -> !idsUpdate.contains(id))
+                            .collect(Collectors.toList());
+                    if (!result.isEmpty()){
+                        batchDel(internalAuditCheck.getId(),result);
+                    }
+                }
+
+
+
+                List<InternalAuditCheckPerson> withId = internalAuditCheckPeople.stream()
+                        .filter(e -> e.getId() != null)
+                        .collect(Collectors.toList());
+                //修改的
+                if (!withId.isEmpty()){
+                    batchUpdate(withId);
+                }
+
+                List<InternalAuditCheckPerson> withoutId = internalAuditCheckPeople.stream()
+                        .filter(e -> e.getId() == null)
+                        .collect(Collectors.toList());
+
+                //新增的
+                if (!withoutId.isEmpty()){
+                    batchInsert(withoutId,internalAuditCheck.getId());
+                }
+            }else {
+                batchDel(internalAuditCheck.getId(),null);
+            }
+
+
+            return CommonResult.success(update);
+        }
+        return CommonResult.failed();
+    }
+
+    private void batchDel(Long id,List<Long> ids){
+        LambdaQueryWrapper<InternalAuditCheckPerson> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(InternalAuditCheckPerson::getAuditId, id);
+        if (ObjectUtil.isNotEmpty(ids)){
+            queryWrapper.in(InternalAuditCheckPerson::getId, ids);
+        }
+        InternalAuditCheckPerson internalAuditCheckPerson = new InternalAuditCheckPerson();
+        internalAuditCheckPerson.setDelFlag(1);
+        internalAuditCheckPerson.setUpdateTime(LocalDateTime.now());
+        internalAuditCheckPerson.setUpdateBy(SecurityUtils.getUsername());
+        internalAuditCheckPersonMapper.update(internalAuditCheckPerson,queryWrapper);
+    }
+
+    @Override
+    @Transactional
+    public CommonResult deletedInternalAuditCheck(Integer id) {
+        int delete = internalAuditCheckMapper.deleteById(id);
+        LambdaQueryWrapper<InternalAuditCheckPerson> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(InternalAuditCheckPerson::getAuditId, id);
+        InternalAuditCheckPerson internalAuditCheckPerson = new InternalAuditCheckPerson();
+        internalAuditCheckPerson.setDelFlag(1);
+        internalAuditCheckPerson.setUpdateTime(LocalDateTime.now());
+        internalAuditCheckPerson.setUpdateBy(SecurityUtils.getUsername());
+        internalAuditCheckPersonMapper.update(internalAuditCheckPerson,queryWrapper);
+        return CommonResult.success();
+    }
+
+    @Override
+    public CommonResult internalAuditCheckInfo(Integer id) {
+        InternalAuditCheck internalAuditCheck = internalAuditCheckMapper.selectById(id);
+
+        InternalAuditCheckVo internalAuditCheckVo = new InternalAuditCheckVo();
+        BeanUtils.copyProperties(internalAuditCheck,internalAuditCheckVo);
+        internalAuditCheckVo.setDeptName(sysDeptMapper.selectDeptById(internalAuditCheck.getDeptId()).getDeptName());
+        internalAuditCheckVo.setAuditName(sysUserMapper.selectById(internalAuditCheck.getAuditId()).getName());
+        LambdaQueryWrapper<InternalAuditCheckPerson> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(InternalAuditCheckPerson::getAuditId, id);
+        queryWrapper.eq(InternalAuditCheckPerson::getDelFlag, 0);
+        List<InternalAuditCheckPerson> internalAuditCheckPeople = internalAuditCheckPersonMapper.selectList(queryWrapper);
+        internalAuditCheckVo.setInternalAuditCheckPeople(internalAuditCheckPeople);
+
+        return CommonResult.success(internalAuditCheck);
+    }
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/ManagementPlanServiceImpl.java b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/ManagementPlanServiceImpl.java
new file mode 100644
index 0000000..b4f5e20
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/ManagementPlanServiceImpl.java
@@ -0,0 +1,79 @@
+package com.gkhy.exam.system.service.impl;
+
+import cn.hutool.core.util.ObjectUtil;
+import com.gkhy.exam.common.api.CommonPage;
+import com.gkhy.exam.common.api.CommonResult;
+import com.gkhy.exam.common.utils.PageUtils;
+import com.gkhy.exam.common.utils.SecurityUtils;
+import com.gkhy.exam.system.domain.ManagementPlan;
+import com.gkhy.exam.system.mapper.ManagementPlanMapper;
+import com.gkhy.exam.system.service.ManagementPlanService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * <p>
+ * 管理审批计划 服务实现类
+ * </p>
+ *
+ * @author hh
+ * @since 2025-07-10 15:11:50
+ */
+@Service
+public class ManagementPlanServiceImpl extends ServiceImpl<ManagementPlanMapper, ManagementPlan> implements ManagementPlanService {
+
+    @Autowired
+    private ManagementPlanMapper managementPlanMapper;
+
+    @Override
+    public CommonPage selectManagementPlanList(Integer companyId) {
+        PageUtils.startPage();
+        List<ManagementPlan> managementPlans = managementPlanMapper.selectManagementPlanById(companyId);
+        return CommonPage.restPage(managementPlans);
+    }
+
+    @Override
+    public CommonResult insertManagementPlan(ManagementPlan managementPlan) {
+        List<ManagementPlan> managementPlans = managementPlanMapper.selectManagementPlanById(managementPlan.getCompanyId());
+        if (ObjectUtil.isNotEmpty(managementPlans)) {
+            return CommonResult.failed("当前企业已有数据,请勿重复添加");
+        }
+        managementPlan.setCreateBy(SecurityUtils.getUsername());
+        managementPlan.setCreateTime(LocalDateTime.now());
+
+        int insert = managementPlanMapper.insert(managementPlan);
+        if (insert > 0) {
+            return CommonResult.success(insert);
+        }
+        return CommonResult.failed();
+    }
+
+    @Override
+    public CommonResult updateManagementPlan(ManagementPlan managementPlan) {
+        managementPlan.setUpdateBy(SecurityUtils.getUsername());
+        managementPlan.setUpdateTime(LocalDateTime.now());
+        int update = managementPlanMapper.updateById(managementPlan);
+        if (update > 0) {
+            return CommonResult.success(update);
+        }
+        return CommonResult.failed();
+    }
+
+    @Override
+    public CommonResult deletedManagementPlan(Integer id) {
+        ManagementPlan managementPlan = new ManagementPlan();
+        managementPlan.setId(id);
+        managementPlan.setDelFlag(1);
+        managementPlan.setUpdateBy(SecurityUtils.getUsername());
+        managementPlan.setUpdateTime(LocalDateTime.now());
+        int delete = managementPlanMapper.updateById(managementPlan);
+        if (delete > 0) {
+            return CommonResult.success(delete);
+        }
+        return CommonResult.failed();
+    }
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/ManagementReviewServiceImpl.java b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/ManagementReviewServiceImpl.java
new file mode 100644
index 0000000..d261fb7
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/ManagementReviewServiceImpl.java
@@ -0,0 +1,71 @@
+package com.gkhy.exam.system.service.impl;
+
+import com.gkhy.exam.common.api.CommonPage;
+import com.gkhy.exam.common.api.CommonResult;
+import com.gkhy.exam.common.utils.PageUtils;
+import com.gkhy.exam.common.utils.SecurityUtils;
+import com.gkhy.exam.system.domain.Inconsistent;
+import com.gkhy.exam.system.domain.ManagementReview;
+import com.gkhy.exam.system.mapper.ManagementReviewMapper;
+import com.gkhy.exam.system.service.ManagementReviewService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * <p>
+ * 管理评审会议、输入、报告 服务实现类
+ * </p>
+ *
+ * @author hh
+ * @since 2025-07-10 15:11:50
+ */
+@Service
+public class ManagementReviewServiceImpl extends ServiceImpl<ManagementReviewMapper, ManagementReview> implements ManagementReviewService {
+
+    @Autowired
+    private ManagementReviewMapper managementReviewMapper;
+    @Override
+    public CommonPage selectManagementReviewList(Integer companyId, Integer reviewType) {
+        PageUtils.startPage();
+        List<ManagementReview> managementReviews = managementReviewMapper.selectManagementReviewList(companyId,reviewType);
+        return CommonPage.restPage(managementReviews);
+    }
+
+    @Override
+    public CommonResult insertManagementReview(ManagementReview managementReview) {
+        managementReview.setCreateBy(SecurityUtils.getUsername());
+        managementReview.setCreateTime(LocalDateTime.now());
+
+        if (managementReviewMapper.insert(managementReview) > 0) {
+            return CommonResult.success();
+        }
+        return CommonResult.failed();
+    }
+
+    @Override
+    public CommonResult updateManagementReview(ManagementReview managementReview) {
+        managementReview.setUpdateBy(SecurityUtils.getUsername());
+        managementReview.setUpdateTime(LocalDateTime.now());
+        if (managementReviewMapper.updateById(managementReview) > 0) {
+            return CommonResult.success();
+        }
+        return CommonResult.failed();
+    }
+
+    @Override
+    public CommonResult deletedManagementReview(Integer id) {
+        ManagementReview managementReview = new ManagementReview();
+        managementReview.setId(id.longValue());
+        managementReview.setDelFlag(1);
+        managementReview.setUpdateBy(SecurityUtils.getUsername());
+        managementReview.setUpdateTime(LocalDateTime.now());
+        if (managementReviewMapper.updateById(managementReview) > 0) {
+            return CommonResult.success();
+        }
+        return CommonResult.failed();
+    }
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/MeetingsServiceImpl.java b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/MeetingsServiceImpl.java
new file mode 100644
index 0000000..61c3716
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/MeetingsServiceImpl.java
@@ -0,0 +1,70 @@
+package com.gkhy.exam.system.service.impl;
+
+import com.gkhy.exam.common.api.CommonPage;
+import com.gkhy.exam.common.api.CommonResult;
+import com.gkhy.exam.common.utils.PageUtils;
+import com.gkhy.exam.common.utils.SecurityUtils;
+import com.gkhy.exam.system.domain.Inconsistent;
+import com.gkhy.exam.system.domain.Meetings;
+import com.gkhy.exam.system.mapper.MeetingsMapper;
+import com.gkhy.exam.system.service.MeetingsService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * <p>
+ * 会议管理 服务实现类
+ * </p>
+ *
+ * @author hh
+ * @since 2025-07-10 15:11:50
+ */
+@Service
+public class MeetingsServiceImpl extends ServiceImpl<MeetingsMapper, Meetings> implements MeetingsService {
+
+    @Autowired
+    private MeetingsMapper meetingsMapper;
+    @Override
+    public CommonPage selectMeetingsList(Integer companyId) {
+        PageUtils.startPage();
+        List<Meetings> meetings = meetingsMapper.selectMeetingsList(companyId);
+        return CommonPage.restPage(meetings);
+    }
+
+    @Override
+    public CommonResult insertMeetings(Meetings meetings) {
+        meetings.setCreateTime(LocalDateTime.now());
+        meetings.setCreateBy(SecurityUtils.getUsername());
+        if (meetingsMapper.insert(meetings) > 0) {
+            return CommonResult.success();
+        }
+        return CommonResult.failed();
+    }
+
+    @Override
+    public CommonResult updateMeetings(Meetings meetings) {
+        meetings.setUpdateTime(LocalDateTime.now());
+        meetings.setUpdateBy(SecurityUtils.getUsername());
+        if (meetingsMapper.updateById(meetings) > 0) {
+            return CommonResult.success();
+        }
+        return CommonResult.failed();
+    }
+
+    @Override
+    public CommonResult deletedMeetings(Integer id) {
+        Meetings meetings = new Meetings();
+        meetings.setId(id.longValue());
+        meetings.setDelFlag(1);
+        meetings.setUpdateTime(LocalDateTime.now());
+        meetings.setUpdateBy(SecurityUtils.getUsername());
+        if (meetingsMapper.updateById(meetings) > 0) {
+            return CommonResult.success();
+        }
+        return CommonResult.failed();
+    }
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/SysDeptServiceImpl.java b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/SysDeptServiceImpl.java
index f9ccb38..ef9123e 100644
--- a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/SysDeptServiceImpl.java
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/SysDeptServiceImpl.java
@@ -19,12 +19,10 @@
 import com.gkhy.exam.system.domain.SysDeptManage;
 import com.gkhy.exam.system.domain.SysDeptResponsibility;
 import com.gkhy.exam.system.domain.SysFunctionalDistribution;
+import com.gkhy.exam.system.domain.SysFunctionalRemark;
 import com.gkhy.exam.system.domain.req.SysDeptPageReq;
 import com.gkhy.exam.system.domain.vo.*;
-import com.gkhy.exam.system.mapper.SysDeptMapper;
-import com.gkhy.exam.system.mapper.SysDeptResponsibilityMapper;
-import com.gkhy.exam.system.mapper.SysFunctionalDistributionMapper;
-import com.gkhy.exam.system.mapper.SysRoleMapper;
+import com.gkhy.exam.system.mapper.*;
 import com.gkhy.exam.system.service.ISysDeptService;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -55,6 +53,10 @@
 
     @Autowired
     private SysFunctionalDistributionMapper sysFunctionalDistributionMapper;
+
+    @Autowired
+    private SysFunctionalRemarkMapper sysFunctionalRemarkMapper;
+
     public static final String[] DEPT_ROOT = {"4.1",  "4.2", "4.3", "4.4", "5.1", "5.2", "5.3","6.1", "6.2", "6.3",
             "7.1.1",  "7.1.2", "7.1.3", "7.1.4", "7.1.5", "7.1.6","7.2", "7.3", "7.4", "7.5", "7.6","8.1","8.2","8.2.1","8.2.2", "8.2.3", "8.2.4", "8.3", "8.3.1", "8.3.2", "8.3.3", "8.3.4", "8.3.5", "8.3.6", "8.3.7", "8.3.8", "8.4",
     "8.4.1", "8.4.2", "8.4.3", "8.5", "8.5.1", "8.5.2", "8.5.3", "8.5.4", "8.5.5", "8.5.6", "8.5.7", "8.6","8.7","9.1","9.1.1","9.1.2","9.1.3","9.2", "9.3","10.1"
@@ -122,19 +124,6 @@
     public List<TreeSelect> selectDeptTreeList(SysDept dept)
     {
         List<SysDept> depts = SpringUtils.getAopProxy(this).getOutDeptList(dept);
-
-//        List<SysDeptManage> allManage = deptMapper.getAllManage(dept.getCompanyId());
-//        // 构建父部门到子部门的映射
-//        Map<Long, List<Long>> parentToChildrenMap = new HashMap<>();
-//        for (SysDeptManage responsibility : allManage) {
-//            parentToChildrenMap.computeIfAbsent(responsibility.getDeptId(), k -> new ArrayList<>())
-//                    .add(responsibility.getSubDeptId());
-//        }
-//
-//        // 构建部门ID到部门对象的映射
-//        Map<Long, SysDept> deptMap = depts.stream()
-//                .collect(Collectors.toMap(SysDept::getDeptId, Function.identity()));
-
 
         return buildDeptTreeSelect(depts);
     }
@@ -391,7 +380,7 @@
     }
 
     @Override
-    @Transactional
+    @Transactional(rollbackFor = RuntimeException.class)
     public int saveDeptResponsibility(SysDeptResponsibilityReqVo reqVo) {
 //        Long companyId = SecurityUtils.getCompanyId();
 //        if (!companyId.equals(reqVo.getCompanyId())){
@@ -427,14 +416,11 @@
     }
 
     @Override
-    @Transactional
+    @Transactional(rollbackFor = RuntimeException.class)
     public int initFunctionalDistribution(Long companyId) {
 
-//        if (!companyId.equals(SecurityUtils.getCompanyId())){
-//            throw new ApiException("无权操作!");
-//        }
-
         sysFunctionalDistributionMapper.delByCompanyId(companyId);
+        sysFunctionalRemarkMapper.delByCompanyId(companyId);
         SysDept sysDept = new SysDept();
         sysDept.setCompanyId(companyId);
         sysDept.setResponsType("1");
@@ -442,6 +428,8 @@
         if (deptVos != null && !deptVos.isEmpty()){
             List<SysFunctionalDistribution> sysFunctionalDistributions = new ArrayList<>();
             Map<String, CaluseVO1> clauseNumMap = new HashMap<>();
+            Map<String, Integer> clauseNumSetNum = new HashMap<>();
+            Set<String> clauseNumSet = new HashSet<>();
             for (DeptVo deptVo : deptVos) {
                 List<CaluseVO1> caluseVO1List = deptVo.getCaluseVO1List();
                 if (ObjectUtil.isNotEmpty(caluseVO1List)){
@@ -453,6 +441,7 @@
                                     (existing, replacement) -> existing // 如果有重复 key,保留现有的值
                             ));
                 }
+                //加入职能
                 for (String s : DEPT_ROOT) {
                     SysFunctionalDistribution sysFunctionalDistribution = new SysFunctionalDistribution();
                     sysFunctionalDistribution.setDeptId(deptVo.getDeptId());
@@ -464,6 +453,16 @@
                         sysFunctionalDistribution.setChooseLab(0);
                     }else if (clauseNumMap.containsKey(s)){
                         sysFunctionalDistribution.setChooseLab(1);
+                        if (deptVo.getDeptType().equals("0")){
+                            Integer i = clauseNumSetNum.get(s);
+                            if (i == null){
+                                i = 0;
+                                clauseNumSetNum.put(s, ++i);
+                            }else {
+                                clauseNumSetNum.put(s, ++i);
+                                clauseNumSet.add(s);
+                            }
+                        }
                     }else {
                         sysFunctionalDistribution.setChooseLab(0);
                     }
@@ -473,6 +472,19 @@
 
             }
             int i = sysFunctionalDistributionMapper.batchInsert(sysFunctionalDistributions);
+            if (clauseNumSet.size() > 0){
+                List<SysFunctionalRemark> sysFunctionalRemarks = new ArrayList<>();
+                for (String clauseNum : clauseNumSet) {
+                    SysFunctionalRemark sysFunctionalRemark = new SysFunctionalRemark();
+                    sysFunctionalRemark.setCompanyId(companyId);
+                    sysFunctionalRemark.setClauseNum(clauseNum);
+                    sysFunctionalRemark.setRemark(" ");
+                    sysFunctionalRemark.setCreateBy(SecurityUtils.getUsername());
+                    sysFunctionalRemark.setCreateTime(LocalDateTime.now());
+                    sysFunctionalRemarks.add(sysFunctionalRemark);
+                }
+                int j = sysFunctionalRemarkMapper.batchInsert(sysFunctionalRemarks);
+            }
             if (i < 1){
                 throw new ApiException("初始化失败!");
             }
@@ -482,6 +494,7 @@
     }
 
     @Override
+    @Transactional(rollbackFor = RuntimeException.class)
     public int saveFunctionalDistribution(FunctionalDistributionVo reqVo) {
 //        Long companyId = SecurityUtils.getCompanyId();
 //        if (!companyId.equals(reqVo.getCompanyId())){
@@ -490,17 +503,36 @@
         List<SysFunctionalDistribution> list = reqVo.getList();
         if (list != null && !list.isEmpty())
         {
-            for (SysFunctionalDistribution sysFunctionalDistribution : list) {
-                sysFunctionalDistribution.setCompanyId(reqVo.getCompanyId());
-                sysFunctionalDistribution.setUpdateBy(SecurityUtils.getUsername());
-                sysFunctionalDistribution.setUpdateTime(LocalDateTime.now());
-            }
+            list.forEach(e ->{
+                e.setCompanyId(reqVo.getCompanyId());
+                e.setUpdateBy(SecurityUtils.getUsername());
+                e.setUpdateTime(LocalDateTime.now());
+            });
+            int i = sysFunctionalDistributionMapper.batchUpdate(list);
         }
-        int i = sysFunctionalDistributionMapper.batchUpdate(list);
 
+
+        List<SysFunctionalRemark> remarks = reqVo.getRemarks();
+        if (remarks != null && !remarks.isEmpty())
+        {
+            sysFunctionalRemarkMapper.delByCompanyId(reqVo.getCompanyId());
+
+            remarks.forEach(e ->{
+                e.setCompanyId(reqVo.getCompanyId());
+                e.setCreateBy(SecurityUtils.getUsername());
+                e.setCreateTime(LocalDateTime.now());
+            });
+
+            int i1 = sysFunctionalRemarkMapper.batchInsert(remarks);
+        }
         return 1;
     }
 
+    @Override
+    public List<SysFunctionalRemark> getFunctionalRemarkList(Long companyId) {
+        return sysFunctionalRemarkMapper.selectListVo(companyId);
+    }
+
 
     private void batchSaveRespon(SysDeptResponsibilityReqVo reqVo) {
         List<Long> delData = reqVo.getDelData();
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/SysUserServiceImpl.java b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/SysUserServiceImpl.java
index 0e472ea..bf7a2e5 100644
--- a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/SysUserServiceImpl.java
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/SysUserServiceImpl.java
@@ -247,7 +247,7 @@
                     throw new ApiException("没有权限操作或者更新上级用户类型的用户");
                 }
             }else{
-                if(userType<=currentUserType){
+                if(userType<currentUserType){
                     throw new ApiException("没有权限操作或者更新上级用户类型的用户");
                 }
             }
diff --git a/multi-system/src/main/resources/mapper/system/CorrectionMapper.xml b/multi-system/src/main/resources/mapper/system/CorrectionMapper.xml
new file mode 100644
index 0000000..e18a045
--- /dev/null
+++ b/multi-system/src/main/resources/mapper/system/CorrectionMapper.xml
@@ -0,0 +1,12 @@
+<?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.CorrectionMapper">
+
+    <select id="selectCorrectionList" resultType="com.gkhy.exam.system.domain.Correction" parameterType="int">
+        select * from correction where  del_flag = 0
+        <if test="companyId != null">
+            and company_id = #{companyId}
+        </if>
+        order by create_time desc
+    </select>
+</mapper>
diff --git a/multi-system/src/main/resources/mapper/system/InconsistentMapper.xml b/multi-system/src/main/resources/mapper/system/InconsistentMapper.xml
new file mode 100644
index 0000000..0f41253
--- /dev/null
+++ b/multi-system/src/main/resources/mapper/system/InconsistentMapper.xml
@@ -0,0 +1,26 @@
+<?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.InconsistentMapper">
+    <resultMap id="BaseResultMap" type="com.gkhy.exam.system.domain.Inconsistent">
+        <id column="id" jdbcType="BIGINT" property="id" />
+        <result column="company_id" jdbcType="INTEGER" property="companyId" />
+        <result column="del_flag" jdbcType="INTEGER" property="delFlag" />
+        <result column="create_by" jdbcType="VARCHAR" property="createBy" />
+        <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
+        <result column="update_by" jdbcType="VARCHAR" property="updateBy" />
+        <result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
+        <result column="inconsistent_name" jdbcType="VARCHAR" property="inconsistentName" />
+        <result column="file_path" jdbcType="VARCHAR" property="filePath" />
+        <result column="format" jdbcType="VARCHAR" property="format" />
+        <result column="year" jdbcType="VARCHAR" property="year" />
+
+    </resultMap>
+    <select id="selectInconsistentList" resultMap="BaseResultMap" parameterType="int">
+            select * from inconsistent where  del_flag = 0
+                <if test="companyId != null">
+                    and company_id = #{companyId}
+                </if>
+        order by create_time desc
+    </select>
+
+</mapper>
diff --git a/multi-system/src/main/resources/mapper/system/InternalAuditCheckMapper.xml b/multi-system/src/main/resources/mapper/system/InternalAuditCheckMapper.xml
new file mode 100644
index 0000000..39d7b5d
--- /dev/null
+++ b/multi-system/src/main/resources/mapper/system/InternalAuditCheckMapper.xml
@@ -0,0 +1,36 @@
+<?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.InternalAuditCheckMapper">
+
+    <resultMap id="BaseResultMap" type="com.gkhy.exam.system.domain.InternalAuditCheck">
+        <id column="id" jdbcType="BIGINT" property="id" />
+        <result column="company_id" jdbcType="INTEGER" property="companyId" />
+        <result column="dept_id" jdbcType="BIGINT" property="deptId" />
+        <result column="audit_id" jdbcType="BIGINT" property="auditId" />
+        <result column="audit_date" jdbcType="TIMESTAMP" property="auditDate" />
+        <result column="caluse_num" jdbcType="VARCHAR" property="caluseNum" />
+        <result column="caluse_content" jdbcType="VARCHAR" property="caluseContent" />
+        <result column="check_record" jdbcType="VARCHAR" property="checkRecord" />
+        <result column="inconsistent" jdbcType="VARCHAR" property="inconsistent" />
+        <result column="del_flag" jdbcType="INTEGER" property="delFlag" />
+        <result column="create_by" jdbcType="VARCHAR" property="createBy" />
+        <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
+        <result column="update_by" jdbcType="VARCHAR" property="updateBy" />
+        <result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
+    </resultMap>
+
+    <select id="selectInternalAuditCheckList" parameterType="int" resultMap="BaseResultMap">
+            select
+                id, company_id, dept_id, audit_id, audit_date, caluse_num, caluse_content, check_record, inconsistent, del_flag, create_by, create_time, update_by, update_time
+            from internal_audit_check
+            where del_flag = 0
+                <if test="companyId != null">
+                    and company_id = #{companyId}
+                </if>
+            order by create_time desc
+    </select>
+
+
+
+
+</mapper>
diff --git a/multi-system/src/main/resources/mapper/system/InternalAuditCheckPersonMapper.xml b/multi-system/src/main/resources/mapper/system/InternalAuditCheckPersonMapper.xml
new file mode 100644
index 0000000..40df54d
--- /dev/null
+++ b/multi-system/src/main/resources/mapper/system/InternalAuditCheckPersonMapper.xml
@@ -0,0 +1,27 @@
+<?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.InternalAuditCheckPersonMapper">
+
+
+    <insert id="batchInsert">
+
+        insert into internal_audit_check_person (audit_user_name, audit_user_id,audit_id,create_time,create_by) values
+        <foreach item="item" index="index" collection="list" separator=",">
+            (#{item.auditUserName}, #{item.auditUserId}, #{item.auditId},#{createTime},#{createBy}})
+        </foreach>
+    </insert>
+
+    <update id="batchUpdate" parameterType="java.util.List">
+        <foreach collection="list" item="item" separator=";">
+            update internal_audit_check_person
+            <trim prefix="SET" suffixOverrides=",">
+                <if test="item.auditUserName != null ">audit_user_name = #{item.auditUserName},</if>
+                <if test="item.auditUserId != null ">audit_user_id = #{item.auditUserId},</if>
+                <if test="item.updateBy != null">update_by = #{item.updateBy},</if>
+                <if test="item.updateTime != null">update_time = #{item.updateTime},</if>
+            </trim>
+            where id = #{item.id}
+        </foreach>
+    </update>
+
+</mapper>
diff --git a/multi-system/src/main/resources/mapper/system/ManagementPlanMapper.xml b/multi-system/src/main/resources/mapper/system/ManagementPlanMapper.xml
new file mode 100644
index 0000000..8d48686
--- /dev/null
+++ b/multi-system/src/main/resources/mapper/system/ManagementPlanMapper.xml
@@ -0,0 +1,12 @@
+<?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.ManagementPlanMapper">
+    <select id="selectManagementPlanById" resultType="com.gkhy.exam.system.domain.ManagementPlan">
+        select * from management_plan where del_flag=0
+        <if test="companyId != null">
+            and company_id = #{companyId}
+        </if>
+        order by create_time desc
+    </select>
+
+</mapper>
diff --git a/multi-system/src/main/resources/mapper/system/ManagementReviewMapper.xml b/multi-system/src/main/resources/mapper/system/ManagementReviewMapper.xml
new file mode 100644
index 0000000..a431466
--- /dev/null
+++ b/multi-system/src/main/resources/mapper/system/ManagementReviewMapper.xml
@@ -0,0 +1,13 @@
+<?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.ManagementReviewMapper">
+
+
+    <select id="selectManagementReviewList" resultType="com.gkhy.exam.system.domain.ManagementReview">
+        select * from management_review where review_type = #{reviewType} and del_flag = 0
+        <if test="companyId != null">
+            and company_id = #{companyId}
+        </if>
+        order by create_time desc
+    </select>
+</mapper>
diff --git a/multi-system/src/main/resources/mapper/system/MeetingsMapper.xml b/multi-system/src/main/resources/mapper/system/MeetingsMapper.xml
new file mode 100644
index 0000000..d929acf
--- /dev/null
+++ b/multi-system/src/main/resources/mapper/system/MeetingsMapper.xml
@@ -0,0 +1,12 @@
+<?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.MeetingsMapper">
+
+    <select id="selectMeetingsList" resultType="com.gkhy.exam.system.domain.Meetings">
+        select * from meetings where  del_flag = 0
+        <if test="companyId != null">
+            and company_id = #{companyId}
+        </if>
+        order by create_time desc
+    </select>
+</mapper>
diff --git a/multi-system/src/main/resources/mapper/system/SysDeptMapper.xml b/multi-system/src/main/resources/mapper/system/SysDeptMapper.xml
index f39e55c..c4420c6 100644
--- a/multi-system/src/main/resources/mapper/system/SysDeptMapper.xml
+++ b/multi-system/src/main/resources/mapper/system/SysDeptMapper.xml
@@ -73,7 +73,7 @@
 		<if test="status != null and status != ''">
 			AND d.status = #{status}
 		</if>
-		order by  d.order_num desc
+		order by d.dept_type desc, d.order_num desc
     </select>
 	<resultMap type="com.gkhy.exam.system.domain.vo.DeptVo" id="DeptVoPageResult" extends="SysDeptResult">
 		<collection property="caluseVO1List" ofType="com.gkhy.exam.system.domain.vo.CaluseVO1" column="deptId = dept_id" select="getReponseData">
@@ -118,7 +118,7 @@
 		<if test="status != null and status != ''">
 			AND d.status = #{status}
 		</if>
-		order by  d.order_num desc
+		order by d.dept_type desc, d.order_num desc
 	</select>
 
 	<select id="getReponseData" resultType="com.gkhy.exam.system.domain.vo.CaluseVO1">
@@ -249,6 +249,7 @@
  			<if test="status != null">status,</if>
  			<if test="createBy != null and createBy != ''">create_by,</if>
 			<if test="responsType != null and responsType != ''">respons_type,</if>
+			<if test="deptType != null and deptType != ''">dept_type,</if>
  			create_time
  		)values(
  			<if test="deptId != null and deptId != 0">#{deptId},</if>
@@ -264,6 +265,7 @@
  			<if test="status != null">#{status},</if>
  			<if test="createBy != null and createBy != ''">#{createBy},</if>
 			<if test="responsType != null and responsType != ''">#{responsType},</if>
+			<if test="deptType != null and deptType != ''">#{deptType},</if>
  			sysdate()
  		)
 	</insert>
@@ -282,6 +284,7 @@
  			<if test="status != null and status != ''">status = #{status},</if>
  			<if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
 			<if test="responsType != null and responsType != ''">respons_type = #{responsType},</if>
+			<if test="deptType != null and deptType != ''">dept_type = #{deptType},</if>
  			update_time = sysdate()
  		</set>
  		where dept_id = #{deptId}
diff --git a/multi-system/src/main/resources/mapper/system/SysFunctionalRemarkMapper.xml b/multi-system/src/main/resources/mapper/system/SysFunctionalRemarkMapper.xml
new file mode 100644
index 0000000..b093991
--- /dev/null
+++ b/multi-system/src/main/resources/mapper/system/SysFunctionalRemarkMapper.xml
@@ -0,0 +1,54 @@
+<?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.SysFunctionalRemarkMapper">
+
+	<resultMap type="com.gkhy.exam.system.domain.SysFunctionalRemark" id="SysFunctionalRemarkResult">
+
+		<result property="companyId"   column="company_id"   />
+		<result property="clauseNum"  column="clause_num"   />
+		<result property="remark"   column="remark"   />
+		<result property="createBy"   column="create_by"   />
+		<result property="createTime" column="create_time" />
+		<result property="updateBy"   column="update_by"   />
+		<result property="updateTime" column="update_time" />
+	</resultMap>
+
+	<select id="selectListVo" parameterType="long" resultMap="SysFunctionalRemarkResult">
+		select
+		a.company_id,
+		a.clause_num,
+		a.remark,
+		a.create_by,
+		a.create_time,
+		a.update_by,
+			a.update_time
+		from sys_functional_remark a
+		where a.company_id = #{companyId}
+		order by a.clause_num asc
+
+	</select>
+	<insert id="batchInsert">
+		insert into sys_functional_remark(company_id,clause_num,remark,create_by,create_time) values
+		<foreach item="item" index="index" collection="list" separator=",">
+			(#{item.companyId},#{item.clauseNum},#{item.remark},#{item.createBy},#{item.createTime})
+		</foreach>
+	</insert>
+	<update id="batchUpdate" parameterType="java.util.List">
+		<foreach collection="list" item="item" separator=";">
+			update sys_functional_remark
+			<trim prefix="SET" suffixOverrides=",">
+				<if test="item.chooseLab != null">remark = #{item.remark},</if>
+				<if test="item.updateBy != null">update_by = #{item.updateBy},</if>
+				<if test="item.updateTime != null">update_time = #{item.updateTime},</if>
+			</trim>
+			where company_id = #{item.companyId} and clause_num = #{item.clauseNum}
+		</foreach>
+	</update>
+
+	<delete id="delByCompanyId" parameterType="Long">
+		delete from sys_functional_remark where company_id = #{companyId}
+	</delete>
+
+</mapper> 
\ No newline at end of file
diff --git a/multi-system/src/main/resources/mapper/system/SysUserMapper.xml b/multi-system/src/main/resources/mapper/system/SysUserMapper.xml
index b4be28b..aaa9a40 100644
--- a/multi-system/src/main/resources/mapper/system/SysUserMapper.xml
+++ b/multi-system/src/main/resources/mapper/system/SysUserMapper.xml
@@ -32,6 +32,11 @@
         <result property="deptId"        column="dept_id"          />
         <result property="deptName"        column="dept_name"          />
         <result  property="entryTime"        column="entry_time"          />
+        <result property="resignTime"        column="resign_time"          />
+        <result property="personType"        column="person_type"          />
+        <result property="age"        column="age"          />
+        <result property="positional"        column="positional"          />
+
     </resultMap>
 
 
@@ -49,7 +54,7 @@
     <select id="userList"  resultMap="SysUserResult">
         select u.id,u.username,u.name,u.user_type,u.phone,u.parent_id,u.company_id,u.sex,u.status,u.del_flag,u.version,
                u.login_ip,u.login_date,u.create_by,u.create_time,u.remark,c.name as company_name,su.name as parent_name,
-                u.dept_id,d.dept_name,u.duty,u.post,u.id_card,u.entry_time
+                u.dept_id,d.dept_name,u.duty,u.post,u.id_card,u.entry_time,u.resign_time,u.person_type,u.age,u.positional
         from sys_user u
         left join sys_company c on c.id=u.company_id
         left join sys_user su on su.id=u.parent_id and u.parent_id!=0
@@ -102,7 +107,7 @@
 
     <select id="getUserById" resultMap="SysUserResult">
         select u.id,u.username,u.user_type,u.name,u.phone,u.parent_id,u.company_id,u.status,u.sex,u.del_flag,u.version,c.name as company_name,
-               c.remain_period,su.name as parent_name,u.dept_id,d.dept_name,u.duty,u.post,u.id_card,u.entry_time
+               c.remain_period,su.name as parent_name,u.dept_id,d.dept_name,u.duty,u.post,u.id_card,u.entry_time,u.resign_time,u.person_type,u.age,u.positional
         from sys_user u
        left join sys_company c on c.id=u.company_id
        left join sys_user su on su.id=u.parent_id and u.parent_id!=0
diff --git a/multi-system/src/test/java/com/gkhy/exam/system/MybatisPlusGenerator.java b/multi-system/src/test/java/com/gkhy/exam/system/MybatisPlusGenerator.java
index dd1fc3c..ab709e9 100644
--- a/multi-system/src/test/java/com/gkhy/exam/system/MybatisPlusGenerator.java
+++ b/multi-system/src/test/java/com/gkhy/exam/system/MybatisPlusGenerator.java
@@ -13,16 +13,16 @@
 public class MybatisPlusGenerator {
     public static void main(String[] args) {
         System.out.println(System.getProperty("user.dir"));
-        String model="/exam-system";
+        String model="/multi-system";
         // 数据库配置
         DataSourceConfig.Builder dataSourceConfigBuilder = new DataSourceConfig
-                .Builder("jdbc:mysql://192.168.2.16:7006/train_exam" +
+                .Builder("jdbc:mysql://192.168.2.12:7006/train_exam" +
                 "?useSSL=false&allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&autoReconnect=true"
                 , "root", "2farwL3yPXfbH2AP");
         FastAutoGenerator.create(dataSourceConfigBuilder)
                 // 全局配置
                 .globalConfig((scanner, builder) -> {
-                    builder.author("kzy")
+                    builder.author("hh")
                             // 覆盖已生成文件
                             .fileOverride()
                             // 指定输出目录

--
Gitblit v1.9.2