heheng
2 天以前 a8a6760635f0642a2cbf61854b5587d9d0944985
新功能加问题修复
已修改12个文件
已添加43个文件
2311 ■■■■■ 文件已修改
multi-admin/src/main/java/com/gkhy/exam/admin/controller/system/SysDeptController.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/CorrectionController.java 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/InconsistentController.java 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/InternalAuditCheckController.java 72 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/ManagementPlanController.java 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/ManagementReviewController.java 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/MeetingsController.java 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-common/src/main/java/com/gkhy/exam/common/domain/entity/SysDept.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-common/src/main/java/com/gkhy/exam/common/domain/entity/SysUser.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-common/src/main/java/com/gkhy/exam/common/enums/UserTypeEnum.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-system/src/main/java/com/gkhy/exam/system/domain/Correction.java 80 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-system/src/main/java/com/gkhy/exam/system/domain/Inconsistent.java 76 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-system/src/main/java/com/gkhy/exam/system/domain/InternalAuditCheck.java 90 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-system/src/main/java/com/gkhy/exam/system/domain/InternalAuditCheckPerson.java 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-system/src/main/java/com/gkhy/exam/system/domain/ManagementPlan.java 139 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-system/src/main/java/com/gkhy/exam/system/domain/ManagementReview.java 85 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-system/src/main/java/com/gkhy/exam/system/domain/Meetings.java 79 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-system/src/main/java/com/gkhy/exam/system/domain/SysFunctionalRemark.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-system/src/main/java/com/gkhy/exam/system/domain/vo/FunctionalDistributionVo.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-system/src/main/java/com/gkhy/exam/system/domain/vo/InternalAuditCheckVo.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-system/src/main/java/com/gkhy/exam/system/domain/vo/SysDeptSaveDTOReq.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-system/src/main/java/com/gkhy/exam/system/mapper/CorrectionMapper.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-system/src/main/java/com/gkhy/exam/system/mapper/InconsistentMapper.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-system/src/main/java/com/gkhy/exam/system/mapper/InternalAuditCheckMapper.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-system/src/main/java/com/gkhy/exam/system/mapper/InternalAuditCheckPersonMapper.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-system/src/main/java/com/gkhy/exam/system/mapper/ManagementPlanMapper.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-system/src/main/java/com/gkhy/exam/system/mapper/ManagementReviewMapper.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-system/src/main/java/com/gkhy/exam/system/mapper/MeetingsMapper.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-system/src/main/java/com/gkhy/exam/system/mapper/SysFunctionalRemarkMapper.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-system/src/main/java/com/gkhy/exam/system/service/CorrectionService.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-system/src/main/java/com/gkhy/exam/system/service/ISysDeptService.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-system/src/main/java/com/gkhy/exam/system/service/InconsistentService.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-system/src/main/java/com/gkhy/exam/system/service/InternalAuditCheckService.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-system/src/main/java/com/gkhy/exam/system/service/ManagementPlanService.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-system/src/main/java/com/gkhy/exam/system/service/ManagementReviewService.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-system/src/main/java/com/gkhy/exam/system/service/MeetingsService.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-system/src/main/java/com/gkhy/exam/system/service/impl/CorrectionServiceImpl.java 74 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-system/src/main/java/com/gkhy/exam/system/service/impl/InconsistentServiceImpl.java 72 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-system/src/main/java/com/gkhy/exam/system/service/impl/InternalAuditCheckServiceImpl.java 201 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-system/src/main/java/com/gkhy/exam/system/service/impl/ManagementPlanServiceImpl.java 79 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-system/src/main/java/com/gkhy/exam/system/service/impl/ManagementReviewServiceImpl.java 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-system/src/main/java/com/gkhy/exam/system/service/impl/MeetingsServiceImpl.java 70 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-system/src/main/java/com/gkhy/exam/system/service/impl/SysDeptServiceImpl.java 90 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-system/src/main/java/com/gkhy/exam/system/service/impl/SysUserServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-system/src/main/resources/mapper/system/CorrectionMapper.xml 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-system/src/main/resources/mapper/system/InconsistentMapper.xml 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-system/src/main/resources/mapper/system/InternalAuditCheckMapper.xml 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-system/src/main/resources/mapper/system/InternalAuditCheckPersonMapper.xml 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-system/src/main/resources/mapper/system/ManagementPlanMapper.xml 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-system/src/main/resources/mapper/system/ManagementReviewMapper.xml 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-system/src/main/resources/mapper/system/MeetingsMapper.xml 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-system/src/main/resources/mapper/system/SysDeptMapper.xml 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-system/src/main/resources/mapper/system/SysFunctionalRemarkMapper.xml 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-system/src/main/resources/mapper/system/SysUserMapper.xml 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-system/src/test/java/com/gkhy/exam/system/MybatisPlusGenerator.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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 = "保存职能分配")
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);
    }
}
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);
    }
}
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);
    }
}
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);
    }
}
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);
    }
}
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);
    }
}
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否")
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;
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;
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
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);
}
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);
}
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);
}
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);
}
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);
}
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);
}
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);
}
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);
}
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);
}
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);
    /**
     * 修改保存部门信息
     * 
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);
}
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);
}
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);
}
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);
}
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);
}
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();
    }
}
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();
    }
}
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);
    }
}
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();
    }
}
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();
    }
}
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();
    }
}
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();
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("没有权限操作或者更新上级用户类型的用户");
                }
            }
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>
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>
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>
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>
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>
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>
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>
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}
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>
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
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()
                            // 指定输出目录