Merge remote-tracking branch 'origin/dev_2.0.0' into dev_2.0.0

dev_2.0.0
xueqingkun 1 year ago
commit f581af1ad3

@ -1,18 +0,0 @@
package com.supervision.mapper;
import com.supervision.model.DiagnosisResult;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @author flevance
* @description vp_diagnosis_result()Mapper
* @createDate 2023-10-20 17:19:21
* @Entity com.supervision.model.DiagnosisResult
*/
public interface DiagnosisResultMapper extends BaseMapper<DiagnosisResult> {
}

@ -1,85 +0,0 @@
package com.supervision.model;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;
import com.supervision.handler.StringListTypeHandler;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
*
* @TableName vp_diagnosis_result
*/
@TableName(value ="vp_diagnosis_result",autoResultMap = true)
@Data
@ApiModel
public class DiagnosisResult implements Serializable {
/**
*
*/
@TableId
private String id;
/**
* ID
*/
@ApiModelProperty("诊断进程ID")
private String processId;
/**
*
*/
@ApiModelProperty("最终诊断结果")
@TableField(typeHandler = StringListTypeHandler.class)
private List<String> finalDiagnosis;
/**
*
*/
@ApiModelProperty("治疗计划")
private String treatmentPlan;
/**
* (0 1)
*/
@ApiModelProperty("治疗计划类型(0门诊 1住院)")
private Integer treatmentPlanType;
/**
*
*/
@ApiModelProperty("论证诊断")
private String proveDiagnosisDesc;
/**
* ID
*/
private String createUserId;
/**
*
*/
private LocalDateTime createTime;
/**
*
*/
private String updateUserId;
/**
*
*/
private LocalDateTime updateTime;
@TableField(exist = false)
private static final long serialVersionUID = 1L;
}

@ -1,13 +0,0 @@
package com.supervision.service;
import com.supervision.model.DiagnosisResult;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* @author flevance
* @description vp_diagnosis_result()Service
* @createDate 2023-10-20 17:19:21
*/
public interface DiagnosisResultService extends IService<DiagnosisResult> {
}

@ -1,22 +0,0 @@
package com.supervision.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.supervision.model.DiagnosisResult;
import com.supervision.service.DiagnosisResultService;
import com.supervision.mapper.DiagnosisResultMapper;
import org.springframework.stereotype.Service;
/**
* @author flevance
* @description vp_diagnosis_result()Service
* @createDate 2023-10-20 17:19:21
*/
@Service
public class DiagnosisResultServiceImpl extends ServiceImpl<DiagnosisResultMapper, DiagnosisResult>
implements DiagnosisResultService{
}

@ -1,26 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.supervision.mapper.DiagnosisResultMapper">
<resultMap id="BaseResultMap" type="com.supervision.model.DiagnosisResult">
<id property="id" column="id" jdbcType="VARCHAR"/>
<result property="processId" column="process_id" jdbcType="VARCHAR"/>
<result property="finalDiagnosis" column="final_diagnosis" jdbcType="ARRAY"
typeHandler="com.supervision.handler.StringListTypeHandler"/>
<result property="treatmentPlan" column="treatment_plan" jdbcType="VARCHAR"/>
<result property="proveDiagnosisDesc" column="prove_diagnosis_desc" jdbcType="VARCHAR"/>
<result property="createUserId" column="create_user_id" jdbcType="VARCHAR"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="updateUserId" column="update_user_id" jdbcType="VARCHAR"/>
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
</resultMap>
<sql id="Base_Column_List">
id
,process_id,final_diagnosis,
treatment_plan,prove_diagnosis_desc,create_user_id,
create_time,update_user_id,update_time
</sql>
</mapper>

