From bb767d9be029935ee73b4a8e67b370a153f39c74 Mon Sep 17 00:00:00 2001 From: eight <641137800@qq.com> Date: 星期六, 31 八月 2024 09:58:06 +0800 Subject: [PATCH] update --- jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/queueServiceImpl.java | 60 +++++++++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 43 insertions(+), 17 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 5b7e2ac..5c80db5 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 @@ -109,6 +109,7 @@ e.printStackTrace(); } + System.out.println("startBedOpen ========"); return ECG_INNER_ERROR; } @@ -125,6 +126,7 @@ e.printStackTrace(); } + System.out.println("startBedClose ========"); return ECG_INNER_ERROR; } @@ -143,6 +145,7 @@ e.printStackTrace(); } + System.out.println("startBedDoctorPause ========"); return ECG_INNER_ERROR; } @@ -161,6 +164,7 @@ e.printStackTrace(); } + System.out.println("startBedDoctorResume ========"); return ECG_INNER_ERROR; } @@ -179,6 +183,7 @@ e.printStackTrace(); } + System.out.println("startBedDoctorOn ========"); return ECG_INNER_ERROR; } @@ -197,6 +202,26 @@ e.printStackTrace(); } + System.out.println("startBedDoctorOff ========"); + return ECG_INNER_ERROR; + } + + @Override + public ErrorCode startNextPatient(Long roomId, String bedNo) { + Future<ErrorCode> future = singleThreadExecutor.submit( + new BedDoctorNextPatientCallable(this, roomId, bedNo) + ); + + try { + ErrorCode ret = future.get(); + return ret; + } catch (InterruptedException e) { + e.printStackTrace(); + } catch (ExecutionException e) { + e.printStackTrace(); + } + + System.out.println("startNextPatient ========"); return ECG_INNER_ERROR; } @@ -242,9 +267,6 @@ if (bedQueueBO.getQueueNum().get() >0) return QUEUE_HAVE_PATIENT; - mapBedVsQueue.remove(String.format("%09d%s", roomId, bedNo)); - priorityQueue.remove(bedQueueBO); - // DB update List statusList = new ArrayList<BedStatusEnum>(); statusList.add(BedStatusEnum.OPENING); @@ -255,6 +277,8 @@ if ( null==updateNum || 0 == updateNum ) return ROOM_INVALID_STATUS; + mapBedVsQueue.remove(String.format("%09d%s", roomId, bedNo)); + priorityQueue.remove(bedQueueBO); return SUCCESS; } @@ -267,6 +291,7 @@ RoomDO roomDO = roomMapper.getRoom(roomId, bedNo, docId); if (null == roomDO) { + System.out.println("getRoom ========"); return error(ECG_INNER_ERROR); } @@ -280,17 +305,16 @@ if (null == bedQueueBO) return QUEUE_BED_ABNORMAL; - bedQueueBO.setStatusEnum(BedStatusEnum.PAUSE); - priorityQueue.remove(bedQueueBO); - // DB update List statusList = new ArrayList<BedStatusEnum>(); statusList.add(BedStatusEnum.DOCTOR_ON); - Integer updateNum = roomMapper.setBedDoctorPause(roomId, bedNo, docId, docName, + Integer updateNum = roomMapper.setBedDoctorStatus(roomId, bedNo, docId, BedStatusEnum.PAUSE, statusList); if ( null==updateNum || 0 == updateNum ) return ROOM_INVALID_STATUS; + bedQueueBO.setStatusEnum(BedStatusEnum.PAUSE); + priorityQueue.remove(bedQueueBO); return SUCCESS; } @@ -300,16 +324,16 @@ if (null == bedQueueBO) return QUEUE_BED_ABNORMAL; - bedQueueBO.setStatusEnum(BedStatusEnum.DOCTOR_ON); - priorityQueue.offer(bedQueueBO); - // DB update List statusList = new ArrayList<BedStatusEnum>(); statusList.add(BedStatusEnum.PAUSE); - Integer updateNum = roomMapper.setBedDoctorPause(roomId, bedNo, docId, docName, + Integer updateNum = roomMapper.setBedDoctorStatus(roomId, bedNo, docId, BedStatusEnum.DOCTOR_ON, statusList); if ( null==updateNum || 0 == updateNum ) return ROOM_INVALID_STATUS; + + bedQueueBO.setStatusEnum(BedStatusEnum.DOCTOR_ON); + priorityQueue.offer(bedQueueBO); hurryup(); return SUCCESS; @@ -343,7 +367,7 @@ // DB update List statusList = new ArrayList<BedStatusEnum>(); statusList.add(BedStatusEnum.DOCTOR_ON); - Integer updateNum = roomMapper.setBedDoctorOff(roomId, bedNo, docId, docName, + Integer updateNum = roomMapper.setBedDoctorOff(roomId, bedNo, docId, BedStatusEnum.OPENING, statusList); if ( null==updateNum || 0 == updateNum ) return ROOM_INVALID_STATUS; @@ -491,14 +515,15 @@ startHurryUp(); } - private void nextPatient(Long roomId, String bedNo) { + @Override + public ErrorCode nextPatient(Long roomId, String bedNo) { // 浠� DB 鎶� 搴忓彿鏈�灏忕殑 灏辫瘖鍑嗗涓殑浜� 璁剧疆涓哄氨璇婁腑 Integer updateNum = queueMapper.updateQueueStatus(roomId, bedNo, QueueStatusEnum.READY.getStatus(), QueueStatusEnum.ONSTAGE.getStatus()); // 璇ュ伐浣� 娌℃湁 灏辫瘖鍑嗗涓� 浜哄憳 if (null == updateNum || 0 == updateNum) { - return; + return QUEUE_NOT_READY_PATIENT; } // 浼樺厛闃熷垪涓� 璇ュ伐浣� 灏辫瘖鍑嗗涓汉鐨勬暟閲� 鍑忎竴 @@ -507,7 +532,8 @@ priorityQueue.remove(bo); priorityQueue.offer(bo); - startHurryUp(); + hurryup(); + return SUCCESS; } public void finishNextPatient(Long roomId, String bedNo) { @@ -515,7 +541,7 @@ Integer ret = queueMapper.updateQueueStatus(roomId, bedNo, QueueStatusEnum.ONSTAGE.getStatus(), QueueStatusEnum.FINISH.getStatus()); - nextPatient(roomId, bedNo); + startNextPatient(roomId, bedNo); } public void passNextPatient(Long roomId, String bedNo) { @@ -523,7 +549,7 @@ Integer ret = queueMapper.updateQueueStatus(roomId, bedNo, QueueStatusEnum.ONSTAGE.getStatus(), QueueStatusEnum.PASSED.getStatus()); - nextPatient(roomId, bedNo); + startNextPatient(roomId, bedNo); } public List<QueueDO> getDoctorQueueByStatus(Long roomId, String bedNo, List<Byte> statusList) { -- Gitblit v1.9.3