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