From 7bc725bea3fa8e02e952635dcbb1a493e4a74a13 Mon Sep 17 00:00:00 2001 From: eight <641137800@qq.com> Date: 星期六, 12 十月 2024 11:41:41 +0800 Subject: [PATCH] update --- jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/QueueServiceImpl.java | 73 ++++++++++++++++++++++++++---------- 1 files changed, 52 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 f5224de..1fcbd19 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,24 +13,20 @@ 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; import cn.lihu.jh.framework.common.pojo.PageResult; import cn.lihu.jh.framework.common.util.object.BeanUtils; -import cn.lihu.jh.module.ecg.dal.mysql.queue.queueMapper; +import cn.lihu.jh.module.ecg.dal.mysql.queue.QueueMapper; import static cn.lihu.jh.module.ecg.enums.ErrorCodeConstants.*; import static cn.lihu.jh.framework.common.exception.util.ServiceExceptionUtil.exception; import static cn.lihu.jh.framework.common.pojo.CommonResult.error; @@ -54,7 +49,7 @@ private OAuth2TokenApi oAuth2TokenApi; @Resource - private queueMapper queueMapper; + private QueueMapper queueMapper; @Resource private RoomMapper roomMapper; @@ -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,15 +235,15 @@ public void startBedReload() { singleThreadExecutor.execute( () -> { queueServiceTxFunctions.bedReload(); - queueServiceTxFunctions.hurryup(); + queueServiceTxFunctions.hurryupAllBed(); queueServiceTxFunctions.monitorInfo(); }); } @Override - public void startResetRoom() { + public void startResetRoom(Boolean needCloseBed) { singleThreadExecutor.execute( () -> { - queueServiceTxFunctions.resetRoom(); + queueServiceTxFunctions.resetRoom(needCloseBed); queueServiceTxFunctions.bedReload(); 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,10 +303,32 @@ devRent.setState( DevRentStateEnum.FREE.getState() ); devRentMapper.insert(devRent); - startHurryUp(); + startHurryUpOneCheckType( queue.getBookCheckType() ); } + // 甯歌妫�鏌� 鍙彿 + @Override public void finishNextPatient(Long roomId, String bedNo) { + // 浠� DB 鎶� 灏辫瘖涓殑浜� 璁剧疆涓哄氨璇婂畬鎴� + Integer ret = queueMapper.updateQueueStatus(roomId, bedNo, + QueueStatusEnum.ONSTAGE.getStatus(), QueueStatusEnum.FINISH.getStatus()); + + startNextPatient(roomId, bedNo); + } + + // 棰嗙敤 鍙彿 + @Override + public void finishReceiveNextPatient(Long roomId, String bedNo) { + // 浠� DB 鎶� 灏辫瘖涓殑浜� 璁剧疆涓哄氨璇婂畬鎴� + Integer ret = queueMapper.updateQueueStatus(roomId, bedNo, + QueueStatusEnum.ONSTAGE.getStatus(), QueueStatusEnum.RECEIVED.getStatus()); + + startNextPatient(roomId, bedNo); + } + + // 瑁呮満 鍙彿 + @Override + public void finishInstallNextPatient(Long roomId, String bedNo) { // 浠� DB 鎶� 灏辫瘖涓殑浜� 璁剧疆涓哄氨璇婂畬鎴� Integer ret = queueMapper.updateQueueStatus(roomId, bedNo, QueueStatusEnum.ONSTAGE.getStatus(), QueueStatusEnum.FINISH.getStatus()); @@ -320,8 +344,14 @@ startNextPatient(roomId, bedNo); } - public List<QueueDO> getDoctorQueueByStatus(Long roomId, String bedNo, List<Byte> statusList) { - List<QueueDO> queueDOList = queueMapper.getDoctorQueueByStatus(roomId, bedNo, statusList); + public List<QueueDO> getBedQueueByStatus(Long roomId, String bedNo, List<Byte> statusList) { + List<QueueDO> queueDOList = queueMapper.getBedQueueByStatus(roomId, bedNo, statusList); + return queueDOList; + } + + @Override + public List<QueueDO> getRoomQueueByStatus(Long roomId, List<Byte> statusList) { + List<QueueDO> queueDOList = queueMapper.getRoomQueueByStatus(roomId, statusList); return queueDOList; } @@ -346,9 +376,8 @@ return patientStatisticVO; } - @Override - public void setQueueReadyMax(Integer max) { - queueServiceTxFunctions.setQueueReadyMax( max ); + public void initCheckType() { + queueServiceTxFunctions.initCheckType( ); } public void startBiz() { @@ -368,14 +397,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