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 | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 56 insertions(+), 4 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 4c43028..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,10 +1,16 @@
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;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.ruoyi.common.utils.DateUtils;
+import com.ruoyi.common.utils.bean.DtoConversionUtils;
import com.ruoyi.project.domain.ServiceDonateorgan;
+import com.ruoyi.project.domain.vo.ServiceDonateorganBaseVO;
import com.ruoyi.project.domain.dto.DonateorganBaseInfoDTO;
import com.ruoyi.project.domain.vo.DonateorganBaseInfoVO;
import com.ruoyi.project.mapper.ServiceDonateorganMapper;
@@ -13,9 +19,6 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
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;
import com.ruoyi.project.mapper.ServiceDonateorganBaseMapper;
@@ -127,4 +130,53 @@
return this.list(wrappers);
}
+ @Override
+ public long add(ServiceDonateorganBaseVO serviceDonateorganBaseVO) {
+ ServiceDonateorganBase serviceDonateorganBase = DtoConversionUtils.sourceToTarget(serviceDonateorganBaseVO, ServiceDonateorganBase.class);
+ boolean save = false;
+ if (ObjectUtils.isNotEmpty(serviceDonateorganBase)) {
+ save = save(serviceDonateorganBase);
+ if (save == true && CollectionUtils.isNotEmpty(serviceDonateorganBaseVO.getServiceDonateorganList())) {
+ for (ServiceDonateorgan serviceDonateorgan : serviceDonateorganBaseVO.getServiceDonateorganList()) {
+ serviceDonateorgan.setBaseId(serviceDonateorganBase.getId());
+ serviceDonateorganMapper.insert(serviceDonateorgan);
+ }
+ }
+ }
+
+ return serviceDonateorganBase.getId();
+ }
+
+ @Override
+ public Boolean updateByParam(ServiceDonateorganBaseVO serviceDonateorganBaseVO) {
+ ServiceDonateorganBase serviceDonateorganBase = DtoConversionUtils.sourceToTarget(serviceDonateorganBaseVO, ServiceDonateorganBase.class);
+ boolean b = false;
+ 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());
+ }else {
+ serviceDonateorganMapper.updateById(serviceDonateorgan);
+ }
+ }else {
+ serviceDonateorgan.setBaseId(serviceDonateorganBase.getId());
+ serviceDonateorganMapper.insert(serviceDonateorgan);
+ }
+ }
+ }
+ }
+ return b;
+ }
+
}
--
Gitblit v1.9.3