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