From 2359f47c2f89a9867e72aa9b171cb118b874afec Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期五, 13 三月 2026 10:29:21 +0800
Subject: [PATCH] 代码提交

---
 ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceMedicalevaluationServiceImpl.java |   41 ++++++++++++++++++++++++++++++++---------
 1 files changed, 32 insertions(+), 9 deletions(-)

diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceMedicalevaluationServiceImpl.java b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceMedicalevaluationServiceImpl.java
index f443fa2..316c604 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceMedicalevaluationServiceImpl.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceMedicalevaluationServiceImpl.java
@@ -62,7 +62,8 @@
         }
         if (StringUtils.isNotNull(serviceMedicalevaluation.getAssessState())) {
             wrappers.eq(ServiceMedicalevaluation::getAssessState, serviceMedicalevaluation.getAssessState());
-        }  if (StringUtils.isNotNull(serviceMedicalevaluation.getAssessTime())) {
+        }
+        if (StringUtils.isNotNull(serviceMedicalevaluation.getAssessTime())) {
             wrappers.eq(ServiceMedicalevaluation::getAssessTime, serviceMedicalevaluation.getAssessTime());
         }
         if (StringUtils.isNotBlank(serviceMedicalevaluation.getDonorno())) {
@@ -78,8 +79,8 @@
     public Boolean add(ServiceMedicalevaluationVO serviceMedicalevaluationVO) {
         ServiceMedicalevaluation serviceMedicalevaluation = DtoConversionUtils.sourceToTarget(serviceMedicalevaluationVO, ServiceMedicalevaluation.class);
         boolean save = save(serviceMedicalevaluation);
-        if(save && CollectionUtils.isNotEmpty(serviceMedicalevaluationVO.getServiceMedicalevaluationorganList())){
-            for (ServiceMedicalevaluationorgan serviceMedicalevaluationorgan:serviceMedicalevaluationVO.getServiceMedicalevaluationorganList()) {
+        if (save && CollectionUtils.isNotEmpty(serviceMedicalevaluationVO.getServiceMedicalevaluationorganList())) {
+            for (ServiceMedicalevaluationorgan serviceMedicalevaluationorgan : serviceMedicalevaluationVO.getServiceMedicalevaluationorganList()) {
                 serviceMedicalevaluationorgan.setInfoid(serviceMedicalevaluation.getInfoid());
                 serviceMedicalevaluationorgan.setMedicalId(serviceMedicalevaluation.getId());
                 serviceMedicalevaluationorganMapper.insert(serviceMedicalevaluationorgan);
@@ -91,10 +92,29 @@
     @Override
     public Boolean edit(ServiceMedicalevaluationVO serviceMedicalevaluationVO) {
         ServiceMedicalevaluation serviceMedicalevaluation = DtoConversionUtils.sourceToTarget(serviceMedicalevaluationVO, ServiceMedicalevaluation.class);
-        boolean update = updateById(serviceMedicalevaluation);
-        if(update && CollectionUtils.isNotEmpty(serviceMedicalevaluationVO.getServiceMedicalevaluationorganList())){
-            for (ServiceMedicalevaluationorgan serviceMedicalevaluationorgan:serviceMedicalevaluationVO.getServiceMedicalevaluationorganList()) {
-                serviceMedicalevaluationorganMapper.updateById(serviceMedicalevaluationorgan);
+        boolean update = false;
+        if (serviceMedicalevaluation.getDelFlag() != null && serviceMedicalevaluation.getDelFlag() == 1) {
+            update = removeById(serviceMedicalevaluation);
+        } else {
+            update = updateById(serviceMedicalevaluation);
+        }
+        if (update && CollectionUtils.isNotEmpty(serviceMedicalevaluationVO.getServiceMedicalevaluationorganList())) {
+            for (ServiceMedicalevaluationorgan serviceMedicalevaluationorgan : serviceMedicalevaluationVO.getServiceMedicalevaluationorganList()) {
+                // 濡傛灉鐖惰妭鐐硅鍒犻櫎锛屽瓙鑺傜偣涔熻鍏ㄥ垹闄�
+                if (serviceMedicalevaluation.getDelFlag() != null && serviceMedicalevaluation.getDelFlag() == 1) {
+                    serviceMedicalevaluationorgan.setDelFlag(1);
+                }
+
+                if (serviceMedicalevaluationorgan.getDelFlag() != null && serviceMedicalevaluationorgan.getDelFlag() == 1) {
+                    serviceMedicalevaluationorganMapper.deleteById(serviceMedicalevaluationorgan.getId());
+                } else {
+                    serviceMedicalevaluationorganMapper.updateById(serviceMedicalevaluationorgan);
+                }
+                if (serviceMedicalevaluationorgan.getId() == null) {
+                    serviceMedicalevaluationorgan.setInfoid(serviceMedicalevaluation.getInfoid());
+                    serviceMedicalevaluationorgan.setMedicalId(serviceMedicalevaluation.getId());
+                    serviceMedicalevaluationorganMapper.insert(serviceMedicalevaluationorgan);
+                }
             }
         }
         return update;
@@ -130,8 +150,11 @@
                 ServiceMedicalevaluationorgan serviceMedicalevaluationorgan = new ServiceMedicalevaluationorgan();
                 serviceMedicalevaluationorgan.setInfoid(medicalevaluationBaseInfoDTO.getInfoid());
                 List<ServiceMedicalevaluationorgan> serviceMedicalevaluationorgans = serviceMedicalevaluationorganMapper.selectServiceMedicalevaluationorganList(serviceMedicalevaluationorgan);
-                if (CollectionUtils.isNotEmpty(serviceMedicalevaluationorgans))
-                    medicalevaluationBaseInfoDTO.setServiceMedicalevaluationorgans(serviceMedicalevaluationorgans);
+                if (CollectionUtils.isNotEmpty(serviceMedicalevaluationorgans)) {
+                    medicalevaluationBaseInfoDTO.setServiceMedicalevaluationorganList(serviceMedicalevaluationorgans);
+                    String organdecision = serviceMedicalevaluationorgans.stream().map(ServiceMedicalevaluationorgan::getOrganno).filter(org.springframework.util.StringUtils::hasText).collect(java.util.stream.Collectors.joining(","));
+                    medicalevaluationBaseInfoDTO.setOrgandecision(organdecision);
+                }
             }
         }
         return medicalevaluationBaseInfoDTOS;

--
Gitblit v1.9.3