From 24a2f363743d8a2e4aa038635ef1d8b60a8e7131 Mon Sep 17 00:00:00 2001
From: sinake <sinake1@qq.com>
Date: 星期四, 07 五月 2026 14:45:59 +0800
Subject: [PATCH] 查询捐献完成列表基本信息数据出错

---
 ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonationwitnessServiceImpl.java |   31 ++++++++++++++++++++++++++-----
 1 files changed, 26 insertions(+), 5 deletions(-)

diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonationwitnessServiceImpl.java b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonationwitnessServiceImpl.java
index c67d0bb..e632005 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonationwitnessServiceImpl.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonationwitnessServiceImpl.java
@@ -10,6 +10,7 @@
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.bean.DtoConversionUtils;
 import com.ruoyi.project.common.CalculateDateUtils;
+import com.ruoyi.project.domain.ServiceMedicalevaluationorgan;
 import com.ruoyi.project.domain.vo.ServiceDonationwitnessVO;
 import com.ruoyi.project.domain.ServiceDonationwitnessorgan;
 import com.ruoyi.project.domain.vo.DonationwitnessBaseInfoVO;
@@ -85,7 +86,7 @@
     }
 
     @Override
-    public Boolean add(ServiceDonationwitnessVO serviceDonationwitnessVO) {
+    public long add(ServiceDonationwitnessVO serviceDonationwitnessVO) {
         ServiceDonationwitness serviceDonationwitness = DtoConversionUtils.sourceToTarget(serviceDonationwitnessVO, ServiceDonationwitness.class);
         boolean save = false;
         if (ObjectUtils.isNotEmpty(serviceDonationwitness)) {
@@ -98,20 +99,40 @@
                 }
             }
         }
-        return save;
+        return serviceDonationwitness.getId();
     }
 
     @Override
     public Boolean edit(ServiceDonationwitnessVO serviceDonationwitnessVO) {
         ServiceDonationwitness serviceDonationwitness = DtoConversionUtils.sourceToTarget(serviceDonationwitnessVO, ServiceDonationwitness.class);
         boolean update = false;
-        if (ObjectUtils.isNotEmpty(serviceDonationwitness)) {
+
+        if (serviceDonationwitness.getDelFlag() != null && serviceDonationwitness.getDelFlag() == 1) {
+            update = removeById(serviceDonationwitness);
+        } else {
             update = updateById(serviceDonationwitness);
         }
 
-        if (ObjectUtils.isNotEmpty(serviceDonationwitnessVO.getServiceDonationwitnessorganList())) {
+        if (update && !CollectionUtils.isEmpty(serviceDonationwitnessVO.getServiceDonationwitnessorganList())) {
             for (ServiceDonationwitnessorgan serviceDonationwitnessorgan : serviceDonationwitnessVO.getServiceDonationwitnessorganList()) {
-                serviceDonationwitnessorganMapper.updateById(serviceDonationwitnessorgan);
+                // 濡傛灉鐖惰妭鐐硅鍒犻櫎锛屽瓙鑺傜偣涔熻鍏ㄥ垹闄�
+                if (serviceDonationwitness.getDelFlag() != null && serviceDonationwitness.getDelFlag() == 1) {
+                    serviceDonationwitnessorgan.setDelFlag(1);
+                }
+
+                //鍒ゆ柇鍒犻櫎杩樻槸淇敼
+                if (serviceDonationwitnessorgan.getDelFlag() != null && serviceDonationwitnessorgan.getDelFlag() == 1) {
+                    serviceDonationwitnessorganMapper.deleteById(serviceDonationwitnessorgan.getId());
+                } else {
+                    serviceDonationwitnessorganMapper.updateById(serviceDonationwitnessorgan);
+                }
+
+                //濡傛灉ID涓虹┖锛屽垯鏄柊澧�
+                if (serviceDonationwitnessorgan.getId() == null) {
+                    serviceDonationwitnessorgan.setInfoid(serviceDonationwitness.getInfoid());
+                    serviceDonationwitnessorgan.setDonationwitnessId(serviceDonationwitness.getId());
+                    serviceDonationwitnessorganMapper.insert(serviceDonationwitnessorgan);
+                }
             }
         }
 

--
Gitblit v1.9.3