From a6d5f3ad6ca49a334eff47b3b42d5caf6235b558 Mon Sep 17 00:00:00 2001
From: sinake <sinake1@qq.com>
Date: 星期五, 10 七月 2026 17:13:51 +0800
Subject: [PATCH] 删除无效

---
 ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonationwitnessServiceImpl.java |   32 +++++++++++++++++++++++++++-----
 1 files changed, 27 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..66764f1 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);
+                }
             }
         }
 
@@ -127,6 +148,7 @@
             for (DonationwitnessBaseInfoDTO donationwitnessBaseInfoDTO : donationwitnessBaseInfos) {
                 ServiceDonationwitnessorgan serviceDonationwitnessorgan = new ServiceDonationwitnessorgan();
                 serviceDonationwitnessorgan.setInfoid(donationwitnessBaseInfoDTO.getInfoid());
+                serviceDonationwitnessorgan.setDelFlag(0);
                 List<ServiceDonationwitnessorgan> serviceDonationwitnessorgans = serviceDonationwitnessorganMapper.selectServiceDonationwitnessorganList(serviceDonationwitnessorgan);
                 donationwitnessBaseInfoDTO.setServiceDonationwitnessorgans(serviceDonationwitnessorgans);
             }

--
Gitblit v1.9.3