From a889b1c990595980888744feef2268c7bf60fc77 Mon Sep 17 00:00:00 2001
From: eight <641137800@qq.com>
Date: 星期日, 01 九月 2024 18:10:56 +0800
Subject: [PATCH] fix open & close logic

---
 jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/queueServiceImpl.java |    2 +-
 jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/room/RoomMapper.java      |   20 +++++++++++++++-----
 2 files changed, 16 insertions(+), 6 deletions(-)

diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/room/RoomMapper.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/room/RoomMapper.java
index 69b0852..3863bb2 100644
--- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/room/RoomMapper.java
+++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/room/RoomMapper.java
@@ -55,11 +55,21 @@
 
     @Update("<script> " +
             "update lihu.clinic_room set status=#{newStatus.status}, doc_id=null, doc_name=null " +
-            "where room_id=#{roomId} and bed_no=#{bedNo} " +
-            "and status in ( " +
-            " <foreach collection='curStatusList' separator=',' item='curStatus'>" +
-            "  #{curStatus.status} " +
-            " </foreach> );" +
+            " where room_id=#{roomId} and bed_no=#{bedNo} and doc_id = null " +
+            " and status in ( " +
+            "  <foreach collection='curStatusList' separator=',' item='curStatus'>" +
+            "   #{curStatus.status} " +
+            "  </foreach> );" +
+            "</script>")
+    Integer setBedOpeningOpening(@Param("roomId")Long roomId, @Param("bedNo")String bedNo, @Param("newStatus") BedStatusEnum newStatus, @Param("curStatusList") List<BedStatusEnum> curStatusList);
+
+    @Update("<script> " +
+            "update lihu.clinic_room set status=#{newStatus.status}, doc_id=null, doc_name=null " +
+            " where room_id=#{roomId} and bed_no=#{bedNo} and doc_id != null " +
+            " and status in ( " +
+            "  <foreach collection='curStatusList' separator=',' item='curStatus'>" +
+            "   #{curStatus.status} " +
+            "  </foreach> );" +
             "</script>")
     Integer setBedOpeningClosed(@Param("roomId")Long roomId, @Param("bedNo")String bedNo, @Param("newStatus") BedStatusEnum newStatus, @Param("curStatusList") List<BedStatusEnum> curStatusList);
 
diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/queueServiceImpl.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/queueServiceImpl.java
index 8a84085..44e33c2 100644
--- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/queueServiceImpl.java
+++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/queueServiceImpl.java
@@ -245,7 +245,7 @@
         // DB update
         List statusList = new ArrayList<BedStatusEnum>();
         statusList.add(BedStatusEnum.CLOSED);
-        Integer updateNum = roomMapper.setBedOpeningClosed(roomId, bedNo, BedStatusEnum.OPENING, statusList);
+        Integer updateNum = roomMapper.setBedOpeningOpening(roomId, bedNo, BedStatusEnum.OPENING, statusList);
         if ( null==updateNum || 0 == updateNum ) {
             log.error("bedOpen DB invalid status. " + roomId + " " + bedNo);
             return ROOM_INVALID_STATUS;

--
Gitblit v1.9.3