From 53039d19bffc0ed7ad1e2133027fcb7f25ef1c2b Mon Sep 17 00:00:00 2001 From: xueqingkun Date: Tue, 7 Nov 2023 16:10:26 +0800 Subject: [PATCH] =?UTF-8?q?web=20:=201.=20queryAskAncillaryResult=20?= =?UTF-8?q?=E6=89=A9=E5=B1=95=E8=BF=94=E5=9B=9E=E7=BB=93=E6=9E=9C=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../supervision/dto/DiseaseAncillaryDto.java | 15 +++++++ .../mapper/DiseaseAncillaryMapper.java | 6 +++ .../model/ConfigPhysicalLocation.java | 1 - .../service/DiseaseAncillaryService.java | 9 +++++ .../impl/DiseaseAncillaryServiceImpl.java | 29 ++++++++++++++ .../vo/ask/DiagnosisAncillaryRecordVo.java | 15 +++++++ .../mapper/DiseaseAncillaryMapper.xml | 27 +++++++++++++ .../controller/AskAncillaryController.java | 4 +- .../service/AskAncillaryService.java | 4 +- .../service/impl/AskAncillaryServiceImpl.java | 40 ++++++++++++++----- 10 files changed, 136 insertions(+), 14 deletions(-) create mode 100644 virtual-patient-model/src/main/java/com/supervision/dto/DiseaseAncillaryDto.java create mode 100644 virtual-patient-model/src/main/java/com/supervision/vo/ask/DiagnosisAncillaryRecordVo.java diff --git a/virtual-patient-model/src/main/java/com/supervision/dto/DiseaseAncillaryDto.java b/virtual-patient-model/src/main/java/com/supervision/dto/DiseaseAncillaryDto.java new file mode 100644 index 00000000..f488fe58 --- /dev/null +++ b/virtual-patient-model/src/main/java/com/supervision/dto/DiseaseAncillaryDto.java @@ -0,0 +1,15 @@ +package com.supervision.dto; + +import com.supervision.model.DiseaseAncillary; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@Data +@EqualsAndHashCode(callSuper = true) +public class DiseaseAncillaryDto extends DiseaseAncillary { + + + @ApiModelProperty("项目中文名") + private String itemName; +} diff --git a/virtual-patient-model/src/main/java/com/supervision/mapper/DiseaseAncillaryMapper.java b/virtual-patient-model/src/main/java/com/supervision/mapper/DiseaseAncillaryMapper.java index 00c7a0b7..824c357b 100644 --- a/virtual-patient-model/src/main/java/com/supervision/mapper/DiseaseAncillaryMapper.java +++ b/virtual-patient-model/src/main/java/com/supervision/mapper/DiseaseAncillaryMapper.java @@ -1,7 +1,11 @@ package com.supervision.mapper; +import com.supervision.dto.DiseaseAncillaryDto; import com.supervision.model.DiseaseAncillary; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * @author flevance @@ -11,6 +15,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; */ public interface DiseaseAncillaryMapper extends BaseMapper { + List queryDiseaseAncillaryDtoList(@Param("diseaseAncillary")DiseaseAncillary diseaseAncillary); + } diff --git a/virtual-patient-model/src/main/java/com/supervision/model/ConfigPhysicalLocation.java b/virtual-patient-model/src/main/java/com/supervision/model/ConfigPhysicalLocation.java index 532d470c..ca85f8c1 100644 --- a/virtual-patient-model/src/main/java/com/supervision/model/ConfigPhysicalLocation.java +++ b/virtual-patient-model/src/main/java/com/supervision/model/ConfigPhysicalLocation.java @@ -1,6 +1,5 @@ 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; diff --git a/virtual-patient-model/src/main/java/com/supervision/service/DiseaseAncillaryService.java b/virtual-patient-model/src/main/java/com/supervision/service/DiseaseAncillaryService.java index a3e499c4..12374513 100644 --- a/virtual-patient-model/src/main/java/com/supervision/service/DiseaseAncillaryService.java +++ b/virtual-patient-model/src/main/java/com/supervision/service/DiseaseAncillaryService.java @@ -1,8 +1,12 @@ package com.supervision.service; +import com.supervision.dto.DiseaseAncillaryDto; import com.supervision.model.DiseaseAncillary; import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; +import java.util.function.Supplier; + /** * @author flevance * @description 针对表【vp_disease_ancillary(疾病辅助检查)】的数据库操作Service @@ -10,4 +14,9 @@ import com.baomidou.mybatisplus.extension.service.IService; */ public interface DiseaseAncillaryService extends IService { + List queryDiseaseAncillaryDtoList(DiseaseAncillary diseaseAncillary); + + + DiseaseAncillaryDto queryDiseaseAncillaryDtoOne(DiseaseAncillary diseaseAncillary, Supplier other); + } diff --git a/virtual-patient-model/src/main/java/com/supervision/service/impl/DiseaseAncillaryServiceImpl.java b/virtual-patient-model/src/main/java/com/supervision/service/impl/DiseaseAncillaryServiceImpl.java index 0993c00a..227262b2 100644 --- a/virtual-patient-model/src/main/java/com/supervision/service/impl/DiseaseAncillaryServiceImpl.java +++ b/virtual-patient-model/src/main/java/com/supervision/service/impl/DiseaseAncillaryServiceImpl.java @@ -1,20 +1,49 @@ package com.supervision.service.impl; +import cn.hutool.core.collection.CollectionUtil; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.supervision.dto.DiseaseAncillaryDto; +import com.supervision.exception.BusinessException; import com.supervision.model.DiseaseAncillary; import com.supervision.service.DiseaseAncillaryService; import com.supervision.mapper.DiseaseAncillaryMapper; +import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.util.List; +import java.util.function.Supplier; + /** * @author flevance * @description 针对表【vp_disease_ancillary(疾病辅助检查)】的数据库操作Service实现 * @createDate 2023-10-20 17:19:21 */ @Service +@RequiredArgsConstructor public class DiseaseAncillaryServiceImpl extends ServiceImpl implements DiseaseAncillaryService{ + private final DiseaseAncillaryMapper diseaseAncillaryMapper; + @Override + public List queryDiseaseAncillaryDtoList(DiseaseAncillary diseaseAncillary) { + + if (null == diseaseAncillary){ + throw new BusinessException("diseaseAncillary is empty"); + } + + return diseaseAncillaryMapper.queryDiseaseAncillaryDtoList(diseaseAncillary); + } + + @Override + public DiseaseAncillaryDto queryDiseaseAncillaryDtoOne(DiseaseAncillary diseaseAncillary, Supplier other) { + List diseaseAncillaryDtos = this.queryDiseaseAncillaryDtoList(diseaseAncillary); + if (CollectionUtil.isEmpty(diseaseAncillaryDtos)){ + return other.get(); + } + return diseaseAncillaryDtos.get(0); + } + + } diff --git a/virtual-patient-model/src/main/java/com/supervision/vo/ask/DiagnosisAncillaryRecordVo.java b/virtual-patient-model/src/main/java/com/supervision/vo/ask/DiagnosisAncillaryRecordVo.java new file mode 100644 index 00000000..37a3877e --- /dev/null +++ b/virtual-patient-model/src/main/java/com/supervision/vo/ask/DiagnosisAncillaryRecordVo.java @@ -0,0 +1,15 @@ +package com.supervision.vo.ask; + +import com.supervision.model.DiagnosisAncillaryRecord; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@Data +@EqualsAndHashCode(callSuper = true) +public class DiagnosisAncillaryRecordVo extends DiagnosisAncillaryRecord { + + + @ApiModelProperty("辅助检查项中文名") + private String ancillaryName; +} diff --git a/virtual-patient-model/src/main/resources/mapper/DiseaseAncillaryMapper.xml b/virtual-patient-model/src/main/resources/mapper/DiseaseAncillaryMapper.xml index 11f90c9a..32d43e7f 100644 --- a/virtual-patient-model/src/main/resources/mapper/DiseaseAncillaryMapper.xml +++ b/virtual-patient-model/src/main/resources/mapper/DiseaseAncillaryMapper.xml @@ -25,4 +25,31 @@ result,description,create_user_id, create_time,update_user_id,update_time + + + diff --git a/virtual-patient-web/src/main/java/com/supervision/controller/AskAncillaryController.java b/virtual-patient-web/src/main/java/com/supervision/controller/AskAncillaryController.java index 6a18881c..1dde2574 100644 --- a/virtual-patient-web/src/main/java/com/supervision/controller/AskAncillaryController.java +++ b/virtual-patient-web/src/main/java/com/supervision/controller/AskAncillaryController.java @@ -1,10 +1,10 @@ package com.supervision.controller; -import com.supervision.model.DiagnosisAncillaryRecord; import com.supervision.vo.ask.AskAncillaryHistoryResVO; import com.supervision.pojo.vo.AskAncillaryResultReqVO; import com.supervision.pojo.vo.ConfigAncillaryItemResVO; import com.supervision.service.AskAncillaryService; +import com.supervision.vo.ask.DiagnosisAncillaryRecordVo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; @@ -30,7 +30,7 @@ public class AskAncillaryController { @ApiOperation("进行辅助检查,并获取结果") @GetMapping("queryAskAncillaryResult") - public DiagnosisAncillaryRecord execAskAncillaryResult(AskAncillaryResultReqVO reqVO) { + public DiagnosisAncillaryRecordVo execAskAncillaryResult(AskAncillaryResultReqVO reqVO) { return askAncillaryService.execAskAncillaryResult(reqVO); } diff --git a/virtual-patient-web/src/main/java/com/supervision/service/AskAncillaryService.java b/virtual-patient-web/src/main/java/com/supervision/service/AskAncillaryService.java index 298c5985..e48a8819 100644 --- a/virtual-patient-web/src/main/java/com/supervision/service/AskAncillaryService.java +++ b/virtual-patient-web/src/main/java/com/supervision/service/AskAncillaryService.java @@ -1,9 +1,9 @@ package com.supervision.service; -import com.supervision.model.DiagnosisAncillaryRecord; import com.supervision.vo.ask.AskAncillaryHistoryResVO; import com.supervision.pojo.vo.AskAncillaryResultReqVO; import com.supervision.pojo.vo.ConfigAncillaryItemResVO; +import com.supervision.vo.ask.DiagnosisAncillaryRecordVo; import java.util.List; @@ -12,7 +12,7 @@ public interface AskAncillaryService { List queryAncillaryItemList(); - DiagnosisAncillaryRecord execAskAncillaryResult(AskAncillaryResultReqVO reqVO); + DiagnosisAncillaryRecordVo execAskAncillaryResult(AskAncillaryResultReqVO reqVO); List queryAskAncillaryHistory(String processId); } diff --git a/virtual-patient-web/src/main/java/com/supervision/service/impl/AskAncillaryServiceImpl.java b/virtual-patient-web/src/main/java/com/supervision/service/impl/AskAncillaryServiceImpl.java index 4f25834e..6b0a033e 100644 --- a/virtual-patient-web/src/main/java/com/supervision/service/impl/AskAncillaryServiceImpl.java +++ b/virtual-patient-web/src/main/java/com/supervision/service/impl/AskAncillaryServiceImpl.java @@ -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 queryAncillaryItemList() { + DiseaseAncillary diseaseAncillary = new DiseaseAncillary(); + diseaseAncillary.setMedicalRecId("1"); + diseaseAncillary.setItemId("100"); + List diseaseAncillaryDtos = diseaseAncillaryMapper.queryDiseaseAncillaryDtoList(diseaseAncillary); List 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