1: 病历添加处置计划、体格检查、辅助检查相关接口

dev_3.1.0
xueqingkun 10 months ago
parent 0b87364ac8
commit fd659e2359

@ -4,9 +4,8 @@ import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.supervision.manage.pojo.vo.*;
import com.supervision.manage.service.MedicalRecManageService;
import com.supervision.vo.manage.MedicalRecTreatmentPlanResVo;
import com.supervision.model.Disease;
import com.supervision.model.DiseaseAncillary;
import com.supervision.model.DiseasePhysical;
import com.supervision.vo.manage.*;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
@ -67,10 +66,10 @@ public class MedicalRecManageController {
return medicalRecManageService.queryDiseaseAncillaryByCreat(diseaseId);
}
@Operation(summary = "查看配置的辅助检查项")
@GetMapping("queryDiseaseAncillary")
public List<DiseaseAncillaryResVo> queryDiseaseAncillary(@Parameter(name = "medicalRecId", description = "病例id") String medicalRecId){
return medicalRecManageService.queryDiseaseAncillary(medicalRecId);
@Operation(summary = "查看病历辅助检查项",tags="v1.3新增")
@GetMapping("queryMedicalAncillary")
public List<MedicalRecAncillaryResVo> queryMedicalAncillary(@Parameter(name = "medicalRecId", description = "病例id") String medicalRecId){
return medicalRecManageService.queryMedicalAncillary(medicalRecId);
}
@ -80,10 +79,10 @@ public class MedicalRecManageController {
return medicalRecManageService.queryDiseasePhysicalByCreat(diseaseId);
}
@Operation(summary = "查看配置的体格检查项")
@GetMapping("queryDiseasePhysical")
public List<DiseasePhysicalResVo> queryDiseasePhysical(@Parameter(name = "medicalRecId", description = "病例id") String medicalRecId){
return medicalRecManageService.queryDiseasePhysical(medicalRecId);
@Operation(summary = "查看病历的体格检查项",tags="v1.3新增")
@GetMapping("queryMedicalRecPhysical")
public List<MedicalRecPhysicalResVo> queryMedicalRecPhysical(@Parameter(name = "medicalRecId", description = "病例id") String medicalRecId){
return medicalRecManageService.queryMedicalRecPhysical(medicalRecId);
}
@Operation(summary = "创建病历时查看配置的处置计划")
@ -142,7 +141,7 @@ public class MedicalRecManageController {
}
@Operation(summary = "修改病历状态 用来上线或下线病历")
@Operation(summary = "修改病历状态,上线或下线病历",tags="v1.3新增")
@GetMapping("/updateMedicalStatus")
public Boolean updateMedicalStatus(@Parameter(name = "medicalRecId", description = "病例id") String medicalRecId,
@Parameter(name = "status", description = "病历状态 0未上线 1上线") Integer status) {
@ -150,87 +149,71 @@ public class MedicalRecManageController {
return medicalRecManageService.updateMedicalStatus(medicalRecId,status);
}
@Operation(summary = "新建病历基本信息")
@Operation(summary = "新建病历基本信息",description = "列表页面添加病历",tags = "v1.3新增")
@PostMapping("createMedicalRecBaseInfo")
public String createMedicalRecBaseInfo(@RequestBody MedicalRecBaseInfoReqVo reqVO) {
return medicalRecManageService.createMedicalRecBaseInfo(reqVO);
}
@Operation(summary = "保存病历基本信息")
@Operation(summary = "保存虚拟病人电子病历信息",tags = "v1.3新增")
@PostMapping("saveMedicalRec")
public String saveMedicalRec(@RequestBody MedicalRecInfoReVo reqVO) {
return medicalRecManageService.saveMedicalRec(reqVO);
}
@Operation(summary = "查询病历基本信息")
@Operation(summary = "查询虚拟病人电子病历信息",description = "可用于查询诊断依据",tags = "v1.3新增")
@GetMapping("queryMedicalRecBaseInfo")
public MedicalRecInfoReVo queryMedicalRecBaseInfo(@Parameter(name = "medicalRecId", description = "病例id") String medicalRecId) {
return medicalRecManageService.queryMedicalRecBaseInfo(medicalRecId);
}
@Operation(summary = "保存病历关联的体格检查信息")
@PostMapping("saveMedicalRecPhysical")
public String saveMedicalRecPhysical(@RequestBody DiseasePhysicalReqVo diseasePhysicalReqVo) {
diseasePhysicalReqVo.floatDiagnosticCriteria();
DiseasePhysical result = medicalRecManageService.saveMedicalRecPhysical(diseasePhysicalReqVo);
return result.getId();
@Operation(summary = "批量更新病历关联的体格检查信息",tags = "v1.3新增")
@PostMapping("batchUpdateMedicalRecPhysical")
public Boolean batchUpdateMedicalRecPhysical(@RequestBody List<MedicalRecPhysicalReqVo> medicalRecPhysicalReqVoList) {
medicalRecPhysicalReqVoList.forEach(MedicalRecPhysicalReqVo::floatDiagnosticCriteria);
return medicalRecManageService.batchUpdateMedicalRecPhysical(medicalRecPhysicalReqVoList);
}
@Operation(summary = "更新病历关联的体格检查信息")
@PostMapping("updateMedicalRecPhysical")
public Boolean updateMedicalRecPhysical(@RequestBody DiseasePhysicalReqVo diseasePhysicalReqVo) {
diseasePhysicalReqVo.floatDiagnosticCriteria();
return medicalRecManageService.updateMedicalRecPhysical(diseasePhysicalReqVo);
}
@Operation(summary = "保存病历关联的辅助检查信息")
@PostMapping("saveMedicalRecAncillary")
public String saveMedicalRecAncillary(@RequestBody DiseaseAncillaryReqVo diseaseAncillaryReqVo) {
diseaseAncillaryReqVo.floatDiagnosticCriteria();
DiseaseAncillary result = medicalRecManageService.saveMedicalRecAncillary(diseaseAncillaryReqVo);
return result.getId();
}
@Operation(summary = "更新病历关联的辅助检查信息")
@PostMapping("updateMedicalRecAncillary")
public Boolean updateMedicalRecAncillary(@RequestBody DiseaseAncillaryReqVo diseaseAncillaryReqVo) {
@Operation(summary = "更新病历关联的辅助检查信息",tags = "v1.3新增")
@PostMapping("batchUpdateMedicalRecAncillary")
public Boolean batchUpdateMedicalRecAncillary(@RequestBody List<MedicalRecAncillaryReqVo> medicalRecAncillaryReqVoList) {
diseaseAncillaryReqVo.floatDiagnosticCriteria();
return medicalRecManageService.updateMedicalRecAncillary(diseaseAncillaryReqVo);
medicalRecAncillaryReqVoList.forEach(MedicalRecAncillaryReqVo::floatDiagnosticCriteria);
return medicalRecManageService.batchUpdateMedicalRecAncillary(medicalRecAncillaryReqVoList);
}
@Operation(summary = "更新病历的诊断依据")
@Operation(summary = "更新病历的诊断依据",tags = "v1.3新增")
@PostMapping("updateDiagnosisCriteria")
public Boolean updateDiagnosisCriteria(@RequestBody DiagnosisCriteriaReqVo diseaseAncillaryReqVo) {
return medicalRecManageService.updateDiagnosisCriteria(diseaseAncillaryReqVo);
}
@Operation(summary = "根据病历id查询疾病处置信息列表")
@GetMapping("/queryListByDiseaseId")
public List<DiseaseTreatmentPlanResVo> queryListByDiseaseId(@Parameter(name = "medicalRecId", description = "病例id") String medicalRecId) {
@Operation(summary = "根据病历id查询疾病处置信息列表",tags = "v1.3新增")
@GetMapping("/queryMedicalRecTreatmentPlanList")
public List<MedicalRecTreatmentPlanResVo> queryMedicalRecTreatmentPlanList(@Parameter(name = "medicalRecId", description = "病例id") String medicalRecId) {
List<DiseaseTreatmentPlanResVo> diseaseTreatmentPlanResVos = medicalRecManageService.queryListByDiseaseId(medicalRecId);
List<MedicalRecTreatmentPlanResVo> medicalRecTreatmentPlanList = medicalRecManageService.queryListByMedicalRecId(medicalRecId);
// 前端大哥强烈要求把treatmentPlanId 转换为 firstMeasuresId
diseaseTreatmentPlanResVos.forEach(vo -> {
medicalRecTreatmentPlanList.forEach(vo -> {
if (CollUtil.isEmpty(vo.getDrugIds())) {
vo.setFirstMeasuresId(vo.getTreatmentPlanId());
}
});
return diseaseTreatmentPlanResVos;
return medicalRecTreatmentPlanList;
}
@Operation(summary = "修改处置计划")
@PutMapping("/updateDiseaseTreatmentPlan")
public boolean updateDiseaseTreatmentPlan(@RequestBody DiseaseTreatmentPlanReqVo diseaseTreatmentPlan) {
@Operation(summary = "批量修改处置计划",description = "列表修改或者删除数据保存后把现有数据传递过来",tags = "v1.3新增")
@PutMapping("/batchUpdateMedicalRecTreatmentPlan")
public boolean batchUpdateMedicalRecTreatmentPlan(@RequestBody List<MedicalRecTreatmentPlanReqVo> medicalRecTreatmentPlanReqVoList) {
// 适配前端传入数据
diseaseTreatmentPlan.setTreatmentPlanId(diseaseTreatmentPlan.getFirstMeasuresId());
return medicalRecManageService.updateDiseaseTreatmentPlan(diseaseTreatmentPlan);
medicalRecTreatmentPlanReqVoList.forEach(medicalRecTreatmentPlanReqVo ->
medicalRecTreatmentPlanReqVo.setTreatmentPlanId(medicalRecTreatmentPlanReqVo.getFirstMeasuresId()));
return medicalRecManageService.batchUpdateMedicalRecTreatmentPlan(medicalRecTreatmentPlanReqVoList);
}
}

@ -1,6 +1,7 @@
package com.supervision.manage.service;
import com.supervision.model.MedicalRecAncillary;
import com.supervision.vo.manage.MedicalRecAncillaryResVo;
import java.util.List;
@ -9,4 +10,7 @@ public interface MedicalRecAncillaryManageService {
void saveAncillary(List<MedicalRecAncillary> medicalRecAncillaryList);
void batchUpdateAncillary(List<MedicalRecAncillary> medicalRecAncillaries);
List<MedicalRecAncillaryResVo> queryListByMedicalRecId(String medicalRecId);
}

@ -2,9 +2,9 @@ package com.supervision.manage.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.supervision.manage.pojo.vo.*;
import com.supervision.vo.manage.MedicalRecTreatmentPlanResVo;
import com.supervision.model.Disease;
import com.supervision.model.DiseaseAncillary;
import com.supervision.model.DiseasePhysical;
import com.supervision.vo.manage.*;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.web.multipart.MultipartFile;
@ -53,21 +53,18 @@ public interface MedicalRecManageService {
MedicalRecInfoReVo queryMedicalRecBaseInfo(String medicalRecId);
DiseasePhysical saveMedicalRecPhysical(DiseasePhysicalReqVo diseasePhysicalReqVo);
List<MedicalRecAncillaryResVo> queryMedicalAncillary(String medicalId);
DiseaseAncillary saveMedicalRecAncillary(DiseaseAncillaryReqVo diseaseAncillaryReqVo);
List<MedicalRecPhysicalResVo> queryMedicalRecPhysical(String medicalRecId);
Boolean updateMedicalRecPhysical(DiseasePhysicalReqVo diseasePhysicalReqVo);
Boolean updateMedicalRecAncillary(DiseaseAncillaryReqVo diseaseAncillaryReqVo);
Boolean updateDiagnosisCriteria(DiagnosisCriteriaReqVo diseaseAncillaryReqVo);
List<DiseaseAncillaryResVo> queryDiseaseAncillary(String medicalId);
List<MedicalRecTreatmentPlanResVo> queryListByMedicalRecId(String medicalRecId);
List<DiseasePhysicalResVo> queryDiseasePhysical(String medicalRecId);
Boolean batchUpdateMedicalRecPhysical(List<MedicalRecPhysicalReqVo> medicalRecPhysicalReqVoList);
Boolean updateDiagnosisCriteria(DiagnosisCriteriaReqVo diseaseAncillaryReqVo);
Boolean batchUpdateMedicalRecAncillary(List<MedicalRecAncillaryReqVo> medicalRecAncillaryReqVoList);
List<DiseaseTreatmentPlanResVo> queryListByDiseaseId(String medicalRecId);
boolean batchUpdateMedicalRecTreatmentPlan(List<MedicalRecTreatmentPlanReqVo> medicalRecTreatmentPlanReqVoList);
boolean updateDiseaseTreatmentPlan(DiseaseTreatmentPlanReqVo diseaseTreatmentPlan);
}

@ -1,10 +1,15 @@
package com.supervision.manage.service;
import com.supervision.model.MedicalRecPhysical;
import com.supervision.vo.manage.MedicalRecPhysicalResVo;
import java.util.List;
public interface MedicalRecPhysicalManageService {
void savePhysical(List<MedicalRecPhysical> medicalRecPhysicalList);
void batchUpdatePhysical(List<MedicalRecPhysical> medicalRecPhysicalList);
List<MedicalRecPhysicalResVo> queryListByMedicalRecId(String medicalRecId);
}

@ -1,5 +1,7 @@
package com.supervision.manage.service;
import com.supervision.vo.manage.MedicalRecTreatmentPlanReqVo;
import com.supervision.vo.manage.MedicalRecTreatmentPlanResVo;
import com.supervision.model.MedicalRecTreatmentPlan;
import com.supervision.model.MedicalRecTreatmentPlanDrug;
@ -7,10 +9,11 @@ import java.util.List;
public interface MedicalRecTreatmentPlanManageService {
void saveTreatmentPlan(List<MedicalRecTreatmentPlan> medicalRecTreatmentPlanList);
void saveTreatmentPlan(MedicalRecTreatmentPlan medicalRecTreatmentPlan , List<MedicalRecTreatmentPlanDrug> treatmentPlanDrugList);
List<MedicalRecTreatmentPlanResVo> queryListByMedicalRecId(String medicalRecId);
void saveTreatmentPlanDrug(List<MedicalRecTreatmentPlanDrug> medicalRecTreatmentPlanDrugList);
MedicalRecTreatmentPlan saveTreatmentPlan(MedicalRecTreatmentPlanReqVo medicalTreatmentPlan);
void saveTreatmentPlan(MedicalRecTreatmentPlan medicalRecTreatmentPlan , List<MedicalRecTreatmentPlanDrug> treatmentPlanDrugList);
boolean batchUpdateTreatmentPlan(List<MedicalRecTreatmentPlanReqVo> medicalRecTreatmentPlanReqVoList);
}

@ -1,9 +1,11 @@
package com.supervision.manage.service.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.lang.Assert;
import com.supervision.manage.service.MedicalRecAncillaryManageService;
import com.supervision.model.MedicalRecAncillary;
import com.supervision.service.MedicalRecAncillaryService;
import com.supervision.vo.manage.MedicalRecAncillaryResVo;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@ -24,4 +26,22 @@ public class MedicalRecAncillaryManageServiceImpl implements MedicalRecAncillary
}
medicalRecAncillaryService.saveBatch(medicalRecAncillaryList);
}
@Override
public void batchUpdateAncillary(List<MedicalRecAncillary> medicalRecAncillaries) {
if (CollUtil.isEmpty(medicalRecAncillaries)){
return;
}
medicalRecAncillaryService.saveBatch(medicalRecAncillaries);
}
@Override
public List<MedicalRecAncillaryResVo> queryListByMedicalRecId(String medicalRecId) {
Assert.notEmpty(medicalRecId,"medicalRecId不能为空");
List<MedicalRecAncillaryResVo> medicalRecAncillaryResVoList = medicalRecAncillaryService.queryListByMedicalRecId(medicalRecId);
medicalRecAncillaryResVoList.forEach(MedicalRecAncillaryResVo::populateOther);
return medicalRecAncillaryResVoList;
}
}

@ -11,6 +11,7 @@ import com.supervision.exception.BusinessException;
import com.supervision.manage.dto.MedicalExtendInfoDTO;
import com.supervision.manage.pojo.vo.*;
import com.supervision.manage.service.*;
import com.supervision.vo.manage.MedicalRecTreatmentPlanResVo;
import com.supervision.model.*;
import com.supervision.model.Process;
import com.supervision.service.*;
@ -521,58 +522,16 @@ public class MedicalRecManageServiceImpl implements MedicalRecManageService {
}
@Override
public DiseasePhysical saveMedicalRecPhysical(DiseasePhysicalReqVo diseasePhysicalReqVo) {
public List<MedicalRecAncillaryResVo> queryMedicalAncillary(String medicalRecId) {
return diseasePhysicalManageService.savePhysical(diseasePhysicalReqVo);
}
@Override
public DiseaseAncillary saveMedicalRecAncillary(DiseaseAncillaryReqVo diseaseAncillaryReqVo) {
return diseaseAncillaryManageService.saveAncillary(diseaseAncillaryReqVo);
}
@Override
public Boolean updateMedicalRecPhysical(DiseasePhysicalReqVo diseasePhysicalReqVo) {
return diseasePhysicalManageService.updatePhysical(diseasePhysicalReqVo);
}
@Override
public Boolean updateMedicalRecAncillary(DiseaseAncillaryReqVo diseaseAncillaryReqVo) {
return diseaseAncillaryManageService.updateAncillary(diseaseAncillaryReqVo);
}
@Override
public List<DiseaseAncillaryResVo> queryDiseaseAncillary(String medicalRecId) {
// 在病历没有保存病历与辅助检查的关联数据时直接通过medicalId不能够查询到数据这个时候使用对应疾病的数据
List<DiseaseAncillaryResVo> diseaseAncillaryResVos = diseaseAncillaryManageService.queryListByDiseaseId(medicalRecId);
if (CollUtil.isNotEmpty(diseaseAncillaryResVos)) {
return diseaseAncillaryResVos;
}
log.info("queryDiseaseAncillary:未找到该病历辅助检查数据,使用对应疾病辅助检查数据");
MedicalRec medicalRec = medicalRecService.getById(medicalRecId);
Assert.notNull(medicalRec, "未找到该病历");
Assert.notEmpty(medicalRec.getDiseaseId(), "未配置疾病信息");
return medicalRecAncillaryManageService.queryListByMedicalRecId(medicalRecId);
return diseaseAncillaryManageService.queryListByDiseaseId(medicalRec.getDiseaseId());
}
@Override
public List<DiseasePhysicalResVo> queryDiseasePhysical(String medicalRecId) {
// 在病历没有保存病历与体格检查的关联数据时直接通过medicalId不能够查询到数据这个时候使用对应疾病的数据
List<DiseasePhysicalResVo> diseasePhysicalResVos = diseasePhysicalManageService.queryListByDiseaseId(medicalRecId);
if (CollUtil.isNotEmpty(diseasePhysicalResVos)) {
return diseasePhysicalResVos;
}
log.info("queryDiseasePhysical:未找到该病历体格检查数据,使用对应疾病体格检查数据");
MedicalRec medicalRec = medicalRecService.getById(medicalRecId);
Assert.notNull(medicalRec, "未找到该病历");
Assert.notEmpty(medicalRec.getDiseaseId(), "未配置疾病信息");
public List<MedicalRecPhysicalResVo> queryMedicalRecPhysical(String medicalRecId) {
return diseasePhysicalManageService.queryListByDiseaseId(medicalRec.getDiseaseId());
return medicalRecPhysicalManageService.queryListByMedicalRecId(medicalRecId);
}
@Override
@ -590,26 +549,39 @@ public class MedicalRecManageServiceImpl implements MedicalRecManageService {
}
@Override
public List<DiseaseTreatmentPlanResVo> queryListByDiseaseId(String medicalRecId) {
// 在病历没有保存病历与处置计划的关联数据时直接通过medicalId不能够查询到数据这个时候使用对应疾病的数据
List<DiseaseTreatmentPlanResVo> diseaseTreatmentPlanResVos = diseaseTreatmentPlanManageService.queryListByDiseaseId(medicalRecId);
if (CollUtil.isNotEmpty(diseaseTreatmentPlanResVos)) {
return diseaseTreatmentPlanResVos;
}
log.info("queryDiseasePhysical:未找到该病历处置计划数据,使用对应疾病体格检查数据");
MedicalRec medicalRec = medicalRecService.getById(medicalRecId);
Assert.notNull(medicalRec, "未找到该病历");
Assert.notEmpty(medicalRec.getDiseaseId(), "未配置疾病信息");
public List<MedicalRecTreatmentPlanResVo> queryListByMedicalRecId(String medicalRecId) {
return diseaseTreatmentPlanManageService.queryListByDiseaseId(medicalRec.getDiseaseId());
return medicalRecTreatmentPlanManageService.queryListByMedicalRecId(medicalRecId);
}
@Override
public boolean updateDiseaseTreatmentPlan(DiseaseTreatmentPlanReqVo diseaseTreatmentPlan) {
@Transactional(rollbackFor = Exception.class)
public Boolean batchUpdateMedicalRecPhysical(List<MedicalRecPhysicalReqVo> medicalRecPhysicalReqVoList) {
if (CollUtil.isEmpty(medicalRecPhysicalReqVoList)){
return false;
}
List<MedicalRecPhysical> medicalRecPhysicals = medicalRecPhysicalReqVoList.stream().map(reqVo -> BeanUtil.toBean(reqVo, MedicalRecPhysical.class)).toList();
medicalRecPhysicalManageService.batchUpdatePhysical(medicalRecPhysicals);
return true;
}
Assert.notEmpty(diseaseTreatmentPlan.getId(), "id不能为空");
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean batchUpdateMedicalRecAncillary(List<MedicalRecAncillaryReqVo> medicalRecAncillaryReqVoList) {
if (CollUtil.isEmpty(medicalRecAncillaryReqVoList)){
return false;
}
List<MedicalRecAncillary> medicalRecAncillaries = medicalRecAncillaryReqVoList.stream().map(reqVo -> BeanUtil.toBean(reqVo, MedicalRecAncillary.class)).toList();
medicalRecAncillaryManageService.batchUpdateAncillary(medicalRecAncillaries);
return true;
}
return false;
@Override
public boolean batchUpdateMedicalRecTreatmentPlan(List<MedicalRecTreatmentPlanReqVo> medicalRecTreatmentPlanReqVoList) {
if (CollUtil.isEmpty(medicalRecTreatmentPlanReqVoList)){
return false;
}
return medicalRecTreatmentPlanManageService.batchUpdateTreatmentPlan(medicalRecTreatmentPlanReqVoList);
}
private void saveMedicalRecAssert(MedicalRecInfoReVo reqVO){

@ -1,9 +1,11 @@
package com.supervision.manage.service.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.lang.Assert;
import com.supervision.manage.service.MedicalRecPhysicalManageService;
import com.supervision.model.MedicalRecPhysical;
import com.supervision.service.MedicalRecPhysicalService;
import com.supervision.vo.manage.MedicalRecPhysicalResVo;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@ -23,4 +25,22 @@ public class MedicalRecPhysicalManageServiceImpl implements MedicalRecPhysicalMa
}
medicalRecPhysicalService.saveBatch(medicalRecPhysicalList);
}
@Override
public void batchUpdatePhysical(List<MedicalRecPhysical> medicalRecPhysicalList) {
if (CollUtil.isEmpty(medicalRecPhysicalList)){
return;
}
medicalRecPhysicalService.updateBatchById(medicalRecPhysicalList);
}
@Override
public List<MedicalRecPhysicalResVo> queryListByMedicalRecId(String medicalRecId) {
Assert.notEmpty(medicalRecId,"病历id不能为空");
List<MedicalRecPhysicalResVo> medicalRecPhysicalResVoList = medicalRecPhysicalService.queryListByMedicalRecId(medicalRecId);
medicalRecPhysicalResVoList.forEach(MedicalRecPhysicalResVo::populateOther);
return medicalRecPhysicalResVoList;
}
}

@ -1,9 +1,15 @@
package com.supervision.manage.service.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.lang.Assert;
import cn.hutool.core.lang.Pair;
import cn.hutool.core.util.StrUtil;
import com.supervision.manage.service.MedicalRecTreatmentPlanManageService;
import com.supervision.model.MedicalRecTreatmentPlan;
import com.supervision.model.MedicalRecTreatmentPlanDrug;
import com.supervision.service.CommonDicService;
import com.supervision.service.ConfigDrugService;
import com.supervision.vo.manage.MedicalRecTreatmentPlanReqVo;
import com.supervision.vo.manage.MedicalRecTreatmentPlanResVo;
import com.supervision.model.*;
import com.supervision.service.MedicalRecTreatmentPlanDrugService;
import com.supervision.service.MedicalRecTreatmentPlanService;
import lombok.RequiredArgsConstructor;
@ -11,7 +17,11 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors;
@Slf4j
@Service
@ -21,23 +31,10 @@ public class MedicalRecTreatmentPlanManageServiceImpl implements MedicalRecTreat
private final MedicalRecTreatmentPlanService medicalRecTreatmentPlanService;
private final MedicalRecTreatmentPlanDrugService medicalRecTreatmentPlanDrugService;
@Override
public void saveTreatmentPlan(List<MedicalRecTreatmentPlan> medicalRecTreatmentPlanList) {
if (CollUtil.isEmpty(medicalRecTreatmentPlanList)){
return;
}
medicalRecTreatmentPlanService.saveBatch(medicalRecTreatmentPlanList);
}
@Override
public void saveTreatmentPlanDrug(List<MedicalRecTreatmentPlanDrug> medicalRecTreatmentPlanDrugList) {
if (CollUtil.isEmpty(medicalRecTreatmentPlanDrugList)){
return;
}
private final ConfigDrugService configDrugService;
medicalRecTreatmentPlanDrugService.saveBatch(medicalRecTreatmentPlanDrugList);
}
private final CommonDicService commonDicService;
@Override
@Transactional(rollbackFor = Exception.class)
@ -56,4 +53,136 @@ public class MedicalRecTreatmentPlanManageServiceImpl implements MedicalRecTreat
}
medicalRecTreatmentPlanDrugService.saveBatch(treatmentPlanDrugList);
}
private void assertDiseaseTreatmentPlan(MedicalRecTreatmentPlan medicalRecTreatmentPlan){
Assert.isTrue(StrUtil.isEmpty(medicalRecTreatmentPlan.getId()),"id需要为空");
Assert.notEmpty(medicalRecTreatmentPlan.getMedicalRecId(),"病历id不能为空");
Assert.notEmpty(medicalRecTreatmentPlan.getTreatmentPlanId(),"处置计划id不能为空");
// 根据疾病id和处置计划id进行重复校验
Long count = medicalRecTreatmentPlanService.lambdaQuery()
.eq(MedicalRecTreatmentPlan::getTreatmentPlanId, medicalRecTreatmentPlan.getTreatmentPlanId())
.eq(MedicalRecTreatmentPlan::getMedicalRecId, medicalRecTreatmentPlan.getMedicalRecId()).count();
Assert.isFalse(count > 0, "该处置计划已存在");
}
@Override
public MedicalRecTreatmentPlan saveTreatmentPlan(MedicalRecTreatmentPlanReqVo medicalTreatmentPlan) {
assertDiseaseTreatmentPlan(medicalTreatmentPlan);
// note: 如果diseaseTreatmentPlan.getDrugIds()不为空则表示处置计划为药品需要进行手动矫正统一设置为20
if (CollUtil.isNotEmpty(medicalTreatmentPlan.getDrugIds())){
medicalTreatmentPlan.setTreatmentPlanId(mapDrugTreatPlanId(medicalTreatmentPlan.getDisposalMethod()));
}
medicalRecTreatmentPlanService.save(medicalTreatmentPlan);
// 保存处置计划药品信息
if (CollUtil.isNotEmpty(medicalTreatmentPlan.getDrugIds())){
List<MedicalRecTreatmentPlanDrug> medicalRecTreatmentPlanDrugList = medicalTreatmentPlan.getDrugIds().stream().map(item -> {
MedicalRecTreatmentPlanDrug medicalRecTreatmentPlanDrug = new MedicalRecTreatmentPlanDrug();
medicalRecTreatmentPlanDrug.setMedicalRecId(medicalTreatmentPlan.getMedicalRecId());
medicalRecTreatmentPlanDrug.setTreatmentPlanId(medicalTreatmentPlan.getTreatmentPlanId());
medicalRecTreatmentPlanDrug.setMedicalRecTreatmentPlanId(medicalTreatmentPlan.getId());
medicalRecTreatmentPlanDrug.setDrugId(item);
return medicalRecTreatmentPlanDrug;
}).collect(Collectors.toList());
medicalRecTreatmentPlanDrugService.saveBatch(medicalRecTreatmentPlanDrugList);
}
return medicalTreatmentPlan;
}
@Override
@Transactional(rollbackFor = Exception.class)
public boolean batchUpdateTreatmentPlan(List<MedicalRecTreatmentPlanReqVo> medicalRecTreatmentPlanReqVoList) {
medicalRecTreatmentPlanReqVoList.forEach(diseaseTreatmentPlan -> Assert.notEmpty(diseaseTreatmentPlan.getId(),"id不允许为空"));
for (MedicalRecTreatmentPlanReqVo medicalRecTreatmentPlanReqVo : medicalRecTreatmentPlanReqVoList) {
// 删除该条记录
String id = medicalRecTreatmentPlanReqVo.getId();
MedicalRecTreatmentPlan medicalRecTreatmentPlan = medicalRecTreatmentPlanService.getById(id);
if (Objects.nonNull(medicalRecTreatmentPlan)){
medicalRecTreatmentPlanService.removeById(id);
medicalRecTreatmentPlanDrugService.lambdaUpdate()
.eq(MedicalRecTreatmentPlanDrug::getMedicalRecTreatmentPlanId,medicalRecTreatmentPlan.getId()).remove();
}
// 重新保存
medicalRecTreatmentPlanReqVo.setId(null);
this.saveTreatmentPlan(medicalRecTreatmentPlanReqVo);
}
return true;
}
@Override
public List<MedicalRecTreatmentPlanResVo> queryListByMedicalRecId(String medicalRecId) {
Assert.notEmpty(medicalRecId,"病历id不能为空");
List<MedicalRecTreatmentPlanResVo> medicalRecTreatmentPlanResVos = medicalRecTreatmentPlanService.queryListByMedicalRecId(medicalRecId);
if (CollUtil.isEmpty(medicalRecTreatmentPlanResVos)){
return medicalRecTreatmentPlanResVos;
}
//添加关联的处置药物
List<String> treatmentPlanIdList = medicalRecTreatmentPlanResVos.stream()
.map(MedicalRecTreatmentPlanResVo::getTreatmentPlanId).distinct().collect(Collectors.toList());
List<MedicalRecTreatmentPlanDrug> medicalRecTreatmentPlanDrugList = medicalRecTreatmentPlanDrugService.lambdaQuery()
.in(MedicalRecTreatmentPlanDrug::getTreatmentPlanId, treatmentPlanIdList)
.eq(MedicalRecTreatmentPlanDrug::getMedicalRecId, medicalRecId).list();
// 翻译处置计划 **处置计划对应于药物中的剂型**
List<String> drugIds = medicalRecTreatmentPlanDrugList.stream()
.map(MedicalRecTreatmentPlanDrug::getDrugId).filter(StrUtil::isNotEmpty).collect(Collectors.toList());
Map<String, Pair<String,String>> drugIdMapDose = new HashMap<>();
if (CollUtil.isNotEmpty(drugIds)){
List<ConfigDrug> configDrugs = configDrugService.listByIds(drugIds);
if (CollUtil.isNotEmpty(configDrugs)){
Map<String, String> doseDic = commonDicService.lambdaQuery().eq(CommonDic::getGroupCode, "DOSE").list()
.stream().collect(Collectors.toMap(CommonDic::getCode, CommonDic::getNameZh));
// 组合药物id与剂型之间的映射关系
drugIdMapDose = configDrugs.stream().collect(Collectors.toMap(ConfigDrug::getId, drug -> {
if (StrUtil.isNotEmpty(drug.getDosageForm())) {
return Pair.of(drug.getDosageForm(),doseDic.getOrDefault(drug.getDosageForm(),StrUtil.EMPTY));
}
return Pair.of(StrUtil.EMPTY,StrUtil.EMPTY);
}));
}
}
Map<String, List<MedicalRecTreatmentPlanDrug>> group = medicalRecTreatmentPlanDrugList.stream()
.filter(item-> Objects.nonNull(item.getMedicalRecTreatmentPlanId())).collect(Collectors.groupingBy(MedicalRecTreatmentPlanDrug::getMedicalRecTreatmentPlanId));
for (MedicalRecTreatmentPlanResVo item : medicalRecTreatmentPlanResVos) {
// 设置处置药物id集合
item.setDrugIds(
group.getOrDefault(item.getId(), CollUtil.newArrayList())
.stream().map(MedicalRecTreatmentPlanDrug::getDrugId).collect(Collectors.toList()));
// 设置处置药物剂型与剂型的翻译数据
String drugId = CollUtil.getFirst(item.getDrugIds());
if (StrUtil.isNotEmpty(drugId)){
item.setFirstMeasuresId(drugIdMapDose.getOrDefault(drugId, Pair.of(StrUtil.EMPTY,StrUtil.EMPTY)).getKey());
item.setFirstMeasures(drugIdMapDose.getOrDefault(drugId, Pair.of(StrUtil.EMPTY, StrUtil.EMPTY)).getValue());
}
}
return medicalRecTreatmentPlanResVos;
}
/**
* id
* @param disposeMethod
* @return
*/
private String mapDrugTreatPlanId(String disposeMethod){
if (StrUtil.isEmpty(disposeMethod)){
return null;
}
return "0".equals(disposeMethod) ? "20" : "252";
}
}

@ -2,6 +2,10 @@ package com.supervision.mapper;
import com.supervision.model.MedicalRecAncillary;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.supervision.vo.manage.MedicalRecAncillaryResVo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @author Administrator
@ -11,6 +15,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/
public interface MedicalRecAncillaryMapper extends BaseMapper<MedicalRecAncillary> {
List<MedicalRecAncillaryResVo> queryListByMedicalRecId(@Param("medicalRecId") String medicalRecId);
}

@ -2,6 +2,10 @@ package com.supervision.mapper;
import com.supervision.model.MedicalRecPhysical;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.supervision.vo.manage.MedicalRecPhysicalResVo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @author Administrator
@ -11,6 +15,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/
public interface MedicalRecPhysicalMapper extends BaseMapper<MedicalRecPhysical> {
List<MedicalRecPhysicalResVo> queryListByMedicalRecId(@Param("medicalRecId") String medicalRecId);
}

@ -2,6 +2,10 @@ package com.supervision.mapper;
import com.supervision.model.MedicalRecTreatmentPlan;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.supervision.vo.manage.MedicalRecTreatmentPlanResVo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @author Administrator
@ -11,6 +15,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/
public interface MedicalRecTreatmentPlanMapper extends BaseMapper<MedicalRecTreatmentPlan> {
List<MedicalRecTreatmentPlanResVo> queryListByMedicalRecId(@Param("medicalRecId") String medicalRecId);
}

@ -2,6 +2,9 @@ package com.supervision.service;
import com.supervision.model.MedicalRecAncillary;
import com.baomidou.mybatisplus.extension.service.IService;
import com.supervision.vo.manage.MedicalRecAncillaryResVo;
import java.util.List;
/**
* @author Administrator
@ -10,4 +13,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/
public interface MedicalRecAncillaryService extends IService<MedicalRecAncillary> {
List<MedicalRecAncillaryResVo> queryListByMedicalRecId(String medicalRecId);
}

@ -2,6 +2,9 @@ package com.supervision.service;
import com.supervision.model.MedicalRecPhysical;
import com.baomidou.mybatisplus.extension.service.IService;
import com.supervision.vo.manage.MedicalRecPhysicalResVo;
import java.util.List;
/**
* @author Administrator
@ -10,4 +13,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/
public interface MedicalRecPhysicalService extends IService<MedicalRecPhysical> {
List<MedicalRecPhysicalResVo> queryListByMedicalRecId(String medicalRecId);
}

@ -1,8 +1,11 @@
package com.supervision.service;
import com.supervision.vo.manage.MedicalRecTreatmentPlanResVo;
import com.supervision.model.MedicalRecTreatmentPlan;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
* @author Administrator
* @description vp_medical_rec_treatment_plan()Service
@ -10,4 +13,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/
public interface MedicalRecTreatmentPlanService extends IService<MedicalRecTreatmentPlan> {
List<MedicalRecTreatmentPlanResVo> queryListByMedicalRecId(String medicalRecId);
}

@ -4,8 +4,11 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.supervision.model.MedicalRecAncillary;
import com.supervision.service.MedicalRecAncillaryService;
import com.supervision.mapper.MedicalRecAncillaryMapper;
import com.supervision.vo.manage.MedicalRecAncillaryResVo;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @author Administrator
* @description vp_medical_rec_ancillary()Service
@ -15,6 +18,10 @@ import org.springframework.stereotype.Service;
public class MedicalRecAncillaryServiceImpl extends ServiceImpl<MedicalRecAncillaryMapper, MedicalRecAncillary>
implements MedicalRecAncillaryService{
@Override
public List<MedicalRecAncillaryResVo> queryListByMedicalRecId(String medicalRecId) {
return super.getBaseMapper().queryListByMedicalRecId(medicalRecId);
}
}

@ -4,8 +4,11 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.supervision.model.MedicalRecPhysical;
import com.supervision.service.MedicalRecPhysicalService;
import com.supervision.mapper.MedicalRecPhysicalMapper;
import com.supervision.vo.manage.MedicalRecPhysicalResVo;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @author Administrator
* @description vp_medical_rec_physical()Service
@ -15,6 +18,10 @@ import org.springframework.stereotype.Service;
public class MedicalRecPhysicalServiceImpl extends ServiceImpl<MedicalRecPhysicalMapper, MedicalRecPhysical>
implements MedicalRecPhysicalService{
@Override
public List<MedicalRecPhysicalResVo> queryListByMedicalRecId(String medicalRecId) {
return super.getBaseMapper().queryListByMedicalRecId(medicalRecId);
}
}

@ -1,11 +1,14 @@
package com.supervision.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.supervision.vo.manage.MedicalRecTreatmentPlanResVo;
import com.supervision.model.MedicalRecTreatmentPlan;
import com.supervision.service.MedicalRecTreatmentPlanService;
import com.supervision.mapper.MedicalRecTreatmentPlanMapper;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @author Administrator
* @description vp_medical_rec_treatment_plan()Service
@ -15,6 +18,10 @@ import org.springframework.stereotype.Service;
public class MedicalRecTreatmentPlanServiceImpl extends ServiceImpl<MedicalRecTreatmentPlanMapper, MedicalRecTreatmentPlan>
implements MedicalRecTreatmentPlanService{
@Override
public List<MedicalRecTreatmentPlanResVo> queryListByMedicalRecId(String medicalRecId) {
return super.getBaseMapper().queryListByMedicalRecId(medicalRecId);
}
}

@ -0,0 +1,37 @@
package com.supervision.vo.manage;
import com.supervision.model.MedicalRecAncillary;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.ArrayList;
import java.util.List;
@Data
@EqualsAndHashCode(callSuper = true)
public class MedicalRecAncillaryReqVo extends MedicalRecAncillary {
@Schema(description = "诊断依据 0初步诊断依据 1证实诊断依据 2鉴别诊断依据 3全面诊断依据")
private List<Integer> diagnosticCriteria;
/**
* primarilyDiagnosisCriteriaFlag basisConfirmFlag basisIdentificationFlag fullCheckFlag
*/
public void floatDiagnosticCriteria(){
if (null == diagnosticCriteria){
diagnosticCriteria = new ArrayList<>();
}
super.setPrimarilyDiagnosisCriteriaFlag(diagnosticCriteria.contains(0) ? 1 : 0);
super.setBasisConfirmFlag(diagnosticCriteria.contains(1) ? 1 : 0);
super.setBasisIdentificationFlag(diagnosticCriteria.contains(2) ? 1 : 0);
super.setFullCheckFlag(diagnosticCriteria.contains(3) ? 1 : 0);
}
}

@ -0,0 +1,69 @@
package com.supervision.vo.manage;
import cn.hutool.crypto.digest.MD5;
import com.supervision.model.MedicalRecAncillary;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.ArrayList;
import java.util.List;
@Data
@EqualsAndHashCode(callSuper = true)
public class MedicalRecAncillaryResVo extends MedicalRecAncillary {
@Schema(description = "项目名称")
private String itemName;
@Schema(description = "项目类型")
private String itemType;
@Schema(description = "项目id路径")
private List<String> itemIdPath;
@Schema(description = "诊断依据 0初步诊断依据 1证实诊断依据 2鉴别诊断依据 3全面诊断依据")
private List<Integer> diagnosticCriteria;
/**
* primarilyDiagnosisCriteriaFlag basisConfirmFlag basisIdentificationFlag fullCheckFlag
*
*/
public void aggregationDiagnosticCriteria(){
if (null == diagnosticCriteria){
diagnosticCriteria = new ArrayList<>();
}
if (Integer.valueOf(1).equals(super.getPrimarilyDiagnosisCriteriaFlag())){
diagnosticCriteria.add(0);
}
if (Integer.valueOf(1).equals(super.getBasisConfirmFlag())){
diagnosticCriteria.add(1);
}
if (Integer.valueOf(1).equals(super.getBasisIdentificationFlag())){
diagnosticCriteria.add(2);
}
if (Integer.valueOf(1).equals(super.getFullCheckFlag())){
diagnosticCriteria.add(3);
}
}
public void initItemIdPath(){
if (null == itemIdPath){
itemIdPath = new ArrayList<>();
}
itemIdPath.add(new MD5().digestHex16(itemType));
itemIdPath.add(getItemId());
}
public void populateOther(){
aggregationDiagnosticCriteria();
initItemIdPath();
}
}

@ -0,0 +1,37 @@
package com.supervision.vo.manage;
import com.supervision.model.MedicalRecPhysical;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.ArrayList;
import java.util.List;
@Data
@EqualsAndHashCode(callSuper = true)
public class MedicalRecPhysicalReqVo extends MedicalRecPhysical {
@Schema(description = "诊断依据 0初步诊断依据 1证实诊断依据 2鉴别诊断依据 3全面诊断依据")
private List<Integer> diagnosticCriteria;
/**
* primarilyDiagnosisCriteriaFlag basisConfirmFlag basisIdentificationFlag fullCheckFlag
*/
public void floatDiagnosticCriteria(){
if (null == diagnosticCriteria){
diagnosticCriteria = new ArrayList<>();
}
super.setPrimarilyDiagnosisCriteriaFlag(diagnosticCriteria.contains(0) ? 1 : 0);
super.setBasisConfirmFlag(diagnosticCriteria.contains(1) ? 1 : 0);
super.setBasisIdentificationFlag(diagnosticCriteria.contains(2) ? 1 : 0);
super.setFullCheckFlag(diagnosticCriteria.contains(3) ? 1 : 0);
}
}

@ -0,0 +1,91 @@
package com.supervision.vo.manage;
import cn.hutool.core.util.StrUtil;
import cn.hutool.crypto.digest.MD5;
import com.supervision.model.DiseasePhysical;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.ArrayList;
import java.util.List;
@Data
@EqualsAndHashCode(callSuper = true)
public class MedicalRecPhysicalResVo extends DiseasePhysical {
@Schema(description = "工具名称")
private String toolName;
@Schema(description = "工具类型")
private String toolType;
@Schema(description = "工具父级id")
private String toolParentId;
@Schema(description = "身体部位名称")
private String locationName;
@Schema(description = "工具id路径")
private List<String> toolIdPath;
@Schema(description = "身体部位id路径")
private List<String> locationIdPath;
@Schema(description = "诊断依据 0初步诊断依据 1证实诊断依据 2鉴别诊断依据 3全面诊断依据")
private List<Integer> diagnosticCriteria;
/**
* primarilyDiagnosisCriteriaFlag basisConfirmFlag basisIdentificationFlag fullCheckFlag
*
*/
public void aggregationDiagnosticCriteria(){
if (null == diagnosticCriteria){
diagnosticCriteria = new ArrayList<>();
}
if (Integer.valueOf(1).equals(super.getPrimarilyDiagnosisCriteriaFlag())){
diagnosticCriteria.add(0);
}
if (Integer.valueOf(1).equals(super.getBasisConfirmFlag())){
diagnosticCriteria.add(1);
}
if (Integer.valueOf(1).equals(super.getBasisIdentificationFlag())){
diagnosticCriteria.add(2);
}
if (Integer.valueOf(1).equals(super.getFullCheckFlag())){
diagnosticCriteria.add(3);
}
}
public void initToolIdPath(){
if (null == toolIdPath){
toolIdPath = new ArrayList<>();
}
toolIdPath.add(new MD5().digestHex16(toolType));
toolIdPath.add(getToolId());
}
public void initLocationIdPath(){
if (null == locationIdPath){
locationIdPath = new ArrayList<>();
}
if (StrUtil.isNotEmpty(getToolParentId())){
locationIdPath.add(getToolParentId());
}
if (StrUtil.isNotEmpty(getLocationId())){
locationIdPath.add(getLocationId());
}
}
public void populateOther(){
this.aggregationDiagnosticCriteria();
this.initToolIdPath();
this.initLocationIdPath();
}
}

@ -0,0 +1,23 @@
package com.supervision.vo.manage;
import com.supervision.model.MedicalRecTreatmentPlan;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.List;
@Data
@EqualsAndHashCode(callSuper = true)
public class MedicalRecTreatmentPlanReqVo extends MedicalRecTreatmentPlan {
@Schema(description = "药物列表")
private List<String> drugIds;
@Schema(description = "一级措施id")
private String firstMeasuresId;
@Schema(description = "处置方式 处置方式(0门诊 1住院)")
private String disposalMethod;
}

@ -0,0 +1,25 @@
package com.supervision.vo.manage;
import com.supervision.model.ConfigTreatmentPlan;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.List;
@Data
@EqualsAndHashCode(callSuper = true)
public class MedicalRecTreatmentPlanResVo extends ConfigTreatmentPlan {
@Schema(description = "主键")
private String id;
@Schema(description = "疾病id")
private String medicalRecId;
@Schema(description = "计划id 用来代替planId")
private String treatmentPlanId;
@Schema(description = "药物列表")
private List<String> drugIds;
}

@ -32,4 +32,26 @@
require_check_flag,create_user_id,create_time,
update_user_id,update_time
</sql>
<select id="queryListByMedicalRecId" resultType="com.supervision.vo.manage.MedicalRecAncillaryResVo">
select mra.id,
mra.medical_rec_id as medicalRecId,
mra.item_id as itemId,
cai.item_name as itemName,
cai.type as itemType,
mra.primarily_diagnosis_criteria_flag as primarilyDiagnosisCriteriaFlag,
mra.basis_confirm_flag as basisConfirmFlag,
mra.basis_identification_flag as basisIdentificationFlag,
mra.full_check_flag as fullCheckFlag,
mra.diagnosis_assessment_flag as diagnosisAssessmentFlag,
mra.expected_diagnosis_result as expectedDiagnosisResult,
mra.require_check_flag as requireCheckFlag,
mra.result as result,
mra.normal_result as normalResult,
mra.description as description
from vp_medical_rec_ancillary mra
left join vp_config_ancillary_item cai on mra.item_id = cai.id
where mra.medical_rec_id = #{medicalRecId}
order by mra.create_time desc
</select>
</mapper>

@ -35,4 +35,30 @@
create_user_id,create_time,update_user_id,
update_time
</sql>
<select id="queryListByMedicalRecId" resultType="com.supervision.vo.manage.MedicalRecPhysicalResVo">
select mrp.id,
mrp.medical_rec_id as medicalRecId,
mrp.tool_id as toolId,
cpl.parent_id as toolParentId,
mrp.location_id as locationId,
cpl.location_name as locationName,
cpt.tool_name as toolName,
cpt.type as toolType,
mrp.primarily_diagnosis_criteria_flag as primarilyDiagnosisCriteriaFlag,
mrp.basis_confirm_flag as basisConfirmFlag,
mrp.basis_identification_flag as basisIdentificationFlag,
mrp.full_check_flag as fullCheckFlag,
mrp.diagnosis_assessment_flag as diagnosisAssessmentFlag,
mrp.location_diagnosis_flag as locationDiagnosisFlag,
mrp.expected_diagnosis_result as expectedDiagnosisResult,
mrp.require_check_flag as requireCheckFlag,
mrp.result as result,
mrp.normal_result as normalResult,
mrp.trait as trait
from vp_medical_rec_physical mrp
left join vp_config_physical_tool cpt on mrp.tool_id = cpt.id
left join vp_config_physical_location cpl on mrp.location_id = cpl.id
where mrp.medical_rec_id = #{medicalRecId}
order by mrp.create_time desc
</select>
</mapper>

@ -19,4 +19,21 @@
create_user_id,create_time,update_user_id,
update_time
</sql>
<select id="queryListByMedicalRecId" resultType="com.supervision.vo.manage.MedicalRecTreatmentPlanResVo">
select
mrtp.id as id,
mrtp.medical_rec_id as medicalRecId,
mrtp.treatment_plan_id as treatmentPlanId,
ctp.disposal_plan_id as disposalPlanId,
ctp.disposal_plan as disposalPlan,
ctp.disposal_method as disposalMethod,
ctp.first_measures_id as firstMeasuresId,
ctp.first_measures as firstMeasures,
ctp.second_measures as secondMeasures,
ctp.recommended_medication as recommendedMedication
from vp_medical_rec_treatment_plan mrtp
left join vp_config_treatment_plan ctp on mrtp.treatment_plan_id = ctp.id
where mrtp.medical_rec_id = #{medicalRecId}
</select>
</mapper>

Loading…
Cancel
Save