From e458133f5db4afe2e497af8ac3e1fc29bbc979aa Mon Sep 17 00:00:00 2001 From: eight <641137800@qq.com> Date: 星期五, 27 九月 2024 14:52:29 +0800 Subject: [PATCH] bug fix : 开启工位 提示工位队列已经存在 --- jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/QueueServiceImpl.java | 50 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 49 insertions(+), 1 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 8efdddd..697126a 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,14 @@ 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 cn.lihu.jh.module.system.api.oauth2.OAuth2TokenApi; 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; @@ -42,10 +48,19 @@ public class QueueServiceImpl implements QueueService { @Resource + private OAuth2TokenApi oAuth2TokenApi; + + @Resource private queueMapper queueMapper; @Resource private RoomMapper roomMapper; + + @Resource + private CallMapper callMapper; + + @Resource + private DevRentMapper devRentMapper; AtomicInteger openingFlag = new AtomicInteger(0); AtomicInteger curSeqNum = new AtomicInteger(0); @@ -229,6 +244,15 @@ singleThreadExecutor.execute( () -> { bedReload(); hurryup(); + monitorInfo(); + }); + } + + @Override + public void startResetRoom() { + singleThreadExecutor.execute( () -> { + resetRoom(); + bedReload(); monitorInfo(); }); } @@ -457,7 +481,6 @@ } /** - * 锛侊紒寮�璇婃湡闂达紝涓嶈兘鎵ц杩欎釜鏂规硶锛屽惁鍒欎細鏈� P0 闂 * 1. 姣忓ぉ寮�璇婂墠 浠嶥B鍚屾宸ヤ綅鐨勬偅鑰呴槦鍒楁暟鎹埌 宸ヤ綅浼樺厛闃熷垪 * 2. 鏈嶅姟杩愮淮閲嶅惎鏃� */ @@ -468,6 +491,8 @@ // 娓呴櫎闈炲綋澶╃殑鎺掗槦浜哄憳 queueMapper.clearQueue(); + // 娓呴櫎闈炲綋澶╃殑璇煶鍙彿璁板綍 + callMapper.clearCall(); // 浠嶥B 鑾峰彇 宸ヤ綅鍒楄〃 List<BedStatusEnum> bedStatusEnumList = new ArrayList<BedStatusEnum>(); @@ -577,10 +602,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(); } @@ -685,4 +715,22 @@ + " opening " + openingFlag.get()); } + @Override + public RoomDO getDocRoomInfo(Long docId) { + return roomMapper.getRoomByDocId(docId); + } + + public void resetRoom() { + // 韪㈠嚭鍦ㄥ骇鐨勫尰鐢� + List<BedStatusEnum> bedStatusEnumList = new ArrayList<BedStatusEnum>(); + bedStatusEnumList.add(BedStatusEnum.DOCTOR_ON); + bedStatusEnumList.add(BedStatusEnum.PAUSE); + List<RoomDO> roomDOList = roomMapper.simpleRoomList(bedStatusEnumList); + List<Long> userIdList = roomDOList.stream().map(roomDO -> roomDO.getDocId()).toList(); + oAuth2TokenApi.tick(userIdList); + + // 鍏抽棴鎵�鏈夊伐浣� + Integer ret = roomMapper.resetRoom(BedStatusEnum.CLOSED.getStatus()); + } + } -- Gitblit v1.9.3