From a5e77720f3badb0cb1f2998a34607c759b07f7c1 Mon Sep 17 00:00:00 2001
From: sinake <sinake1@qq.com>
Date: 星期六, 01 八月 2026 11:46:30 +0800
Subject: [PATCH] 器管获取附件新增infoId过滤条件

---
 ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonationwitnessServiceImpl.java |   89 ++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 84 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 7259405..1257d59 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
@@ -1,6 +1,5 @@
 package com.ruoyi.project.service.impl;
 
-import java.time.LocalDate;
 import java.time.ZoneId;
 import java.util.Date;
 import java.util.List;
@@ -8,16 +7,20 @@
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.ruoyi.common.core.domain.entity.SysRole;
 import com.ruoyi.common.core.domain.entity.SysUser;
-import com.ruoyi.common.utils.DateUtils;
 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;
-import com.ruoyi.project.domain.ServiceDonateorgan;
+import com.ruoyi.project.domain.dto.DonationwitnessBaseInfoDTO;
 import com.ruoyi.project.domain.vo.DonationWitnessVO;
 import com.ruoyi.project.domain.vo.TimeVO;
 import com.ruoyi.project.domain.vo.WitnessStatsVO;
 import com.ruoyi.project.mapper.ServiceDonatebaseinfoMapper;
-import com.ruoyi.project.mapper.ServiceDonateorganMapper;
+import com.ruoyi.project.mapper.ServiceDonationwitnessorganMapper;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -25,7 +28,6 @@
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 
-import java.util.ArrayList;
 import java.util.Map;
 
 import com.ruoyi.common.utils.StringUtils;
@@ -49,6 +51,9 @@
     ServiceDonationwitnessMapper serviceDonationwitnessMapper;
 
     @Autowired
+    ServiceDonationwitnessorganMapper serviceDonationwitnessorganMapper;
+
+    @Autowired
     ServiceDonatebaseinfoMapper serviceDonatebaseinfoMapper;
 
     @Autowired
@@ -66,6 +71,9 @@
         if (StringUtils.isNotBlank(serviceDonationwitness.getDonorno())) {
             wrappers.eq(ServiceDonationwitness::getDonorno, serviceDonationwitness.getDonorno());
         }
+        if (ObjectUtils.isNotEmpty(serviceDonationwitness.getInfoid())) {
+            wrappers.eq(ServiceDonationwitness::getInfoid, serviceDonationwitness.getInfoid());
+        }
         if (StringUtils.isNotBlank(serviceDonationwitness.getGainhospitalname())) {
             wrappers.like(ServiceDonationwitness::getGainhospitalname, serviceDonationwitness.getGainhospitalname());
         }
@@ -81,6 +89,77 @@
     }
 
     @Override
+    public long 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 serviceDonationwitness.getId();
+    }
+
+    @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();
+                serviceDonationwitnessorgan.setInfoid(donationwitnessBaseInfoDTO.getInfoid());
+                serviceDonationwitnessorgan.setDelFlag(0);
+                List<ServiceDonationwitnessorgan> serviceDonationwitnessorgans = serviceDonationwitnessorganMapper.selectServiceDonationwitnessorganList(serviceDonationwitnessorgan);
+                donationwitnessBaseInfoDTO.setServiceDonationwitnessorgans(serviceDonationwitnessorgans);
+            }
+        }
+        return donationwitnessBaseInfos;
+    }
+
+    @Override
     public List<DonationWitnessVO> selectVOList(DonationWitnessVO donationWitnessVO) {
 
         SysUser user = SecurityUtils.getLoginUser().getUser();

--
Gitblit v1.9.3