From d8171199e6167ed1c27b838512c2863abf0d1020 Mon Sep 17 00:00:00 2001
From: eight <641137800@qq.com>
Date: 星期三, 16 十月 2024 18:08:03 +0800
Subject: [PATCH] 大屏数据

---
 jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/doctor/DoctorController.java               |    4 
 jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/callingscreen/CallingScreenController.java |   10 +-
 jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/queue/QueueMapper.java                            |   32 ++++----
 jh-module-ecg/jh-module-ecg-api/src/main/java/cn/lihu/jh/module/ecg/enums/QueueStatusEnum.java                                  |   22 ++--
 jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/queue/vo/QueuePageReqVO.java               |    3 
 jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/QueueServiceTxFunctions.java                  |    6 
 jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/dataobject/queue/QueueDO.java                           |    2 
 jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/queue/vo/QueueSaveReqVO.java               |    2 
 jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/dataobject/queue/BedQueueStatisticDO.java               |    2 
 jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/appointment/AppointmentController.java     |    3 
 jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/QueueServiceImpl.java                         |   18 ++--
 jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/callingscreen/CallingScreenService.java             |    3 
 jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/callingscreen/CallingScreenServiceImpl.java         |   73 +++++++++++++++++
 jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/QueueService.java                             |    4 
 jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/queue/vo/QueueRespVO.java                  |    2 
 15 files changed, 130 insertions(+), 56 deletions(-)

