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 |   65 +++++++++++++++++++++++++++++---
 1 files changed, 58 insertions(+), 7 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 886e747..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
@@ -8,11 +8,13 @@
 import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.common.utils.bean.DtoConversionUtils;
 import com.ruoyi.project.domain.ServiceMedicalevaluationorgan;
 import com.ruoyi.project.domain.dto.MedicalevaluationBaseInfoDTO;
 import com.ruoyi.project.domain.ServiceMedicalevaluation;
 import com.ruoyi.project.domain.vo.MedicalEvaluationVO;
 import com.ruoyi.project.domain.vo.MedicalEvaluationWithBaseInfoVO;
+import com.ruoyi.project.domain.vo.ServiceMedicalevaluationVO;
 import com.ruoyi.project.mapper.ServiceDonatebaseinfoMapper;
 import com.ruoyi.project.mapper.ServiceMedicalevaluationMapper;
 import com.ruoyi.project.mapper.ServiceMedicalevaluationorganMapper;
@@ -58,10 +60,11 @@
         if (StringUtils.isNotNull(serviceMedicalevaluation.getInfoid())) {
             wrappers.eq(ServiceMedicalevaluation::getInfoid, serviceMedicalevaluation.getInfoid());
         }
-        if (StringUtils.isNotNull(serviceMedicalevaluation.getFirstAssessState())) {
-            wrappers.eq(ServiceMedicalevaluation::getFirstAssessState, serviceMedicalevaluation.getFirstAssessState());
-        }  if (StringUtils.isNotNull(serviceMedicalevaluation.getSecondAssessState())) {
-            wrappers.eq(ServiceMedicalevaluation::getSecondAssessState, serviceMedicalevaluation.getSecondAssessState());
+        if (StringUtils.isNotNull(serviceMedicalevaluation.getAssessState())) {
+            wrappers.eq(ServiceMedicalevaluation::getAssessState, serviceMedicalevaluation.getAssessState());
+        }
+        if (StringUtils.isNotNull(serviceMedicalevaluation.getAssessTime())) {
+            wrappers.eq(ServiceMedicalevaluation::getAssessTime, serviceMedicalevaluation.getAssessTime());
         }
         if (StringUtils.isNotBlank(serviceMedicalevaluation.getDonorno())) {
             wrappers.eq(ServiceMedicalevaluation::getDonorno, serviceMedicalevaluation.getDonorno());
@@ -70,6 +73,51 @@
             wrappers.eq(ServiceMedicalevaluation::getCaseNo, serviceMedicalevaluation.getCaseNo());
         }
         return this.list(wrappers);
+    }
+
+    @Override
+    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()) {
+                serviceMedicalevaluationorgan.setInfoid(serviceMedicalevaluation.getInfoid());
+                serviceMedicalevaluationorgan.setMedicalId(serviceMedicalevaluation.getId());
+                serviceMedicalevaluationorganMapper.insert(serviceMedicalevaluationorgan);
+            }
+        }
+        return save;
+    }
+
+    @Override
+    public Boolean edit(ServiceMedicalevaluationVO serviceMedicalevaluationVO) {
+        ServiceMedicalevaluation serviceMedicalevaluation = DtoConversionUtils.sourceToTarget(serviceMedicalevaluationVO, ServiceMedicalevaluation.class);
+        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;
     }
 
     @Override
@@ -93,7 +141,7 @@
     }
 
     @Override
-    public List<MedicalevaluationBaseInfoDTO> evaluateBaseInfolist(MedicalEvaluationWithBaseInfoVO medicalEvaluationWithBaseInfoVO) {
+    public List<MedicalevaluationBaseInfoDTO> medevaluateBaseInfolist(MedicalEvaluationWithBaseInfoVO medicalEvaluationWithBaseInfoVO) {
         List<MedicalevaluationBaseInfoDTO> medicalevaluationBaseInfoDTOS = serviceMedicalevaluationMapper.selectEvaluateBaseInfoList(medicalEvaluationWithBaseInfoVO);
 
         //鍒ゆ柇pgaeNun鏄负浜嗚鏌ヨtotal涓嶅啀鏌ヨserviceMedicalevaluationorgan
@@ -102,8 +150,11 @@
                 ServiceMedicalevaluationorgan serviceMedicalevaluationorgan = new ServiceMedicalevaluationorgan();
                 serviceMedicalevaluationorgan.setInfoid(medicalevaluationBaseInfoDTO.getInfoid());
                 List<ServiceMedicalevaluationorgan> serviceMedicalevaluationorgans = serviceMedicalevaluationorganMapper.selectServiceMedicalevaluationorganList(serviceMedicalevaluationorgan);
-                if (CollectionUtils.isNotEmpty(serviceMedicalevaluationorgans))
-                    medicalevaluationBaseInfoDTO.setServiceMedicalevaluationorgan(serviceMedicalevaluationorgans.get(0));
+                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