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 ++++++++++++++++++++++++-
 1 files changed, 24 insertions(+), 1 deletions(-)

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);
                         }

--
Gitblit v1.9.3