web: 添加电子病例视图接口

dev_2.0.0
xueqingkun 1 year ago
parent 6bd33e34a3
commit cac7d036fc

@ -15,6 +15,16 @@ public class ProcessMedicalResVo extends ProcessMedical {
*/
private String processNo;
/**
* 0 1:
*/
private String processType;
/**
* id
*/
private String userId;
/**
*
*/
@ -80,5 +90,10 @@ public class ProcessMedicalResVo extends ProcessMedical {
*/
private String patientHabitation;
/**
*
*/
private LocalDateTime finishAskTime;
}

@ -0,0 +1,29 @@
package com.supervision.vo.ask;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.time.LocalDateTime;
import java.util.List;
@Data
@EqualsAndHashCode(callSuper = true)
public class ProcessMedicalViewDetailResVo extends ProcessMedicalResVo{
@ApiModelProperty("初步诊断疾病名")
private List<String> primaryDiseaseNameList;
@ApiModelProperty("体格检查名列表")
private List<String> physicalDiagnosisNameList;
@ApiModelProperty("辅助检查名列表")
private List<String> ancillaryDiagnosisNameList;
@ApiModelProperty("用户名")
private String userName;
@ApiModelProperty("结束问诊日期")
private LocalDateTime finishDiagnosisTime;
}

@ -42,6 +42,7 @@
pr.update_time as recentTime,
pr.process_type as processType,
pr.user_id as userId,
pr.finish_ask_time as finishAskTime,
pm.process_id as processId,
pm.disease_id as diseaseId,
mr.id as medicalRecId,

@ -1,20 +1,16 @@
package com.supervision.controller;
import cn.hutool.core.util.StrUtil;
import com.supervision.exception.BusinessException;
import com.supervision.model.DiagnosisQaRecord;
import com.supervision.model.ProcessMedical;
import com.supervision.service.MedicalRecordService;
import com.supervision.vo.ask.ProcessMedicalResVo;
import com.supervision.vo.ask.ProcessMedicalViewDetailResVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@Slf4j
@Api(tags = "电子病例")
@ -45,4 +41,12 @@ public class MedicalRecordController {
return medicalRecordService.findByProcessId(processId);
}
@ApiOperation("电子病例视图")
@GetMapping("queryViewDetails")
public ProcessMedicalViewDetailResVo queryViewDetail(@ApiParam("流程id") @RequestParam("processId") String processId){
return medicalRecordService.queryViewDetail(processId);
}
}

@ -1,10 +1,9 @@
package com.supervision.service;
import com.supervision.model.DiagnosisQaRecord;
import com.supervision.model.ProcessMedical;
import com.supervision.vo.ask.ProcessMedicalResVo;
import com.supervision.vo.ask.ProcessMedicalViewDetailResVo;
import java.util.List;
public interface MedicalRecordService {
boolean saveMedicalRecord(ProcessMedical processMedical);
@ -12,4 +11,6 @@ public interface MedicalRecordService {
ProcessMedicalResVo findByProcessId(String processId);
boolean updateMedicalRecord(ProcessMedical processMedical);
ProcessMedicalViewDetailResVo queryViewDetail(String processId);
}

@ -1,16 +1,20 @@
package com.supervision.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.lang.Assert;
import com.supervision.model.Process;
import com.supervision.model.ProcessMedical;
import com.supervision.service.MedicalRecordService;
import com.supervision.service.ProcessMedicalService;
import com.supervision.service.ProcessService;
import com.supervision.vo.ask.ProcessMedicalResVo;
import com.supervision.model.User;
import com.supervision.service.*;
import com.supervision.vo.ask.*;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
@Service
@RequiredArgsConstructor
@ -21,6 +25,14 @@ public class MedicalRecordServiceImpl implements MedicalRecordService {
private final ProcessService processService;
private final DiagnosisPrimaryService diagnosisPrimaryService;
private final DiagnosisPhysicalRecordService diagnosisPhysicalRecordService;
private final DiagnosisAncillaryRecordService diagnosisAncillaryRecordService;
private final UserService userService;
@Override
public boolean saveMedicalRecord(ProcessMedical processMedical) {
@ -45,6 +57,42 @@ public class MedicalRecordServiceImpl implements MedicalRecordService {
return processMedicalService.updateById(processMedical);
}
@Override
public ProcessMedicalViewDetailResVo queryViewDetail(String processId) {
Assert.notEmpty(processId,"流程id不能为空");
// 1.获取电子病例基本信息
ProcessMedicalResVo processMedicalResVo = this.findByProcessId(processId);
if (Objects.isNull(processMedicalResVo)){
return null;
}
ProcessMedicalViewDetailResVo resultVo = BeanUtil.toBean(processMedicalResVo, ProcessMedicalViewDetailResVo.class);
// 2. 获取初步诊断疾病信息
List<DiagnosisPrimaryVO> diagnosisPrimaryVOS = diagnosisPrimaryService.queryAskPrimaryList(processId);
resultVo.setPrimaryDiseaseNameList(
diagnosisPrimaryVOS.stream().map(DiagnosisPrimaryVO::getPrimaryDiseaseName).distinct().collect(Collectors.toList()));
// 3. 获取检查项目信息
// 3.1 体格检查
List<AskPhysicalHistoryResVO> askPhysicalHistoryResVOS = diagnosisPhysicalRecordService.queryAskPhysicalHistory(processId);
resultVo.setPhysicalDiagnosisNameList(
askPhysicalHistoryResVOS.stream().map(AskPhysicalHistoryResVO::getToolName).distinct().collect(Collectors.toList()));
// 3.2 辅助检查
List<AskAncillaryHistoryResVO> askAncillaryHistoryResVOS = diagnosisAncillaryRecordService.queryAncillaryRecord(processId);
resultVo.setAncillaryDiagnosisNameList(
askAncillaryHistoryResVOS.stream().map(AskAncillaryHistoryResVO::getItemName).distinct().collect(Collectors.toList()));
// 4. 获取用户姓名
User user = userService.getById(processMedicalResVo.getUserId());
if (Objects.nonNull(user)){
resultVo.setUserName(user.getName());
}
return resultVo;
}
private void saveAssert(ProcessMedical processMedical){
Assert.notEmpty(processMedical.getProcessId(),"流程id不为空");

Loading…
Cancel
Save