From 1dfb9beb8057d51d528a209fae1a9f9eed5c352f Mon Sep 17 00:00:00 2001 From: eight <641137800@qq.com> Date: 星期二, 24 九月 2024 17:47:13 +0800 Subject: [PATCH] 新增 设备状态 --- jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/QueueServiceImpl.java | 52 ++++++++++++++++++++++++++++------------------------ 1 files changed, 28 insertions(+), 24 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..7153832 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(); } @@ -678,25 +701,6 @@ public void monitorInfo() { log.info("map " + mapBedVsQueue.size() + " priority " + priorityQueue.size() + " opening " + openingFlag.get()); - } - - @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; } } -- Gitblit v1.9.3