diff --git a/jh-module-ecg/jh-module-ecg-api/src/main/java/cn/lihu/jh/module/ecg/enums/QueueStatusEnum.java b/jh-module-ecg/jh-module-ecg-api/src/main/java/cn/lihu/jh/module/ecg/enums/QueueStatusEnum.java
index 38e861e..cc41642 100644
--- a/jh-module-ecg/jh-module-ecg-api/src/main/java/cn/lihu/jh/module/ecg/enums/QueueStatusEnum.java
+++ b/jh-module-ecg/jh-module-ecg-api/src/main/java/cn/lihu/jh/module/ecg/enums/QueueStatusEnum.java
@@ -16,23 +16,23 @@
 public enum QueueStatusEnum implements IntArrayValuable {
 
     //5:杩囧彿 10:鎺掗槦涓� 15:宸插彫鍥� 20:鍊欒瘖鍑嗗 30:灏辫瘖涓� 40:灏辫瘖瀹屾垚
-    PASSED((byte)5, "宸茶繃鍙�"),
-    PASSED_INSTALL((byte)7, "宸茶繃鍙�-瀹夎"),
-    WAITING((byte)10, "鎺掗槦涓�"),
-    RECALLED((byte)15, "宸插彫鍥�"),
-    RECALLED_INSTALL((byte)17, "宸插彫鍥�-瀹夎"),
-    READY((byte)20, "鍊欒瘖涓�"),
-    ONSTAGE((byte)30, "灏辫瘖涓�"),  // 鎴� 棰嗙敤涓�
-    RECEIVED((byte)33, "宸查鐢�"),
-    INSTALLING((byte)36, "瀹夎涓�"),
-    FINISH((byte)40, "宸插氨璇�");
+    PASSED(5, "宸茶繃鍙�"),
+    PASSED_INSTALL(7, "宸茶繃鍙�-瀹夎"),
+    WAITING(10, "鎺掗槦涓�"),
+    RECALLED(15, "宸插彫鍥�"),
+    RECALLED_INSTALL(17, "宸插彫鍥�-瀹夎"),
+    READY(20, "鍊欒瘖涓�"),
+    ONSTAGE(30, "灏辫瘖涓�"),  // 鎴� 棰嗙敤涓�
+    RECEIVED(33, "宸查鐢�"),
+    INSTALLING(36, "瀹夎涓�"),
+    FINISH(40, "宸插氨璇�");
 
     public static final int[] ARRAYS = Arrays.stream(values()).mapToInt(QueueStatusEnum::getStatus).toArray();
 
     /**
      * 鐘舵�佸��
      */
-    private final Byte status;
+    private final Integer status;
     /**
      * 鐘舵�佸悕
      */
diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/appointment/AppointmentController.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/appointment/AppointmentController.java
index 44a8d4b..fd5e59d 100644
--- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/appointment/AppointmentController.java
+++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/appointment/AppointmentController.java
@@ -5,6 +5,7 @@
 import cn.lihu.jh.framework.common.util.date.DateUtils;
 import cn.lihu.jh.module.ecg.controller.admin.devrent.vo.DevRentSaveReqVO;
 import cn.lihu.jh.module.ecg.controller.admin.queue.vo.QueueSaveReqVO;
+import cn.lihu.jh.module.ecg.enums.QueueStatusEnum;
 import cn.lihu.jh.module.ecg.feign.RemoteDataService;
 import cn.lihu.jh.module.ecg.feign.RestApiReqBodyVo;
 import cn.lihu.jh.module.ecg.feign.RestApiResult;
@@ -183,7 +184,7 @@
         queueSaveReqVO.setBookCheckType( 10 );
 
         queueSaveReqVO.setSeqNum(1);
-        queueSaveReqVO.setStatus((byte)10);
+        queueSaveReqVO.setStatus(QueueStatusEnum.WAITING.getStatus());
         queueSaveReqVO.setPassed((byte)0);
         queueSaveReqVO.setExpired((byte)0);
 
diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/callingscreen/CallingScreenController.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/callingscreen/CallingScreenController.java
index 76b050d..3451fa9 100644
--- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/callingscreen/CallingScreenController.java
+++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/callingscreen/CallingScreenController.java
@@ -2,10 +2,14 @@
 
 import cn.hutool.extra.servlet.ServletUtil;
 import cn.lihu.jh.framework.common.pojo.CommonResult;
+import cn.lihu.jh.framework.common.pojo.PageResult;
 import cn.lihu.jh.framework.common.util.object.BeanUtils;
+import cn.lihu.jh.module.ecg.controller.admin.checktype.vo.CheckTypePageReqVO;
+import cn.lihu.jh.module.ecg.dal.dataobject.checktype.CheckTypeDO;
 import cn.lihu.jh.module.ecg.dal.dataobject.queue.QueueDO;
 import cn.lihu.jh.module.ecg.enums.QueueStatusEnum;
 import cn.lihu.jh.module.ecg.service.callingscreen.CallingScreenService;
+import cn.lihu.jh.module.ecg.service.checktype.CheckTypeService;
 import cn.lihu.jh.module.ecg.service.config.EcgConfigService;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
@@ -19,6 +23,7 @@
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 import static cn.lihu.jh.framework.common.pojo.CommonResult.error;
 import static cn.lihu.jh.framework.common.pojo.CommonResult.success;
@@ -31,9 +36,6 @@
 
     @Resource
     private CallingScreenService callingScreenService;
-
-    @Resource
-    private EcgConfigService ecgConfigService;
 
     @GetMapping("/big-screen-data")
     @Operation(summary = "澶у睆鍙彿鏁版嵁")
@@ -57,7 +59,7 @@
     {
         String reqIp = ServletUtil.getClientIP(request);
 
-        List<Byte> queueStatusList = new ArrayList<>();
+        List<Integer> queueStatusList = new ArrayList<>();
         queueStatusList.add(QueueStatusEnum.RECALLED.getStatus());
         queueStatusList.add(QueueStatusEnum.RECALLED_INSTALL.getStatus());
         queueStatusList.add(QueueStatusEnum.READY.getStatus());
diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/doctor/DoctorController.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/doctor/DoctorController.java
index b214488..1f57b49 100644
--- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/doctor/DoctorController.java
+++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/doctor/DoctorController.java
@@ -259,7 +259,7 @@
             @RequestParam("roomId") Long roomId,
             @RequestParam("bedNo") String bedNo)
     {
-        List<Byte> queueStatusList = new ArrayList<>();
+        List<Integer> queueStatusList = new ArrayList<>();
         queueStatusList.add(QueueStatusEnum.ONSTAGE.getStatus());
         List<QueueDO> queueDOList = queueService.getBedQueueByStatus(roomId, bedNo, queueStatusList);
 
@@ -289,7 +289,7 @@
             @RequestParam("roomId") Long roomId,
             @RequestParam("bedNo") String bedNo)
     {
-        List<Byte> queueStatusList = new ArrayList<>();
+        List<Integer> queueStatusList = new ArrayList<>();
         queueStatusList.add(QueueStatusEnum.INSTALLING.getStatus());
         List<QueueDO> queueDOList = queueService.getBedQueueByStatus(roomId, bedNo, queueStatusList);
 
diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/queue/vo/QueuePageReqVO.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/queue/vo/QueuePageReqVO.java
index ce0438e..e8c2667 100644
--- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/queue/vo/QueuePageReqVO.java
+++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/queue/vo/QueuePageReqVO.java
@@ -39,8 +39,9 @@
 
     @Schema(description = "鎺掗槦搴忓彿")
     private Integer seqNum;
+
     @Schema(description = "5:杩囧彿 10:鎺掗槦涓� 15:宸插彫鍥� 20:鍊欒瘖鍑嗗 30:灏辫瘖涓� 40:灏辫瘖瀹屾垚 ", example = "1")
-    private Byte status;
+    private Integer status;
 
     @Schema(description = "杩囧彿鏍囪")
     private Boolean passed;
diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/queue/vo/QueueRespVO.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/queue/vo/QueueRespVO.java
index c472e46..ccf8bf3 100644
--- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/queue/vo/QueueRespVO.java
+++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/queue/vo/QueueRespVO.java
@@ -50,7 +50,7 @@
 
     @Schema(description = "5:杩囧彿 10:鎺掗槦涓� 15:宸插彫鍥� 20:鍊欒瘖鍑嗗 30:灏辫瘖涓� 40:灏辫瘖瀹屾垚 ", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @ExcelProperty("5:杩囧彿 10:鎺掗槦涓� 15:宸插彫鍥� 20:鍊欒瘖鍑嗗 30:灏辫瘖涓� 40:灏辫瘖瀹屾垚 ")
-    private Byte status;
+    private Integer status;
 
     @Schema(description = "杩囧彿鏍囪", requiredMode = Schema.RequiredMode.REQUIRED)
     @ExcelProperty("杩囧彿鏍囪")
diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/queue/vo/QueueSaveReqVO.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/queue/vo/QueueSaveReqVO.java
index d02df2b..964746e 100644
--- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/queue/vo/QueueSaveReqVO.java
+++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/queue/vo/QueueSaveReqVO.java
@@ -46,7 +46,7 @@
 
     @Schema(description = "5:杩囧彿 10:鎺掗槦涓� 15:宸插彫鍥� 20:鍊欒瘖鍑嗗 30:灏辫瘖涓� 40:灏辫瘖瀹屾垚 ", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "5:杩囧彿 10:鎺掗槦涓� 15:宸插彫鍥� 20:鍊欒瘖鍑嗗 30:灏辫瘖涓� 40:灏辫瘖瀹屾垚 涓嶈兘涓虹┖")
-    private Byte status;
+    private Integer status;
 
     @Schema(description = "杩囧彿鏍囪", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "杩囧彿鏍囪涓嶈兘涓虹┖")
diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/dataobject/queue/BedQueueStatisticDO.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/dataobject/queue/BedQueueStatisticDO.java
index 4346337..273c625 100644
--- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/dataobject/queue/BedQueueStatisticDO.java
+++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/dataobject/queue/BedQueueStatisticDO.java
@@ -9,6 +9,6 @@
  */
 @Data
 public class BedQueueStatisticDO {
-    private Byte status;
+    private Integer status;
     private Integer totalInStatus;
 }
\ No newline at end of file
diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/dataobject/queue/QueueDO.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/dataobject/queue/QueueDO.java
index 809bf49..125292b 100644
--- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/dataobject/queue/QueueDO.java
+++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/dataobject/queue/QueueDO.java
@@ -61,7 +61,7 @@
     /**
      * 5:杩囧彿 10:鎺掗槦涓� 15:宸插彫鍥� 20:鍊欒瘖鍑嗗 30:灏辫瘖涓� 40:灏辫瘖瀹屾垚
      */
-    private Byte status;
+    private Integer status;
     /**
      * 杩囧彿鏍囪
      */
diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/queue/QueueMapper.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/queue/QueueMapper.java
index 55e490f..be4e8d3 100644
--- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/queue/QueueMapper.java
+++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/queue/QueueMapper.java
@@ -50,7 +50,7 @@
             " </foreach> )" +
             " order by status desc, seq_num" +
             "</script>")
-    List<QueueDO> getRoomQueueByStatus(@Param("roomId")Long roomId, @Param("statusList")List<Byte> statusList);
+    List<QueueDO> getRoomQueueByStatus(@Param("roomId")Long roomId, @Param("statusList")List<Integer> statusList);
 
     @Select("<script>" +
             "SELECT * FROM lihu.queue " +
@@ -60,7 +60,7 @@
             " </foreach> )" +
             " order by status desc, seq_num" +
             "</script>")
-    List<QueueDO> getQueueByStatus( @Param("statusList")List<Byte> statusList);
+    List<QueueDO> getQueueByStatus( @Param("statusList")List<Integer> statusList);
 
     @Select("<script>" +
             "SELECT * FROM lihu.queue " +
@@ -71,7 +71,7 @@
             " limit #{size} " +
             " order by id" +
             "</script>")
-    List<QueueDO> getPartialQueueByStatus( @Param("statusList")List<Byte> statusList, @Param("from") Integer from, @Param("size") Integer size);
+    List<QueueDO> getPartialQueueByStatus( @Param("statusList")List<Integer> statusList, @Param("from") Integer from, @Param("size") Integer size);
 
     @Select("<script>" +
             "SELECT count(1) as total_in_status FROM lihu.queue where status in (" +
@@ -79,7 +79,7 @@
             "  #{status} " +
             " </foreach> );" +
             "</script>")
-    Integer statusStatistic(@Param("statusList")List<Byte> statusList);
+    Integer statusStatistic(@Param("statusList")List<Integer> statusList);
 
     @Select("<script>" +
             "SELECT count(1) as total_in_status FROM lihu.queue where " +
@@ -92,7 +92,7 @@
             "  #{checkType} " +
             " </foreach> ) " +
             "</script>")
-    Integer checkTypeAndStatusStatistic( @Param("checkTypes")Integer[] checkTypes, @Param("statusList")List<Byte> statusList );
+    Integer checkTypeAndStatusStatistic( @Param("checkTypes")Integer[] checkTypes, @Param("statusList")List<Integer> statusList );
 
     @Select("<script>" +
             "SELECT room_id, bed_no, count(1) as total_in_status FROM lihu.queue where status in (" +
@@ -101,7 +101,7 @@
             " </foreach> )" +
             " group by room_id, bed_no; "
             +"</script>")
-    List<QueueStatisticDO> queueStatistic(@Param("statusList")List<Byte> statusList);
+    List<QueueStatisticDO> queueStatistic(@Param("statusList")List<Integer> statusList);
 
     @Select("<script>" +
             "SELECT status, count(1) as total_in_status FROM lihu.queue where " +
@@ -124,7 +124,7 @@
             "   #{status} " +
             " </foreach> )" +
             "</script>")
-    Integer bedQueueStatisticByStatus(@Param("roomId")Long roomId, @Param("bedNo")String bedNo, @Param("statusList")List<Byte> statusList);
+    Integer bedQueueStatisticByStatus(@Param("roomId")Long roomId, @Param("bedNo")String bedNo, @Param("statusList")List<Integer> statusList);
 
     @Select("<script>" +
             "SELECT * FROM lihu.queue " +
@@ -134,12 +134,12 @@
             " </foreach> )" +
             " order by status desc, seq_num" +
             "</script>")
-    List<QueueDO> getBedQueueByStatus(@Param("roomId")Long roomId, @Param("bedNo")String bedNo, @Param("statusList")List<Byte> statusList);
+    List<QueueDO> getBedQueueByStatus(@Param("roomId")Long roomId, @Param("bedNo")String bedNo, @Param("statusList")List<Integer> statusList);
 
     @Update("update lihu.queue set status = #{newStatus} where seq_num = \n" +
             "(select a.min_seq_num from \n" +
             " (select min(seq_num) as min_seq_num from lihu.queue where room_id = #{roomId} and bed_no = #{bedNo} and status = #{curStatus}) a )")
-    Integer updateBedQueueStatus(@Param("roomId")Long roomId, @Param("bedNo")String bedNo, @Param("curStatus")Byte curStatus, @Param("newStatus")Byte newStatus);
+    Integer updateBedQueueStatus(@Param("roomId")Long roomId, @Param("bedNo")String bedNo, @Param("curStatus")Integer curStatus, @Param("newStatus")Integer newStatus);
 
     // 鏌愪釜璇婂鑼冨洿鍐� [宸查鐢╙ [宸插彫鍥�-瀹夎] 浜哄憳 鎶㈠崰
     @Update("<script> " +
@@ -154,10 +154,10 @@
             "  )" +
             "</script>"
     )
-    Integer preemptToBeInstalledPatient(@Param("roomId")Long roomId, @Param("bedNo")String bedNo, @Param("curStatusList")List<Byte> curStatusList, @Param("newStatus")Byte newStatus);
+    Integer preemptToBeInstalledPatient(@Param("roomId")Long roomId, @Param("bedNo")String bedNo, @Param("curStatusList")List<Integer> curStatusList, @Param("newStatus")Integer newStatus);
 
     @Update("update lihu.queue set status = #{newStatus} where pat_id = #{patId} and status = #{curStatus}")
-    Integer updatePatientQueueStatus(@Param("patId")String patId, @Param("curStatus")Byte curStatus, @Param("newStatus")Byte newStatus);
+    Integer updatePatientQueueStatus(@Param("patId")String patId, @Param("curStatus")Integer curStatus, @Param("newStatus")Integer newStatus);
 
     // 鏁翠釜绯荤粺鑼冨洿鍐� [鎺掗槦涓璢浜哄憳 鎶㈠崰
     @Update("update lihu.queue set status = #{newStatus}, room_id = #{roomId}, room_name = #{roomName}, \n" +
@@ -165,7 +165,7 @@
             "  (select a.id from \n" +
             "    (select id from lihu.queue where status = #{curStatus} and book_check_type= #{checkType} order by jump_flag desc, book_timeslot, create_time limit 1) a)")
     Integer preemptWaitingPatient(@Param("roomId")Long roomId, @Param("roomName")String roomName, @Param("bedNo")String bedNo,
-                                  @Param("seqNum")Integer seqNum, @Param("curStatus")Byte curStatus, @Param("newStatus")Byte newStatus,
+                                  @Param("seqNum")Integer seqNum, @Param("curStatus")Integer curStatus, @Param("newStatus")Integer newStatus,
                                   @Param("checkType")Integer checkType);
 
     @Update("update lihu.queue set status = #{newStatus}, seq_num = #{seqNum} " +
@@ -176,23 +176,23 @@
             "    ) a" +
             "  )" )
     Integer queueRecalledPatient(@Param("roomId")Long roomId, @Param("roomName")String roomName, @Param("bedNo")String bedNo,
-                                 @Param("seqNum")Integer seqNum, @Param("curStatus")Byte curStatus, @Param("newStatus")Byte newStatus);
+                                 @Param("seqNum")Integer seqNum, @Param("curStatus")Integer curStatus, @Param("newStatus")Integer newStatus);
 
     // 甯歌妫�鏌� 鎴� 棰嗙敤 鐨勬偅鑰呭彫鍥�, 鍘熷伐浣嶅鐞�
     @Update("update lihu.queue set status = #{newStatus}, passed = 1 " +
             " where room_id = #{roomId} and bed_no = #{bedNo} and status = #{curStatus} and pat_id = #{patId} ")
     Integer recallPassedPatient(@Param("roomId")Long roomId, @Param("bedNo")String bedNo, @Param("patId")String patId,
-                                @Param("curStatus")Byte curStatus, @Param("newStatus")Byte newStatus);
+                                @Param("curStatus")Integer curStatus, @Param("newStatus")Integer newStatus);
 
     // 瑁呮満鍖荤敓 鍏佽鎶㈠崰 鏈瀹� [瀹夎杩囧彿] 鐨勬偅鑰�
     @Update("update lihu.queue set status = #{newStatus}, bed_no = #{bedNo}, passed = 1 " +
             " where room_id = #{roomId} and status = #{curStatus} and pat_id = #{patId} ")
     Integer recallPassedInstallPatient(@Param("roomId")Long roomId, @Param("bedNo")String bedNo, @Param("patId")String patId,
-                                @Param("curStatus")Byte curStatus, @Param("newStatus")Byte newStatus);
+                                @Param("curStatus")Integer curStatus, @Param("newStatus")Integer newStatus);
 
     @Update("update lihu.queue set jump_flag = #{jumped} " +
             " where status = #{curStatus} and pat_id = #{patId}")
