From 647095a34d62db02533cf9c121436900b51c757c Mon Sep 17 00:00:00 2001
From: eight <641137800@qq.com>
Date: 星期二, 15 十月 2024 15:07:13 +0800
Subject: [PATCH] update

---
 jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/QueueServiceImpl.java |   49 ++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 48 insertions(+), 1 deletions(-)

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 10d01f0..4c9be7e 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
@@ -387,6 +387,15 @@
         startNextPatient(roomId, bedNo);
     }
 
+    @Override
+    public void passInstallNextPatient(Long roomId, String bedNo) {
+        // 浠� DB 鎶� [瀹夎涓璢鐨勪汉 璁剧疆涓� [杩囧彿-瀹夎]
+        Integer ret =  queueMapper.updateBedQueueStatus(roomId, bedNo,
+                QueueStatusEnum.INSTALLING.getStatus(), QueueStatusEnum.PASSED_INSTALL.getStatus());
+
+        startNextPatient(roomId, bedNo);
+    }
+
     public List<QueueDO> getBedQueueByStatus(Long roomId, String bedNo, List<Byte> statusList) {
         List<QueueDO> queueDOList = queueMapper.getBedQueueByStatus(roomId, bedNo, statusList);
         return queueDOList;
@@ -398,6 +407,7 @@
         return queueDOList;
     }
 
+    // 甯歌妫�鏌� 鍖荤敓鐣岄潰鐨勭粺璁′俊鎭�
     public PatientStatisticVO getPatientStatistic(Long roomId, String bedNo) {
         PatientStatisticVO patientStatisticVO = new PatientStatisticVO();
         List<BedQueueStatisticDO> bedQueueStatisticDOList = queueMapper.bedQueueStatistic(roomId, bedNo);
@@ -411,9 +421,12 @@
             }
         });
 
+        // 缁熻 璇ュ伐浣嶇被鍨嬬殑銆愭帓闃熶腑銆戜汉鍛樻暟閲�
+        RoomDO roomDO = getRoomDO(roomId, bedNo);
+        Integer[] checkTypes = roomDO.getCheckTypes();
         List<Byte> statusList = new ArrayList<>();
         statusList.add(QueueStatusEnum.WAITING.getStatus());
-        Integer num = queueMapper.statusStatistic(statusList);
+        Integer num = queueMapper.checkTypeAndStatusStatistic(checkTypes, statusList);
         patientStatisticVO.setQueuingNum(num);
 
         return patientStatisticVO;
@@ -503,6 +516,15 @@
     }
 
     @Override
+    public Integer recallInstallPatient(Long roomId, String bedNo, String patId) {
+        Integer updateNum = queueMapper.recallPassedInstallPatient(roomId, bedNo, patId,
+                QueueStatusEnum.PASSED_INSTALL.getStatus(), QueueStatusEnum.RECALLED_INSTALL.getStatus());
+        // 瀹夎宸ヤ綅 涓嶈璁� 浼樺厛闃熷垪
+        //startHurryUpOneBed(roomId, bedNo);
+        return updateNum;
+    }
+
+    @Override
     public Integer patientJump(String patId, Byte jumped) {
         Integer updateNum = queueMapper.queueJump(patId, QueueStatusEnum.WAITING.getStatus(), jumped);
 
@@ -516,6 +538,31 @@
         return roomMapper.getRoomByDocId(docId);
     }
 
+    @Override
+    public List<QueueDO> getToBeCheckedPatient(Long roomId, String bedNo) {
+        List<Byte> queueStatusList = new ArrayList<>();
+        queueStatusList.add(QueueStatusEnum.RECALLED.getStatus());
+        queueStatusList.add(QueueStatusEnum.READY.getStatus());
+        queueStatusList.add(QueueStatusEnum.ONSTAGE.getStatus());
+        queueStatusList.add(QueueStatusEnum.PASSED.getStatus());
+        List<QueueDO> queueDOList = getBedQueueByStatus(roomId, bedNo, queueStatusList);
+        return queueDOList;
+    }
+
+    @Override
+    public List<QueueDO> getToBeInstalledPatient(Long roomId, String bedNo) {
+        List<Byte> queueStatusList = new ArrayList<>();
+        queueStatusList.add(QueueStatusEnum.RECEIVED.getStatus());
+        queueStatusList.add(QueueStatusEnum.PASSED_INSTALL.getStatus());
+        List<QueueDO> queueDOList = getRoomQueueByStatus(roomId, queueStatusList);
+
+        queueStatusList.clear();
+        queueStatusList.add(QueueStatusEnum.INSTALLING.getStatus());
+        queueStatusList.add(QueueStatusEnum.RECALLED_INSTALL.getStatus());
+        queueDOList.addAll(0, getBedQueueByStatus(roomId, bedNo, queueStatusList) );
+        return queueDOList;
+    }
+
     private RoomDO getRoomDO(Long roomId, String bedNo) {
         RoomDO roomDO = mapRoomBed.get( Utils.formatRoomBed(roomId, bedNo) );
         if ( null == roomDO)

--
Gitblit v1.9.3