From cbd223ee2185f2cc39267e37a72edaadf6a3aa19 Mon Sep 17 00:00:00 2001
From: sinake <sinake1@qq.com>
Date: 星期三, 18 三月 2026 08:57:12 +0800
Subject: [PATCH] 死亡判定相关接口新增死亡判定说明、扩展 器官分配相关接口新增记录状态、附件、扩展 器官获取相关接口新增附件、扩展 新开发去态查询API接口

---
 ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonationwitnessServiceImpl.java |   63 ++++++++++++++++++++++++++++++-
 1 files changed, 60 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 bb3bde1..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
@@ -8,7 +8,10 @@
 import com.ruoyi.common.core.domain.entity.SysRole;
 import com.ruoyi.common.core.domain.entity.SysUser;
 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;
 import com.ruoyi.project.domain.ServiceDonatebaseinfo;
@@ -83,13 +86,67 @@
     }
 
     @Override
+    public Boolean add(ServiceDonationwitnessVO serviceDonationwitnessVO) {
+        ServiceDonationwitness serviceDonationwitness = DtoConversionUtils.sourceToTarget(serviceDonationwitnessVO, ServiceDonationwitness.class);
+        boolean save = false;
+        if (ObjectUtils.isNotEmpty(serviceDonationwitness)) {
+            save = save(serviceDonationwitness);
+            if (save == true && ObjectUtils.isNotEmpty(serviceDonationwitnessVO.getServiceDonationwitnessorganList())) {
+                for (ServiceDonationwitnessorgan serviceDonationwitnessorgan : serviceDonationwitnessVO.getServiceDonationwitnessorganList()) {
+                    serviceDonationwitnessorgan.setDonationwitnessId(serviceDonationwitness.getId());
+                    serviceDonationwitnessorgan.setInfoid(serviceDonationwitness.getInfoid());
+                    serviceDonationwitnessorganMapper.insert(serviceDonationwitnessorgan);
+                }
+            }
+        }
+        return save;
+    }
+
+    @Override
+    public Boolean edit(ServiceDonationwitnessVO serviceDonationwitnessVO) {
+        ServiceDonationwitness serviceDonationwitness = DtoConversionUtils.sourceToTarget(serviceDonationwitnessVO, ServiceDonationwitness.class);
+        boolean update = false;
+
+        if (serviceDonationwitness.getDelFlag() != null && serviceDonationwitness.getDelFlag() == 1) {
+            update = removeById(serviceDonationwitness);
+        } else {
+            update = updateById(serviceDonationwitness);
+        }
+
+        if (update && !CollectionUtils.isEmpty(serviceDonationwitnessVO.getServiceDonationwitnessorganList())) {
+            for (ServiceDonationwitnessorgan serviceDonationwitnessorgan : serviceDonationwitnessVO.getServiceDonationwitnessorganList()) {
+                // 濡傛灉鐖惰妭鐐硅鍒犻櫎锛屽瓙鑺傜偣涔熻鍏ㄥ垹闄�
+                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);
+                }
+            }
+        }
+
+        return update;
+    }
+
+    @Override
     public List<DonationwitnessBaseInfoDTO> getDonationwitnessBaseInfo(DonationwitnessBaseInfoVO donationwitnessBaseInfoVO) {
         List<DonationwitnessBaseInfoDTO> donationwitnessBaseInfos = serviceDonationwitnessMapper.getDonationwitnessBaseInfo(donationwitnessBaseInfoVO);
 
         //鑾峰彇鎵�鏈夊櫒瀹樹俊鎭�
-        if (!CollectionUtils.isEmpty(donationwitnessBaseInfos)&&donationwitnessBaseInfoVO.getPageNum()!=null) {
-            for (DonationwitnessBaseInfoDTO donationwitnessBaseInfoDTO:donationwitnessBaseInfos) {
-                ServiceDonationwitnessorgan serviceDonationwitnessorgan=new ServiceDonationwitnessorgan();
+        if (!CollectionUtils.isEmpty(donationwitnessBaseInfos) && donationwitnessBaseInfoVO.getPageNum() != null) {
+            for (DonationwitnessBaseInfoDTO donationwitnessBaseInfoDTO : donationwitnessBaseInfos) {
+                ServiceDonationwitnessorgan serviceDonationwitnessorgan = new ServiceDonationwitnessorgan();
                 serviceDonationwitnessorgan.setInfoid(donationwitnessBaseInfoDTO.getInfoid());
                 List<ServiceDonationwitnessorgan> serviceDonationwitnessorgans = serviceDonationwitnessorganMapper.selectServiceDonationwitnessorganList(serviceDonationwitnessorgan);
                 donationwitnessBaseInfoDTO.setServiceDonationwitnessorgans(serviceDonationwitnessorgans);

--
Gitblit v1.9.3