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 | 22 +++++++++++++++++++++-
1 files changed, 21 insertions(+), 1 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 d1a21d1..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,8 +154,25 @@
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()) {
- serviceDonateorganMapper.updateById(serviceDonateorgan);
+ 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());
+ }else {
+ serviceDonateorganMapper.updateById(serviceDonateorgan);
+ }
+ }else {
+ serviceDonateorgan.setBaseId(serviceDonateorganBase.getId());
+ serviceDonateorganMapper.insert(serviceDonateorgan);
+ }
}
}
}
--
Gitblit v1.9.3