From 138f31f7ed04842abca552dc8eaa912b3191e059 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期一, 28 九月 2026 10:56:49 +0800
Subject: [PATCH] 处理患者再入院状态代码提交
---
smartor/src/main/java/com/smartor/service/impl/ServiceSLTDHealthcareRecordServiceImpl.java | 25 ++++++++++++++++++++++++-
smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml | 12 ++++++++++++
smartor/src/main/java/com/smartor/mapper/PatMedInhospMapper.java | 13 +++++++++++++
3 files changed, 49 insertions(+), 1 deletions(-)
diff --git a/smartor/src/main/java/com/smartor/mapper/PatMedInhospMapper.java b/smartor/src/main/java/com/smartor/mapper/PatMedInhospMapper.java
index aab7663..329696a 100644
--- a/smartor/src/main/java/com/smartor/mapper/PatMedInhospMapper.java
+++ b/smartor/src/main/java/com/smartor/mapper/PatMedInhospMapper.java
@@ -1,5 +1,6 @@
package com.smartor.mapper;
+import java.util.Date;
import java.util.List;
import java.util.Map;
@@ -28,6 +29,18 @@
public List<PatMedInhosp> selectPatMedInhosp(PatMedInhosp patMedInhosp);
+ /**
+ * 鎸夋偅鑰呯紪鍙� + 鍑洪櫌鏃ユ湡鏌ヨ鍑洪櫌璁板綍锛堝嚭闄㈡椂闂村彧姣旇緝鍒板ぉ锛屼笉姣旇緝鏃跺垎绉掞級
+ *
+ * @param patno 鎮h�呯紪鍙�
+ * @param dayStart 鏌ヨ鏃ユ湡锛堝綋澶� 00:00:00锛�
+ * @param dayEnd 鏌ヨ鏃ユ湡鐨勬鏃� 00:00:00
+ * @return 鍑洪櫌璁板綍闆嗗悎锛屾寜 inhospid 鍊掑簭
+ */
+ public List<PatMedInhosp> selectOutInhospByPatnoAndOutDate(@Param("patno") String patno,
+ @Param("dayStart") Date dayStart,
+ @Param("dayEnd") Date dayEnd);
+
public String getTagnameBypatid(Long patid);
/**
diff --git a/smartor/src/main/java/com/smartor/service/impl/ServiceSLTDHealthcareRecordServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/ServiceSLTDHealthcareRecordServiceImpl.java
index 00b3a3f..d2d357c 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceSLTDHealthcareRecordServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSLTDHealthcareRecordServiceImpl.java
@@ -90,6 +90,8 @@
private ServiceSubtaskServiceImpl serviceSubtaskServiceImpl;
@Autowired
private ServiceSubtaskMapper serviceSubtaskMapper;
+ @Autowired
+ private PatMedInhospMapper patMedInhospMapper;
@Override
public List<ServiceSLTDInhospResDTO> queryHealthcareRecordList(ServiceSLTDInhospReqVO reqVO) {
@@ -716,7 +718,8 @@
if (CollectionUtils.isNotEmpty(patMedInhospList)) {
//濡傛灉涓嶄负绌猴紝鍒欏皢鍏ラ櫌鏃堕棿杩涜鏇存柊
PatMedInhosp pmOut = patMedInhospList.get(0);
- PatMedInhosp pmIn = existingInhosps.get(0);
+ //鏈鍏ラ櫌鏁版嵁锛堣繖閲� existingInhosps 蹇呬负绌猴紝鍙� existingInhosps.get(0) 浼氫笅鏍囪秺鐣岋級
+ PatMedInhosp pmIn = patMedInhosp;
pmOut.setStarttime(pmIn.getStarttime());
pmOut.setUpdateTime(new Date());
patMedInhospService.updatePatMedInhosp(pmOut);
@@ -728,6 +731,26 @@
serviceSubtask.setSendstate(4L);
serviceSubtaskMapper.updateServiceSubtaskByCondition(serviceSubtask);
}
+ //閫氳繃鍏ラ櫌鏃堕棿锛屽拰鎮h�呯殑缂栧彿鍘绘煡涓�涓嬪嚭闄㈡椂闂达紝鏄惁瀛樺湪锛屽鏋滃瓨鍦紝鍒欒鎮h�呮槸鍐嶅叆闄㈢殑锛岄渶瑕佹敼鎴愪笉鎵ц
+ //鍑洪櫌鏃堕棿鍙瘮杈冨埌澶╋紝涓嶆瘮杈冩椂鍒嗙
+ if (pmIn.getStarttime() != null) {
+ Date dayStart = DateUtils.truncate(pmIn.getStarttime(), Calendar.DAY_OF_MONTH);
+ Date dayEnd = DateUtils.addDays(dayStart, 1);
+ List<PatMedInhosp> outInhosps = patMedInhospMapper.selectOutInhospByPatnoAndOutDate(
+ StringUtils.trim(pmIn.getPatno()), dayStart, dayEnd);
+ if (CollectionUtils.isNotEmpty(outInhosps)) {
+ //瀛樺湪鍑洪櫌璁板綍锛岃鏄庤鎮h�呮槸鍐嶅叆闄紝鎶婁笂涓�娆″嚭闄骇鐢熺殑瀛愪换鍔℃敼鎴愪笉鎵ц
+ ServiceSubtask outSubtask = new ServiceSubtask();
+ outSubtask.setInhospid(outInhosps.get(0).getInhospid());
+ outSubtask.setSendstate(4L);
+ outSubtask.setRemark("鎮h�呭啀鍏ラ櫌");
+ outSubtask.setUpdateTime(new Date());
+ serviceSubtaskMapper.updateServiceSubtaskByCondition(outSubtask);
+ log.info("鎮h�呭啀鍏ラ櫌锛屽皢涓婃鍑洪櫌璁板綍鐨勫瓙浠诲姟鏀逛负涓嶆墽琛岋細patno={}, 鍑洪櫌inhospid={}, 鍑洪櫌鏃堕棿={}, 鏈鍏ラ櫌鏃堕棿={}",
+ pmIn.getPatno(), outInhosps.get(0).getInhospid(), outInhosps.get(0).getEndtime(), pmIn.getStarttime());
+ }
+ }
+
} catch (Exception e) {
log.error("灏嗗嚭闄㈡椂闂寸瓑浜庡叆闄㈡椂闂寸殑inhospid鐨勪换鍔℃洿鏂板け璐ヤ簡, inhospid={}", pmOut.getInhospid(), e);
}
diff --git a/smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml b/smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml
index 757dddc..9dbf769 100644
--- a/smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml
@@ -762,6 +762,18 @@
</select>
+ <!-- 鎸夋偅鑰呯紪鍙� + 鍑洪櫌鏃ユ湡鏌ヨ鍑洪櫌璁板綍锛堝嚭闄㈡椂闂村彧姣旇緝鍒板ぉ锛屼笉姣旇緝鏃跺垎绉掞級锛岀敤浜庡垽鏂偅鑰呮槸鍚﹀啀鍏ラ櫌 -->
+ <select id="selectOutInhospByPatnoAndOutDate" resultMap="PatMedInhospResult">
+ <include refid="selectPatMedInhospVo"/>
+ where del_flag = 0
+ and inhospstate = '1'
+ <if test="patno != null and patno != ''">and patno = #{patno}</if>
+ <if test="dayStart != null">and endtime >= #{dayStart}</if>
+ <if test="dayEnd != null">and endtime < #{dayEnd}</if>
+ order by inhospid desc
+ </select>
+
+
<insert id="insertPatMedInhosp" parameterType="com.smartor.domain.PatMedInhosp" useGeneratedKeys="true"
keyProperty="inhospid">
insert into pat_med_inhosp
--
Gitblit v1.9.3