| | |
| | | |
| | | import cn.lihu.jh.module.ecg.Utils; |
| | | import cn.lihu.jh.module.ecg.controller.admin.room.vo.MonitorInfoVO; |
| | | import cn.lihu.jh.module.ecg.dal.dataobject.checktype.CheckTypeDO; |
| | | 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; |
| | |
| | | e.printStackTrace(); |
| | | } |
| | | |
| | | System.out.println("startBedDoctorOff ========"); |
| | | //System.out.println("startBedDoctorOff ========"); |
| | | return ECG_INNER_ERROR; |
| | | } |
| | | |
| | |
| | | e.printStackTrace(); |
| | | } |
| | | |
| | | System.out.println("startNextPatient ========"); |
| | | //System.out.println("startNextPatient ========"); |
| | | return ECG_INNER_ERROR; |
| | | } |
| | | |
| | |
| | | @Override |
| | | @Transactional |
| | | public void queue(QueueSaveReqVO queueSaveReqVO) { |
| | | queueSaveReqVO.setStatus(QueueStatusEnum.WAITING.getStatus()); //排队中 |
| | | queueSaveReqVO.setStatus(QueueStatusEnum.WAITING.getStatus()); //默认状态: 排队中 |
| | | |
| | | // 处理 检查项目.亲和性 逻辑 |
| | | CheckTypeDO checkTypeDO = queueServiceTxFunctions.getCheckTypeItem( queueSaveReqVO.getBookCheckType() ); |
| | | if ( checkTypeDO.getAffinityCheckTypes().length > 0) { |
| | | List<QueueDO> affinityItems = queueMapper.getCurPatGivenCheckTypes(queueSaveReqVO.getPatId(), checkTypeDO.getAffinityCheckTypes()); |
| | | |
| | | for (int i=0; i < affinityItems.size(); i++) { |
| | | QueueDO queueItem = affinityItems.get(i); |
| | | if (QueueStatusEnum.READY.getStatus() == queueItem.getStatus() |
| | | || QueueStatusEnum.ONSTAGE.getStatus() == queueItem.getStatus()) { |
| | | queueSaveReqVO.setStatus(QueueStatusEnum.AFFINITY_WAITING.getStatus()); //改变 排队状态 |
| | | queueSaveReqVO.setRoomId(queueItem.getRoomId()); |
| | | queueSaveReqVO.setRoomName(queueItem.getRoomName()); |
| | | queueSaveReqVO.setBedNo(queueItem.getBedNo()); |
| | | queueSaveReqVO.setSeqNum(queueItem.getSeqNum()); |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | |
| | | QueueDO queue = BeanUtils.toBean(queueSaveReqVO, QueueDO.class); |
| | | queueMapper.insert(queue); |
| | | |
| | | DevRentDO devRent = BeanUtils.toBean(queueSaveReqVO, DevRentDO.class); |
| | | devRent.setState( DevRentStateEnum.FREE.getState() ); |
| | | devRent.setPatDetails( queueSaveReqVO.getPatDetails() ); |
| | | devRent.setCheckType( queueSaveReqVO.getBookCheckType() ); |
| | | devRentMapper.insert(devRent); |
| | | |
| | | startHurryUpOneCheckType( queue.getBookCheckType() ); |
| | |
| | | // QueueStatusEnum.ONSTAGE.getStatus(), QueueStatusEnum.FINISH.getStatus()); |
| | | |
| | | // 从 DB 检查 该工位 是否有 [就诊中] 人员,若有就.放弃取下一位 |
| | | List<Byte> queueStatusList = new ArrayList<>(); |
| | | List<Integer> queueStatusList = new ArrayList<>(); |
| | | queueStatusList.add(QueueStatusEnum.ONSTAGE.getStatus()); |
| | | Integer num = queueMapper.bedQueueStatisticByStatus(roomId, bedNo, queueStatusList); |
| | | if ( num != null && num > 0) |
| | |
| | | // 领用 叫号 |
| | | @Override |
| | | public void finishReceiveNextPatient(Long roomId, String bedNo) { |
| | | // 从 DB 把 [就诊中] 的人 设置为 【已领用】 |
| | | //Integer ret = queueMapper.updateBedQueueStatus(roomId, bedNo, |
| | | // QueueStatusEnum.ONSTAGE.getStatus(), QueueStatusEnum.RECEIVED.getStatus()); |
| | | |
| | | // 从 DB 检查 该工位 是否有 [就诊中] 人员,若有就.放弃取下一位 |
| | | List<Byte> queueStatusList = new ArrayList<>(); |
| | | List<Integer> queueStatusList = new ArrayList<>(); |
| | | queueStatusList.add(QueueStatusEnum.ONSTAGE.getStatus()); |
| | | Integer num = queueMapper.bedQueueStatisticByStatus(roomId, bedNo, queueStatusList); |
| | | if ( num != null && num > 0) |
| | |
| | | // 装机 叫号 |
| | | @Override |
| | | public void finishInstallNextPatient(Long roomId, String bedNo) { |
| | | // 从 DB 把 [安装中] 的人 设置为 [已就诊] |
| | | //Integer ret = queueMapper.updateBedQueueStatus(roomId, bedNo, |
| | | // QueueStatusEnum.INSTALLING.getStatus(), QueueStatusEnum.FINISH.getStatus()); |
| | | |
| | | // 从 DB 检查 该工位 是否有 [就诊中] 人员,若有就.放弃取下一位 |
| | | List<Byte> queueStatusList = new ArrayList<>(); |
| | | // 从 DB 检查 该工位 是否有 [安装中] 人员,若有就.放弃取下一位 |
| | | List<Integer> queueStatusList = new ArrayList<>(); |
| | | queueStatusList.add(QueueStatusEnum.INSTALLING.getStatus()); |
| | | Integer num = queueMapper.bedQueueStatisticByStatus(roomId, bedNo, queueStatusList); |
| | | if ( num != null && num > 0) |
| | |
| | | startNextPatient(roomId, bedNo); |
| | | } |
| | | |
| | | public List<QueueDO> getBedQueueByStatus(Long roomId, String bedNo, List<Byte> statusList) { |
| | | public List<QueueDO> getBedQueueByStatus(Long roomId, String bedNo, List<Integer> statusList) { |
| | | List<QueueDO> queueDOList = queueMapper.getBedQueueByStatus(roomId, bedNo, statusList); |
| | | return queueDOList; |
| | | } |
| | | |
| | | @Override |
| | | public List<QueueDO> getRoomQueueByStatus(Long roomId, List<Byte> statusList) { |
| | | public List<QueueDO> getRoomQueueByStatus(Long roomId, List<Integer> statusList) { |
| | | List<QueueDO> queueDOList = queueMapper.getRoomQueueByStatus(roomId, statusList); |
| | | return queueDOList; |
| | | } |
| | |
| | | // 统计 该工位类型的【排队中】人员数量 |
| | | RoomDO roomDO = getRoomDO(roomId, bedNo); |
| | | Integer[] checkTypes = roomDO.getCheckTypes(); |
| | | List<Byte> statusList = new ArrayList<>(); |
| | | List<Integer> statusList = new ArrayList<>(); |
| | | statusList.add(QueueStatusEnum.WAITING.getStatus()); |
| | | Integer num = queueMapper.checkTypeAndStatusStatistic(checkTypes, statusList); |
| | | patientStatisticVO.setQueuingNum(num); |
| | |
| | | // 统计 该工位类型的【排队中】人员数量 |
| | | RoomDO roomDO = getRoomDO(roomId, bedNo); |
| | | Integer[] checkTypes = roomDO.getCheckTypes(); |
| | | List<Byte> statusList = new ArrayList<>(); |
| | | List<Integer> statusList = new ArrayList<>(); |
| | | statusList.add(QueueStatusEnum.WAITING.getStatus()); |
| | | Integer num = queueMapper.checkTypeAndStatusStatistic(checkTypes, statusList); |
| | | patientStatisticVO.setQueuingNum(num); |
| | |
| | | return roomMapper.getRoomByDocId(docId); |
| | | } |
| | | |
| | | /** |
| | | * 获取 指定工位 待检查|待领用的人 |
| | | * @param roomId |
| | | * @param bedNo |
| | | * @return |
| | | */ |
| | | @Override |
| | | public List<QueueDO> getToBeCheckedPatient(Long roomId, String bedNo) { |
| | | List<Byte> queueStatusList = new ArrayList<>(); |
| | | List<Integer> queueStatusList = new ArrayList<>(); |
| | | queueStatusList.add(QueueStatusEnum.RECALLED.getStatus()); |
| | | queueStatusList.add(QueueStatusEnum.READY.getStatus()); |
| | | queueStatusList.add(QueueStatusEnum.ONSTAGE.getStatus()); |
| | |
| | | |
| | | @Override |
| | | public List<QueueDO> getToBeInstalledPatient(Long roomId, String bedNo) { |
| | | List<Byte> queueStatusList = new ArrayList<>(); |
| | | List<Integer> queueStatusList = new ArrayList<>(); |
| | | queueStatusList.add(QueueStatusEnum.RECEIVED.getStatus()); |
| | | queueStatusList.add(QueueStatusEnum.PASSED_INSTALL.getStatus()); |
| | | List<QueueDO> queueDOList = getRoomQueueByStatus(roomId, queueStatusList); |