From a18732a81e47742edb9555725811ea21eb7f94fb Mon Sep 17 00:00:00 2001 From: wyb <1977763549@qq.com> Date: Wed, 26 Jul 2023 15:22:45 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E9=AA=8C=E8=AF=81=E6=9C=AA?= =?UTF-8?q?=E5=87=BA=E9=99=A2=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/SdBusinessServiceImpl.java | 18 ++++++++++++++++ .../server/message/mapper/TBasicMapper.java | 21 ++++++++++++++----- src/main/resources/mapper/TBasicMapper.xml | 7 +++++++ 3 files changed, 41 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/docus/server/message/busservice/impl/SdBusinessServiceImpl.java b/src/main/java/com/docus/server/message/busservice/impl/SdBusinessServiceImpl.java index 41715ac..296e53c 100644 --- a/src/main/java/com/docus/server/message/busservice/impl/SdBusinessServiceImpl.java +++ b/src/main/java/com/docus/server/message/busservice/impl/SdBusinessServiceImpl.java @@ -110,6 +110,10 @@ public class SdBusinessServiceImpl implements SdBusinessService { dto.setPriority(4); CommonResult task = collectTaskService.compensateTask(dto); if (ResultCode.FAILED.getCode().equals(task.getCode())) { + String data = task.getData(); + if (Func.isNotBlank(data) && data.contains("出院")) { + throw new BaseException("患者未出院!"); + } throw new RuntimeException("补偿失败!"); } } @@ -121,6 +125,20 @@ public class SdBusinessServiceImpl implements SdBusinessService { if (patientIds.size() > 1) { throw new BaseException("住院号+住院次数 ,系统中患者有多个!"); } + if (!isDischarge(patientIds.get(0))) { + throw new BaseException("该患者未出院!"); + } + } + + /** + * 根据病案主键,获得该患者是否出院 + * + * @param patientId 病案主键 + * @return 是否出院 + */ + private boolean isDischarge(String patientId) { + int count = tBasicMapper.getDischargeCount(patientId); + return count > 0; } diff --git a/src/main/java/com/docus/server/message/mapper/TBasicMapper.java b/src/main/java/com/docus/server/message/mapper/TBasicMapper.java index 4806847..947aa31 100644 --- a/src/main/java/com/docus/server/message/mapper/TBasicMapper.java +++ b/src/main/java/com/docus/server/message/mapper/TBasicMapper.java @@ -6,12 +6,13 @@ import org.apache.ibatis.annotations.Param; import java.util.Date; import java.util.List; -public interface TBasicMapper{ - List getPatientIdsByInpatientNoAndTimes(@Param("inpatientNo")String inHospIndexNo, @Param("admissTimes") Integer visitNo); +public interface TBasicMapper { + List getPatientIdsByInpatientNoAndTimes(@Param("inpatientNo") String inHospIndexNo, @Param("admissTimes") Integer visitNo); /** * 更新医生提交时间 - * @param patientId 病案主键 + * + * @param patientId 病案主键 * @param submitTime 提交时间 * @return database操作行 */ @@ -19,7 +20,8 @@ public interface TBasicMapper{ /** * 更新护士提交时间 - * @param patientId 病案主键 + * + * @param patientId 病案主键 * @param submitTime 提交时间 * @return database操作行 */ @@ -27,9 +29,18 @@ public interface TBasicMapper{ /** * 更新护理文件数量 + * * @param patientId 病案主键 * @param fileCount 文件数量 * @return database操作行 */ - int insertOrUpdateNurseFileCount(@Param("patientId")String patientId,@Param("fileCount") Integer fileCount); + int insertOrUpdateNurseFileCount(@Param("patientId") String patientId, @Param("fileCount") Integer fileCount); + + /** + * 根据病案主键查询出院病案的数量,一般用于判断病案是否出院 + * + * @param patientId 病案主键 + * @return 出院数量 + */ + int getDischargeCount(@Param("patientId") String patientId); } diff --git a/src/main/resources/mapper/TBasicMapper.xml b/src/main/resources/mapper/TBasicMapper.xml index 584ea29..ab9d6bf 100644 --- a/src/main/resources/mapper/TBasicMapper.xml +++ b/src/main/resources/mapper/TBasicMapper.xml @@ -22,4 +22,11 @@ FROM `docus_medicalrecord`.t_basic tb WHERE tb.inpatient_no=#{inpatientNo} and tb.admiss_times=#{admissTimes} +