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);