-    Integer queueJump(@Param("patId")String patId, @Param("curStatus")Byte curStatus, @Param("jumped")Byte jumped );
+    Integer queueJump(@Param("patId")String patId, @Param("curStatus")Integer curStatus, @Param("jumped")Byte jumped );
 
     //@Update("TRUNCATE TABLE lihu.queue")
     @Delete("delete from lihu.queue where TO_DAYS(book_date) != TO_DAYS(NOW())")
diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/callingscreen/CallingScreenService.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/callingscreen/CallingScreenService.java
index ff02fdc..bd4e9b9 100644
--- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/callingscreen/CallingScreenService.java
+++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/callingscreen/CallingScreenService.java
@@ -24,6 +24,7 @@
     void setBigScreenConfig(BigScreenConfig bigScreenConfig);
 
     Map<Integer, List<QueueDO>> callingData();
+    Map<Integer, List<QueueDO>> callingData2();
 
-    List<QueueDO> getRoomQueue(String ip, List<Byte> statusList);
+    List<QueueDO> getRoomQueue(String ip, List<Integer> statusList);
 }
diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/callingscreen/CallingScreenServiceImpl.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/callingscreen/CallingScreenServiceImpl.java
index f73da77..8f77ace 100644
--- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/callingscreen/CallingScreenServiceImpl.java
+++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/callingscreen/CallingScreenServiceImpl.java
@@ -1,7 +1,11 @@
 package cn.lihu.jh.module.ecg.service.callingscreen;
 
