diff --git a/virtual-patient-web/src/main/java/com/supervision/service/impl/AskPhysicalServiceImpl.java b/virtual-patient-web/src/main/java/com/supervision/service/impl/AskPhysicalServiceImpl.java index f90c1d7e..06226ade 100644 --- a/virtual-patient-web/src/main/java/com/supervision/service/impl/AskPhysicalServiceImpl.java +++ b/virtual-patient-web/src/main/java/com/supervision/service/impl/AskPhysicalServiceImpl.java @@ -57,21 +57,27 @@ public class AskPhysicalServiceImpl implements AskPhysicalService { ConfigPhysicalTool tool = Optional.ofNullable(toolService.getById(reqVO.getToolId())).orElseThrow(() -> new BusinessException("工具不支持")); // 是否需要具体的部位,0否1是 ConfigPhysicalLocation location = new ConfigPhysicalLocation(); + DiseasePhysical result = new DiseasePhysical(); + if (1 == tool.getRequireLocation() && StrUtil.isBlank(reqVO.getLocationCode())) { + throw new BusinessException("请选择对应的位置"); + } if (1 == tool.getRequireLocation()) { - if (StrUtil.isBlank(reqVO.getLocationCode())){ - throw new BusinessException("请选择对应的位置"); - } location = locationService.lambdaQuery().eq(ConfigPhysicalLocation::getCode, reqVO.getLocationCode()).last("limit 1") .oneOpt().orElseGet(ConfigPhysicalLocation::new); } - DiseasePhysical result = diseasePhysicalService.lambdaQuery().eq(DiseasePhysical::getMedicalRecId, process.getMedicalRecId()) - .eq(DiseasePhysical::getToolId, tool.getId()).eq(StrUtil.isNotBlank(location.getId()), DiseasePhysical::getLocationId, location.getId()).last("limit 1") - .oneOpt() - .orElseGet(() -> { - DiseasePhysical diseasePhysical = new DiseasePhysical(); - diseasePhysical.setResult("无相关资讯"); - return diseasePhysical; - }); + if (1 == tool.getRequireLocation() && StrUtil.isEmpty(location.getId())) { + result.setResult("无相关资讯"); + } else { + result = diseasePhysicalService.lambdaQuery().eq(DiseasePhysical::getMedicalRecId, process.getMedicalRecId()) + .eq(DiseasePhysical::getToolId, tool.getId()).eq(StrUtil.isNotBlank(location.getId()), DiseasePhysical::getLocationId, location.getId()).last("limit 1") + .oneOpt() + .orElseGet(() -> { + DiseasePhysical diseasePhysical = new DiseasePhysical(); + diseasePhysical.setResult("无相关资讯"); + return diseasePhysical; + }); + } + // 检查记录保存到数据库中 DiagnosisPhysicalRecord diagnosisPhysicalRecord = new DiagnosisPhysicalRecord(); diagnosisPhysicalRecord.setProcessId(process.getId());