From 3f3ec086fc73102dd2473fd2e197c3c9a16d4231 Mon Sep 17 00:00:00 2001 From: eight <641137800@qq.com> Date: 星期四, 14 十一月 2024 10:12:55 +0800 Subject: [PATCH] refactor --- jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/QueueServiceImpl.java | 26 ++++++------- jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/queue/QueueMapper.java | 39 ++++++++++++++----- 2 files changed, 40 insertions(+), 25 deletions(-) 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 7592e6b..3bcf171 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 @@ -67,27 +67,44 @@ @Select("<script>" + "SELECT * FROM lihu.queue " + - "where pat_id = #{patId} and book_check_type in (" + - " <foreach collection='arrCheckType' separator=',' item='checkType'>" + - " #{checkType} " + - " </foreach> )" + - " and TO_DAYS(book_date) = TO_DAYS(NOW()) " + + "where pat_id = #{patId} " + + " and book_check_type in (" + + " <foreach collection='arrCheckType' separator=',' item='checkType'>" + + " #{checkType} " + + " </foreach> )" + + " and TO_DAYS(book_date) = TO_DAYS(NOW()) " + "</script>") List<QueueDO> getCurPatGivenCheckTypes(@Param("patId")String patId, @Param("arrCheckType")Integer[] arrCheckType); @Select("<script>" + "SELECT * FROM lihu.queue " + - "where pat_id = #{patId} and book_check_type in (" + - " <foreach collection='arrCheckType' separator=',' item='checkType'>" + - " #{checkType} " + - " </foreach> ) " + - " and status = #{status} " + - " and TO_DAYS(book_date) = TO_DAYS(NOW()) " + + "where pat_id = #{patId} " + + " and book_check_type in (" + + " <foreach collection='arrCheckType' separator=',' item='_checkType'>" + + " #{_checkType} " + + " </foreach> ) " + + " and status = #{status} " + + " and TO_DAYS(book_date) = TO_DAYS(NOW()) " + "</script>") List<QueueDO> getCurPatGivenCheckTypesAndStatus(@Param("patId")String patId, @Param("arrCheckType")Integer[] arrCheckType, @Param("status")Integer status); @Select("<script>" + "SELECT * FROM lihu.queue " + + "where pat_id = #{patId} " + + " and book_check_type in (" + + " <foreach collection='arrCheckType' separator=',' item='_checkType'>" + + " #{_checkType} " + + " </foreach> ) " + + " and status in (" + + " <foreach collection='statusList' separator=',' item='_status'>" + + " #{_status} " + + " </foreach> ) " + + " and TO_DAYS(book_date) = TO_DAYS(NOW()) " + + "</script>") + List<QueueDO> getCurPatGivenCheckTypesAndStatusList(@Param("patId")String patId, @Param("arrCheckType")Integer[] arrCheckType, @Param("statusList")List<Integer> statusList); + + @Select("<script>" + + "SELECT * FROM lihu.queue " + "where id >= #{from} and status in (" + " <foreach collection='statusList' separator=',' item='status'>" + " #{status} " + 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 10ca305..19825ba 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 @@ -318,24 +318,22 @@ @Override @Transactional public void queue(QueueSaveReqVO queueSaveReqVO) { - queueSaveReqVO.setStatus(QueueStatusEnum.WAITING.getStatus()); //榛樿鐘舵��: 鎺掗槦涓� + // 榛樿浠� [鎺掗槦涓璢 鐘舵�� 杩涘叆 queue 琛� + queueSaveReqVO.setStatus(QueueStatusEnum.WAITING.getStatus()); // 澶勭悊 妫�鏌ラ」鐩�.浜插拰鎬� 閫昏緫 + // 濡傛灉瀛樺湪 澶勪簬 [灏辫瘖鍑嗗涓璢 | [灏辫瘖涓璢 鐨勪翰鍜岄」锛屽垯璺熼殢鍏朵腑涓�涓翰鍜岄」 CheckTypeDO checkTypeDO = queueServiceTxFunctions.getCheckTypeItem( queueSaveReqVO.getBookCheckType() ); if ( checkTypeDO.getAffinityCheckTypes().length > 0) { - List<QueueDO> affinityItems = queueMapper.getCurPatGivenCheckTypes(queueSaveReqVO.getPatId(), checkTypeDO.getAffinityCheckTypes()); - - for (int i=0; i < affinityItems.size(); i++) { - QueueDO queueItem = affinityItems.get(i); - if (QueueStatusEnum.READY.getStatus() == queueItem.getStatus() - || QueueStatusEnum.ONSTAGE.getStatus() == queueItem.getStatus()) { - queueSaveReqVO.setStatus(QueueStatusEnum.AFFINITY_WAITING.getStatus()); //鏀瑰彉 鎺掗槦鐘舵�� - queueSaveReqVO.setRoomId(queueItem.getRoomId()); - queueSaveReqVO.setRoomName(queueItem.getRoomName()); - queueSaveReqVO.setBedNo(queueItem.getBedNo()); - queueSaveReqVO.setSeqNum(queueItem.getSeqNum()); - break; - } + List<QueueDO> affinityItems = queueMapper.getCurPatGivenCheckTypesAndStatusList( queueSaveReqVO.getPatId(), checkTypeDO.getAffinityCheckTypes(), + List.of(QueueStatusEnum.READY.getStatus(), QueueStatusEnum.ONSTAGE.getStatus())); + if (!affinityItems.isEmpty()) { + QueueDO queueItem = affinityItems.get(0); + queueSaveReqVO.setStatus(QueueStatusEnum.AFFINITY_WAITING.getStatus()); // [浜插拰-鎺掗槦] 鐘舵�� + queueSaveReqVO.setRoomId(queueItem.getRoomId()); + queueSaveReqVO.setRoomName(queueItem.getRoomName()); + queueSaveReqVO.setBedNo(queueItem.getBedNo()); + queueSaveReqVO.setSeqNum(queueItem.getSeqNum()); } } -- Gitblit v1.9.3