From 2bc90e242eceb83d9aa80d48ea9f991c0f9b99c6 Mon Sep 17 00:00:00 2001
From: eight <641137800@qq.com>
Date: 星期四, 12 十二月 2024 19:47:57 +0800
Subject: [PATCH] 工位选择界面 诊室按照room id排序

---
 jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/room/RoomMapper.java |   90 ++++++++++++++++++++++++++++++++------------
 1 files changed, 65 insertions(+), 25 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 f8e1851..4525140 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
@@ -3,17 +3,14 @@
 import java.util.*;
 
 import cn.lihu.jh.framework.common.pojo.PageResult;
-import cn.lihu.jh.framework.mybatis.core.query.LambdaQueryWrapperX;
 import cn.lihu.jh.framework.mybatis.core.mapper.BaseMapperX;
+import cn.lihu.jh.framework.mybatis.core.query.LambdaQueryWrapperX;
+import cn.lihu.jh.module.ecg.dal.dataobject.room.RoomDO;
+import org.apache.ibatis.annotations.*;
 
 import cn.lihu.jh.module.ecg.controller.admin.room.vo.RoomPageReqVO;
-import cn.lihu.jh.module.ecg.dal.dataobject.room.RoomDO;
 import cn.lihu.jh.module.ecg.dal.dataobject.room.RoomStatisticsDO;
 import cn.lihu.jh.module.ecg.enums.BedStatusEnum;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-import org.apache.ibatis.annotations.Select;
