From b63358eeefeb4c7d0078cffe5dbba0380a740afc Mon Sep 17 00:00:00 2001
From: eight <641137800@qq.com>
Date: 星期二, 01 四月 2025 11:45:03 +0800
Subject: [PATCH] update 亲和功能
---
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/QueueServiceImpl.java | 48 ++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 42 insertions(+), 6 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 573d8a8..20aee9f 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
@@ -331,12 +331,19 @@
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() );
+ }
+
+ @Override
+ public List<QueueDO> selectBookSeqNumByAppointIdList(List<Long> appointIdList) {
+ return queueMapper.selectBookSeqNumByAppointIdList( appointIdList );
}
// 甯歌妫�鏌� 鍙彿
@@ -380,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) {
@@ -456,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) {
@@ -540,17 +563,23 @@
return updateNum;
}
+ /**
+ * 鍔犳��
+ * @param patId
+ * @param jumped
+ * @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);
+ 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);
}
@@ -635,6 +664,9 @@
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());
@@ -647,11 +679,15 @@
}
}
+ /**
+ * 棰勭害纭鍚庯紝涓诲姩瀵绘眰渚濋檮
+ */
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()); // [浜插拰-鎺掗槦] 鐘舵��
--
Gitblit v1.9.3