From 643d94494ced3cb1a7095ec0db1a0c62a81ba5e6 Mon Sep 17 00:00:00 2001 From: liu Date: Thu, 14 Dec 2023 16:06:18 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E8=AF=8A=E6=AF=95=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/AskPrimaryController.java | 13 ++-- .../pojo/vo/PrimaryConfirmReqVO.java | 24 +++++++ .../service/AskPrimaryService.java | 4 +- .../service/impl/AskPrimaryServiceImpl.java | 67 ++++++++++--------- 4 files changed, 65 insertions(+), 43 deletions(-) create mode 100644 virtual-patient-web/src/main/java/com/supervision/pojo/vo/PrimaryConfirmReqVO.java 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 index b5749e83..c63138e6 100644 --- a/virtual-patient-web/src/main/java/com/supervision/controller/AskPrimaryController.java +++ b/virtual-patient-web/src/main/java/com/supervision/controller/AskPrimaryController.java @@ -4,6 +4,7 @@ package com.supervision.controller; import com.supervision.model.DiagnosisPrimary; import com.supervision.model.Disease; import com.supervision.pojo.vo.DiagnosticBasisForPrimaryReqVO; +import com.supervision.pojo.vo.PrimaryConfirmReqVO; import com.supervision.pojo.vo.RecordForPrimaryChooseVO; import com.supervision.pojo.vo.SaveDiagnosisPrimaryReqVO; import com.supervision.vo.ask.DiagnosticBasisForPrimaryResVO; @@ -58,10 +59,10 @@ public class AskPrimaryController { } - @ApiOperation("确认诊断时,修改初步诊断的信息") + @ApiOperation("确认诊断时,修改初步诊断以及鉴别依据") @PostMapping("updatePrimaryByConfirm") - public void updatePrimaryByConfirm(@RequestBody DiagnosisPrimary reqVO) { - askPrimaryService.updatePrimaryByConfirm(reqVO); + public void updatePrimaryByConfirm(@RequestBody List reqVOList) { + askPrimaryService.updatePrimaryByConfirm(reqVOList); } @ApiOperation("删除初步诊断") @@ -75,10 +76,4 @@ public class AskPrimaryController { public List queryDiagnosticBasisListForPrimary(@NotBlank(message = "流程ID不能为空") String processId) { return askPrimaryService.queryDiagnosticBasisListForPrimary(processId); } - - @ApiOperation("确认诊断-保存诊断依据") - @PostMapping("saveDiagnosticBasis") - public void saveDiagnosticBasis(@RequestBody List reqVO) { - askPrimaryService.saveDiagnosticBasis(reqVO); - } } diff --git a/virtual-patient-web/src/main/java/com/supervision/pojo/vo/PrimaryConfirmReqVO.java b/virtual-patient-web/src/main/java/com/supervision/pojo/vo/PrimaryConfirmReqVO.java new file mode 100644 index 00000000..26bc49cb --- /dev/null +++ b/virtual-patient-web/src/main/java/com/supervision/pojo/vo/PrimaryConfirmReqVO.java @@ -0,0 +1,24 @@ +package com.supervision.pojo.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@Data +public class PrimaryConfirmReqVO { + + /** + * 主键 + */ + private String id; + + private String processId; + + + @ApiModelProperty("是否排除(0否1是)") + private Integer excludeFlag; + + @ApiModelProperty("诊断依据列表") + private List diagnosticBasisList; +} 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 index 3faa4360..31d31b79 100644 --- a/virtual-patient-web/src/main/java/com/supervision/service/AskPrimaryService.java +++ b/virtual-patient-web/src/main/java/com/supervision/service/AskPrimaryService.java @@ -3,6 +3,7 @@ package com.supervision.service; import com.supervision.model.DiagnosisPrimary; import com.supervision.model.Disease; import com.supervision.pojo.vo.DiagnosticBasisForPrimaryReqVO; +import com.supervision.pojo.vo.PrimaryConfirmReqVO; import com.supervision.pojo.vo.RecordForPrimaryChooseVO; import com.supervision.pojo.vo.SaveDiagnosisPrimaryReqVO; import com.supervision.vo.ask.DiagnosticBasisForPrimaryResVO; @@ -24,11 +25,10 @@ public interface AskPrimaryService { RecordForPrimaryChooseVO queryRecordForPrimaryChoose(String processId); - void updatePrimaryByConfirm(DiagnosisPrimary reqVO); + void updatePrimaryByConfirm(List reqVOList); void deletePrimary(String id); List queryDiagnosticBasisListForPrimary(String processId); - void saveDiagnosticBasis(List reqVO); } 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 index 1a2f2d35..6fa14d30 100644 --- 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 @@ -6,10 +6,7 @@ import cn.hutool.core.util.StrUtil; import com.supervision.exception.BusinessException; import com.supervision.model.*; import com.supervision.model.Process; -import com.supervision.pojo.vo.ChooseNode; -import com.supervision.pojo.vo.DiagnosticBasisForPrimaryReqVO; -import com.supervision.pojo.vo.RecordForPrimaryChooseVO; -import com.supervision.pojo.vo.SaveDiagnosisPrimaryReqVO; +import com.supervision.pojo.vo.*; import com.supervision.vo.ask.*; import com.supervision.service.*; import com.supervision.util.UserUtil; @@ -156,10 +153,40 @@ public class AskPrimaryServiceImpl implements AskPrimaryService { @Override - public void updatePrimaryByConfirm(DiagnosisPrimary reqVO) { - diagnosisPrimaryService.lambdaUpdate().set(DiagnosisPrimary::getExcludeFlag, reqVO.getExcludeFlag()) - .set(DiagnosisPrimary::getPatientDiseaseInfo, reqVO.getPatientDiseaseInfo()) - .eq(DiagnosisPrimary::getId, reqVO.getId()).update(); + @Transactional(rollbackFor = Exception.class) + public void updatePrimaryByConfirm(List reqVOList) { + for (PrimaryConfirmReqVO reqVO : reqVOList) { + // 修改初步诊断是否被排除 + diagnosisPrimaryService.lambdaUpdate().set(DiagnosisPrimary::getExcludeFlag, reqVO.getExcludeFlag()) + .eq(DiagnosisPrimary::getId, reqVO.getId()).update(); + // 保存证实诊断依据 + saveDiagnosticBasis(reqVO.getDiagnosticBasisList()); + } + // 然后将process的状态改为诊毕 + processService.lambdaUpdate().set(Process::getStatus, 1).update(); + } + + private void saveDiagnosticBasis(List diagnosticBasisList) { + for (DiagnosticBasisForPrimaryReqVO node : diagnosticBasisList) { + if (1 == node.getType()) { + diagnosisQaRecordService.lambdaUpdate().set(DiagnosisQaRecord::getBasisConfirmFlag, node.getBasisConfirmFlag()) + .set(DiagnosisQaRecord::getBasisIdentificationFlag, node.getBasisIdentificationFlag()) + .eq(DiagnosisQaRecord::getId, node.getId()).update(); + continue; + } + if (2 == node.getType()) { + diagnosisPhysicalRecordService.lambdaUpdate().set(DiagnosisPhysicalRecord::getBasisConfirmFlag, node.getBasisConfirmFlag()) + .set(DiagnosisPhysicalRecord::getBasisIdentificationFlag, node.getBasisIdentificationFlag()) + .eq(DiagnosisPhysicalRecord::getId, node.getId()).update(); + continue; + } + if (3 == node.getType()) { + diagnosisAncillaryRecordService.lambdaUpdate().set(DiagnosisAncillaryRecord::getBasisConfirmFlag, node.getBasisConfirmFlag()) + .set(DiagnosisAncillaryRecord::getBasisIdentificationFlag, node.getBasisIdentificationFlag()) + .eq(DiagnosisAncillaryRecord::getId, node.getId()).update(); + } + + } } @Override @@ -212,29 +239,5 @@ public class AskPrimaryServiceImpl implements AskPrimaryService { return resList; } - @Override - public void saveDiagnosticBasis(List reqVO) { - for (DiagnosticBasisForPrimaryReqVO node : reqVO) { - if (1 == node.getType()) { - diagnosisQaRecordService.lambdaUpdate().set(DiagnosisQaRecord::getBasisConfirmFlag, node.getBasisConfirmFlag()) - .set(DiagnosisQaRecord::getBasisIdentificationFlag, node.getBasisIdentificationFlag()) - .eq(DiagnosisQaRecord::getId, node.getId()).update(); - continue; - } - if (2 == node.getType()) { - diagnosisPhysicalRecordService.lambdaUpdate().set(DiagnosisPhysicalRecord::getBasisConfirmFlag, node.getBasisConfirmFlag()) - .set(DiagnosisPhysicalRecord::getBasisIdentificationFlag, node.getBasisIdentificationFlag()) - .eq(DiagnosisPhysicalRecord::getId, node.getId()).update(); - continue; - } - if (3 == node.getType()) { - diagnosisAncillaryRecordService.lambdaUpdate().set(DiagnosisAncillaryRecord::getBasisConfirmFlag, node.getBasisConfirmFlag()) - .set(DiagnosisAncillaryRecord::getBasisIdentificationFlag, node.getBasisIdentificationFlag()) - .eq(DiagnosisAncillaryRecord::getId, node.getId()).update(); - } - } - // 然后将process的状态改为诊毕 - processService.lambdaUpdate().set(Process::getStatus, 1).update(); - } }