From b78f489cf140f7a7a05753625d3bec38b6746efc Mon Sep 17 00:00:00 2001 From: xueqingkun Date: Mon, 13 Nov 2023 17:08:58 +0800 Subject: [PATCH] =?UTF-8?q?web=20:=201.=E5=88=9D=E6=AD=A5=E8=AF=8A?= =?UTF-8?q?=E6=96=AD=E4=BE=9D=E6=8D=AE=E6=A0=87=E8=AF=86=E5=87=BA=E9=87=8D?= =?UTF-8?q?=E5=A4=8D=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/DiagnosisPhysicalRecordMapper.xml | 4 ++-- .../pojo/vo/BasisDiagnosisNodeResVO.java | 2 +- .../impl/AskDiagnosisResultServiceImpl.java | 17 +++++++++-------- 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/virtual-patient-model/src/main/resources/mapper/DiagnosisPhysicalRecordMapper.xml b/virtual-patient-model/src/main/resources/mapper/DiagnosisPhysicalRecordMapper.xml index c6e017a0..eb091dd7 100644 --- a/virtual-patient-model/src/main/resources/mapper/DiagnosisPhysicalRecordMapper.xml +++ b/virtual-patient-model/src/main/resources/mapper/DiagnosisPhysicalRecordMapper.xml @@ -35,8 +35,8 @@ t4.id as locationId from vp_diagnosis_physical_record t1 left join vp_disease_physical t2 on t1.physical_id = t2.id - left join vp_config_physical_tool t3 on t2.tool_id = t3.id - left join vp_config_physical_location t4 on t2.location_id = t4.id + left join vp_config_physical_tool t3 on t1.tool_id = t3.id + left join vp_config_physical_location t4 on t1.location_id = t4.id where t1.process_id = #{processId} diff --git a/virtual-patient-web/src/main/java/com/supervision/pojo/vo/BasisDiagnosisNodeResVO.java b/virtual-patient-web/src/main/java/com/supervision/pojo/vo/BasisDiagnosisNodeResVO.java index ac70dbde..4165fbc2 100644 --- a/virtual-patient-web/src/main/java/com/supervision/pojo/vo/BasisDiagnosisNodeResVO.java +++ b/virtual-patient-web/src/main/java/com/supervision/pojo/vo/BasisDiagnosisNodeResVO.java @@ -15,7 +15,7 @@ public class BasisDiagnosisNodeResVO { @ApiModelProperty("对应的记录ID") private String recordId; - @ApiModelProperty("是否正确,1正确") + @ApiModelProperty("是否正确,0:不正确 1:正确 2:重复项") private Integer correct; 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 b6e73ec7..a5e4ac3a 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 @@ -13,10 +13,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.List; -import java.util.Set; -import java.util.UUID; +import java.util.*; import java.util.stream.Collectors; @Service @@ -129,6 +126,7 @@ public class AskDiagnosisResultServiceImpl implements AskDiagnosisResultService BasisConfirmResultResVO basisConfirmResultResVO = new BasisConfirmResultResVO(); basisConfirmResultResVO.setConfirmingDiagnosis(diseasesList.stream().map(Disease::getConfirmingDiagnosis).collect(Collectors.toList())); // 2.2 获取体格检查 + HashSet physicalItemSet = new HashSet<>(); List physicalRecordList = diagnosisPhysicalRecordService.queryPhysicalResultByProcessId(processId); List nodeList = physicalRecordList.stream().map(e -> { BasisDiagnosisNodeResVO nodeResVO = new BasisDiagnosisNodeResVO(); @@ -136,14 +134,15 @@ public class AskDiagnosisResultServiceImpl implements AskDiagnosisResultService nodeResVO.setRecordName(e.getToolLocationName()); nodeResVO.setRecordId(e.getRecordId()); // 如果是必做的,则是正确 - nodeResVO.setCorrect(e.getBasisConfirm()); + nodeResVO.setCorrect(physicalItemSet.add(e.getToolLocationName()) ? e.getBasisConfirm() : Integer.valueOf(2)); return nodeResVO; }).collect(Collectors.toList()); // 2.3 获取辅助检查 + physicalItemSet.clear(); List ancillaryRecordList = diagnosisAncillaryRecordService.queryAncillaryResultByProcessId(processId); List collect = ancillaryRecordList.stream().map(e -> { BasisDiagnosisNodeResVO nodeResVO = new BasisDiagnosisNodeResVO(); - nodeResVO.setCorrect(e.getBasisConfirm()); + nodeResVO.setCorrect(physicalItemSet.add(e.getItemName()) ? e.getBasisConfirm() : Integer.valueOf(2)); nodeResVO.setRecordId(e.getRecordId()); nodeResVO.setRecordName(e.getItemName()); nodeResVO.setType(2); @@ -180,6 +179,7 @@ public class AskDiagnosisResultServiceImpl implements AskDiagnosisResultService basisDiagnosisNodeResVOS.addAll(qaList); } // 2.2 获取体格检查 + HashSet physicalItemSet = new HashSet<>(); List physicalRecordList = diagnosisPhysicalRecordService.queryPhysicalResultByProcessId(processId); List physicalList = physicalRecordList.stream().map(e -> { BasisDiagnosisNodeResVO nodeResVO = new BasisDiagnosisNodeResVO(); @@ -187,15 +187,16 @@ public class AskDiagnosisResultServiceImpl implements AskDiagnosisResultService nodeResVO.setRecordName(e.getToolLocationName()); nodeResVO.setRecordId(e.getRecordId()); // 如果是必做的,则是正确 - nodeResVO.setCorrect(e.getRequireCheck()); + nodeResVO.setCorrect(physicalItemSet.add(e.getToolLocationName()) ? e.getRequireCheck() : Integer.valueOf(2)); return nodeResVO; }).collect(Collectors.toList()); basisDiagnosisNodeResVOS.addAll(physicalList); // 2.3 获取辅助检查 + physicalItemSet.clear(); List ancillaryRecordList = diagnosisAncillaryRecordService.queryAncillaryResultByProcessId(processId); List collect = ancillaryRecordList.stream().map(e -> { BasisDiagnosisNodeResVO nodeResVO = new BasisDiagnosisNodeResVO(); - nodeResVO.setCorrect(e.getRequireCheck()); + nodeResVO.setCorrect(physicalItemSet.add(e.getItemName()) ? e.getRequireCheck() : Integer.valueOf(2)); nodeResVO.setRecordId(e.getRecordId()); nodeResVO.setRecordName(e.getItemName()); nodeResVO.setType(2);