+import cn.lihu.jh.framework.common.pojo.PageResult;
+import cn.lihu.jh.module.ecg.controller.admin.checktype.vo.CheckTypePageReqVO;
+import cn.lihu.jh.module.ecg.dal.dataobject.checktype.CheckTypeDO;
 import cn.lihu.jh.module.ecg.dal.dataobject.queue.QueueDO;
 import cn.lihu.jh.module.ecg.dal.dataobject.room.RoomDO;
+import cn.lihu.jh.module.ecg.dal.mysql.checktype.CheckTypeMapper;
 import cn.lihu.jh.module.ecg.dal.mysql.queue.QueueMapper;
 import cn.lihu.jh.module.ecg.dal.mysql.room.RoomMapper;
 import cn.lihu.jh.module.ecg.enums.QueueStatusEnum;
@@ -12,6 +16,7 @@
 
 import javax.annotation.Resource;
 import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * 鎺掗槦 Service 瀹炵幇绫�
@@ -29,7 +34,14 @@
     @Resource
     private RoomMapper roomMapper;
 
+    @Resource
+    private CheckTypeMapper checkTypeMapper;
+
     BigScreenConfig bigScreenConfig;
+
+    Map<Integer, Integer> mapCheckTypeVsDisplayColumn = null;
+
+    Map<Integer, List<QueueDO>> mapDisplaySlotVsCallingData = new HashMap<>();
 
     Integer waitingFrom = 0;
     Integer passedFrom = 0;
