From e1f8da66fc4648870331f9cbe18079bbd83a2ee8 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期二, 10 六月 2025 16:35:20 +0800
Subject: [PATCH] 代码提交
---
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/QueueServiceImpl.java | 75 ++++++++++++++++++++++++++-----------
1 files changed, 53 insertions(+), 22 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 cb90a2d..42ad66f 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
@@ -284,8 +284,8 @@
return error(ROOM_NOT_SIT);
}
- BedQueueBO bedQueueBO = queueServiceTxFunctions.getBedQueueBO(roomId, bedNo);
- if (null == bedQueueBO) {
+ BedBO bedBO = queueServiceTxFunctions.getBedQueueBO(roomId, bedNo);
+ if (null == bedBO) {
log.error("getRoom mapBedVsQueue DONOT existed. " + roomId + " " + bedNo);
return error(QUEUE_BED_NOT_EXIST);
}
@@ -331,12 +331,14 @@
queueMapper.insert(queue);
DevRentDO devRent = BeanUtils.toBean(queueSaveReqVO, DevRentDO.class);
+ devRent.setApplyNo( queueSaveReqVO.getApplyNo() );
+ devRent.setEpisodeId( queueSaveReqVO.getEpisodeId() );
devRent.setState( DevRentStateEnum.FREE.getState() );
devRent.setPatDetails( queueSaveReqVO.getPatDetails() );
devRent.setCheckType( queueSaveReqVO.getBookCheckType() );
devRentMapper.insert(devRent);
- //startHurryUpOneCheckType( queue.getBookCheckType() );
+ startHurryUpOneCheckType( queue.getBookCheckType() );
}
@Override
@@ -385,6 +387,13 @@
return;
startNextInstallPatient(roomId, bedNo);
+ }
+
+ @Override
+ public void passWaitingPatient(String patId, Integer bookCheckType) {
+ // 浠� DB 鎶� 鎺掗槦涓殑浜� 璁剧疆涓� 杩囧彿-鎺掗槦涓�
+ Integer ret = queueMapper.updatePatientQueueStatus(patId, bookCheckType,
+ QueueStatusEnum.WAITING.getStatus(), QueueStatusEnum.PASSED_WAITING.getStatus());
}
public void passNextPatient(Long roomId, String bedNo) {
@@ -461,6 +470,15 @@
});
return patientStatisticVO;
+ }
+
+ @Override
+ public Integer recallPassWaitingPatient(String patId, Integer bookCheckType) {
+ // 浠� DB 鎶� 杩囧彿-鎺掗槦涓殑浜� 璁剧疆涓� 鎺掗槦涓�
+ Integer ret = queueMapper.updatePatientQueueStatus(patId, bookCheckType,
+ QueueStatusEnum.PASSED_WAITING.getStatus(), QueueStatusEnum.WAITING.getStatus());
+
+ return ret;
}
public PatientStatisticVO getBedDevReadyStatistic(Long roomId, String bedNo) {
@@ -552,33 +570,33 @@
* @return
*/
@Override
- public Integer patientJump(String patId, Byte jumped) {
- Integer updateNum = queueMapper.queueJump(patId, QueueStatusEnum.WAITING.getStatus(), jumped);
+ public Integer patientJump(String patId, Integer bookCheckType, Byte jumped) {
+ Integer updateNum = queueMapper.queueJump(patId, bookCheckType, QueueStatusEnum.WAITING.getStatus(), jumped);
- QueueDO queueDO = queueMapper.getQueueByPatId(patId);
- //startHurryUpOneCheckType(Integer.valueOf(queueDO.getBookCheckType()));
+ QueueDO queueDO = queueMapper.getQueueByPatId(patId, bookCheckType);
+ startHurryUpOneCheckType(Integer.valueOf(queueDO.getBookCheckType()));
return updateNum;
}
@Override
- public RoomDO getDocRoomInfo(Long docId) {
+ public List<RoomDO> getDocRoomInfo(Long docId) {
return roomMapper.getRoomByDocId(docId);
}
/**
- * 鑾峰彇 鎸囧畾宸ヤ綅 寰呮鏌寰呴鐢ㄧ殑浜�
+ * 鑾峰彇 鎸囧畾宸ヤ綅 銆愭鏌棰嗙敤銆戠浉鍏崇殑鎮h��
* @param roomId
* @param bedNo
* @return
*/
@Override
- public List<QueueDO> getToBeCheckedPatient(Long roomId, String bedNo) {
+ public List<QueueDO> getCheckRelatedPatient(Long roomId, String bedNo) {
List<Integer> queueStatusList = new ArrayList<>();
queueStatusList.add(QueueStatusEnum.RECALLED.getStatus());
queueStatusList.add(QueueStatusEnum.READY.getStatus());
queueStatusList.add(QueueStatusEnum.ONSTAGE.getStatus());
queueStatusList.add(QueueStatusEnum.PASSED.getStatus());
- queueStatusList.add(QueueStatusEnum.AFFINITY_WAITING.getStatus());
+ queueStatusList.add(QueueStatusEnum.AFFINITY.getStatus());
List<QueueDO> queueDOList = getBedQueueByStatus(roomId, bedNo, queueStatusList);
//鎶� [浜插拰鐨刔 鎸埌涓婚」鍚庨潰
@@ -586,7 +604,7 @@
ListIterator<QueueDO> iterator = queueDOList.listIterator();
while (iterator.hasNext()) {
QueueDO item = iterator.next();
- if (item.getStatus() == QueueStatusEnum.AFFINITY_WAITING.getStatus()) {
+ if (item.getStatus() == QueueStatusEnum.AFFINITY.getStatus()) {
iterator.remove();
affinityWaitingList.add(item);
}
@@ -603,25 +621,31 @@
return queueDOList;
}
+ /**
+ * 鑾峰彇 鎸囧畾宸ヤ綅 銆愬畨瑁呫�戠浉鍏崇殑鎮h��
+ * @param roomId
+ * @param bedNo
+ * @return
+ */
@Override
- public List<QueueDO> getToBeInstalledPatient(Long roomId, String bedNo) {
+ public List<QueueDO> getInstallRelatedPatient(Long roomId, String bedNo) {
List<Integer> queueStatusList = new ArrayList<>();
queueStatusList.add(QueueStatusEnum.RECEIVED.getStatus());
queueStatusList.add(QueueStatusEnum.PASSED_INSTALL.getStatus());
- queueStatusList.add(QueueStatusEnum.AFFINITY_RECEIVED.getStatus());
- List<QueueDO> queueDOList = getRoomQueueByStatus(roomId, queueStatusList);
+ queueStatusList.add(QueueStatusEnum.AFFINITY_INSTALL.getStatus());
+ queueStatusList.add(QueueStatusEnum.RECALLED_INSTALL.getStatus());
+ List<QueueDO> queueDOList = getRoomQueueByStatus(roomId, queueStatusList); // 鍙互鐪嬪埌鏈瘖瀹� 寰呭畨瑁呯殑鎮h��
queueStatusList.clear();
queueStatusList.add(QueueStatusEnum.INSTALLING.getStatus());
- queueStatusList.add(QueueStatusEnum.RECALLED_INSTALL.getStatus());
- queueDOList.addAll(0, getBedQueueByStatus(roomId, bedNo, queueStatusList) );
+ queueDOList.addAll(0, getBedQueueByStatus(roomId, bedNo, queueStatusList) ); // 褰撳墠宸ヤ綅鐨�
//鎶� [浜插拰鐨刔 鎸埌涓婚」鍚庨潰
List<QueueDO> affinityReceivedList = new ArrayList<>();
ListIterator<QueueDO> iterator = queueDOList.listIterator();
while (iterator.hasNext()) {
QueueDO item = iterator.next();
- if (item.getStatus() == QueueStatusEnum.AFFINITY_RECEIVED.getStatus()) {
+ if (item.getStatus() == QueueStatusEnum.AFFINITY_INSTALL.getStatus()) {
iterator.remove();
affinityReceivedList.add(item);
}
@@ -646,9 +670,12 @@
return roomDO;
}
+ /**
+ * 瑁呮満鍙洖锛屾槸鎶㈠崰寮忕殑锛屼細鏀瑰彉瑁呮満宸ヤ綅
+ */
private void procAffinityWhenInstallRecall(String patId, Integer[] affinityCheckTypes, Long roomId_operator, String bedNo_operator) {
List<QueueDO> affinityItems = queueMapper.getCurPatGivenCheckTypesAndStatus(
- patId, affinityCheckTypes, QueueStatusEnum.AFFINITY_RECEIVED.getStatus());
+ patId, affinityCheckTypes, QueueStatusEnum.AFFINITY_INSTALL.getStatus());
for (int i = 0; i < affinityItems.size(); i++) {
QueueDO queueItem = affinityItems.get(i);
queueItem.setRoomId( roomId_operator );
@@ -658,14 +685,18 @@
}
}
+ /**
+ * 棰勭害纭鍚庯紝涓诲姩瀵绘眰渚濋檮
+ */
private void procAffinityWhenQueue(/*IN, OUT*/QueueSaveReqVO queueSaveReqVO, Integer[] affinityCheckTypes) {
- // 濡傛灉瀛樺湪 澶勪簬 [灏辫瘖鍑嗗涓璢 | [灏辫瘖涓璢 鐨勪翰鍜岄」锛屽垯璺熼殢鍏朵腑涓�涓翰鍜岄」
+ // 濡傛灉瀛樺湪 [鍊欒瘖涓璢 [灏辫瘖涓璢 [杩囧彿] [宸插彫鍥瀅 鑳借渚濋檮鐨勬鏌ラ」锛屽垯渚濋檮鍒板叾涓竴涓�
List<QueueDO> affinityItems = queueMapper.getCurPatGivenCheckTypesAndStatusList(
queueSaveReqVO.getPatId(), affinityCheckTypes,
- List.of(QueueStatusEnum.READY.getStatus(), QueueStatusEnum.ONSTAGE.getStatus()));
+ List.of(QueueStatusEnum.READY.getStatus(), QueueStatusEnum.ONSTAGE.getStatus(),
+ QueueStatusEnum.PASSED.getStatus(), QueueStatusEnum.RECALLED.getStatus()));
if (!affinityItems.isEmpty()) {
QueueDO queueItem = affinityItems.get(0);
- queueSaveReqVO.setStatus(QueueStatusEnum.AFFINITY_WAITING.getStatus()); // [浜插拰-鎺掗槦] 鐘舵��
+ queueSaveReqVO.setStatus(QueueStatusEnum.AFFINITY.getStatus()); // [浜插拰-鎺掗槦] 鐘舵��
queueSaveReqVO.setAffinityItem( 1 );
queueSaveReqVO.setRoomId(queueItem.getRoomId());
queueSaveReqVO.setRoomName(queueItem.getRoomName());
--
Gitblit v1.9.3