From 2359f47c2f89a9867e72aa9b171cb118b874afec Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期五, 13 三月 2026 10:29:21 +0800
Subject: [PATCH] 代码提交

---
 ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonationwitnessServiceImpl.java |   27 ++++++++++++++++++++++++---
 1 files changed, 24 insertions(+), 3 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..cf78d3d 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;
@@ -105,13 +106,33 @@
     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