From d40cde3bca854c21c869cb35d25ece4aa7dac265 Mon Sep 17 00:00:00 2001 From: eight <641137800@qq.com> Date: 星期四, 10 四月 2025 16:43:34 +0800 Subject: [PATCH] 检查记录 排除 未检查的记录 --- jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/room/RoomServiceImpl.java | 106 ++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 96 insertions(+), 10 deletions(-) diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/room/RoomServiceImpl.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/room/RoomServiceImpl.java index f48dcac..532d6de 100644 --- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/room/RoomServiceImpl.java +++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/room/RoomServiceImpl.java @@ -1,23 +1,26 @@ package cn.lihu.jh.module.ecg.service.room; -import cn.lihu.jh.module.ecg.controller.admin.room.vo.RoomPageReqVO; -import cn.lihu.jh.module.ecg.controller.admin.room.vo.RoomSaveReqVO; +import java.util.*; +import javax.annotation.Resource; + +import cn.lihu.jh.framework.common.pojo.PageResult; +import cn.lihu.jh.module.ecg.controller.admin.room.vo.MonitorInfoVO; import cn.lihu.jh.module.ecg.dal.dataobject.room.RoomDO; -import cn.lihu.jh.module.ecg.dal.mysql.room.RoomMapper; +import cn.lihu.jh.module.ecg.dal.dataobject.room.RoomProfile; +import cn.lihu.jh.module.ecg.enums.RoomCallingScreenEnum; +import cn.lihu.jh.module.ecg.service.queue.QueueService; +import cn.lihu.jh.module.system.api.oauth2.OAuth2TokenApi; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; -import org.springframework.transaction.annotation.Transactional; -import java.util.*; -import cn.lihu.jh.framework.common.pojo.PageResult; -import cn.lihu.jh.framework.common.pojo.PageParam; +import cn.lihu.jh.module.ecg.controller.admin.room.vo.RoomPageReqVO; +import cn.lihu.jh.module.ecg.controller.admin.room.vo.RoomSaveReqVO; +import cn.lihu.jh.module.ecg.dal.mysql.room.RoomMapper; +import cn.lihu.jh.module.ecg.enums.BedStatusEnum; import cn.lihu.jh.framework.common.util.object.BeanUtils; - -import javax.annotation.Resource; import static cn.lihu.jh.framework.common.exception.util.ServiceExceptionUtil.exception; import static cn.lihu.jh.module.ecg.enums.ErrorCodeConstants.ROOM_NOT_EXISTS; - /** * 璇婂鍜岃瘖鐤楀簥 Service 瀹炵幇绫� @@ -30,6 +33,12 @@ @Resource private RoomMapper roomMapper; + + @Resource + private OAuth2TokenApi oAuth2TokenApi; + + @Resource + QueueService queueService; @Override public Integer createRoom(RoomSaveReqVO createReqVO) { @@ -69,8 +78,85 @@ } @Override + public RoomProfile getRoomByIP(String ip, Long roomId) { + List<RoomDO> roomDOList = null; + if (null != roomId) { + roomDOList = roomMapper.selectList(RoomDO::getRoomId, roomId); + } else { + roomDOList = roomMapper.queueByIp(ip); + } + + RoomProfile roomProfile = new RoomProfile(); + roomProfile.setBedNum( 0 ); + roomProfile.setCallingScreenType( RoomCallingScreenEnum.NONE.getCallingScreenType() ); + + for (RoomDO roomDO : roomDOList) { + roomProfile.setRoomId(roomDO.getRoomId()); + roomProfile.setRoomName(roomDO.getRoomName()); + roomProfile.setBedNum( roomProfile.getBedNum() + 1); + + // 0 妫�鏌� 1 棰嗙敤 2 瑁呮満 + + // 璁$畻 璇婇棿灞忕被鍨� + if (roomProfile.getCallingScreenType() == RoomCallingScreenEnum.NONE.getCallingScreenType()) { + if ( roomDO.getOpType() == 0 ) { + roomProfile.setCallingScreenType(RoomCallingScreenEnum.CHECK_ONLY.getCallingScreenType()); + } else if ( roomDO.getOpType() == 1 ) { + roomProfile.setCallingScreenType( RoomCallingScreenEnum.RECEIVE_ONLY.getCallingScreenType()); + } else if ( roomDO.getOpType() == 2 ) { + roomProfile.setCallingScreenType( RoomCallingScreenEnum.INSTALL_ONLY.getCallingScreenType()); + } + } else if (roomProfile.getCallingScreenType() == RoomCallingScreenEnum.CHECK_ONLY.getCallingScreenType()) { + if ( roomDO.getOpType() == 0 || roomDO.getOpType() == 1 ) { + // do nothing + } else if ( roomDO.getOpType() == 2 ) { + roomProfile.setCallingScreenType( RoomCallingScreenEnum.CHECK_INSTALL.getCallingScreenType()); + } + } else if (roomProfile.getCallingScreenType() == RoomCallingScreenEnum.RECEIVE_ONLY.getCallingScreenType()) { + if ( roomDO.getOpType() == 0 || roomDO.getOpType() == 1 ) { + // do nothing + } else if ( roomDO.getOpType() == 2 ) { + roomProfile.setCallingScreenType( RoomCallingScreenEnum.RECEIVE_INSTALL.getCallingScreenType()); + } + } else if (roomProfile.getCallingScreenType() == RoomCallingScreenEnum.INSTALL_ONLY.getCallingScreenType()) { + if ( roomDO.getOpType() == 0 ) { + roomProfile.setCallingScreenType( RoomCallingScreenEnum.CHECK_INSTALL.getCallingScreenType()); + } else if ( roomDO.getOpType() == 1 ) { + roomProfile.setCallingScreenType( RoomCallingScreenEnum.RECEIVE_INSTALL.getCallingScreenType()); + } else if ( roomDO.getOpType() == 2 ) { + // do nothing + } + } else if (roomProfile.getCallingScreenType() == RoomCallingScreenEnum.RECEIVE_INSTALL.getCallingScreenType()) { + // do nothing + } else if (roomProfile.getCallingScreenType() == RoomCallingScreenEnum.CHECK_INSTALL.getCallingScreenType()) { + // do nothing + } + } + + return roomProfile; + } + + @Override public PageResult<RoomDO> getRoomPage(RoomPageReqVO pageReqVO) { return roomMapper.selectPage(pageReqVO); } + @Override + public List<RoomDO> simpleRoomList() { + List<BedStatusEnum> bedStatusEnumList = new ArrayList<BedStatusEnum>(); + bedStatusEnumList.add(BedStatusEnum.OPENING); + bedStatusEnumList.add(BedStatusEnum.DOCTOR_ON); + bedStatusEnumList.add(BedStatusEnum.DOCTOR_PAUSE); + return roomMapper.simpleRoomList(bedStatusEnumList); + } + + @Override + public void resetRoom(Boolean needCloseBed) { + queueService.startResetRoom(needCloseBed); + } + + @Override + public MonitorInfoVO getMonitorInfo() { + return queueService.getMonitorInfo(); + } } \ No newline at end of file -- Gitblit v1.9.3