From 362d33d93d11da1dca66eb1a3c6dd8fe2d35143f Mon Sep 17 00:00:00 2001 From: liu Date: Mon, 30 Oct 2023 14:58:25 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BE=85=E5=8A=A9=E6=A3=80=E6=9F=A5=E5=8F=8A?= =?UTF-8?q?=E4=BD=93=E6=A0=BC=E6=A3=80=E6=9F=A5=E6=8E=A5=E5=8F=A3=E6=8F=90?= =?UTF-8?q?=E4=BA=A4,=E5=88=9D=E6=AD=A5=E8=AF=8A=E6=96=AD=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/DiagnosisPrimaryMapper.java | 5 ++ .../model/DiagnosisAncillaryRecord.java | 8 ++- .../model/DiagnosisPhysicalRecord.java | 6 +++ .../supervision/model/DiagnosisPrimary.java | 9 ++-- .../service/DiagnosisPrimaryService.java | 5 ++ .../impl/DiagnosisPrimaryServiceImpl.java | 7 +++ .../vo/ask/DiagnosisPrimaryVO.java | 12 +++++ .../mapper/DiagnosisAncillaryRecordMapper.xml | 7 +-- .../mapper/DiagnosisPhysicalRecordMapper.xml | 24 ++++----- .../mapper/DiagnosisPrimaryMapper.xml | 23 ++++++--- .../controller/AskAncillaryController.java | 6 +-- .../controller/AskPhysicalController.java | 4 +- .../controller/AskPrimaryController.java | 49 +++++++++++++++++++ .../pojo/vo/AskAncillaryResultReqVO.java | 9 ++++ .../pojo/vo/AskPhysicalResultReqVO.java | 4 ++ .../service/AskAncillaryService.java | 2 +- .../service/AskPrimaryService.java | 19 +++++++ .../service/impl/AskAncillaryServiceImpl.java | 7 ++- .../service/impl/AskPhysicalServiceImpl.java | 1 + .../service/impl/AskPrimaryServiceImpl.java | 43 ++++++++++++++++ 20 files changed, 214 insertions(+), 36 deletions(-) create mode 100644 virtual-patient-model/src/main/java/com/supervision/vo/ask/DiagnosisPrimaryVO.java create mode 100644 virtual-patient-web/src/main/java/com/supervision/controller/AskPrimaryController.java create mode 100644 virtual-patient-web/src/main/java/com/supervision/service/AskPrimaryService.java create mode 100644 virtual-patient-web/src/main/java/com/supervision/service/impl/AskPrimaryServiceImpl.java diff --git a/virtual-patient-model/src/main/java/com/supervision/mapper/DiagnosisPrimaryMapper.java b/virtual-patient-model/src/main/java/com/supervision/mapper/DiagnosisPrimaryMapper.java index 856c0706..ec8826a6 100644 --- a/virtual-patient-model/src/main/java/com/supervision/mapper/DiagnosisPrimaryMapper.java +++ b/virtual-patient-model/src/main/java/com/supervision/mapper/DiagnosisPrimaryMapper.java @@ -2,6 +2,9 @@ package com.supervision.mapper; import com.supervision.model.DiagnosisPrimary; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.supervision.vo.ask.DiagnosisPrimaryVO; + +import java.util.List; /** * @author flevance @@ -11,6 +14,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; */ public interface DiagnosisPrimaryMapper extends BaseMapper { + List queryAskPrimaryList(String processId); + } diff --git a/virtual-patient-model/src/main/java/com/supervision/model/DiagnosisAncillaryRecord.java b/virtual-patient-model/src/main/java/com/supervision/model/DiagnosisAncillaryRecord.java index 384dd2c5..c605f44d 100644 --- a/virtual-patient-model/src/main/java/com/supervision/model/DiagnosisAncillaryRecord.java +++ b/virtual-patient-model/src/main/java/com/supervision/model/DiagnosisAncillaryRecord.java @@ -38,11 +38,17 @@ public class DiagnosisAncillaryRecord extends Model im @ApiModelProperty("项目ID") private String itemId; + /** + * 初步诊断ID + */ + @ApiModelProperty("初步诊断ID") + private String primaryId; + /** * 检查结果 */ @ApiModelProperty("检查结果") - private String value; + private String result; /** * 创建人ID diff --git a/virtual-patient-model/src/main/java/com/supervision/model/DiagnosisPhysicalRecord.java b/virtual-patient-model/src/main/java/com/supervision/model/DiagnosisPhysicalRecord.java index ec7dbd64..9206177b 100644 --- a/virtual-patient-model/src/main/java/com/supervision/model/DiagnosisPhysicalRecord.java +++ b/virtual-patient-model/src/main/java/com/supervision/model/DiagnosisPhysicalRecord.java @@ -44,6 +44,12 @@ public class DiagnosisPhysicalRecord extends Model impl @ApiModelProperty("体格检查部位ID") private String locationId; + /** + * 初步诊断ID + */ + @ApiModelProperty("初步诊断ID") + private String primaryId; + /** * 体格检查结果 */ diff --git a/virtual-patient-model/src/main/java/com/supervision/model/DiagnosisPrimary.java b/virtual-patient-model/src/main/java/com/supervision/model/DiagnosisPrimary.java index b0bff25e..76646f2e 100644 --- a/virtual-patient-model/src/main/java/com/supervision/model/DiagnosisPrimary.java +++ b/virtual-patient-model/src/main/java/com/supervision/model/DiagnosisPrimary.java @@ -32,10 +32,13 @@ public class DiagnosisPrimary implements Serializable { private String processId; /** - * 初步诊断疾病 + * 初步诊断疾病,关联disease表ID */ - @ApiModelProperty("初步诊断疾病") - private String primaryDiagnosis; + @ApiModelProperty("初步诊断疾病ID,关联disease表ID") + private String primaryDiagnosisId; + + @ApiModelProperty("是否删除(0否1是)如删除,仅页面不显示") + private Integer deleteFlag; /** * 创建人ID diff --git a/virtual-patient-model/src/main/java/com/supervision/service/DiagnosisPrimaryService.java b/virtual-patient-model/src/main/java/com/supervision/service/DiagnosisPrimaryService.java index 4ddf43a8..31c71fb0 100644 --- a/virtual-patient-model/src/main/java/com/supervision/service/DiagnosisPrimaryService.java +++ b/virtual-patient-model/src/main/java/com/supervision/service/DiagnosisPrimaryService.java @@ -2,6 +2,9 @@ package com.supervision.service; import com.supervision.model.DiagnosisPrimary; import com.baomidou.mybatisplus.extension.service.IService; +import com.supervision.vo.ask.DiagnosisPrimaryVO; + +import java.util.List; /** * @author flevance @@ -10,4 +13,6 @@ import com.baomidou.mybatisplus.extension.service.IService; */ public interface DiagnosisPrimaryService extends IService { + List queryAskPrimaryList(String processId); + } diff --git a/virtual-patient-model/src/main/java/com/supervision/service/impl/DiagnosisPrimaryServiceImpl.java b/virtual-patient-model/src/main/java/com/supervision/service/impl/DiagnosisPrimaryServiceImpl.java index c9672ada..3603ed3d 100644 --- a/virtual-patient-model/src/main/java/com/supervision/service/impl/DiagnosisPrimaryServiceImpl.java +++ b/virtual-patient-model/src/main/java/com/supervision/service/impl/DiagnosisPrimaryServiceImpl.java @@ -4,8 +4,11 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.supervision.model.DiagnosisPrimary; import com.supervision.service.DiagnosisPrimaryService; import com.supervision.mapper.DiagnosisPrimaryMapper; +import com.supervision.vo.ask.DiagnosisPrimaryVO; import org.springframework.stereotype.Service; +import java.util.List; + /** * @author flevance * @description 针对表【vp_diagnosis_primary(初步诊断表)】的数据库操作Service实现 @@ -15,6 +18,10 @@ import org.springframework.stereotype.Service; public class DiagnosisPrimaryServiceImpl extends ServiceImpl implements DiagnosisPrimaryService{ + @Override + public List queryAskPrimaryList(String processId) { + return this.baseMapper.queryAskPrimaryList(processId); + } } diff --git a/virtual-patient-model/src/main/java/com/supervision/vo/ask/DiagnosisPrimaryVO.java b/virtual-patient-model/src/main/java/com/supervision/vo/ask/DiagnosisPrimaryVO.java new file mode 100644 index 00000000..769eacf5 --- /dev/null +++ b/virtual-patient-model/src/main/java/com/supervision/vo/ask/DiagnosisPrimaryVO.java @@ -0,0 +1,12 @@ +package com.supervision.vo.ask; + +import com.supervision.model.DiagnosisPrimary; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@Data +@EqualsAndHashCode(callSuper = true) +public class DiagnosisPrimaryVO extends DiagnosisPrimary { + + private String primaryDiseaseName; +} diff --git a/virtual-patient-model/src/main/resources/mapper/DiagnosisAncillaryRecordMapper.xml b/virtual-patient-model/src/main/resources/mapper/DiagnosisAncillaryRecordMapper.xml index 4665720c..432d0951 100644 --- a/virtual-patient-model/src/main/resources/mapper/DiagnosisAncillaryRecordMapper.xml +++ b/virtual-patient-model/src/main/resources/mapper/DiagnosisAncillaryRecordMapper.xml @@ -8,7 +8,8 @@ - + + @@ -16,8 +17,8 @@ - id,process_id,item_id, - value,create_user_id,create_time, + id,process_id,item_id,primary_id, + result,create_user_id,create_time, update_user_id,update_time diff --git a/virtual-patient-model/src/main/resources/mapper/DiagnosisPhysicalRecordMapper.xml b/virtual-patient-model/src/main/resources/mapper/DiagnosisPhysicalRecordMapper.xml index a6f61258..a86a6cda 100644 --- a/virtual-patient-model/src/main/resources/mapper/DiagnosisPhysicalRecordMapper.xml +++ b/virtual-patient-model/src/main/resources/mapper/DiagnosisPhysicalRecordMapper.xml @@ -5,20 +5,22 @@ - - - - - - - - - + + + + + + + + + + - id,process_id,tool_id, - location_id,result,create_user_id, + id + ,process_id,tool_id, + location_id,primary_id,result,create_user_id, create_time,update_user_id,update_time diff --git a/virtual-patient-model/src/main/resources/mapper/DiagnosisPrimaryMapper.xml b/virtual-patient-model/src/main/resources/mapper/DiagnosisPrimaryMapper.xml index e98ce5d2..10fe80ba 100644 --- a/virtual-patient-model/src/main/resources/mapper/DiagnosisPrimaryMapper.xml +++ b/virtual-patient-model/src/main/resources/mapper/DiagnosisPrimaryMapper.xml @@ -5,18 +5,25 @@ - - - - - - - + + + + + + + - id,process_id,primary_diagnosis, + id + ,process_id,primary_diagnosis, 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 e0ab2998..67a27982 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 @@ -30,10 +30,10 @@ public class AskAncillaryController { } - @ApiOperation("查询辅助检查的结果") + @ApiOperation("进行辅助检查,并获取结果") @GetMapping("queryAskAncillaryResult") - public DiagnosisAncillaryRecord queryAskAncillaryResult(AskAncillaryResultReqVO reqVO){ - return askAncillaryService.queryAskAncillaryResult(reqVO); + public DiagnosisAncillaryRecord execAskAncillaryResult(AskAncillaryResultReqVO reqVO){ + return askAncillaryService.execAskAncillaryResult(reqVO); } diff --git a/virtual-patient-web/src/main/java/com/supervision/controller/AskPhysicalController.java b/virtual-patient-web/src/main/java/com/supervision/controller/AskPhysicalController.java index 3891d640..e6e3c51c 100644 --- a/virtual-patient-web/src/main/java/com/supervision/controller/AskPhysicalController.java +++ b/virtual-patient-web/src/main/java/com/supervision/controller/AskPhysicalController.java @@ -1,11 +1,11 @@ package com.supervision.controller; -import com.supervision.model.ConfigPhysicalLocation; import com.supervision.model.ConfigPhysicalTool; import com.supervision.model.DiagnosisPhysicalRecord; import com.supervision.pojo.vo.AskPhysicalResultReqVO; import com.supervision.service.AskPhysicalService; -import io.swagger.annotations.*; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.GetMapping; diff --git a/virtual-patient-web/src/main/java/com/supervision/controller/AskPrimaryController.java b/virtual-patient-web/src/main/java/com/supervision/controller/AskPrimaryController.java new file mode 100644 index 00000000..3ff59eb9 --- /dev/null +++ b/virtual-patient-web/src/main/java/com/supervision/controller/AskPrimaryController.java @@ -0,0 +1,49 @@ +package com.supervision.controller; + + +import com.supervision.model.DiagnosisPrimary; +import com.supervision.model.Disease; +import com.supervision.service.AskPrimaryService; +import com.supervision.vo.ask.DiagnosisPrimaryVO; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +@Api(tags = "初步诊断") +@RestController +@RequestMapping("askPrimary") +@RequiredArgsConstructor +public class AskPrimaryController { + + private final AskPrimaryService askPrimaryService; + + @ApiOperation("查询初步诊断列表") + @GetMapping("queryAskPrimaryList") + public List queryAskPrimaryList(String processId){ + return askPrimaryService.queryAskPrimaryList(processId); + } + + @ApiOperation("获取初步诊断可选的下拉列表") + @GetMapping("queryPrimaryCanChooseList") + public List queryPrimaryCanChooseList(){ + return askPrimaryService.queryPrimaryCanChooseList(); + } + + @ApiOperation("保存初步诊断") + @GetMapping("savePrimary") + public void savePrimary(@RequestBody DiagnosisPrimary reqVO){ + askPrimaryService.savePrimary(reqVO); + } + + @ApiOperation("删除初步诊断") + @GetMapping("deletePrimary") + public void deletePrimary(String id){ + askPrimaryService.deletePrimary(id); + } +} diff --git a/virtual-patient-web/src/main/java/com/supervision/pojo/vo/AskAncillaryResultReqVO.java b/virtual-patient-web/src/main/java/com/supervision/pojo/vo/AskAncillaryResultReqVO.java index 8e94f146..c7096c5c 100644 --- a/virtual-patient-web/src/main/java/com/supervision/pojo/vo/AskAncillaryResultReqVO.java +++ b/virtual-patient-web/src/main/java/com/supervision/pojo/vo/AskAncillaryResultReqVO.java @@ -1,15 +1,24 @@ package com.supervision.pojo.vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotBlank; @Data +@ApiModel public class AskAncillaryResultReqVO { + @ApiModelProperty("辅助检查工具ID") @NotBlank(message = "辅助检查工具ID不能为空") private String itemId; + @ApiModelProperty("初步诊断ID") + @NotBlank(message = "初步诊断ID不能为空") + private String primaryId; + + @ApiModelProperty("流程ID") @NotBlank(message = "流程ID不能为空") private String processId; diff --git a/virtual-patient-web/src/main/java/com/supervision/pojo/vo/AskPhysicalResultReqVO.java b/virtual-patient-web/src/main/java/com/supervision/pojo/vo/AskPhysicalResultReqVO.java index 792e25bd..d30311b1 100644 --- a/virtual-patient-web/src/main/java/com/supervision/pojo/vo/AskPhysicalResultReqVO.java +++ b/virtual-patient-web/src/main/java/com/supervision/pojo/vo/AskPhysicalResultReqVO.java @@ -17,6 +17,10 @@ public class AskPhysicalResultReqVO { @ApiModelProperty("位置编码") private String locationCode; + @ApiModelProperty("初步诊断ID") + @NotBlank(message = "初步诊断ID不能为空") + private String primaryId; + @NotBlank(message = "流程ID不能为空") @ApiModelProperty("流程ID") private String processId; 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 1dea17c0..ec9c42d8 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 @@ -13,5 +13,5 @@ public interface AskAncillaryService { Map> queryAncillaryItemList(); - DiagnosisAncillaryRecord queryAskAncillaryResult(AskAncillaryResultReqVO reqVO); + DiagnosisAncillaryRecord execAskAncillaryResult(AskAncillaryResultReqVO reqVO); } diff --git a/virtual-patient-web/src/main/java/com/supervision/service/AskPrimaryService.java b/virtual-patient-web/src/main/java/com/supervision/service/AskPrimaryService.java new file mode 100644 index 00000000..b8ee8734 --- /dev/null +++ b/virtual-patient-web/src/main/java/com/supervision/service/AskPrimaryService.java @@ -0,0 +1,19 @@ +package com.supervision.service; + +import com.supervision.model.DiagnosisPrimary; +import com.supervision.model.Disease; +import com.supervision.vo.ask.DiagnosisPrimaryVO; +import org.springframework.web.bind.annotation.RequestBody; + +import java.util.List; + +public interface AskPrimaryService { + + List queryAskPrimaryList(String processId); + + List queryPrimaryCanChooseList(); + + void savePrimary(DiagnosisPrimary reqVO); + + void deletePrimary(String id); +} 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 27b54b1d..6a6708af 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 @@ -24,8 +24,6 @@ public class AskAncillaryServiceImpl implements AskAncillaryService { private final ConfigAncillaryItemService ancillaryItemService; - private final ConfigPhysicalLocationService configPhysicalLocationService; - @Override public Map> queryAncillaryItemList() { List list = ancillaryItemService.lambdaQuery().list(); @@ -33,7 +31,7 @@ public class AskAncillaryServiceImpl implements AskAncillaryService { } @Override - public DiagnosisAncillaryRecord queryAskAncillaryResult(AskAncillaryResultReqVO reqVO) { + public DiagnosisAncillaryRecord execAskAncillaryResult(AskAncillaryResultReqVO reqVO) { // 首先根据process_id查新到流程ID Process process = Optional.ofNullable(processService.getById(reqVO.getProcessId())).orElseThrow(() -> new BusinessException("未找到流程ID")); // 找到对应的项目的检查结果 @@ -47,7 +45,8 @@ public class AskAncillaryServiceImpl implements AskAncillaryService { DiagnosisAncillaryRecord record = new DiagnosisAncillaryRecord(); record.setProcessId(process.getId()); record.setItemId(reqVO.getItemId()); - record.setValue(diseaseAncillary.getResult()); + record.setPrimaryId(reqVO.getPrimaryId()); + record.setResult(diseaseAncillary.getResult()); record.setCreateUserId(UserUtil.getUser().getId()); record.setUpdateUserId(UserUtil.getUser().getId()); return record; diff --git a/virtual-patient-web/src/main/java/com/supervision/service/impl/AskPhysicalServiceImpl.java b/virtual-patient-web/src/main/java/com/supervision/service/impl/AskPhysicalServiceImpl.java index 816e4880..8b975f7f 100644 --- a/virtual-patient-web/src/main/java/com/supervision/service/impl/AskPhysicalServiceImpl.java +++ b/virtual-patient-web/src/main/java/com/supervision/service/impl/AskPhysicalServiceImpl.java @@ -59,6 +59,7 @@ public class AskPhysicalServiceImpl implements AskPhysicalService { diagnosisPhysicalRecord.setProcessId(process.getId()); diagnosisPhysicalRecord.setToolId(tool.getId()); diagnosisPhysicalRecord.setLocationId(locationId); + diagnosisPhysicalRecord.setPrimaryId(reqVO.getPrimaryId()); diagnosisPhysicalRecord.setResult(result.getResult()); diagnosisPhysicalRecord.setCreateUserId(UserUtil.getUser().getCreateUserId()); diagnosisPhysicalRecord.setUpdateUserId(UserUtil.getUser().getCreateUserId()); diff --git a/virtual-patient-web/src/main/java/com/supervision/service/impl/AskPrimaryServiceImpl.java b/virtual-patient-web/src/main/java/com/supervision/service/impl/AskPrimaryServiceImpl.java new file mode 100644 index 00000000..ade2295c --- /dev/null +++ b/virtual-patient-web/src/main/java/com/supervision/service/impl/AskPrimaryServiceImpl.java @@ -0,0 +1,43 @@ +package com.supervision.service.impl; + +import com.supervision.model.DiagnosisPrimary; +import com.supervision.model.Disease; +import com.supervision.service.AskPrimaryService; +import com.supervision.service.DiagnosisPrimaryService; +import com.supervision.service.DiseaseService; +import com.supervision.util.UserUtil; +import com.supervision.vo.ask.DiagnosisPrimaryVO; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +@RequiredArgsConstructor +public class AskPrimaryServiceImpl implements AskPrimaryService { + + private final DiagnosisPrimaryService diagnosisPrimaryService; + + private final DiseaseService diseaseService; + + @Override + public List queryAskPrimaryList(String processId) { + return diagnosisPrimaryService.queryAskPrimaryList(processId); + } + + @Override + public List queryPrimaryCanChooseList() { + return diseaseService.list(); + } + + @Override + public void savePrimary(DiagnosisPrimary reqVO) { + reqVO.setCreateUserId(UserUtil.getUser().getId()); + diagnosisPrimaryService.save(reqVO); + } + + @Override + public void deletePrimary(String id) { + diagnosisPrimaryService.lambdaUpdate().set(DiagnosisPrimary::getDeleteFlag,1).eq(DiagnosisPrimary::getId,id).update(); + } +}