From 5d15e6fae71db1550167008b098aeefb0071f575 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期五, 14 八月 2026 16:45:10 +0800
Subject: [PATCH] 修改捐献捐献见证重复新增的问题

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonationwitnessController.java |   33 ++++++++++++++++++++++-----------
 1 files changed, 22 insertions(+), 11 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonationwitnessController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonationwitnessController.java
index 1152ca9..5559c14 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonationwitnessController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonationwitnessController.java
@@ -12,6 +12,7 @@
 import com.ruoyi.common.utils.bean.DtoConversionUtils;
 import com.ruoyi.project.domain.ServiceDonatebaseinfo;
 import com.ruoyi.project.domain.ServiceDonateorgan;
+import com.ruoyi.project.domain.ServiceDonationwitnessorgan;
 import com.ruoyi.project.domain.vo.DonationWitnessVO;
 import com.ruoyi.project.domain.vo.TimeVO;
 import com.ruoyi.project.service.IBaseOnlyvalueService;
@@ -129,17 +130,20 @@
     @PostMapping("/add")
     @RepeatSubmit
     public AjaxResult add(@RequestBody ServiceDonationwitness serviceDonationwitness) {
-        boolean save = serviceDonationwitnessService.save(serviceDonationwitness);
-        log.info("鏂板鎹愮尞瑙佽瘉鏄惁鎴愬姛锛歿},id涓猴細{},infoId涓猴細{}", save, serviceDonationwitness.getId(), serviceDonationwitness.getInfoid());
-//        if (save) {
-//            //鐢熸垚鈥滄崘鐚�呯紪鍙封��
-//            ServiceDonatebaseinfo serviceDonatebaseinfo = serviceDonatebaseinfoService.getById(serviceDonationwitness.getInfoid());
-//            log.info("serviceDonatebaseinfo鐨勪俊鎭负{}", serviceDonatebaseinfo);
-//            String donorno = serviceDonatebaseinfoService.getDonateNumber(serviceDonatebaseinfo);
-//            log.info("鐢熸垚鐨勬崘鐚�呯紪鍙蜂负:{}", donorno);
-//            serviceDonatebaseinfo.setDonorno(donorno);
-//            serviceDonatebaseinfoService.updateById(serviceDonatebaseinfo);
-//        }
+        log.info("鏂板鎹愮尞瑙佽瘉infoId涓猴細{}", serviceDonationwitness.getInfoid());
+        ServiceDonationwitness sd = new ServiceDonationwitness();
+        sd.setInfoid(serviceDonationwitness.getInfoid());
+        sd.setDel_flag(0);
+        List<ServiceDonationwitness> serviceDonationwitnesses = serviceDonationwitnessService.selectServiceDonationwitnessList(sd);
+        if (CollectionUtils.isEmpty(serviceDonationwitnesses)) {
+            boolean save = serviceDonationwitnessService.save(serviceDonationwitness);
+            log.info("鏂板鎹愮尞瑙佽瘉鏄惁鎴愬姛锛歿},id涓猴細{},infoId涓猴細{}", save, serviceDonationwitness.getId(), serviceDonationwitness.getInfoid());
+        } else {
+            log.info("鏂板鎹愮尞瑙佽瘉id涓猴細{}", serviceDonationwitnesses.get(0).getId());
+            serviceDonationwitness.setId(serviceDonationwitnesses.get(0).getId());
+            serviceDonationwitnessService.updateById(serviceDonationwitness);
+        }
+
         return AjaxResult.success(serviceDonationwitness);
     }
 
@@ -548,6 +552,13 @@
         Boolean i = null;
         for (ServiceDonationwitness serviceDonationwitness : serviceDonationwitnessList) {
             log.info("鎹愮尞瑙佽瘉绠$悊id鏄惁涓虹┖ : {},鍩虹琛ㄧ殑id涓� : {}", serviceDonationwitness.getId(), serviceDonationwitness.getInfoid());
+            ServiceDonationwitness sd2 = new ServiceDonationwitness();
+            sd2.setInfoid(serviceDonationwitness.getInfoid());
+            sd2.setDel_flag(0);
+            List<ServiceDonationwitness> serviceDonationwitnesses = serviceDonationwitnessService.queryList(sd2);
+            if (!CollectionUtils.isEmpty(serviceDonationwitnesses)) {
+                serviceDonationwitness.setId(serviceDonationwitnesses.get(0).getId());
+            }
             if (serviceDonationwitness.getId() == null) {
                 i = serviceDonationwitnessService.save(serviceDonationwitness);
             } else {

--
Gitblit v1.9.3