From 189849927e37278c8bc03202bd714aca7a0f8f7d Mon Sep 17 00:00:00 2001
From: heheng <475597332@qq.com>
Date: 星期三, 10 十二月 2025 11:10:03 +0800
Subject: [PATCH] 修改功能

---
 multi-system/src/main/java/com/gkhy/exam/system/service/impl/AnnualVerificationPlanServiceImpl.java |   20 ++++++++++++++++++--
 1 files changed, 18 insertions(+), 2 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 5d17d42..2233340 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
@@ -6,6 +6,7 @@
 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;
@@ -55,12 +56,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);
@@ -78,8 +94,8 @@
                             .set(AnnualVerificationDevice::getUpdateTime, LocalDateTime.now()).set(AnnualVerificationDevice::getUpdateBy, SecurityUtils.getUsername())
                             .in(AnnualVerificationDevice::getId, delData)
             );
-            if (update >= 0){
-                throw new RuntimeException("操作失败");
+            if (update <= 0){
+                throw new ApiException("操作失败");
             }
         }
         annualVerificationDevices.forEach(annualVerificationDevice -> {

--
Gitblit v1.9.2