You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
virtual-patient/virtual-patient-web/src/main/java/com/supervision/service/impl/AskDiagnosisResultServiceIm...

49 lines
1.8 KiB
Java

package com.supervision.service.impl;
import com.supervision.model.DiagnosisPrimary;
import com.supervision.model.DiagnosisResult;
import com.supervision.pojo.vo.DiagnosisResultResVO;
import com.supervision.pojo.vo.FinishAskReqVO;
import com.supervision.service.AskDiagnosisResultService;
import com.supervision.service.DiagnosisPrimaryService;
import com.supervision.service.DiagnosisResultService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
import java.util.stream.Collectors;
@Service
@RequiredArgsConstructor
public class AskDiagnosisResultServiceImpl implements AskDiagnosisResultService {
private final DiagnosisResultService diagnosisResultService;
private final DiagnosisPrimaryService diagnosisPrimaryService;
@Override
@Transactional(rollbackFor = Exception.class)
public void finishAsk(FinishAskReqVO reqVO) {
// 首先保存诊断结果
DiagnosisResult diagnosisResult = new DiagnosisResult();
diagnosisResult.setProcessId(reqVO.getProcessId());
// 最终诊断结果,从初步诊断中获取
List<DiagnosisPrimary> list = diagnosisPrimaryService.lambdaQuery()
.eq(DiagnosisPrimary::getProcessId, reqVO.getProcessId())
.eq(DiagnosisPrimary::getDeleteFlag,0)
.list();
diagnosisResult.setFinalDiagnosis(list.stream().map(DiagnosisPrimary::getPrimaryDiagnosisId).collect(Collectors.toList()));
diagnosisResult.setTreatmentPlanType(reqVO.getTreatmentPlanType());
diagnosisResult.setTreatmentPlan(reqVO.getTreatmentPlan());
diagnosisResultService.save(diagnosisResult);
}
@Override
public DiagnosisResultResVO queryDiagnosisResult(String processId) {
return null;
}
}