From 7bca2c63dfcfb3078903a7a6c7ab6fd49afabd58 Mon Sep 17 00:00:00 2001 From: liu Date: Thu, 30 Nov 2023 14:39:12 +0800 Subject: [PATCH] =?UTF-8?q?=E7=97=85=E5=8E=86=E7=AE=A1=E7=90=86=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MedicalRecManageController.java | 35 ++++++++++++++++--- .../service/MedicalRecManageService.java | 15 +++++++- .../impl/MedicalRecManageServiceImpl.java | 29 +++++++++++++-- .../vo/manage/AskQuestionLibraryResVo.java | 1 - .../mapper/DiseasePhysicalMapper.xml | 1 + .../resources/mapper/MedicalRecMapper.xml | 2 +- .../service/impl/AskServiceImpl.java | 8 ++--- 7 files changed, 78 insertions(+), 13 deletions(-) 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 e1f275a9..ed050bd1 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 @@ -7,6 +7,9 @@ import com.supervision.manage.pojo.vo.MedicalRecInfoVO; import com.supervision.manage.pojo.vo.MedicalRecManageVO; import com.supervision.manage.pojo.vo.MedicalRecQaVO; import com.supervision.service.CommonDicService; +import com.supervision.vo.manage.DiseaseAncillaryResVo; +import com.supervision.vo.manage.DiseasePhysicalResVo; +import com.supervision.vo.manage.DiseaseTreatmentPlanResVo; import com.supervision.vo.manage.MedicalRecPageResVO; import com.supervision.manage.service.MedicalRecManageService; import com.supervision.model.Disease; @@ -27,10 +30,10 @@ public class MedicalRecManageController { private final MedicalRecManageService medicalRecManageService; - @ApiOperation("初步诊断下拉列表联想") - @GetMapping("queryDiseaseListByKeyWord") - public List queryDiseaseListByKeyWord(@NotBlank(message = "关键字不能为空") String keyword) { - return medicalRecManageService.queryDiseaseListByKeyWord(keyword); + @ApiOperation("初步诊断下拉列表联想(这里目前只查单一疾病)") + @GetMapping("queryDiseaseListByDropList") + public List queryDiseaseListByDropList() { + return medicalRecManageService.queryDiseaseListByDropList(); } @ApiOperation("病历管理分页查询") @@ -48,6 +51,30 @@ public class MedicalRecManageController { medicalRecManageService.createMedicalRec(reqVO); } + @ApiOperation("创建疾病时可选的的疾病列表") + @GetMapping("queryDiseaseListByCreat") + public List queryDiseaseListByCreat() { + return medicalRecManageService.queryDiseaseListByCreat(); + } + + @ApiOperation("创建病历时查看配置的辅助检查项") + @GetMapping("queryDiseaseAncillaryByCreat") + public List queryDiseaseAncillaryByCreat(String diseaseId){ + return medicalRecManageService.queryDiseaseAncillaryByCreat(diseaseId); + } + + @ApiOperation("创建病历时查看配置的体格检查项") + @GetMapping("queryDiseasePhysicalByCreat") + public List queryDiseasePhysicalByCreat(String diseaseId){ + return medicalRecManageService.queryDiseasePhysicalByCreat(diseaseId); + } + + @ApiOperation("创建病历时查看配置的处置计划") + @GetMapping("queryDiseaseTreatmentPlanByCreat") + public List queryDiseaseTreatmentPlanByCreat(String diseaseId){ + return medicalRecManageService.queryDiseaseTreatmentPlanByCreat(diseaseId); + } + @ApiOperation("创建病历时,应答策略查询问题(目前只支持单一疾病)") @GetMapping("queryQuestionListByCreat") public List queryQuestionListByCreat(String diseaseId) { 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 f3c867ae..bb2587d9 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 @@ -4,20 +4,33 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.supervision.manage.pojo.vo.MedicalRecInfoVO; import com.supervision.manage.pojo.vo.MedicalRecManageVO; import com.supervision.manage.pojo.vo.MedicalRecQaVO; +import com.supervision.vo.manage.DiseaseAncillaryResVo; +import com.supervision.vo.manage.DiseasePhysicalResVo; +import com.supervision.vo.manage.DiseaseTreatmentPlanResVo; import com.supervision.vo.manage.MedicalRecPageResVO; import com.supervision.model.Disease; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestBody; import java.util.List; public interface MedicalRecManageService { - List queryDiseaseListByKeyWord(String keyword); + List queryDiseaseListByDropList(); + + List queryDiseaseListByCreat(); IPage queryMedicalRecManagePage(String selfDescKeyword, String gender, String diseaseId, Integer pageNum, Integer pageSize); void createMedicalRec(MedicalRecManageVO reqVO); + List queryDiseaseAncillaryByCreat(String diseaseId); + + List queryDiseasePhysicalByCreat(String diseaseId); + + List queryDiseaseTreatmentPlanByCreat(String diseaseId); + List queryQuestionListByCreat(String diseaseId); void modifyMedicalRec(MedicalRecManageVO reqVO); 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 613034b4..aaac8852 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 @@ -15,6 +15,9 @@ import com.supervision.manage.service.DiseasePhysicalManageService; import com.supervision.manage.service.DiseaseTreatmentPlanManageService; import com.supervision.model.*; import com.supervision.service.*; +import com.supervision.vo.manage.DiseaseAncillaryResVo; +import com.supervision.vo.manage.DiseasePhysicalResVo; +import com.supervision.vo.manage.DiseaseTreatmentPlanResVo; import com.supervision.vo.manage.MedicalRecPageResVO; import com.supervision.manage.service.MedicalRecManageService; import lombok.RequiredArgsConstructor; @@ -51,9 +54,15 @@ public class MedicalRecManageServiceImpl implements MedicalRecManageService { private final DiseaseTreatmentPlanManageService diseaseTreatmentPlanManageService; - public List queryDiseaseListByKeyWord(String keyword) { + public List queryDiseaseListByDropList() { // 注意,这里不支持查询复杂疾病,如果需要支持复杂疾病,这里需要单独进行改造 - return diseaseService.lambdaQuery().eq(Disease::getDiseaseType, 0).like(Disease::getDiseaseName, keyword).list(); + return diseaseService.lambdaQuery().eq(Disease::getDiseaseType, 0).list(); + } + + @Override + public List queryDiseaseListByCreat() { + // 注意,这里不支持查询复杂疾病,如果需要支持复杂疾病,这里需要单独进行改造 + return diseaseService.lambdaQuery().eq(Disease::getDiseaseType, 0).list(); } @Override @@ -91,6 +100,22 @@ public class MedicalRecManageServiceImpl implements MedicalRecManageService { } } + @Override + public List queryDiseaseAncillaryByCreat(String diseaseId) { + // 辅助检查 + return diseaseAncillaryManageService.queryListByDiseaseId(diseaseId); + } + + @Override + public List queryDiseasePhysicalByCreat(String diseaseId) { + return diseasePhysicalManageService.queryListByDiseaseId(diseaseId); + } + + @Override + public List queryDiseaseTreatmentPlanByCreat(String diseaseId) { + return diseaseTreatmentPlanManageService.queryListByDiseaseId(diseaseId); + } + @Override public List queryQuestionListByCreat(String diseaseId) { // 去vp_disease_question获取 diff --git a/virtual-patient-model/src/main/java/com/supervision/vo/manage/AskQuestionLibraryResVo.java b/virtual-patient-model/src/main/java/com/supervision/vo/manage/AskQuestionLibraryResVo.java index 5cfbc02a..9f14d379 100644 --- a/virtual-patient-model/src/main/java/com/supervision/vo/manage/AskQuestionLibraryResVo.java +++ b/virtual-patient-model/src/main/java/com/supervision/vo/manage/AskQuestionLibraryResVo.java @@ -2,7 +2,6 @@ package com.supervision.vo.manage; import io.swagger.annotations.ApiModelProperty; import lombok.Data; -import sun.dc.pr.PRError; import java.util.List; diff --git a/virtual-patient-model/src/main/resources/mapper/DiseasePhysicalMapper.xml b/virtual-patient-model/src/main/resources/mapper/DiseasePhysicalMapper.xml index d052e81f..c5e878e6 100644 --- a/virtual-patient-model/src/main/resources/mapper/DiseasePhysicalMapper.xml +++ b/virtual-patient-model/src/main/resources/mapper/DiseasePhysicalMapper.xml @@ -40,6 +40,7 @@ dp.tool_id as toolId, cpl.parent_id as toolParentId, dp.location_id as locationId, + cpl.location_name as locationName, cpt.tool_name as toolName, cpt.type as toolType, dp.primarily_diagnosis_criteria_flag as primarilyDiagnosisCriteriaFlag, diff --git a/virtual-patient-model/src/main/resources/mapper/MedicalRecMapper.xml b/virtual-patient-model/src/main/resources/mapper/MedicalRecMapper.xml index 4e4c5abf..135d3df8 100644 --- a/virtual-patient-model/src/main/resources/mapper/MedicalRecMapper.xml +++ b/virtual-patient-model/src/main/resources/mapper/MedicalRecMapper.xml @@ -52,7 +52,7 @@ AND t2.gender = #{gender} - + AND t1.disease_id = #{diseaseId} diff --git a/virtual-patient-web/src/main/java/com/supervision/service/impl/AskServiceImpl.java b/virtual-patient-web/src/main/java/com/supervision/service/impl/AskServiceImpl.java index 55332983..27e5641f 100644 --- a/virtual-patient-web/src/main/java/com/supervision/service/impl/AskServiceImpl.java +++ b/virtual-patient-web/src/main/java/com/supervision/service/impl/AskServiceImpl.java @@ -96,8 +96,8 @@ public class AskServiceImpl implements AskService { if (ObjectUtil.isEmpty(askPatientAnswer)) { log.info("{}:病历配置,未从AskPatientAnswer中找到回答结果,尝试回答默认答案", rasaResult); // 首先看看default里面是不是存在,如果存在,就从default里面去找 - if (CollUtil.isNotEmpty(library.getDefaultAnswer())) { - String resText = library.getDefaultAnswer().get(RandomUtil.randomInt(0, library.getDefaultAnswer().size())); + if (StrUtil.isNotEmpty(library.getDefaultAnswer())) { + String resText = library.getDefaultAnswer(); HumanUtil.textDriven(resText, roomId); // 保存记录 saveQaRecord(talkReqVO.getProcessId(), "default", library.getId(), talkReqVO.getText(), resText); @@ -110,8 +110,8 @@ public class AskServiceImpl implements AskService { } else { if (CollUtil.isEmpty(askPatientAnswer.getAnswer())) { log.info("{}:病历配置的回答:{}:为空不为空,但在获取的时候,答案为空,尝试回复默认语句", rasaResult, askPatientAnswer.getId()); - if (CollUtil.isNotEmpty(library.getDefaultAnswer())) { - String resText = library.getDefaultAnswer().get(RandomUtil.randomInt(0, library.getDefaultAnswer().size())); + if (StrUtil.isNotEmpty(library.getDefaultAnswer())) { + String resText = library.getDefaultAnswer(); log.info("{}:病历配置的回答:{}:为空不为空不为空,但在获取的时候,答案为空,开始回复默认语句,默认语句内容:{}", rasaResult, askPatientAnswer.getId(), resText); HumanUtil.textDriven(resText, roomId); // 保存记录