liusheng
2026-03-13 2359f47c2f89a9867e72aa9b171cb118b874afec
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;