|
|
|
@ -1,6 +1,8 @@
|
|
|
|
|
package com.supervision.service.impl;
|
|
|
|
|
|
|
|
|
|
import com.supervision.dto.DiseaseAncillaryDto;
|
|
|
|
|
import com.supervision.exception.BusinessException;
|
|
|
|
|
import com.supervision.mapper.DiseaseAncillaryMapper;
|
|
|
|
|
import com.supervision.model.*;
|
|
|
|
|
import com.supervision.model.Process;
|
|
|
|
|
import com.supervision.vo.ask.AskAncillaryHistoryResVO;
|
|
|
|
@ -8,6 +10,7 @@ import com.supervision.pojo.vo.AskAncillaryResultReqVO;
|
|
|
|
|
import com.supervision.pojo.vo.ConfigAncillaryItemResVO;
|
|
|
|
|
import com.supervision.service.*;
|
|
|
|
|
import com.supervision.util.UserUtil;
|
|
|
|
|
import com.supervision.vo.ask.DiagnosisAncillaryRecordVo;
|
|
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
|
@ -28,8 +31,14 @@ public class AskAncillaryServiceImpl implements AskAncillaryService {
|
|
|
|
|
|
|
|
|
|
private final MedicalRecService medicalRecService;
|
|
|
|
|
|
|
|
|
|
private final DiseaseAncillaryMapper diseaseAncillaryMapper;
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public List<ConfigAncillaryItemResVO> queryAncillaryItemList() {
|
|
|
|
|
DiseaseAncillary diseaseAncillary = new DiseaseAncillary();
|
|
|
|
|
diseaseAncillary.setMedicalRecId("1");
|
|
|
|
|
diseaseAncillary.setItemId("100");
|
|
|
|
|
List<DiseaseAncillaryDto> diseaseAncillaryDtos = diseaseAncillaryMapper.queryDiseaseAncillaryDtoList(diseaseAncillary);
|
|
|
|
|
List<ConfigAncillaryItem> list = ancillaryItemService.lambdaQuery().list();
|
|
|
|
|
return list.stream().collect(Collectors.groupingBy(ConfigAncillaryItem::getType)).entrySet().stream().map(e -> {
|
|
|
|
|
ConfigAncillaryItemResVO item = new ConfigAncillaryItemResVO();
|
|
|
|
@ -40,26 +49,39 @@ public class AskAncillaryServiceImpl implements AskAncillaryService {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public DiagnosisAncillaryRecord execAskAncillaryResult(AskAncillaryResultReqVO reqVO) {
|
|
|
|
|
public DiagnosisAncillaryRecordVo execAskAncillaryResult(AskAncillaryResultReqVO reqVO) {
|
|
|
|
|
// 首先根据process_id查新到流程ID
|
|
|
|
|
Process process = Optional.ofNullable(processService.getById(reqVO.getProcessId())).orElseThrow(() -> new BusinessException("未找到流程ID"));
|
|
|
|
|
|
|
|
|
|
// 找到对应的项目的检查结果
|
|
|
|
|
DiseaseAncillary diseaseAncillary = diseaseAncillaryService.lambdaQuery().eq(DiseaseAncillary::getMedicalRecId, process.getMedicalRecId()).eq(DiseaseAncillary::getItemId, reqVO.getItemId())
|
|
|
|
|
.oneOpt().orElseGet(() -> {
|
|
|
|
|
DiseaseAncillary get = new DiseaseAncillary();
|
|
|
|
|
get.setResult("无相关资讯");
|
|
|
|
|
return get;
|
|
|
|
|
});
|
|
|
|
|
DiseaseAncillary diseaseAncillaryQueryBean = new DiseaseAncillary();
|
|
|
|
|
diseaseAncillaryQueryBean.setItemId(reqVO.getItemId());
|
|
|
|
|
diseaseAncillaryQueryBean.setMedicalRecId(process.getMedicalRecId());
|
|
|
|
|
DiseaseAncillaryDto diseaseAncillary = diseaseAncillaryService.queryDiseaseAncillaryDtoOne(diseaseAncillaryQueryBean, () -> {
|
|
|
|
|
DiseaseAncillaryDto get = new DiseaseAncillaryDto();
|
|
|
|
|
get.setResult("无相关资讯");
|
|
|
|
|
return get;
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
DiagnosisAncillaryRecord record = new DiagnosisAncillaryRecord();
|
|
|
|
|
record.setProcessId(process.getId());
|
|
|
|
|
record.setAncillaryId(diseaseAncillary.getId());
|
|
|
|
|
record.setItemId(reqVO.getItemId());
|
|
|
|
|
record.setPrimaryId(reqVO.getPrimaryId());
|
|
|
|
|
record.setAncillaryId(diseaseAncillary.getId());
|
|
|
|
|
record.setResult(diseaseAncillary.getResult());
|
|
|
|
|
record.setCreateUserId(UserUtil.getUser().getId());
|
|
|
|
|
record.setUpdateUserId(UserUtil.getUser().getId());
|
|
|
|
|
record.insert();
|
|
|
|
|
return record;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//重组返回结果
|
|
|
|
|
DiagnosisAncillaryRecordVo diagnosisAncillaryRecordVo = new DiagnosisAncillaryRecordVo();
|
|
|
|
|
diagnosisAncillaryRecordVo.setProcessId(record.getProcessId());
|
|
|
|
|
diagnosisAncillaryRecordVo.setItemId(record.getItemId());
|
|
|
|
|
diagnosisAncillaryRecordVo.setAncillaryId(record.getAncillaryId());
|
|
|
|
|
diagnosisAncillaryRecordVo.setResult(record.getResult());
|
|
|
|
|
diagnosisAncillaryRecordVo.setAncillaryName(diseaseAncillary.getItemName());
|
|
|
|
|
return diagnosisAncillaryRecordVo;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|