From 9abc6588d464269024d3e680b98cfd71e2acc84e Mon Sep 17 00:00:00 2001
From: “djh” <“3298565835@qq.com”>
Date: Wed, 29 Apr 2026 13:14:15 +0800
Subject: [PATCH] 新增修改部分限制

---
 multi-system/src/main/java/com/gkhy/exam/system/service/impl/AnnualVerificationPlanServiceImpl.java |   22 ++++++++++++++++++----
 1 files changed, 18 insertions(+), 4 deletions(-)

diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/AnnualVerificationPlanServiceImpl.java b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/AnnualVerificationPlanServiceImpl.java
index 78e0109..693bd82 100644
--- a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/AnnualVerificationPlanServiceImpl.java
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/AnnualVerificationPlanServiceImpl.java
@@ -3,19 +3,18 @@
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.gkhy.exam.common.api.CommonPage;
 import com.gkhy.exam.common.api.CommonResult;
 import com.gkhy.exam.common.constant.UserConstant;
+import com.gkhy.exam.common.exception.ApiException;
 import com.gkhy.exam.common.utils.PageUtils;
 import com.gkhy.exam.common.utils.SecurityUtils;
 import com.gkhy.exam.system.domain.AnnualVerificationDevice;
 import com.gkhy.exam.system.domain.AnnualVerificationPlan;
-import com.gkhy.exam.system.domain.OutsourcedReview;
-import com.gkhy.exam.system.domain.OutsourcedReviewSubsidiary;
 import com.gkhy.exam.system.mapper.AnnualVerificationDeviceMapper;
 import com.gkhy.exam.system.mapper.AnnualVerificationPlanMapper;
 import com.gkhy.exam.system.service.AnnualVerificationPlanService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -55,12 +54,27 @@
         if (ObjectUtils.isEmpty(annualVerificationDevices)){
             return CommonResult.failed("保存参数不能为空");
         }
+
+        LambdaQueryWrapper<AnnualVerificationPlan> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(AnnualVerificationPlan::getDelFlag, UserConstant.ENABLE);
+        queryWrapper.eq(AnnualVerificationPlan::getCompanyId, annualVerificationPlan.getCompanyId());
         int i = 0;
         if (annualVerificationPlan.getId() == null){
+            queryWrapper.eq(AnnualVerificationPlan::getYear, annualVerificationPlan.getYear());
+            Long l = annualVerificationPlanMapper.selectCount(queryWrapper);
+            if (l > 0){
+                return CommonResult.failed("该年度计划已存在");
+            }
             annualVerificationPlan.setCreateBy(SecurityUtils.getUsername());
             annualVerificationPlan.setCreateTime(LocalDateTime.now());
             i = annualVerificationPlanMapper.insert(annualVerificationPlan);
         }else {
+            queryWrapper.eq(AnnualVerificationPlan::getYear, annualVerificationPlan.getYear());
+            queryWrapper.ne(AnnualVerificationPlan::getId, annualVerificationPlan.getId());
+            Long l = annualVerificationPlanMapper.selectCount(queryWrapper);
+            if (l > 0){
+                return CommonResult.failed("该年度计划已存在");
+            }
             annualVerificationPlan.setUpdateTime(LocalDateTime.now());
             annualVerificationPlan.setUpdateBy(SecurityUtils.getUsername());
             i = annualVerificationPlanMapper.updateById(annualVerificationPlan);
@@ -79,7 +93,7 @@
                             .in(AnnualVerificationDevice::getId, delData)
             );
             if (update <= 0){
-                throw new RuntimeException("操作失败");
+                throw new ApiException("操作失败");
             }
         }
         annualVerificationDevices.forEach(annualVerificationDevice -> {

--
Gitblit v1.9.2