@@ -41,7 +53,31 @@
 
     @Override
     public Map<Integer, List<QueueDO>> callingData() {
-        List<Byte> queueStatusList = new ArrayList<>();
+        if (null == mapCheckTypeVsDisplayColumn) {
+            getDisplayColumnConfig();
+        } else {
+            mapDisplaySlotVsCallingData.values().stream().forEach(slotQueueList -> slotQueueList.clear());
+        }
+
+        List<Integer> queueStatusList = new ArrayList<>();
+        queueStatusList.add(QueueStatusEnum.READY.getStatus());
+        queueStatusList.add(QueueStatusEnum.ONSTAGE.getStatus());
+        queueStatusList.add(QueueStatusEnum.WAITING.getStatus());
+        queueStatusList.add(QueueStatusEnum.RECALLED.getStatus());
+        queueStatusList.add(QueueStatusEnum.PASSED.getStatus());
+        List<QueueDO> queueDOList = queueMapper.getQueueByStatus( queueStatusList );
+        queueDOList.stream().forEach(queueDO -> {
+            List<QueueDO> listSolt = getDisplatSlotByQueue( queueDO.getBookCheckType(), queueDO.getStatus());
+            listSolt.add( queueDO );
+        });
+
+        mapDisplaySlotVsCallingData.values().stream().forEach(slotQueueList -> slotQueueList.sort(null));
+        return mapDisplaySlotVsCallingData;
+    }
+
+    @Override
+    public Map<Integer, List<QueueDO>> callingData2() {
+        List<Integer> queueStatusList = new ArrayList<>();
         queueStatusList.add(QueueStatusEnum.READY.getStatus());
         queueStatusList.add(QueueStatusEnum.ONSTAGE.getStatus());
         List<QueueDO> listReady = queueMapper.getQueueByStatus( queueStatusList );
@@ -83,7 +119,7 @@
     }
 
     @Override
