From 137e9fb1f28d213d2608c12e17ece1dd57cec452 Mon Sep 17 00:00:00 2001
From: eight <641137800@qq.com>
Date: 星期四, 26 九月 2024 11:50:02 +0800
Subject: [PATCH] update
---
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/QueueServiceImpl.java | 51 ++++++++++++++++++++++++++++++---------------------
1 files changed, 30 insertions(+), 21 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 0a4345d..a2b2484 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
@@ -6,8 +6,13 @@
import javax.annotation.Resource;
import cn.lihu.jh.module.ecg.controller.admin.room.vo.MonitorInfoVO;
+import cn.lihu.jh.module.ecg.dal.dataobject.devrent.DevRentDO;
+import cn.lihu.jh.module.ecg.dal.mysql.call.CallMapper;
+import cn.lihu.jh.module.ecg.dal.mysql.devrent.DevRentMapper;
+import cn.lihu.jh.module.ecg.enums.DevRentStateEnum;
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;
@@ -47,6 +52,12 @@
@Resource
private RoomMapper roomMapper;
+ @Resource
+ private CallMapper callMapper;
+
+ @Resource
+ private DevRentMapper devRentMapper;
+
AtomicInteger openingFlag = new AtomicInteger(0);
AtomicInteger curSeqNum = new AtomicInteger(0);
@@ -56,6 +67,11 @@
ExecutorService singleThreadExecutor = Executors.newSingleThreadExecutor();
Integer queueReadyMax = 0;
+
+ Integer bigScrenWaitingSize = 5;
+ Integer bigScrenPassedSize = 5;
+ Integer bigScrenWaitingFrom = 0;
+ Integer bigScrenPassedFrom = 0;
@Override
public Integer createqueue(QueueSaveReqVO createReqVO) {
@@ -84,8 +100,8 @@
}
@Override
- public ErrorCode startBedOpen(Long roomId, String bedNo) {
- Future<ErrorCode> future = singleThreadExecutor.submit( new BedOpenCallable(this, roomId, bedNo));
+ public ErrorCode startBedOpen(Long roomId, String roomName, String bedNo) {
+ Future<ErrorCode> future = singleThreadExecutor.submit( new BedOpenCallable(this, roomId, roomName, bedNo));
try {
ErrorCode ret = future.get();
@@ -244,7 +260,7 @@
* @return
*/
@Override
- public ErrorCode bedOpen(Long roomId, String bedNo) {
+ public ErrorCode bedOpen(Long roomId, String roomName, String bedNo) {
BedQueueBO bedQueueBO2 = mapBedVsQueue.get(String.format("%09d%s", roomId, bedNo));
if (null != bedQueueBO2) {
log.error("bedOpen mapBedVsQueue has existed. " + roomId + " " + bedNo);
@@ -267,6 +283,7 @@
// 鏂板宸ヤ綅 浼樺厛闃熷垪
BedQueueBO bedQueueBO = new BedQueueBO();
bedQueueBO.setRoomId(roomId);
+ bedQueueBO.setRoomName(roomName);
bedQueueBO.setBedNo(bedNo);
bedQueueBO.setMaxQueueNum(queueReadyMax);
bedQueueBO.setQueueNum(new AtomicInteger(queueDOList.size()));
@@ -462,6 +479,8 @@
// 娓呴櫎闈炲綋澶╃殑鎺掗槦浜哄憳
queueMapper.clearQueue();
+ // 娓呴櫎闈炲綋澶╃殑璇煶鍙彿璁板綍
+ callMapper.clearCall();
// 浠嶥B 鑾峰彇 宸ヤ綅鍒楄〃
List<BedStatusEnum> bedStatusEnumList = new ArrayList<BedStatusEnum>();
@@ -497,8 +516,7 @@
}
/**
- * TODO 鏂板紑闃熷垪鏃讹紝闇�瑕佹妸鎺掗槦涓殑浜� 杞埌 灏辫瘖鍑嗗 鐘舵��
- * 绛夊埌鍙栦笅涓�涓� 鎺掗槦涓汉鍛� 鐨勯�昏緫瀹屾垚鍚庯紝鍐嶅洖鏉ヤ笉閿�
+ *
*/
public void hurryup() {
if (0 == openingFlag.get())
@@ -572,10 +590,15 @@
* @param queueSaveReqVO
*/
@Override
+ @Transactional
public void queue(QueueSaveReqVO queueSaveReqVO) {
queueSaveReqVO.setStatus(QueueStatusEnum.WAITING.getStatus()); //鎺掗槦涓�
QueueDO queue = BeanUtils.toBean(queueSaveReqVO, QueueDO.class);
queueMapper.insert(queue);
+
+ DevRentDO devRent = BeanUtils.toBean(queueSaveReqVO, DevRentDO.class);
+ devRent.setState( DevRentStateEnum.FREE.getState() );
+ devRentMapper.insert(devRent);
startHurryUp();
}
@@ -681,22 +704,8 @@
}
@Override
- public List<QueueDO> callingData(Integer waitingNum, Integer passedNum) {
- //queueMapper.
- return null;
- }
-
- @Override
- public List<QueueDO> getRoomQueue(String ip, List<Byte> statusList) {
- List<RoomDO> roomDOList = roomMapper.queueByIp(ip);
- Optional<RoomDO> optionalQueueDO = roomDOList.stream().filter(item -> StringUtils.hasLength(item.getIp())).findFirst();
- if (!optionalQueueDO.isPresent()) {
- return new ArrayList<QueueDO>();
- }
-
- Long roomId = optionalQueueDO.get().getRoomId();
- List<QueueDO> queueDOList = queueMapper.getRoomQueueByStatus(roomId, statusList);
- return queueDOList;
+ public RoomDO getDocRoomInfo(Long docId) {
+ return roomMapper.getRoomByDocId(docId);
}
}
--
Gitblit v1.9.3