@ -8,7 +8,7 @@ import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
@Api(tags = "问诊结束")
@Api(tags = "评估详情")
@RestController
@RequestMapping("/askDiagnosisResult")
@RequiredArgsConstructor
@ -16,12 +16,6 @@ public class AskDiagnosisResultController {
private final AskDiagnosisResultService askDiagnosisResultService;
@ApiOperation("结束问诊")
@PostMapping("finishAsk")
public void finishAsk(@RequestBody FinishAskReqVO reqVO){
askDiagnosisResultService.finishAsk(reqVO);
}
@ApiOperation("查询最终诊断结果")
@GetMapping("queryDiagnosisResult")
public DiagnosisResultResVO queryDiagnosisResult(String processId){

@ -9,10 +9,4 @@ import lombok.Data;
public class FinishAskReqVO {
private String processId;
@ApiModelProperty("治疗计划类型(0门诊 1住院)")
private Integer treatmentPlanType;
@ApiModelProperty("治疗计划")
private String treatmentPlan;
}

@ -6,7 +6,5 @@ import org.springframework.web.bind.annotation.RequestBody;
public interface AskDiagnosisResultService {
void finishAsk(FinishAskReqVO reqVO);
DiagnosisResultResVO queryDiagnosisResult(String processId);
}

@ -28,8 +28,6 @@ import java.util.stream.Collectors;
@RequiredArgsConstructor
public class AskDiagnosisResultServiceImpl implements AskDiagnosisResultService {
private final DiagnosisResultService diagnosisResultService;
private final DiagnosisPrimaryService diagnosisPrimaryService;
private final AskPatientAnswerService askPatientAnswerService;
@ -54,35 +52,9 @@ public class AskDiagnosisResultServiceImpl implements AskDiagnosisResultService
private final DiseaseTreatmentPlanDrugService diseaseTreatmentPlanDrugService;
@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::getExcludeFlag, 0)
.list();
if (CollectionUtil.isEmpty(list)) {
throw new BusinessException("您还未进行有效的初步诊断!");
}
diagnosisResult.setFinalDiagnosis(list.stream().map(DiagnosisPrimary::getPrimaryDiagnosisId).collect(Collectors.toList()));
diagnosisResult.setTreatmentPlanType(reqVO.getTreatmentPlanType());
diagnosisResult.setTreatmentPlan(reqVO.getTreatmentPlan());
diagnosisResultService.save(diagnosisResult);
// 修改流程状态
processService.lambdaUpdate().set(Process::getStatus, 2).set(Process::getFinishAskTime,LocalDateTime.now())
.eq(Process::getId, reqVO.getProcessId()).update();
}
@Override
public DiagnosisResultResVO queryDiagnosisResult(String processId) {
// 首先查询到结果
DiagnosisResult diagnosisResult = diagnosisResultService.lambdaQuery()
.eq(DiagnosisResult::getProcessId, processId).last("limit 1").oneOpt().orElseThrow(() -> new BusinessException("未找到评估结果"));
DiagnosisResultResVO diagnosisResultResVO = new DiagnosisResultResVO();
diagnosisResultResVO.setId(processId);
Process process = processService.getById(processId);
@ -90,7 +62,7 @@ public class AskDiagnosisResultServiceImpl implements AskDiagnosisResultService
MedicalRec medicalRec = medicalRecService.getById(process.getMedicalRecId());
List<Disease> diseasesList = diseaseService.listDiseaseWithType(medicalRec.getDiseaseId());
// 1.生成预期诊断结果
diagnosisResultResVO.setExpertDiagnosisResult(creatExpertDiagnosisResult(medicalRec, diagnosisResult, diseasesList));
diagnosisResultResVO.setExpertDiagnosisResult(creatExpertDiagnosisResult(medicalRec, diseasesList, processId));
// 2.生成初步诊断依据
diagnosisResultResVO.setBasisPrimaryResultResVO(createBasisPrimaryResult(patient, medicalRec, process));
// 3.生成证实诊断依据
@ -269,12 +241,18 @@ public class AskDiagnosisResultServiceImpl implements AskDiagnosisResultService
/**
*
*/
private ExpertDiagnosisResultResVO creatExpertDiagnosisResult(MedicalRec medicalRec, DiagnosisResult diagnosisResult, List<Disease> diseasesList) {
private ExpertDiagnosisResultResVO creatExpertDiagnosisResult(MedicalRec medicalRec, List<Disease> diseasesList, String processId) {
ExpertDiagnosisResultResVO expertDiagnosisResultResVO = new ExpertDiagnosisResultResVO();
expertDiagnosisResultResVO.setDiagnosis(medicalRec.getSymptoms());
Set<String> expertDiseaseIdSet = diseasesList.stream().map(Disease::getId).collect(Collectors.toSet());
List<Disease> userDiagnosisDiseaseList = CollUtil.isEmpty(diagnosisResult.getFinalDiagnosis()) ? CollUtil.newArrayList()
: diseaseService.listByIds(diagnosisResult.getFinalDiagnosis());
// 从vp_diagnosis_primary中找到确认诊断时,确认的
List<DiagnosisPrimary> userPrimaryDiseaseList = diagnosisPrimaryService.lambdaQuery()
.eq(DiagnosisPrimary::getProcessId, processId)
// 确认的
.eq(DiagnosisPrimary::getExcludeFlag, 0).list();
List<Disease> userDiagnosisDiseaseList = CollUtil.isEmpty(userPrimaryDiseaseList) ? CollUtil.newArrayList()
: diseaseService.listByIds(userPrimaryDiseaseList.stream().map(DiagnosisPrimary::getPrimaryDiagnosisId).collect(Collectors.toList()));
// 用户的诊断
expertDiagnosisResultResVO.setUserDiagnosisResult(userDiagnosisDiseaseList.stream().map(e -> {
DiagnosisDiseaseResultNodeVO userNode = new DiagnosisDiseaseResultNodeVO();

Loading…
Cancel
Save