diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/controller/diseasemanage/DiseaseAncillaryManageController.java b/virtual-patient-manage/src/main/java/com/supervision/manage/controller/diseasemanage/DiseaseAncillaryManageController.java index 7886c7e7..d39ee7b2 100644 --- a/virtual-patient-manage/src/main/java/com/supervision/manage/controller/diseasemanage/DiseaseAncillaryManageController.java +++ b/virtual-patient-manage/src/main/java/com/supervision/manage/controller/diseasemanage/DiseaseAncillaryManageController.java @@ -55,7 +55,7 @@ public class DiseaseAncillaryManageController { @GetMapping("/queryListByDiseaseId") public List<DiseaseAncillaryResVo> queryListByDiseaseId(@RequestParam("diseaseId") String diseaseId) { - return diseaseAncillaryManageService.queryListByDiseaseId(diseaseId); + return diseaseAncillaryManageService.queryListByDiseaseId(diseaseId,0); } diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/controller/medicalrec/MedicalRecManageController.java b/virtual-patient-manage/src/main/java/com/supervision/manage/controller/medicalrec/MedicalRecManageController.java index d22ada42..7806f9c4 100644 --- a/virtual-patient-manage/src/main/java/com/supervision/manage/controller/medicalrec/MedicalRecManageController.java +++ b/virtual-patient-manage/src/main/java/com/supervision/manage/controller/medicalrec/MedicalRecManageController.java @@ -1,5 +1,7 @@ package com.supervision.manage.controller.medicalrec; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import com.supervision.manage.pojo.vo.*; import com.supervision.manage.service.MedicalRecManageService; @@ -66,6 +68,13 @@ public class MedicalRecManageController { return medicalRecManageService.queryDiseaseAncillaryByCreat(diseaseId); } + @Operation(summary = "查看配置的辅助检查项") + @GetMapping("queryDiseaseAncillary") + public List<DiseaseAncillaryResVo> queryDiseaseAncillary(@Parameter(name = "medicalRecId", description = "病例id") String medicalRecId){ + return medicalRecManageService.queryDiseaseAncillary(medicalRecId); + } + + @Operation(summary = "创建病历时查看配置的体格检查项") @GetMapping("queryDiseasePhysicalByCreat") public List<DiseasePhysicalResVo> queryDiseasePhysicalByCreat(String diseaseId){ diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/service/DiseaseAncillaryManageService.java b/virtual-patient-manage/src/main/java/com/supervision/manage/service/DiseaseAncillaryManageService.java index 861601c0..b19aa511 100644 --- a/virtual-patient-manage/src/main/java/com/supervision/manage/service/DiseaseAncillaryManageService.java +++ b/virtual-patient-manage/src/main/java/com/supervision/manage/service/DiseaseAncillaryManageService.java @@ -9,7 +9,7 @@ import java.util.List; public interface DiseaseAncillaryManageService { - List<DiseaseAncillaryResVo> queryListByDiseaseId(String diseaseId); + List<DiseaseAncillaryResVo> queryListByDiseaseId(String diseaseId,Integer relationType); DiseaseAncillary saveAncillary(DiseaseAncillary diseaseAncillary); diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/service/MedicalRecManageService.java b/virtual-patient-manage/src/main/java/com/supervision/manage/service/MedicalRecManageService.java index 102b0114..97e46323 100644 --- a/virtual-patient-manage/src/main/java/com/supervision/manage/service/MedicalRecManageService.java +++ b/virtual-patient-manage/src/main/java/com/supervision/manage/service/MedicalRecManageService.java @@ -60,4 +60,6 @@ public interface MedicalRecManageService { Boolean updateMedicalRecPhysical(DiseasePhysicalReqVo diseasePhysicalReqVo); Boolean updateMedicalRecAncillary(DiseaseAncillaryReqVo diseaseAncillaryReqVo); + + List<DiseaseAncillaryResVo> queryDiseaseAncillary(String medicalId); } diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/DiseaseAncillaryManageServiceImpl.java b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/DiseaseAncillaryManageServiceImpl.java index ea68cce4..cd3cce6c 100644 --- a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/DiseaseAncillaryManageServiceImpl.java +++ b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/DiseaseAncillaryManageServiceImpl.java @@ -29,10 +29,11 @@ public class DiseaseAncillaryManageServiceImpl implements DiseaseAncillaryManage private final ConfigAncillaryItemService configAncillaryItemService; @Override - public List<DiseaseAncillaryResVo> queryListByDiseaseId(String diseaseId) { + public List<DiseaseAncillaryResVo> queryListByDiseaseId(String diseaseId,Integer relationType) { Assert.isTrue(StrUtil.isNotEmpty(diseaseId),"diseaseId不能为空"); - List<DiseaseAncillaryResVo> diseaseAncillaryResVos = diseaseAncillaryService.queryListByDiseaseId(diseaseId); + relationType = Objects.isNull(relationType) ? 0 : relationType; + List<DiseaseAncillaryResVo> diseaseAncillaryResVos = diseaseAncillaryService.queryListByDiseaseId(diseaseId,relationType); diseaseAncillaryResVos.forEach(DiseaseAncillaryResVo::populateOther); return diseaseAncillaryResVos; @@ -83,7 +84,7 @@ public class DiseaseAncillaryManageServiceImpl implements DiseaseAncillaryManage return configAncillaryItemResVOS; } - List<DiseaseAncillaryResVo> diseaseAncillaryResVos = diseaseAncillaryService.queryListByDiseaseId(ancillaryItemReqVo.getDiseaseId()); + List<DiseaseAncillaryResVo> diseaseAncillaryResVos = diseaseAncillaryService.queryListByDiseaseId(ancillaryItemReqVo.getDiseaseId(),0); if (CollUtil.isEmpty(diseaseAncillaryResVos)){ return configAncillaryItemResVOS; } diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/MedicalRecManageServiceImpl.java b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/MedicalRecManageServiceImpl.java index f053692c..038c14e2 100644 --- a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/MedicalRecManageServiceImpl.java +++ b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/MedicalRecManageServiceImpl.java @@ -145,7 +145,7 @@ public class MedicalRecManageServiceImpl implements MedicalRecManageService { @Override public List<DiseaseAncillaryResVo> queryDiseaseAncillaryByCreat(String diseaseId) { // 辅助检查 - return diseaseAncillaryManageService.queryListByDiseaseId(diseaseId); + return diseaseAncillaryManageService.queryListByDiseaseId(diseaseId,0); } @Override @@ -243,7 +243,7 @@ public class MedicalRecManageServiceImpl implements MedicalRecManageService { MedicalRecInfoVO medicalRecInfoVO = BeanUtil.toBean(medicalRec, MedicalRecInfoVO.class); medicalRecInfoVO.setDiseaseName(diseaseService.getById(medicalRec.getDiseaseId()).getDiseaseName()); // 辅助检查 - medicalRecInfoVO.setAncillaryList(diseaseAncillaryManageService.queryListByDiseaseId(medicalRec.getDiseaseId())); + medicalRecInfoVO.setAncillaryList(diseaseAncillaryManageService.queryListByDiseaseId(medicalRec.getDiseaseId(),0)); // 体格检查 medicalRecInfoVO.setPhysicalList(diseasePhysicalManageService.queryListByDiseaseId(medicalRec.getDiseaseId())); // 处置计划 @@ -501,6 +501,21 @@ public class MedicalRecManageServiceImpl implements MedicalRecManageService { return diseaseAncillaryManageService.updateAncillary(diseaseAncillaryReqVo); } + @Override + public List<DiseaseAncillaryResVo> queryDiseaseAncillary(String medicalId) { + // 在病历没有保存病历与辅助检查的关联数据时,直接通过medicalId不能够查询到数据,这个时候用对应疾病的数据 + List<DiseaseAncillaryResVo> diseaseAncillaryResVos = diseaseAncillaryManageService.queryListByDiseaseId(medicalId,1); + if (CollUtil.isNotEmpty(diseaseAncillaryResVos)) { + return diseaseAncillaryResVos; + } + log.info("queryDiseaseAncillary:未找到该病历辅助检查数据,使用对应疾病辅助检查数据"); + MedicalRec medicalRec = medicalRecService.getById(medicalId); + Assert.notNull(medicalRec, "未找到该病历"); + Assert.notEmpty(medicalRec.getDiseaseId(), "未配置疾病信息"); + + return diseaseAncillaryManageService.queryListByDiseaseId(medicalRec.getDiseaseId(),0); + } + private void saveMedicalRecAssert(MedicalRecInfoReVo reqVO){ Assert.notEmpty(reqVO.getId(), "id不能为空"); Assert.notEmpty(reqVO.getPatientId(),"病人id不能为空"); diff --git a/virtual-patient-model/src/main/java/com/supervision/mapper/DiseaseAncillaryMapper.java b/virtual-patient-model/src/main/java/com/supervision/mapper/DiseaseAncillaryMapper.java index a3a3e9ed..b5adf303 100644 --- a/virtual-patient-model/src/main/java/com/supervision/mapper/DiseaseAncillaryMapper.java +++ b/virtual-patient-model/src/main/java/com/supervision/mapper/DiseaseAncillaryMapper.java @@ -19,7 +19,7 @@ public interface DiseaseAncillaryMapper extends BaseMapper<DiseaseAncillary> { List<DiseaseAncillaryDto> queryDiseaseAncillaryDtoList(@Param("diseaseAncillary")DiseaseAncillary diseaseAncillary); - List<DiseaseAncillaryResVo> queryListByDiseaseId(@Param("diseaseId")String diseaseId); + List<DiseaseAncillaryResVo> queryListByDiseaseId(@Param("diseaseId")String diseaseId,@Param("relationType")Integer relationType); } diff --git a/virtual-patient-model/src/main/java/com/supervision/service/DiseaseAncillaryService.java b/virtual-patient-model/src/main/java/com/supervision/service/DiseaseAncillaryService.java index d3b114c5..087dcf81 100644 --- a/virtual-patient-model/src/main/java/com/supervision/service/DiseaseAncillaryService.java +++ b/virtual-patient-model/src/main/java/com/supervision/service/DiseaseAncillaryService.java @@ -20,7 +20,7 @@ public interface DiseaseAncillaryService extends IService<DiseaseAncillary> { DiseaseAncillaryDto queryDiseaseAncillaryDtoOne(DiseaseAncillary diseaseAncillary, Supplier<DiseaseAncillaryDto> other); - List<DiseaseAncillaryResVo> queryListByDiseaseId(String diseaseId); + List<DiseaseAncillaryResVo> queryListByDiseaseId(String diseaseId,Integer relationType); } diff --git a/virtual-patient-model/src/main/java/com/supervision/service/impl/DiseaseAncillaryServiceImpl.java b/virtual-patient-model/src/main/java/com/supervision/service/impl/DiseaseAncillaryServiceImpl.java index 27a0dcb5..4649619e 100644 --- a/virtual-patient-model/src/main/java/com/supervision/service/impl/DiseaseAncillaryServiceImpl.java +++ b/virtual-patient-model/src/main/java/com/supervision/service/impl/DiseaseAncillaryServiceImpl.java @@ -44,8 +44,8 @@ public class DiseaseAncillaryServiceImpl extends ServiceImpl<DiseaseAncillaryMap } @Override - public List<DiseaseAncillaryResVo> queryListByDiseaseId(String diseaseId) { - return super.getBaseMapper().queryListByDiseaseId(diseaseId); + public List<DiseaseAncillaryResVo> queryListByDiseaseId(String diseaseId,Integer relationType) { + return super.getBaseMapper().queryListByDiseaseId(diseaseId,relationType); } diff --git a/virtual-patient-model/src/main/resources/mapper/DiseaseAncillaryMapper.xml b/virtual-patient-model/src/main/resources/mapper/DiseaseAncillaryMapper.xml index 387b3f55..a56cf06c 100644 --- a/virtual-patient-model/src/main/resources/mapper/DiseaseAncillaryMapper.xml +++ b/virtual-patient-model/src/main/resources/mapper/DiseaseAncillaryMapper.xml @@ -81,6 +81,9 @@ from vp_disease_ancillary da left join vp_config_ancillary_item cai on da.item_id = cai.id where da.disease_id = #{diseaseId} + <if test="relationType != null"> + AND da.relation_type = #{relationType} + </if> order by da.create_time desc </select> diff --git a/virtual-patient-web/src/main/java/com/supervision/service/impl/AskDiagnosisResultServiceImpl.java b/virtual-patient-web/src/main/java/com/supervision/service/impl/AskDiagnosisResultServiceImpl.java index eeec68c4..158bfd6f 100644 --- a/virtual-patient-web/src/main/java/com/supervision/service/impl/AskDiagnosisResultServiceImpl.java +++ b/virtual-patient-web/src/main/java/com/supervision/service/impl/AskDiagnosisResultServiceImpl.java @@ -138,7 +138,7 @@ public class AskDiagnosisResultServiceImpl implements AskDiagnosisResultService // 2.3 获取辅助检查 List<AncillaryRecordByResultDTO> ancillaryRecordList = diagnosisAncillaryRecordService.queryAncillaryResultByProcessId(processId); - List<DiseaseAncillaryResVo> diseaseAncillaryResVos = diseaseAncillaryService.queryListByDiseaseId(medicalRec.getDiseaseId()); + List<DiseaseAncillaryResVo> diseaseAncillaryResVos = diseaseAncillaryService.queryListByDiseaseId(medicalRec.getDiseaseId(),0); nodeList.addAll(ancillaryRecordMergeListsIdentification(ancillaryRecordList, diseaseAncillaryResVos)); @@ -158,7 +158,7 @@ public class AskDiagnosisResultServiceImpl implements AskDiagnosisResultService // 2.3 获取辅助检查 List<AncillaryRecordByResultDTO> ancillaryRecordList = diagnosisAncillaryRecordService.queryAncillaryResultByProcessId(processId); - List<DiseaseAncillaryResVo> diseaseAncillaryResVos = diseaseAncillaryService.queryListByDiseaseId(medicalRec.getDiseaseId()); + List<DiseaseAncillaryResVo> diseaseAncillaryResVos = diseaseAncillaryService.queryListByDiseaseId(medicalRec.getDiseaseId(),0); nodeList.addAll(ancillaryRecordMergeListsConfirm(ancillaryRecordList, diseaseAncillaryResVos)); basisConfirmResultResVO.setNodeList(nodeList); @@ -185,7 +185,7 @@ public class AskDiagnosisResultServiceImpl implements AskDiagnosisResultService // 2.3 获取辅助检查 List<AncillaryRecordByResultDTO> ancillaryRecordList = diagnosisAncillaryRecordService.queryAncillaryResultByProcessId(process.getId()); - List<DiseaseAncillaryResVo> diseaseAncillaryResVos = diseaseAncillaryService.queryListByDiseaseId(medicalRec.getDiseaseId()); + List<DiseaseAncillaryResVo> diseaseAncillaryResVos = diseaseAncillaryService.queryListByDiseaseId(medicalRec.getDiseaseId(),0); basisDiagnosisNodeResVOS.addAll(ancillaryRecordMergeListsBasisPrimary(ancillaryRecordList, diseaseAncillaryResVos));