-    public List<QueueDO> getRoomQueue(String ip, List<Byte> statusList) {
+    public List<QueueDO> getRoomQueue(String ip, List<Integer> statusList) {
         List<RoomDO> roomDOList = roomMapper.queueByIp(ip);
         Optional<RoomDO> optionalQueueDO = roomDOList.stream().filter(item -> StringUtils.hasLength(item.getIp())).findFirst();
         if (!optionalQueueDO.isPresent()) {
@@ -95,4 +131,37 @@
         return queueDOList;
     }
 
+    private void getDisplayColumnConfig() {
+        CheckTypePageReqVO checkTypePageReqVO = new CheckTypePageReqVO();
+        checkTypePageReqVO.setPageSize(-1);
+        PageResult<CheckTypeDO> pageResult = checkTypeMapper.selectPage(checkTypePageReqVO);
+        mapCheckTypeVsDisplayColumn = pageResult.getList().stream().collect(Collectors.toMap(CheckTypeDO::getValue, item -> item.getCallingColumn()));
+
+        int displayColCnt = (int) mapCheckTypeVsDisplayColumn.values().stream().distinct().count();
+        for (int i=0; i<displayColCnt; i++) {
+            mapDisplaySlotVsCallingData.put(i*1000 + 0, new ArrayList<>());
+            mapDisplaySlotVsCallingData.put(i*1000 + 1, new ArrayList<>());
+            mapDisplaySlotVsCallingData.put(i*1000 + 2, new ArrayList<>());
+        }
+    }
+
+    private List<QueueDO> getDisplatSlotByQueue( Integer checkType, Integer queueStatus ) {
+        return mapDisplaySlotVsCallingData.get(mapCheckTypeVsDisplayColumn.get(checkType)*1000 + getDisplatSlotByQueueStatus(queueStatus));
+    }
+
+    private Integer getDisplatSlotByQueueStatus( Integer queueStatus ) {
+        if (QueueStatusEnum.READY.getStatus() == queueStatus)
+            return 0;
+        else if (QueueStatusEnum.ONSTAGE.getStatus() == queueStatus)
+            return 0;
+        else if (QueueStatusEnum.WAITING.getStatus() == queueStatus)
+            return 1;
+        else if (QueueStatusEnum.RECALLED.getStatus() == queueStatus)
+            return 1;
+        else if (QueueStatusEnum.PASSED.getStatus() == queueStatus)
+            return 2;
+        else
+            return 0;
+    }
+
 }
diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/QueueService.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/QueueService.java
index f2d6055..3db4f8a 100644
--- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/QueueService.java
+++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/QueueService.java
@@ -114,9 +114,9 @@
      */
     void passInstallNextPatient(Long roomId, String bedNo);
 
-    List<QueueDO> getBedQueueByStatus(Long roomId, String bedNo, List<Byte> statusList);
+    List<QueueDO> getBedQueueByStatus(Long roomId, String bedNo, List<Integer> statusList);
 
-    List<QueueDO> getRoomQueueByStatus(Long roomId, List<Byte> statusList);
+    List<QueueDO> getRoomQueueByStatus(Long roomId, List<Integer> statusList);
 
     PatientStatisticVO getPatientStatistic(Long roomId, String bedNo);
 
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 26adc4c..d516f4d 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
@@ -337,7 +337,7 @@
         //        QueueStatusEnum.ONSTAGE.getStatus(), QueueStatusEnum.FINISH.getStatus());
 
         // 浠� DB 妫�鏌� 璇ュ伐浣� 鏄惁鏈� [灏辫瘖涓璢 浜哄憳锛岃嫢鏈夊氨.鏀惧純鍙栦笅涓�浣�
-        List<Byte> queueStatusList = new ArrayList<>();
+        List<Integer> queueStatusList = new ArrayList<>();
         queueStatusList.add(QueueStatusEnum.ONSTAGE.getStatus());
         Integer num = queueMapper.bedQueueStatisticByStatus(roomId, bedNo, queueStatusList);
         if ( num != null && num > 0)
@@ -354,7 +354,7 @@
         //        QueueStatusEnum.ONSTAGE.getStatus(), QueueStatusEnum.RECEIVED.getStatus());
 
         // 浠� DB 妫�鏌� 璇ュ伐浣� 鏄惁鏈� [灏辫瘖涓璢 浜哄憳锛岃嫢鏈夊氨.鏀惧純鍙栦笅涓�浣�
-        List<Byte> queueStatusList = new ArrayList<>();
+        List<Integer> queueStatusList = new ArrayList<>();
         queueStatusList.add(QueueStatusEnum.ONSTAGE.getStatus());
         Integer num = queueMapper.bedQueueStatisticByStatus(roomId, bedNo, queueStatusList);
         if ( num != null && num > 0)
@@ -371,7 +371,7 @@
         //        QueueStatusEnum.INSTALLING.getStatus(), QueueStatusEnum.FINISH.getStatus());
 
         // 浠� DB 妫�鏌� 璇ュ伐浣� 鏄惁鏈� [灏辫瘖涓璢 浜哄憳锛岃嫢鏈夊氨.鏀惧純鍙栦笅涓�浣�
-        List<Byte> queueStatusList = new ArrayList<>();
+        List<Integer> queueStatusList = new ArrayList<>();
         queueStatusList.add(QueueStatusEnum.INSTALLING.getStatus());
         Integer num = queueMapper.bedQueueStatisticByStatus(roomId, bedNo, queueStatusList);
         if ( num != null && num > 0)
@@ -397,13 +397,13 @@
         startNextPatient(roomId, bedNo);
     }
 
