|
|
|
@ -35,6 +35,8 @@ public class AskPrimaryServiceImpl implements AskPrimaryService {
|
|
|
|
|
|
|
|
|
|
private final DiagnosisPrimaryRelationService diagnosisPrimaryRelationService;
|
|
|
|
|
|
|
|
|
|
private final ProcessMedicalService processMedicalService;
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public List<DiagnosisPrimaryVO> queryAskPrimaryList(String processId) {
|
|
|
|
|
List<DiagnosisPrimaryVO> resVoList = diagnosisPrimaryService.queryAskPrimaryList(processId);
|
|
|
|
@ -154,6 +156,16 @@ public class AskPrimaryServiceImpl implements AskPrimaryService {
|
|
|
|
|
@Override
|
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
|
|
public void confirmPrimaryByAskEnd(List<PrimaryConfirmReqVO> reqVOList) {
|
|
|
|
|
Optional<PrimaryConfirmReqVO> 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<DiagnosticBasisForPrimaryReqVO> diagnosticBasisList) {
|
|
|
|
@ -226,7 +238,7 @@ public class AskPrimaryServiceImpl implements AskPrimaryService {
|
|
|
|
|
List<DiagnosticBasisForPrimaryResVO> result = new ArrayList<>();
|
|
|
|
|
for (DiagnosticBasisForPrimaryResVO node : resList) {
|
|
|
|
|
List<DiagnosisPrimaryRelation> relationPrimaryList = relationMap.get(node.getId());
|
|
|
|
|
if (CollUtil.isEmpty(relationPrimaryList)){
|
|
|
|
|
if (CollUtil.isEmpty(relationPrimaryList)) {
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
Set<String> primarySet = relationPrimaryList.stream().map(DiagnosisPrimaryRelation::getPrimaryId).collect(Collectors.toSet());
|
|
|
|
|