From d7bfd457d0ebba2ed3d28233b5b9befc24db36a8 Mon Sep 17 00:00:00 2001
From: eight <641137800@qq.com>
Date: 星期四, 10 十月 2024 17:57:43 +0800
Subject: [PATCH] 检查类型 (准备人数 + 是否需要领用) 配置

---
 jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/QueueServiceImpl.java |   33 ++++++++++++++++++---------------
 1 files changed, 18 insertions(+), 15 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 f4407b9..bc007a9 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
@@ -2,7 +2,6 @@
 
 import java.util.*;
 import java.util.concurrent.*;
-import java.util.concurrent.atomic.AtomicInteger;
 import javax.annotation.Resource;
 
 import cn.lihu.jh.module.ecg.controller.admin.room.vo.MonitorInfoVO;
@@ -14,18 +13,14 @@
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
-import org.springframework.util.StringUtils;
 import org.springframework.validation.annotation.Validated;
 
-import cn.lihu.jh.framework.common.exception.enums.GlobalErrorCodeConstants;
 import cn.lihu.jh.module.ecg.dal.dataobject.room.RoomDO;
 import cn.lihu.jh.framework.common.exception.ErrorCode;
 import cn.lihu.jh.framework.common.pojo.CommonResult;
 import cn.lihu.jh.module.ecg.controller.admin.room.vo.RoomRespVO;
 import cn.lihu.jh.module.ecg.dal.dataobject.queue.BedQueueStatisticDO;
-import cn.lihu.jh.module.ecg.dal.dataobject.queue.QueueStatisticDO;
 import cn.lihu.jh.module.ecg.dal.mysql.room.RoomMapper;
-import cn.lihu.jh.module.ecg.enums.BedStatusEnum;
 import cn.lihu.jh.module.ecg.enums.QueueStatusEnum;
 import cn.lihu.jh.module.ecg.controller.admin.queue.vo.*;
 import cn.lihu.jh.module.ecg.dal.dataobject.queue.QueueDO;
@@ -223,9 +218,16 @@
     }
 
     @Override
-    public void startHurryUp() {
+    public void startHurryUpOneBed(Long roomId, String bedNo) {
         singleThreadExecutor.execute( () -> {
-            queueServiceTxFunctions.hurryup();
+            queueServiceTxFunctions.hurryupOneBed(roomId, bedNo);
+        });
+    }
+
+    @Override
+    public void startHurryUpOneCheckType(Integer checkType) {
+        singleThreadExecutor.execute( () -> {
+            queueServiceTxFunctions.hurryupOneCheckType( checkType );
         });
     }
 
@@ -233,7 +235,7 @@
     public void startBedReload() {
         singleThreadExecutor.execute( () -> {
             queueServiceTxFunctions.bedReload();
-            queueServiceTxFunctions.hurryup();
+            queueServiceTxFunctions.hurryupAllBed();
             queueServiceTxFunctions.monitorInfo();
         });
     }
@@ -254,7 +256,7 @@
 
     @Override
     public CommonResult<RoomRespVO> getRoom(Long roomId, String bedNo, Long docId) {
-        RoomDO roomDO = roomMapper.getRoom(roomId, bedNo, docId);
+        RoomDO roomDO = roomMapper.getRoomByRoomBedDoc(roomId, bedNo, docId);
         if (null == roomDO) {
             return error(ROOM_NOT_SIT);
         }
@@ -301,7 +303,7 @@
         devRent.setState( DevRentStateEnum.FREE.getState() );
         devRentMapper.insert(devRent);
 
-        startHurryUp();
+        startHurryUpOneCheckType(Integer.valueOf(queue.getBookCheckType()));
     }
 
     public void finishNextPatient(Long roomId, String bedNo) {
@@ -346,9 +348,8 @@
         return patientStatisticVO;
     }
 
-    @Override
-    public void setQueueReadyMax(Integer max) {
-        queueServiceTxFunctions.setQueueReadyMax( max );
+    public void setCheckTypeReadyMax(Map<Integer, Integer> max) {
+        queueServiceTxFunctions.setCheckTypeReadyMax( max );
     }
 
     public void startBiz() {
@@ -368,14 +369,16 @@
     public Integer recallPatient(Long roomId, String bedNo, String patId) {
         Integer updateNum = queueMapper.recallPassedPatient(roomId, bedNo, patId,
                 QueueStatusEnum.PASSED.getStatus(), QueueStatusEnum.RECALLED.getStatus());
-        startHurryUp();
+        startHurryUpOneBed(roomId, bedNo);
         return updateNum;
     }
 
     @Override
     public Integer patientJump(String patId, Byte jumped) {
         Integer updateNum = queueMapper.queueJump(patId, QueueStatusEnum.WAITING.getStatus(), jumped);
-        startHurryUp();
+
+        QueueDO queueDO = queueMapper.getQueueByPatId(patId);
+        startHurryUpOneCheckType(Integer.valueOf(queueDO.getBookCheckType()));
         return updateNum;
     }
 

--
Gitblit v1.9.3