From e64ef739c4cf4484c19f8da31773dd0e4611428a Mon Sep 17 00:00:00 2001
From: sinake <sinake1@qq.com>
Date: 星期五, 23 十月 2026 09:14:37 +0800
Subject: [PATCH] 献器官分配解决前端ID未传重复数据

---
 ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonateorganBaseServiceImpl.java |   11 +++++++++++
 1 files changed, 11 insertions(+), 0 deletions(-)

diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonateorganBaseServiceImpl.java b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonateorganBaseServiceImpl.java
index 3917bb5..2d41255 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonateorganBaseServiceImpl.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonateorganBaseServiceImpl.java
@@ -1,6 +1,9 @@
 package com.ruoyi.project.service.impl;
 
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
@@ -151,7 +154,15 @@
         if (ObjectUtils.isNotEmpty(serviceDonateorganBase)) {
             b = updateById(serviceDonateorganBase);
             if (b == true && CollectionUtils.isNotEmpty(serviceDonateorganBaseVO.getServiceDonateorganList())) {
+                Map<String,Object> query=new HashMap<>();
+                query.put("InfoID",serviceDonateorganBaseVO.getInfoid());
+                List<ServiceDonateorgan> lists= serviceDonateorganMapper.selectByMap(query);
                 for (ServiceDonateorgan serviceDonateorgan : serviceDonateorganBaseVO.getServiceDonateorganList()) {
+                    List<ServiceDonateorgan> temps=lists.stream().filter(row->row.getOrganno()==serviceDonateorgan.getOrganno())
+                            .collect(Collectors.toList());
+                    if(temps.size()>0&&ObjectUtils.isEmpty(serviceDonateorgan.getId())){
+                        serviceDonateorgan.setId(temps.get(0).getId());
+                    }
                     if(ObjectUtils.isNotEmpty(serviceDonateorgan.getId()) ) {
                         if(ObjectUtils.isNotEmpty(serviceDonateorgan.getDelFlag())&&serviceDonateorgan.getDelFlag()==1 ) {
                             serviceDonateorganMapper.deleteById(serviceDonateorgan.getId());

--
Gitblit v1.9.3