diff --git a/virtual-patient-graph/src/main/java/com/supervision/service/impl/GraphNebulaServiceImpl.java b/virtual-patient-graph/src/main/java/com/supervision/service/impl/GraphNebulaServiceImpl.java index cb083f44..9b245529 100644 --- a/virtual-patient-graph/src/main/java/com/supervision/service/impl/GraphNebulaServiceImpl.java +++ b/virtual-patient-graph/src/main/java/com/supervision/service/impl/GraphNebulaServiceImpl.java @@ -172,7 +172,7 @@ public class GraphNebulaServiceImpl implements GraphNebulaService { processMedicalDao.insertEdge(medicalRecVertex, new SinglePropertyEdge("体格检查"), physicalVertex); // 获取查询结果,增加到结果节点中 PhysicalResultVertex physicalResultVertex = new PhysicalResultVertex(); - physicalResultVertex.setNodeValue(physicalRecord.getResult()); + physicalResultVertex.setNodeValue(StrUtil.blankToDefault(physicalRecord.getResult(), "无相关资讯")); physicalResultDao.insert(physicalResultVertex); physicalResultDao.insertEdge(physicalVertex, new SinglePropertyEdge("结果"), physicalResultVertex); // 如果是证实诊断依据,添加到证实诊断依据里面去 @@ -195,7 +195,7 @@ public class GraphNebulaServiceImpl implements GraphNebulaService { medicalRecDao.insertEdge(medicalRecVertex, new SinglePropertyEdge("辅助检查"), ancillaryVertex); // 结果节点 AncillaryResultVertex ancillaryResultVertex = new AncillaryResultVertex(); - ancillaryResultVertex.setNodeValue(diagnosisAncillaryRecord.getResult()); + ancillaryResultVertex.setNodeValue(StrUtil.blankToDefault(diagnosisAncillaryRecord.getResult(), "无相关资讯")); ancillaryResultDao.insert(ancillaryResultVertex); // 保存检查结果连线 ancillaryDao.insertEdge(ancillaryVertex, new SinglePropertyEdge("结果"), ancillaryResultVertex); 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 b67a64af..6cbfbb81 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 @@ -450,6 +450,7 @@ public class AskDiagnosisResultServiceImpl implements AskDiagnosisResultService // 查询用户填写的治疗计划(包含处置计划和用药计划) List userTreatmentPlanRecordList = treatmentPlanRecordService.lambdaQuery().eq(TreatmentPlanRecord::getProcessId, process.getId()).list(); int userTreatmentPlanCount = userTreatmentPlanRecordList.size(); + // 2. 查询出疾病处置计划(疾病配置的处置计划) List diseaseTreatmentPlanResVos = diseaseTreatmentPlanService.queryListByDiseaseId(process.getDiseaseId()); Set treatmentPlanIdSet = diseaseTreatmentPlanResVos.stream().map(DiseaseTreatmentPlanResVo::getTreatmentPlanId).collect(Collectors.toSet()); @@ -457,9 +458,12 @@ public class AskDiagnosisResultServiceImpl implements AskDiagnosisResultService // 3. 查出疾病处置计划用药(疾病配置的用药计划) List diseaseTreatmentPlanDrugList = diseaseTreatmentPlanDrugService.lambdaQuery().eq(DiseaseTreatmentPlanDrug::getDiseaseId, process.getDiseaseId()).list(); Set drugIdSet = diseaseTreatmentPlanDrugList.stream().map(DiseaseTreatmentPlanDrug::getDrugId).collect(Collectors.toSet()); - // 疾病配置的治疗计划总数 + + // 计算总数时,只看疾病配置的处置计划(用药计划来自于处置计划) + int medicalCount = diseaseTreatmentPlanResVos.size(); + + // 疾病配置的治疗计划ID集合,用来计算命中的数量 Collection planIdSet = CollUtil.union(treatmentPlanIdSet, drugIdSet); - int medicalCount = planIdSet.size(); int hitPlanCount = 0; for (TreatmentPlanRecord treatmentPlanRecord : userTreatmentPlanRecordList) { // 需要分别看是否是药物计划