diff --git a/virtual-patient-web/src/main/java/com/supervision/service/impl/AskPrimaryServiceImpl.java b/virtual-patient-web/src/main/java/com/supervision/service/impl/AskPrimaryServiceImpl.java index 13401830..883133db 100644 --- a/virtual-patient-web/src/main/java/com/supervision/service/impl/AskPrimaryServiceImpl.java +++ b/virtual-patient-web/src/main/java/com/supervision/service/impl/AskPrimaryServiceImpl.java @@ -35,6 +35,8 @@ public class AskPrimaryServiceImpl implements AskPrimaryService { private final DiagnosisPrimaryRelationService diagnosisPrimaryRelationService; + private final ProcessMedicalService processMedicalService; + @Override public List queryAskPrimaryList(String processId) { List resVoList = diagnosisPrimaryService.queryAskPrimaryList(processId); @@ -154,6 +156,16 @@ public class AskPrimaryServiceImpl implements AskPrimaryService { @Override @Transactional(rollbackFor = Exception.class) public void confirmPrimaryByAskEnd(List reqVOList) { + Optional any = reqVOList.stream().findAny(); + if (!any.isPresent()) { + throw new BusinessException("初步诊断不能为空"); + } + String processId = any.get().getProcessId(); + // 校验,如果没有填写病历,那么就不允许诊毕 + Integer count = processMedicalService.lambdaQuery().eq(ProcessMedical::getProcessId, processId).count(); + if(count < 1){ + throw new BusinessException("电子病历未填写,请填写电子病例后诊毕"); + } for (PrimaryConfirmReqVO reqVO : reqVOList) { // 修改初步诊断是否被排除 diagnosisPrimaryService.lambdaUpdate().set(DiagnosisPrimary::getExcludeFlag, reqVO.getExcludeFlag()) @@ -162,7 +174,7 @@ public class AskPrimaryServiceImpl implements AskPrimaryService { saveDiagnosticBasis(reqVO.getDiagnosticBasisList()); } // 然后将process的状态改为诊毕 - processService.lambdaUpdate().set(Process::getStatus, 1).update(); + processService.lambdaUpdate().set(Process::getStatus, 1).eq(Process::getId, processId).update(); } private void saveDiagnosticBasis(List diagnosticBasisList) { @@ -226,7 +238,7 @@ public class AskPrimaryServiceImpl implements AskPrimaryService { List result = new ArrayList<>(); for (DiagnosticBasisForPrimaryResVO node : resList) { List relationPrimaryList = relationMap.get(node.getId()); - if (CollUtil.isEmpty(relationPrimaryList)){ + if (CollUtil.isEmpty(relationPrimaryList)) { continue; } Set primarySet = relationPrimaryList.stream().map(DiagnosisPrimaryRelation::getPrimaryId).collect(Collectors.toSet()); diff --git a/virtual-patient-web/src/main/java/com/supervision/service/impl/AskProcessServiceImpl.java b/virtual-patient-web/src/main/java/com/supervision/service/impl/AskProcessServiceImpl.java index 8cf82773..08fb7c3d 100644 --- a/virtual-patient-web/src/main/java/com/supervision/service/impl/AskProcessServiceImpl.java +++ b/virtual-patient-web/src/main/java/com/supervision/service/impl/AskProcessServiceImpl.java @@ -26,8 +26,6 @@ public class AskProcessServiceImpl implements AskProcessService { private final MedicalRecService medicalRecService; - private final ProcessMedicalService processMedicalService; - @Override @Transactional(rollbackFor = Exception.class) public Process creatDiagnosisProcess(String patientId,String medicalId, User user) { @@ -43,15 +41,6 @@ public class AskProcessServiceImpl implements AskProcessService { process.setProcessType(0);//默认学习类型 process.setProcessNo(SequenceUtil.getProcessNo()); processService.save(process); - // 还需要生成一个vp_process_medical - ProcessMedical processMedical = new ProcessMedical(); - processMedical.setProcessId(process.getId()); - processMedical.setMedicalRecId(medicalId); - processMedical.setPatientId(patientId); - processMedical.setDiseaseId(process.getDiseaseId()); - processMedical.setCreateUserId(user.getId()); - processMedical.setUpdateUserId(user.getId()); - processMedicalService.save(processMedical); return process; }