-import org.apache.ibatis.annotations.Update;
 
 /**
  * 璇婂鍜岃瘖鐤楀簥 Mapper
@@ -31,35 +28,78 @@
                 .orderByDesc(RoomDO::getId));
     }
 
+    @Select("select * from lihu.clinic_room where ip = #{ip}")
+    List<RoomDO> queueByIp(@Param("ip") String ip);
+
+    @Update("<script> " +
+            "update lihu.clinic_room set status=#{newStatus}, doc_id=null, doc_name=null " +
+            " where deleted = 0 " +
+            "</script>")
+    Integer resetRoom(@Param("newStatus") Integer newStatus);
+
     @Select({ "SELECT room_id, room_name, count(1) as bed_num FROM lihu.clinic_room group by room_id;" })
     List<RoomStatisticsDO> roomStatistic();
 
-    @Select({ "SELECT id, room_id, room_name, bed_no, status, doc_id, doc_name FROM lihu.clinic_room where status >= 10;" })
-    List<RoomDO> simpleRoomList();
-
-    @Update("<script> " +
-            "update lihu.clinic_room set status=#{newStatus.status} where room_id=#{roomId} and bed_no=#{bedNo} " +
-            "and status=( " +
-            " <foreach collection='curStatusList' separator=',' item='curStatus'>" +
-            "  #{curStatus.status} " +
-            " </foreach> );" +
+    @Select("<script> " +
+            "SELECT * FROM lihu.clinic_room " +
+            "where status in ( " +
+                    " <foreach collection='curStatusList' separator=',' item='curStatus'>" +
+                    "  #{curStatus.status} " +
+                    " </foreach> )" +
+            " and deleted = 0" +
+            " order by room_id;" +
             "</script>")
-    Integer setBedStatus(@Param("roomId")Long roomId, @Param("bedNo")String bedNo, @Param("newStatus") BedStatusEnum newStatus, @Param("curStatusList") List<BedStatusEnum> curStatusList);
+    @Results({
+            @Result(property = "checkTypes", column = "check_types", typeHandler=com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler.class)
+    })
+    List<RoomDO> simpleRoomList(@Param("curStatusList") List<BedStatusEnum> curStatusList);
+
+    @Select("SELECT * FROM lihu.clinic_room where room_id=#{roomId} and bed_no=#{bedNo}")
+    @Results({
+        @Result(property = "checkTypes", column = "check_types", typeHandler=com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler.class)
+    })
+    RoomDO getRoom(@Param("roomId")Long roomId, @Param("bedNo")String bedNo);
+
+    @Select("SELECT * FROM lihu.clinic_room where room_id=#{roomId} and bed_no=#{bedNo} and doc_id=#{docId}")
+    RoomDO getRoomByRoomBedDoc(@Param("roomId")Long roomId, @Param("bedNo")String bedNo, @Param("docId")Long docId);
+
+    @Select("SELECT * FROM lihu.clinic_room where doc_id=#{docId}")
+    List<RoomDO> getRoomByDocId(@Param("docId")Long docId);
 
     @Update("<script> " +
             "update lihu.clinic_room set status=#{newStatus.status} " +
-            "where room_id=#{roomId} and bed_no=#{bedNo} and doc_id=#{docId} and doc_name=#{docName}" +
-            "and status=( " +
+            " where room_id=#{roomId} and bed_no=#{bedNo} and isNull(doc_id) " +
+            " 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 isNull(doc_id) " +
+            " 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);
+
+    @Update("<script> " +
+            "update lihu.clinic_room set status=#{newStatus.status} " +
+            "where room_id=#{roomId} and bed_no=#{bedNo} and doc_id=#{docId} " +
+            "and status in ( " +
             " <foreach collection='curStatusList' separator=',' item='curStatus'>" +
             "  #{curStatus.status} " +
             " </foreach> );" +
             "</script>")
-    Integer setBedDoctorPause(@Param("roomId")Long roomId, @Param("bedNo")String bedNo, @Param("docId")Long docId, @Param("docName")String docName, @Param("newStatus") BedStatusEnum newStatus, @Param("curStatusList") List<BedStatusEnum> curStatusList);
+    Integer setBedDoctorStatus(@Param("roomId")Long roomId, @Param("bedNo")String bedNo, @Param("docId")Long docId, @Param("newStatus") BedStatusEnum newStatus, @Param("curStatusList") List<BedStatusEnum> curStatusList);
 
     @Update("<script> " +
             "update lihu.clinic_room set status=#{newStatus.status}, doc_id=#{docId}, doc_name=#{docName} " +
-            "where room_id=#{roomId} and bed_no=#{bedNo} " +
-            "and status=( " +
+            "where room_id=#{roomId} and bed_no=#{bedNo} and isNull(doc_id)" +
+            "and status in ( " +
             " <foreach collection='curStatusList' separator=',' item='curStatus'>" +
             "  #{curStatus.status} " +
             " </foreach> );" +
@@ -67,12 +107,12 @@
     Integer setBedDoctorOn(@Param("roomId")Long roomId, @Param("bedNo")String bedNo, @Param("docId")Long docId, @Param("docName")String docName, @Param("newStatus") BedStatusEnum newStatus, @Param("curStatusList") List<BedStatusEnum> curStatusList);
 
     @Update("<script> " +
-            "update lihu.clinic_room set status=#{newStatus.status}, doc_id=null, doc_name='' " +
-            "where room_id=#{roomId} and bed_no=#{bedNo} and doc_id=#{docId} and doc_name=#{docName}" +
-            "and status=( " +
+            "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=#{docId} " +
+            "and status in ( " +
             " <foreach collection='curStatusList' separator=',' item='curStatus'>" +
             "  #{curStatus.status} " +
             " </foreach> );" +
             "</script>")
-    Integer setBedDoctorOff(@Param("roomId")Long roomId, @Param("bedNo")String bedNo, @Param("docId")Long docId, @Param("docName")String docName, @Param("newStatus") BedStatusEnum newStatus, @Param("curStatusList") List<BedStatusEnum> curStatusList);
+    Integer setBedDoctorOff(@Param("roomId")Long roomId, @Param("bedNo")String bedNo, @Param("docId")Long docId, @Param("newStatus") BedStatusEnum newStatus, @Param("curStatusList") List<BedStatusEnum> curStatusList);
 }

--
Gitblit v1.9.3