From c26e227abe288476c11b0a8b7875045e71efa14c Mon Sep 17 00:00:00 2001
From: “djh” <“3298565835@qq.com”>
Date: Thu, 30 Apr 2026 17:30:00 +0800
Subject: [PATCH] 新增修改
---
multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/InternalAuditController.java | 32 +++
multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/ManagementPlanController.java | 12 +
multi-system/src/main/java/com/gkhy/exam/system/service/InternalAuditCarryService.java | 2
multi-system/src/main/java/com/gkhy/exam/system/service/ManagementReviewService.java | 4
multi-system/src/main/java/com/gkhy/exam/system/service/impl/ManagementReviewServiceImpl.java | 76 ++++++++
multi-system/src/main/resources/mapper/system/ManagementReviewMapper.xml | 3
multi-system/src/main/java/com/gkhy/exam/system/mapper/ManagementReviewMapper.java | 2
multi-system/src/main/java/com/gkhy/exam/system/service/ManagementPlanService.java | 2
multi-system/src/main/resources/mapper/system/ExPhaseStudentMapper.xml | 3
multi-system/src/main/java/com/gkhy/exam/system/service/impl/InternalAuditCarryServiceImpl.java | 89 +++++++++
multi-system/src/main/java/com/gkhy/exam/system/service/impl/InternalAuditCheckServiceImpl.java | 84 +++++++++
multi-system/src/main/java/com/gkhy/exam/system/service/impl/InternalAuditPlanServiceImpl.java | 66 +++++++
multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/ManagementReviewController.java | 24 ++
multi-system/src/main/java/com/gkhy/exam/system/service/impl/ManagementPlanServiceImpl.java | 77 ++++++++
multi-system/src/main/resources/mapper/system/InternalAuditCarryMapper.xml | 3
multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/InternalAuditCheckController.java | 20 ++
multi-system/src/main/resources/mapper/system/InternalAuditCheckMapper.xml | 3
multi-system/src/main/resources/mapper/system/InternalAuditPlanMapper.xml | 3
multi-system/src/main/java/com/gkhy/exam/system/mapper/InternalAuditCheckMapper.java | 2
multi-system/src/main/java/com/gkhy/exam/system/service/InternalAuditCheckService.java | 4
multi-system/src/main/java/com/gkhy/exam/system/service/InternalAuditPlanService.java | 2
21 files changed, 499 insertions(+), 14 deletions(-)
diff --git a/multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/InternalAuditCheckController.java b/multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/InternalAuditCheckController.java
index cd77dfc..f8ac9f5 100644
--- a/multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/InternalAuditCheckController.java
+++ b/multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/InternalAuditCheckController.java
@@ -35,10 +35,11 @@
@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 = "year", dataType = "String" , required = false, value = "年份")
})
@GetMapping("/selectInternalAuditCheckList")
- public CommonResult selectInternalAuditCheckList(Integer companyId){
- return CommonResult.success(internalAuditCheckService.selectInternalAuditCheckList(companyId));
+ public CommonResult selectInternalAuditCheckList(Integer companyId, String year){
+ return CommonResult.success(internalAuditCheckService.selectInternalAuditCheckList(companyId,year));
}
@RepeatSubmit
@ApiOperation(value = "新增内审检查")
@@ -60,6 +61,21 @@
return internalAuditCheckService.deletedInternalAuditCheck(id);
}
+
+ @RepeatSubmit
+ @ApiOperation(value = "一键复制内审检查")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "query", name = "companyId", dataType = "int", required = false, value = "公司id,不传则使用当前登录用户公司"),
+ @ApiImplicitParam(paramType = "query", name = "sourceYear", dataType = "String", required = true, value = "源年份"),
+ @ApiImplicitParam(paramType = "query", name = "targetYear", dataType = "String", required = true, value = "目标年份"),
+ })
+ @GetMapping("/copyInternalAuditCheck")
+ public CommonResult copyInternalAuditCheck(
+ @RequestParam(required = false) Integer companyId,
+ @RequestParam String sourceYear,
+ @RequestParam String targetYear) {
+ return internalAuditCheckService.copyInternalAuditCheck(companyId, sourceYear, targetYear);
+ }
// @ApiOperation(value = "内审检查详情")
// @ApiImplicitParams({
// @ApiImplicitParam(paramType = "query", name = "id", dataType = "int", required = true, value = "id"),
diff --git a/multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/InternalAuditController.java b/multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/InternalAuditController.java
index 4343dff..87ee6d3 100644
--- a/multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/InternalAuditController.java
+++ b/multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/InternalAuditController.java
@@ -1,5 +1,6 @@
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.*;
import com.gkhy.exam.system.service.*;
@@ -86,6 +87,21 @@
@GetMapping("/plan/deleted")
public CommonResult deletedQuality(@RequestParam("planId") Integer planId){
return planService.deletedPlan(planId);
+ }
+
+ @RepeatSubmit
+ @ApiOperation(value = "一键复制内审策划")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "query", name = "companyId", dataType = "int", required = false, value = "公司id,不传则使用当前登录用户公司"),
+ @ApiImplicitParam(paramType = "query", name = "sourceYear", dataType = "String", required = true, value = "源年份"),
+ @ApiImplicitParam(paramType = "query", name = "targetYear", dataType = "String", required = true, value = "目标年份"),
+ })
+ @GetMapping("/plan/copy")
+ public CommonResult copyInternalAuditPlan(
+ @RequestParam(required = false) Integer companyId,
+ @RequestParam String sourceYear,
+ @RequestParam String targetYear) {
+ return planService.copyInternalAuditPlan(companyId, sourceYear, targetYear);
}
@@ -239,6 +255,22 @@
return carryService.deletedCarry(carryId);
}
+ @RepeatSubmit
+ @ApiOperation(value = "一键复制内审计划实施")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "query", name = "companyId", dataType = "int", required = false, value = "公司id,不传则使用当前登录用户公司"),
+ @ApiImplicitParam(paramType = "query", name = "sourceYear", dataType = "String", required = true, value = "源年份"),
+ @ApiImplicitParam(paramType = "query", name = "targetYear", dataType = "String", required = true, value = "目标年份"),
+ })
+ @GetMapping("/carry/copy")
+ public CommonResult copyInternalAuditCarry(
+ @RequestParam(required = false) Integer companyId,
+ @RequestParam String sourceYear,
+ @RequestParam String targetYear) {
+ return carryService.copyInternalAuditCarry(companyId, sourceYear, targetYear);
+ }
+
+
diff --git a/multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/ManagementPlanController.java b/multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/ManagementPlanController.java
index b2f3b57..8c2e195 100644
--- a/multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/ManagementPlanController.java
+++ b/multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/ManagementPlanController.java
@@ -61,4 +61,16 @@
return managementPlanService.deletedManagementPlan(id);
}
+ @RepeatSubmit
+ @ApiOperation(value = "一键复制管理审批计划")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "query", name = "companyId", dataType = "int", required = false, value = "公司id,不传则使用当前登录用户公司"),
+ @ApiImplicitParam(paramType = "query", name = "sourceYear", dataType = "String", required = true, value = "源年份"),
+ @ApiImplicitParam(paramType = "query", name = "targetYear", dataType = "String", required = true, value = "目标年份"),
+ })
+ @GetMapping("/copyManagementPlan")
+ public CommonResult copyManagementPlan(@RequestParam(required = false) Integer companyId, @RequestParam String sourceYear, @RequestParam String targetYear) {
+ return managementPlanService.copyManagementPlan(companyId, sourceYear, targetYear);
+ }
+
}
diff --git a/multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/ManagementReviewController.java b/multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/ManagementReviewController.java
index 1d7b227..7ee663a 100644
--- a/multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/ManagementReviewController.java
+++ b/multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/ManagementReviewController.java
@@ -35,11 +35,12 @@
@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报告")
+ @ApiImplicitParam(paramType = "query", name = "reviewType", dataType = "int", required = true, value = "1会议、2输入、3报告"),
+ @ApiImplicitParam(paramType = "query", name = "year", dataType = "int", required = false, value = "年份")
})
@GetMapping("/selectMeetingsList")
- public CommonResult selectMeetingsList(Integer companyId,@RequestParam("reviewType") Integer reviewType){
- return CommonResult.success(managementReviewService.selectManagementReviewList(companyId,reviewType));
+ public CommonResult selectMeetingsList(Integer companyId,@RequestParam("reviewType") Integer reviewType,String year){
+ return CommonResult.success(managementReviewService.selectManagementReviewList(companyId,reviewType,year));
}
@RepeatSubmit
@ApiOperation(value = "新增管理评审会议、输入、报告")
@@ -61,4 +62,21 @@
return managementReviewService.deletedManagementReview(id);
}
+ @RepeatSubmit
+ @ApiOperation(value = "一键复制管理评审会议、输入、报告")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "query", name = "companyId", dataType = "int", required = false, value = "公司id,不传则使用当前登录用户公司"),
+ @ApiImplicitParam(paramType = "query", name = "sourceYear", dataType = "String", required = true, value = "源年份"),
+ @ApiImplicitParam(paramType = "query", name = "targetYear", dataType = "String", required = true, value = "目标年份"),
+ @ApiImplicitParam(paramType = "query", name = "reviewType", dataType = "int", required = true, value = "评审类型:1会议、2输入、3报告")
+ })
+ @GetMapping("/copyManagementReview")
+ public CommonResult copyManagementReview(
+ @RequestParam(required = false) Integer companyId,
+ @RequestParam String sourceYear,
+ @RequestParam String targetYear,
+ @RequestParam Integer reviewType) {
+ return managementReviewService.copyManagementReview(companyId, sourceYear, targetYear, reviewType);
+ }
+
}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/mapper/InternalAuditCheckMapper.java b/multi-system/src/main/java/com/gkhy/exam/system/mapper/InternalAuditCheckMapper.java
index b213a7a..8b44759 100644
--- a/multi-system/src/main/java/com/gkhy/exam/system/mapper/InternalAuditCheckMapper.java
+++ b/multi-system/src/main/java/com/gkhy/exam/system/mapper/InternalAuditCheckMapper.java
@@ -17,7 +17,7 @@
*/
@Mapper
public interface InternalAuditCheckMapper extends BaseMapper<InternalAuditCheck> {
- List<InternalAuditCheck> selectInternalAuditCheckList(@Param("companyId") Integer companyId);
+ List<InternalAuditCheck> selectInternalAuditCheckList(@Param("companyId") Integer companyId, @Param("year") String year);
int getStatisticData(@Param("companyId") Integer companyId, @Param("startTime") String startTime, @Param("endTime") String endTime);
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/mapper/ManagementReviewMapper.java b/multi-system/src/main/java/com/gkhy/exam/system/mapper/ManagementReviewMapper.java
index 9d6c3ed..e83102c 100644
--- a/multi-system/src/main/java/com/gkhy/exam/system/mapper/ManagementReviewMapper.java
+++ b/multi-system/src/main/java/com/gkhy/exam/system/mapper/ManagementReviewMapper.java
@@ -18,5 +18,5 @@
@Mapper
public interface ManagementReviewMapper extends BaseMapper<ManagementReview> {
- List<ManagementReview> selectManagementReviewList(@Param("companyId") Integer companyId, @Param("reviewType") Integer reviewType);
+ List<ManagementReview> selectManagementReviewList(@Param("companyId") Integer companyId, @Param("reviewType") Integer reviewType, @Param("year") String year);
}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/InternalAuditCarryService.java b/multi-system/src/main/java/com/gkhy/exam/system/service/InternalAuditCarryService.java
index 8aa6c49..06a3b3b 100644
--- a/multi-system/src/main/java/com/gkhy/exam/system/service/InternalAuditCarryService.java
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/InternalAuditCarryService.java
@@ -13,4 +13,6 @@
CommonResult updateCarry(InternalAuditCarry carry);
CommonResult deletedCarry(Integer carryId);
+
+ CommonResult copyInternalAuditCarry(Integer companyId, String sourceYear, String targetYear);
}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/InternalAuditCheckService.java b/multi-system/src/main/java/com/gkhy/exam/system/service/InternalAuditCheckService.java
index 22ca8d8..297c19d 100644
--- a/multi-system/src/main/java/com/gkhy/exam/system/service/InternalAuditCheckService.java
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/InternalAuditCheckService.java
@@ -17,7 +17,7 @@
* @since 2025-07-10 15:11:50
*/
public interface InternalAuditCheckService extends IService<InternalAuditCheck> {
- CommonPage selectInternalAuditCheckList(Integer companyId);
+ CommonPage selectInternalAuditCheckList(Integer companyId, String year);
CommonResult insertInternalAuditCheck(InternalAuditCheck internalAuditCheck);
@@ -29,5 +29,7 @@
List<InternalAuditCheck> selectByMap(Map<String, Object> stringObjectHashMap);
+ CommonResult copyInternalAuditCheck(Integer companyId, String sourceYear, String targetYear);
+
// CommonResult internalAuditCheckInfo(Integer id);
}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/InternalAuditPlanService.java b/multi-system/src/main/java/com/gkhy/exam/system/service/InternalAuditPlanService.java
index 03c16c9..4aa2ab0 100644
--- a/multi-system/src/main/java/com/gkhy/exam/system/service/InternalAuditPlanService.java
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/InternalAuditPlanService.java
@@ -13,4 +13,6 @@
CommonResult updatePlan(InternalAuditPlan plan);
CommonResult deletedPlan(Integer planId);
+
+ CommonResult copyInternalAuditPlan(Integer companyId, String sourceYear, String targetYear);
}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/ManagementPlanService.java b/multi-system/src/main/java/com/gkhy/exam/system/service/ManagementPlanService.java
index 5901495..6fb1a6e 100644
--- a/multi-system/src/main/java/com/gkhy/exam/system/service/ManagementPlanService.java
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/ManagementPlanService.java
@@ -23,4 +23,6 @@
CommonResult deletedManagementPlan(Integer id);
+ CommonResult copyManagementPlan(Integer companyId, String sourceYear, String targetYear);
+
}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/ManagementReviewService.java b/multi-system/src/main/java/com/gkhy/exam/system/service/ManagementReviewService.java
index cb3b65c..e695780 100644
--- a/multi-system/src/main/java/com/gkhy/exam/system/service/ManagementReviewService.java
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/ManagementReviewService.java
@@ -14,11 +14,13 @@
* @since 2025-07-10 15:11:50
*/
public interface ManagementReviewService extends IService<ManagementReview> {
- CommonPage selectManagementReviewList(Integer companyId,Integer reviewType);
+ CommonPage selectManagementReviewList(Integer companyId,Integer reviewType,String year);
CommonResult insertManagementReview(ManagementReview managementReview);
CommonResult updateManagementReview(ManagementReview managementReview);
CommonResult deletedManagementReview(Integer id);
+
+ CommonResult copyManagementReview(Integer companyId, String sourceYear, String targetYear, Integer reviewType);
}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/InternalAuditCarryServiceImpl.java b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/InternalAuditCarryServiceImpl.java
index ee96db9..275c285 100644
--- a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/InternalAuditCarryServiceImpl.java
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/InternalAuditCarryServiceImpl.java
@@ -1,5 +1,8 @@
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.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.gkhy.exam.common.api.CommonPage;
@@ -18,6 +21,7 @@
import com.gkhy.exam.system.service.InternalAuditCheckService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.time.LocalDate;
@@ -297,4 +301,89 @@
carryMapper.updateById(internalAuditCarry);
return CommonResult.success();
}
+
+
+ @Override
+ @Transactional
+ public CommonResult copyInternalAuditCarry(Integer companyId, String sourceYear, String targetYear) {
+ if (companyId == null) {
+ companyId = SecurityUtils.getCompanyId().intValue();
+ }
+
+ if (sourceYear == null || sourceYear.trim().isEmpty()) {
+ return CommonResult.failed("源年份不能为空");
+ }
+
+ if (targetYear == null || targetYear.trim().isEmpty()) {
+ return CommonResult.failed("目标年份不能为空");
+ }
+
+ LambdaUpdateWrapper<InternalAuditCarry> deleteWrapper = new LambdaUpdateWrapper<>();
+ deleteWrapper.eq(InternalAuditCarry::getCompanyId, companyId)
+ .eq(InternalAuditCarry::getYear, targetYear)
+ .eq(InternalAuditCarry::getDelFlag, 1)
+ .set(InternalAuditCarry::getDelFlag, 2)
+ .set(InternalAuditCarry::getUpdateBy, SecurityUtils.getUsername())
+ .set(InternalAuditCarry::getUpdateTime, LocalDateTime.now());
+ carryMapper.update(new InternalAuditCarry(), deleteWrapper);
+
+ LambdaQueryWrapper<InternalAuditCarry> queryWrapperSource = new LambdaQueryWrapper<>();
+ queryWrapperSource.eq(InternalAuditCarry::getCompanyId, companyId)
+ .eq(InternalAuditCarry::getYear, sourceYear)
+ .eq(InternalAuditCarry::getDelFlag, 1);
+ List<InternalAuditCarry> sourceCarries = carryMapper.selectList(queryWrapperSource);
+
+ if (ObjectUtil.isEmpty(sourceCarries)) {
+ return CommonResult.success("源年份无相关数据");
+ }
+
+ for (InternalAuditCarry sourceCarry : sourceCarries) {
+ InternalAuditCarry newCarry = new InternalAuditCarry();
+ newCarry.setCompanyId(sourceCarry.getCompanyId());
+ newCarry.setYear(targetYear);
+ newCarry.setAuditPurpose(sourceCarry.getAuditPurpose());
+ newCarry.setReviewBasis(sourceCarry.getReviewBasis());
+ newCarry.setReviewScope(sourceCarry.getReviewScope());
+ newCarry.setReviewStart(sourceCarry.getReviewStart());
+ newCarry.setReviewEnd(sourceCarry.getReviewEnd());
+ newCarry.setReviewPerson(sourceCarry.getReviewPerson());
+ newCarry.setFirstStarttime(sourceCarry.getFirstStarttime());
+ newCarry.setFirstEndtime(sourceCarry.getFirstEndtime());
+ newCarry.setLastStarttime(sourceCarry.getLastStarttime());
+ newCarry.setLastEndtime(sourceCarry.getLastEndtime());
+ newCarry.setCompilationId(sourceCarry.getCompilationId());
+ newCarry.setProofreadId(sourceCarry.getProofreadId());
+ newCarry.setCheckId(sourceCarry.getCheckId());
+ newCarry.setRatifyId(sourceCarry.getRatifyId());
+ newCarry.setDelFlag(1);
+ newCarry.setCreateBy(SecurityUtils.getUsername());
+ newCarry.setCreateTime(LocalDateTime.now());
+ newCarry.setUpdateBy(SecurityUtils.getUsername());
+ newCarry.setUpdateTime(LocalDateTime.now());
+
+ int insert = carryMapper.insert(newCarry);
+ if (insert <= 0) {
+ throw new RuntimeException("复制内审计划实施主表数据失败");
+ }
+
+ List<InternalAuditCarryDept> sourceDeptList = carryMapper.selectCarryDeptList(sourceCarry.getId());
+ if (ObjectUtil.isNotEmpty(sourceDeptList)) {
+ List<InternalAuditCarryDept> newDeptList = new ArrayList<>();
+ for (InternalAuditCarryDept sourceDept : sourceDeptList) {
+ InternalAuditCarryDept newDept = new InternalAuditCarryDept();
+ newDept.setCarryId(newCarry.getId());
+ newDept.setDeptId(sourceDept.getDeptId());
+ newDept.setCheckId(sourceDept.getCheckId());
+ newDept.setDate(sourceDept.getDate());
+ newDept.setStartTime(sourceDept.getStartTime());
+ newDept.setEndTime(sourceDept.getEndTime());
+ newDeptList.add(newDept);
+ }
+ carryMapper.insertCarryDept(newDeptList);
+ }
+ }
+
+ return CommonResult.success("成功从年份[" + sourceYear + "]复制到年份[" + targetYear + "]");
+ }
+
}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/InternalAuditCheckServiceImpl.java b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/InternalAuditCheckServiceImpl.java
index 10e00bf..d3ea65d 100644
--- a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/InternalAuditCheckServiceImpl.java
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/InternalAuditCheckServiceImpl.java
@@ -1,5 +1,8 @@
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.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.gkhy.exam.common.api.CommonPage;
import com.gkhy.exam.common.api.CommonResult;
@@ -15,6 +18,7 @@
import org.springframework.util.CollectionUtils;
import java.time.LocalDateTime;
+import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -45,9 +49,9 @@
@Autowired
private SysDeptMapper sysDeptMapper;
@Override
- public CommonPage selectInternalAuditCheckList(Integer companyId) {
+ public CommonPage selectInternalAuditCheckList(Integer companyId,String year) {
PageUtils.startPage();
- List<InternalAuditCheck> internalAuditChecks = internalAuditCheckMapper.selectInternalAuditCheckList(companyId);
+ List<InternalAuditCheck> internalAuditChecks = internalAuditCheckMapper.selectInternalAuditCheckList(companyId, year);
if (!CollectionUtils.isEmpty(internalAuditChecks)) {
batchLoadCheckDetails(internalAuditChecks);
}
@@ -187,6 +191,82 @@
return internalAuditCheckMapper.selectByMap(stringObjectHashMap);
}
+
+ @Override
+ @Transactional
+ public CommonResult copyInternalAuditCheck(Integer companyId, String sourceYear, String targetYear) {
+ if (companyId == null) {
+ companyId = SecurityUtils.getCompanyId().intValue();
+ }
+
+ if (sourceYear == null || sourceYear.trim().isEmpty()) {
+ return CommonResult.failed("源年份不能为空");
+ }
+
+ if (targetYear == null || targetYear.trim().isEmpty()) {
+ return CommonResult.failed("目标年份不能为空");
+ }
+
+ LambdaUpdateWrapper<InternalAuditCheck> deleteWrapper = new LambdaUpdateWrapper<>();
+ deleteWrapper.eq(InternalAuditCheck::getCompanyId, companyId)
+ .eq(InternalAuditCheck::getYear, targetYear)
+ .eq(InternalAuditCheck::getDelFlag, 0)
+ .set(InternalAuditCheck::getDelFlag, 2)
+ .set(InternalAuditCheck::getUpdateBy, SecurityUtils.getUsername())
+ .set(InternalAuditCheck::getUpdateTime, LocalDateTime.now());
+ internalAuditCheckMapper.update(new InternalAuditCheck(), deleteWrapper);
+
+ LambdaQueryWrapper<InternalAuditCheck> queryWrapperSource = new LambdaQueryWrapper<>();
+ queryWrapperSource.eq(InternalAuditCheck::getCompanyId, companyId)
+ .eq(InternalAuditCheck::getYear, sourceYear)
+ .eq(InternalAuditCheck::getDelFlag, 0);
+ List<InternalAuditCheck> sourceChecks = internalAuditCheckMapper.selectList(queryWrapperSource);
+
+ if (ObjectUtil.isEmpty(sourceChecks)) {
+ return CommonResult.success("源年份无相关数据");
+ }
+
+ batchLoadCheckDetails(sourceChecks);
+
+ for (InternalAuditCheck sourceCheck : sourceChecks) {
+ InternalAuditCheck newCheck = new InternalAuditCheck();
+ newCheck.setCompanyId(sourceCheck.getCompanyId());
+ newCheck.setYear(targetYear);
+ newCheck.setDeptId(sourceCheck.getDeptId());
+ newCheck.setPersonId(sourceCheck.getPersonId());
+ newCheck.setCheckTime(sourceCheck.getCheckTime());
+ newCheck.setStartTime(sourceCheck.getStartTime());
+ newCheck.setEndTime(sourceCheck.getEndTime());
+ newCheck.setDelFlag(0);
+ newCheck.setCreateBy(SecurityUtils.getUsername());
+ newCheck.setCreateTime(LocalDateTime.now());
+ newCheck.setUpdateBy(SecurityUtils.getUsername());
+ newCheck.setUpdateTime(LocalDateTime.now());
+
+ int insert = internalAuditCheckMapper.insert(newCheck);
+ if (insert <= 0) {
+ throw new RuntimeException("复制内审检查主表数据失败");
+ }
+
+ List<InternalAuditCheckCatalogue> sourceCatalogues = sourceCheck.getCheckCatalogues();
+ if (ObjectUtil.isNotEmpty(sourceCatalogues)) {
+ List<InternalAuditCheckCatalogue> newCatalogues = new ArrayList<>();
+ for (InternalAuditCheckCatalogue sourceCatalogue : sourceCatalogues) {
+ InternalAuditCheckCatalogue newCatalogue = new InternalAuditCheckCatalogue();
+ newCatalogue.setCheckId(newCheck.getId());
+ newCatalogue.setCatalogueId(sourceCatalogue.getCatalogueId());
+ newCatalogue.setPointKey(sourceCatalogue.getPointKey());
+ newCatalogue.setResult(sourceCatalogue.getResult());
+ newCatalogue.setFind(sourceCatalogue.getFind());
+ newCatalogues.add(newCatalogue);
+ }
+ checkCatalogueMapper.insertBatch(newCatalogues);
+ }
+ }
+
+ return CommonResult.success("复制成功");
+ }
+
// @Override
// public CommonResult internalAuditCheckInfo(Integer id) {
// InternalAuditCheck internalAuditCheck = internalAuditCheckMapper.selectById(id);
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/InternalAuditPlanServiceImpl.java b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/InternalAuditPlanServiceImpl.java
index 4d87073..877f502 100644
--- a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/InternalAuditPlanServiceImpl.java
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/InternalAuditPlanServiceImpl.java
@@ -1,5 +1,8 @@
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.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.gkhy.exam.common.api.CommonPage;
@@ -12,6 +15,7 @@
import com.gkhy.exam.system.service.InternalAuditPlanService;
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;
@@ -71,4 +75,66 @@
planMapper.updateById(internalAuditPlan);
return CommonResult.success();
}
+
+ @Override
+ @Transactional
+ public CommonResult copyInternalAuditPlan(Integer companyId, String sourceYear, String targetYear) {
+ if (companyId == null) {
+ companyId = SecurityUtils.getCompanyId().intValue();
+ }
+
+ if (sourceYear == null || sourceYear.trim().isEmpty()) {
+ return CommonResult.failed("源年份不能为空");
+ }
+
+ if (targetYear == null || targetYear.trim().isEmpty()) {
+ return CommonResult.failed("目标年份不能为空");
+ }
+
+ LambdaUpdateWrapper<InternalAuditPlan> deleteWrapper = new LambdaUpdateWrapper<>();
+ deleteWrapper.eq(InternalAuditPlan::getCompanyId, companyId)
+ .eq(InternalAuditPlan::getYear, targetYear)
+ .eq(InternalAuditPlan::getDelFlag, 1)
+ .set(InternalAuditPlan::getDelFlag, 2)
+ .set(InternalAuditPlan::getUpdateBy, SecurityUtils.getUsername())
+ .set(InternalAuditPlan::getUpdateTime, LocalDateTime.now());
+ planMapper.update(new InternalAuditPlan(), deleteWrapper);
+
+ LambdaQueryWrapper<InternalAuditPlan> queryWrapperSource = new LambdaQueryWrapper<>();
+ queryWrapperSource.eq(InternalAuditPlan::getCompanyId, companyId)
+ .eq(InternalAuditPlan::getYear, sourceYear)
+ .eq(InternalAuditPlan::getDelFlag, 1);
+ List<InternalAuditPlan> sourcePlans = planMapper.selectList(queryWrapperSource);
+
+ if (ObjectUtil.isEmpty(sourcePlans)) {
+ return CommonResult.success("源年份无相关数据");
+ }
+
+ for (InternalAuditPlan sourcePlan : sourcePlans) {
+ InternalAuditPlan newPlan = new InternalAuditPlan();
+ newPlan.setCompanyId(sourcePlan.getCompanyId());
+ newPlan.setYear(targetYear);
+ newPlan.setPurpose(sourcePlan.getPurpose());
+ newPlan.setAuditPurpose(sourcePlan.getAuditPurpose());
+ newPlan.setReviewBasis(sourcePlan.getReviewBasis());
+ newPlan.setReviewScope(sourcePlan.getReviewScope());
+ newPlan.setReviewCarry(sourcePlan.getReviewCarry());
+ newPlan.setReviewConstitute(sourcePlan.getReviewConstitute());
+ newPlan.setReviewRequire(sourcePlan.getReviewRequire());
+ newPlan.setCompilationId(sourcePlan.getCompilationId());
+ newPlan.setProofreadId(sourcePlan.getProofreadId());
+ newPlan.setCheckId(sourcePlan.getCheckId());
+ newPlan.setRatifyId(sourcePlan.getRatifyId());
+ newPlan.setDelFlag(1);
+ newPlan.setCreateBy(SecurityUtils.getUsername());
+ newPlan.setCreateTime(LocalDateTime.now());
+
+ int insert = planMapper.insert(newPlan);
+ if (insert <= 0) {
+ throw new RuntimeException("复制内审策划数据失败");
+ }
+ }
+
+ return CommonResult.success("成功从年份[" + sourceYear + "]复制到年份[" + targetYear + "]");
+ }
}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/ManagementPlanServiceImpl.java b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/ManagementPlanServiceImpl.java
index 9d1e178..3c27f59 100644
--- a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/ManagementPlanServiceImpl.java
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/ManagementPlanServiceImpl.java
@@ -1,6 +1,7 @@
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.extension.service.impl.ServiceImpl;
import com.gkhy.exam.common.api.CommonPage;
import com.gkhy.exam.common.api.CommonResult;
@@ -11,6 +12,7 @@
import com.gkhy.exam.system.service.ManagementPlanService;
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;
@@ -79,4 +81,79 @@
}
return CommonResult.failed();
}
+
+ @Override
+ @Transactional
+ public CommonResult copyManagementPlan(Integer companyId, String sourceYear, String targetYear) {
+ if (companyId == null) {
+ companyId = SecurityUtils.getCompanyId().intValue();
+ }
+
+ if (sourceYear == null || sourceYear.trim().isEmpty()) {
+ return CommonResult.failed("源年份不能为空");
+ }
+
+ if (targetYear == null || targetYear.trim().isEmpty()) {
+ return CommonResult.failed("目标年份不能为空");
+ }
+
+ LambdaQueryWrapper<ManagementPlan> queryWrapperTarget = new LambdaQueryWrapper<>();
+ queryWrapperTarget.eq(ManagementPlan::getCompanyId, companyId)
+ .eq(ManagementPlan::getYear, targetYear)
+ .eq(ManagementPlan::getDelFlag, 0);
+ List<ManagementPlan> existingPlans = managementPlanMapper.selectList(queryWrapperTarget);
+
+ if (ObjectUtil.isNotEmpty(existingPlans)) {
+ for (ManagementPlan existingPlan : existingPlans) {
+ ManagementPlan deletePlan = new ManagementPlan();
+ deletePlan.setId(existingPlan.getId());
+ deletePlan.setDelFlag(1);
+ deletePlan.setUpdateBy(SecurityUtils.getUsername());
+ deletePlan.setUpdateTime(LocalDateTime.now());
+ managementPlanMapper.updateById(deletePlan);
+ }
+ }
+
+ LambdaQueryWrapper<ManagementPlan> queryWrapperSource = new LambdaQueryWrapper<>();
+ queryWrapperSource.eq(ManagementPlan::getCompanyId, companyId)
+ .eq(ManagementPlan::getYear, sourceYear)
+ .eq(ManagementPlan::getDelFlag, 0);
+ List<ManagementPlan> sourcePlans = managementPlanMapper.selectList(queryWrapperSource);
+
+ if (ObjectUtil.isEmpty(sourcePlans)) {
+ return CommonResult.success("源年份无相关数据");
+ }
+
+ for (ManagementPlan sourcePlan : sourcePlans) {
+ ManagementPlan newPlan = new ManagementPlan();
+ newPlan.setCompanyId(sourcePlan.getCompanyId());
+ newPlan.setNumber(sourcePlan.getNumber());
+ newPlan.setYear(targetYear);
+ newPlan.setFictionId(sourcePlan.getFictionId());
+ newPlan.setFictionName(sourcePlan.getFictionName());
+ newPlan.setFictionTime(sourcePlan.getFictionTime());
+ newPlan.setCheckId(sourcePlan.getCheckId());
+ newPlan.setCheckName(sourcePlan.getCheckName());
+ newPlan.setCheckTime(sourcePlan.getCheckTime());
+ newPlan.setRatifyId(sourcePlan.getRatifyId());
+ newPlan.setRatifyName(sourcePlan.getRatifyName());
+ newPlan.setRatifyTime(sourcePlan.getRatifyTime());
+ newPlan.setContent(sourcePlan.getContent());
+ newPlan.setObjective(sourcePlan.getObjective());
+ newPlan.setLocation(sourcePlan.getLocation());
+ newPlan.setStaff(sourcePlan.getStaff());
+ newPlan.setReport(sourcePlan.getReport());
+ newPlan.setDelFlag(0);
+ newPlan.setCreateBy(SecurityUtils.getUsername());
+ newPlan.setCreateTime(LocalDateTime.now());
+
+ int insert = managementPlanMapper.insert(newPlan);
+ if (insert <= 0) {
+ throw new RuntimeException("复制管理审批计划失败");
+ }
+ }
+
+ return CommonResult.success("复制成功");
+ }
+
}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/ManagementReviewServiceImpl.java b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/ManagementReviewServiceImpl.java
index 3abcea1..f451e51 100644
--- a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/ManagementReviewServiceImpl.java
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/ManagementReviewServiceImpl.java
@@ -1,5 +1,8 @@
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.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.gkhy.exam.common.api.CommonPage;
import com.gkhy.exam.common.api.CommonResult;
@@ -10,6 +13,7 @@
import com.gkhy.exam.system.service.ManagementReviewService;
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;
@@ -28,9 +32,9 @@
@Autowired
private ManagementReviewMapper managementReviewMapper;
@Override
- public CommonPage selectManagementReviewList(Integer companyId, Integer reviewType) {
+ public CommonPage selectManagementReviewList(Integer companyId, Integer reviewType,String year) {
PageUtils.startPage();
- List<ManagementReview> managementReviews = managementReviewMapper.selectManagementReviewList(companyId,reviewType);
+ List<ManagementReview> managementReviews = managementReviewMapper.selectManagementReviewList(companyId,reviewType,year);
return CommonPage.restPage(managementReviews);
}
@@ -67,4 +71,72 @@
}
return CommonResult.failed();
}
+
+
+ @Override
+ @Transactional
+ public CommonResult copyManagementReview(Integer companyId, String sourceYear, String targetYear, Integer reviewType) {
+ if (companyId == null) {
+ companyId = SecurityUtils.getCompanyId().intValue();
+ }
+
+ if (sourceYear == null || sourceYear.trim().isEmpty()) {
+ return CommonResult.failed("源年份不能为空");
+ }
+
+ if (targetYear == null || targetYear.trim().isEmpty()) {
+ return CommonResult.failed("目标年份不能为空");
+ }
+
+ if (reviewType == null) {
+ return CommonResult.failed("评审类型不能为空");
+ }
+
+ if (reviewType != 1 && reviewType != 2 && reviewType != 3) {
+ return CommonResult.failed("评审类型无效,只能是1会议、2输入、3报告");
+ }
+
+ LambdaUpdateWrapper<ManagementReview> deleteWrapper = new LambdaUpdateWrapper<>();
+ deleteWrapper.eq(ManagementReview::getCompanyId, companyId)
+ .eq(ManagementReview::getYear, targetYear)
+ .eq(ManagementReview::getReviewType, reviewType)
+ .eq(ManagementReview::getDelFlag, 0)
+ .set(ManagementReview::getDelFlag, 1)
+ .set(ManagementReview::getUpdateBy, SecurityUtils.getUsername())
+ .set(ManagementReview::getUpdateTime, LocalDateTime.now());
+ managementReviewMapper.update(new ManagementReview(), deleteWrapper);
+
+ LambdaQueryWrapper<ManagementReview> queryWrapperSource = new LambdaQueryWrapper<>();
+ queryWrapperSource.eq(ManagementReview::getCompanyId, companyId)
+ .eq(ManagementReview::getYear, sourceYear)
+ .eq(ManagementReview::getReviewType, reviewType)
+ .eq(ManagementReview::getDelFlag, 0);
+ List<ManagementReview> sourceReviews = managementReviewMapper.selectList(queryWrapperSource);
+
+ if (ObjectUtil.isEmpty(sourceReviews)) {
+ return CommonResult.success("源年份无相关数据");
+ }
+
+ for (ManagementReview sourceReview : sourceReviews) {
+ ManagementReview newReview = new ManagementReview();
+ newReview.setCompanyId(sourceReview.getCompanyId());
+ newReview.setCompanyName(sourceReview.getCompanyName());
+ newReview.setReviewName(sourceReview.getReviewName());
+ newReview.setReviewType(sourceReview.getReviewType());
+ newReview.setFilePath(sourceReview.getFilePath());
+ newReview.setFormat(sourceReview.getFormat());
+ newReview.setYear(targetYear);
+ newReview.setDelFlag(0);
+ newReview.setCreateBy(SecurityUtils.getUsername());
+ newReview.setCreateTime(LocalDateTime.now());
+
+ int insert = managementReviewMapper.insert(newReview);
+ if (insert <= 0) {
+ throw new RuntimeException("复制管理评审数据失败");
+ }
+ }
+
+ return CommonResult.success("成功从年份[" + sourceYear + "]复制到年份[" + targetYear + "]");
+ }
+
}
diff --git a/multi-system/src/main/resources/mapper/system/ExPhaseStudentMapper.xml b/multi-system/src/main/resources/mapper/system/ExPhaseStudentMapper.xml
index 180dc2f..10f9263 100644
--- a/multi-system/src/main/resources/mapper/system/ExPhaseStudentMapper.xml
+++ b/multi-system/src/main/resources/mapper/system/ExPhaseStudentMapper.xml
@@ -20,6 +20,7 @@
<id property="id" column="course_id" />
<result property="name" column="course_name" />
<result property="logo" column="course_logo" />
+ <result property="stopTime" column="stop_time" />
<association property="period" javaType="java.lang.Long" select="getCoursePeriod" column="{courseId=course_id}"/>
</resultMap>
@@ -49,7 +50,7 @@
</select>
<select id="selectPhaseStudentList" resultMap="ExPhaseStudentResult">
- select a.*,b.phone as student_phone,b.name as student_name,c.name as phase_name,e.name as create_name,d.id as course_id,d.logo as course_logo,d.name as course_name from ex_phase_student a
+ select a.*,b.phone as student_phone,b.name as student_name,c.name as phase_name,e.name as create_name,d.id as course_id,d.logo as course_logo,d.name as course_name,d.stop_time from ex_phase_student a
left join ex_student b on a.student_id=b.id
left join ex_course_phase c on c.id=a.phase_id
left join ex_course d on d.id=c.course_id
diff --git a/multi-system/src/main/resources/mapper/system/InternalAuditCarryMapper.xml b/multi-system/src/main/resources/mapper/system/InternalAuditCarryMapper.xml
index f7205d0..f3561b9 100644
--- a/multi-system/src/main/resources/mapper/system/InternalAuditCarryMapper.xml
+++ b/multi-system/src/main/resources/mapper/system/InternalAuditCarryMapper.xml
@@ -52,6 +52,9 @@
<if test="companyId!=null and companyId!=''">
and iac.company_id = #{companyId}
</if>
+ <if test="year!=null and year!=''">
+ and iac.year = #{year}
+ </if>
ORDER BY iac.create_time ASC
</select>
<select id="selectCarryDeptList" resultType="com.gkhy.exam.system.domain.InternalAuditCarryDept">
diff --git a/multi-system/src/main/resources/mapper/system/InternalAuditCheckMapper.xml b/multi-system/src/main/resources/mapper/system/InternalAuditCheckMapper.xml
index 28c4c6f..89af1b7 100644
--- a/multi-system/src/main/resources/mapper/system/InternalAuditCheckMapper.xml
+++ b/multi-system/src/main/resources/mapper/system/InternalAuditCheckMapper.xml
@@ -32,6 +32,9 @@
<if test="companyId!=null">
and iac.company_id = #{companyId}
</if>
+ <if test="year!=null and year!=''">
+ and iac.year = #{year}
+ </if>
GROUP BY iac.`id`
ORDER BY
iac.create_time DESC
diff --git a/multi-system/src/main/resources/mapper/system/InternalAuditPlanMapper.xml b/multi-system/src/main/resources/mapper/system/InternalAuditPlanMapper.xml
index 4a82e83..2fcf9a7 100644
--- a/multi-system/src/main/resources/mapper/system/InternalAuditPlanMapper.xml
+++ b/multi-system/src/main/resources/mapper/system/InternalAuditPlanMapper.xml
@@ -38,6 +38,9 @@
<if test="companyId!=null and companyId!=''">
and iap.company_id = #{companyId}
</if>
+ <if test="year!=null and year!=''">
+ and iap.year = #{year}
+ </if>
ORDER BY create_time ASC
</select>
</mapper>
diff --git a/multi-system/src/main/resources/mapper/system/ManagementReviewMapper.xml b/multi-system/src/main/resources/mapper/system/ManagementReviewMapper.xml
index a431466..b2355fd 100644
--- a/multi-system/src/main/resources/mapper/system/ManagementReviewMapper.xml
+++ b/multi-system/src/main/resources/mapper/system/ManagementReviewMapper.xml
@@ -8,6 +8,9 @@
<if test="companyId != null">
and company_id = #{companyId}
</if>
+ <if test="year != null and year !=''">
+ and year = #{year}
+ </if>
order by create_time desc
</select>
</mapper>
--
Gitblit v1.9.2