-    public List<QueueDO> getBedQueueByStatus(Long roomId, String bedNo, List<Byte> statusList) {
+    public List<QueueDO> getBedQueueByStatus(Long roomId, String bedNo, List<Integer> statusList) {
         List<QueueDO> queueDOList = queueMapper.getBedQueueByStatus(roomId, bedNo, statusList);
         return queueDOList;
     }
 
     @Override
-    public List<QueueDO> getRoomQueueByStatus(Long roomId, List<Byte> statusList) {
+    public List<QueueDO> getRoomQueueByStatus(Long roomId, List<Integer> statusList) {
         List<QueueDO> queueDOList = queueMapper.getRoomQueueByStatus(roomId, statusList);
         return queueDOList;
     }
@@ -425,7 +425,7 @@
         // 缁熻 璇ュ伐浣嶇被鍨嬬殑銆愭帓闃熶腑銆戜汉鍛樻暟閲�
         RoomDO roomDO = getRoomDO(roomId, bedNo);
         Integer[] checkTypes = roomDO.getCheckTypes();
-        List<Byte> statusList = new ArrayList<>();
+        List<Integer> statusList = new ArrayList<>();
         statusList.add(QueueStatusEnum.WAITING.getStatus());
         Integer num = queueMapper.checkTypeAndStatusStatistic(checkTypes, statusList);
         patientStatisticVO.setQueuingNum(num);
@@ -483,7 +483,7 @@
         // 缁熻 璇ュ伐浣嶇被鍨嬬殑銆愭帓闃熶腑銆戜汉鍛樻暟閲�
         RoomDO roomDO = getRoomDO(roomId, bedNo);
         Integer[] checkTypes = roomDO.getCheckTypes();
-        List<Byte> statusList = new ArrayList<>();
+        List<Integer> statusList = new ArrayList<>();
         statusList.add(QueueStatusEnum.WAITING.getStatus());
         Integer num = queueMapper.checkTypeAndStatusStatistic(checkTypes, statusList);
         patientStatisticVO.setQueuingNum(num);
@@ -541,7 +541,7 @@
 
     @Override
     public List<QueueDO> getToBeCheckedPatient(Long roomId, String bedNo) {
-        List<Byte> queueStatusList = new ArrayList<>();
+        List<Integer> queueStatusList = new ArrayList<>();
         queueStatusList.add(QueueStatusEnum.RECALLED.getStatus());
         queueStatusList.add(QueueStatusEnum.READY.getStatus());
         queueStatusList.add(QueueStatusEnum.ONSTAGE.getStatus());
@@ -552,7 +552,7 @@
 
     @Override
     public List<QueueDO> getToBeInstalledPatient(Long roomId, String bedNo) {
-        List<Byte> queueStatusList = new ArrayList<>();
+        List<Integer> queueStatusList = new ArrayList<>();
         queueStatusList.add(QueueStatusEnum.RECEIVED.getStatus());
         queueStatusList.add(QueueStatusEnum.PASSED_INSTALL.getStatus());
         List<QueueDO> queueDOList = getRoomQueueByStatus(roomId, queueStatusList);
diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/QueueServiceTxFunctions.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/QueueServiceTxFunctions.java
index 635e873..1cab7ab 100644
--- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/QueueServiceTxFunctions.java
+++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/QueueServiceTxFunctions.java
@@ -95,7 +95,7 @@
             return ROOM_INVALID_STATUS;
         }
 
-        List<Byte> queueStatusList = new ArrayList<>();
+        List<Integer> queueStatusList = new ArrayList<>();
         queueStatusList.add(QueueStatusEnum.READY.getStatus());
         List<QueueDO> queueDOList = queueMapper.getBedQueueByStatus(roomId, bedNo, queueStatusList);
 
@@ -126,7 +126,7 @@
         // 闄や簡鍒ゆ柇 鍑嗗鍊欒瘖涓� 鐨勪汉鏁帮紝杩橀渶瑕� 鍒ゆ柇 杩囧彿鐨勪汉鏁�
         //if (bedQueueBO.getQueueNum().get() >0)
         //    return QUEUE_HAVE_PATIENT;
-        List<Byte> queueStatusList = new ArrayList<>();
+        List<Integer> queueStatusList = new ArrayList<>();
         queueStatusList.add(QueueStatusEnum.READY.getStatus());
         queueStatusList.add(QueueStatusEnum.PASSED.getStatus());
         queueStatusList.add(QueueStatusEnum.RECALLED.getStatus());
@@ -298,7 +298,7 @@
         List<BedQueueBO> bedQueueBOList = roomDOList.stream().map(item -> BeanUtils.toBean(item, BedQueueBO.class)).toList();
 
         // 浠嶥B 鑾峰彇 闃熷垪涓� 灏辫瘖鍑嗗涓汉鍛樼粺璁� 鍒楄〃
-        List<Byte> queueStatusList = new ArrayList<>();
+        List<Integer> queueStatusList = new ArrayList<>();
         queueStatusList.add(QueueStatusEnum.READY.getStatus());
         List<QueueStatisticDO> queueStatisticDOList = queueMapper.queueStatistic(queueStatusList);
 

--
Gitblit v1.9.3