From ae24af77aaa940a64281f9f1bf2fe5ab3f9c68b8 Mon Sep 17 00:00:00 2001
From: eight <641137800@qq.com>
Date: 星期五, 30 八月 2024 16:48:41 +0800
Subject: [PATCH] update
---
jh-module-ecg/jh-module-ecg-api/src/main/java/cn/lihu/jh/module/ecg/enums/ErrorCodeConstants.java | 3 +
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/queueServiceImpl.java | 37 ++++++++++++++++--
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/BedDoctorNextPatientCallable.java | 25 ++++++++++++
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/queueService.java | 5 ++
4 files changed, 64 insertions(+), 6 deletions(-)
diff --git a/jh-module-ecg/jh-module-ecg-api/src/main/java/cn/lihu/jh/module/ecg/enums/ErrorCodeConstants.java b/jh-module-ecg/jh-module-ecg-api/src/main/java/cn/lihu/jh/module/ecg/enums/ErrorCodeConstants.java
index 7dbe8dc..0191cf8 100644
--- a/jh-module-ecg/jh-module-ecg-api/src/main/java/cn/lihu/jh/module/ecg/enums/ErrorCodeConstants.java
+++ b/jh-module-ecg/jh-module-ecg-api/src/main/java/cn/lihu/jh/module/ecg/enums/ErrorCodeConstants.java
@@ -16,5 +16,6 @@
ErrorCode ROOM_INVALID_STATUS = new ErrorCode(1_010_002_001, "璇婂鍜岃瘖鐤楀簥鐘舵�佸紓甯�");
ErrorCode QUEUE_NOT_EXISTS = new ErrorCode(1_010_003_000, "鎺掗槦涓嶅瓨鍦�");
ErrorCode QUEUE_BED_ABNORMAL = new ErrorCode(1_010_003_001, "宸ヤ綅闃熷垪涓嶅瓨鍦�");
- ErrorCode QUEUE_HAVE_PATIENT = new ErrorCode(1_010_003_001, "鎮h�呴槦鍒椾腑");
+ ErrorCode QUEUE_HAVE_PATIENT = new ErrorCode(1_010_003_002, "闃熷垪涓湁鎮h��");
+ ErrorCode QUEUE_NOT_READY_PATIENT = new ErrorCode(1_010_003_003, "娌℃湁鍑嗗涓殑鎮h��");
}
diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/BedDoctorNextPatientCallable.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/BedDoctorNextPatientCallable.java
new file mode 100644
index 0000000..9c58211
--- /dev/null
+++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/BedDoctorNextPatientCallable.java
@@ -0,0 +1,25 @@
+package cn.lihu.jh.module.ecg.service.queue;
+
+import cn.lihu.jh.framework.common.exception.ErrorCode;
+
+import java.util.concurrent.Callable;
+
+public class BedDoctorNextPatientCallable implements Callable<ErrorCode> {
+
+ QueueService queueService;
+ private Long roomId;
+ private String bedNo;
+
+ public BedDoctorNextPatientCallable(QueueService queueService, Long roomId, String bedNo)
+ {
+ super();
+ this.roomId = roomId;
+ this.bedNo = bedNo;
+ this.queueService = queueService;
+ }
+
+ public ErrorCode call() throws Exception {
+ return queueService.nextPatient(roomId, bedNo);
+ }
+
+}
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 7bae87b..9a3bb4b 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
@@ -55,6 +55,7 @@
ErrorCode startBedDoctorResume(Long roomId, String bedNo, Long docId, String docName);
ErrorCode startBedDoctorOn(Long roomId, String bedNo, Long docId, String docName);
ErrorCode startBedDoctorOff(Long roomId, String bedNo, Long docId, String docName);
+ ErrorCode startNextPatient(Long roomId, String bedNo);
ErrorCode bedOpen(Long roomId, String bedNo);
ErrorCode bedClose(Long roomId, String bedNo);
@@ -62,7 +63,10 @@
ErrorCode bedDoctorResume(Long roomId, String bedNo, Long docId, String docName);
ErrorCode bedDoctorOn(Long roomId, String bedNo, Long docId, String docName);
ErrorCode bedDoctorOff(Long roomId, String bedNo, Long docId, String docName);
+ ErrorCode nextPatient(Long roomId, String bedNo);
+
CommonResult<RoomRespVO> getRoom(Long roomId, String bedNo, Long docId);
+
/**
* 鑾峰緱鎺掗槦
*
@@ -85,6 +89,7 @@
*/
void queue(QueueSaveReqVO queueSaveReqVO);
+
/**
* 鎶婂尰鐢熷�欒瘖鐨勯槦鍒楀婊�
*/
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..f6ca95c 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;
}
@@ -491,14 +516,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 +533,8 @@
priorityQueue.remove(bo);
priorityQueue.offer(bo);
- startHurryUp();
+ hurryup();
+ return SUCCESS;
}
public void finishNextPatient(Long roomId, String bedNo) {
@@ -515,7 +542,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 +550,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