| | |
| | | // 装机时 医生 取下一位患者 |
| | | public ErrorCode nextInstallPatient(Long roomId, String bedNo) { |
| | | // 从 DB 把 序号最小的 [已领用] 的人 设置为 [安装中] |
| | | Integer updateNum = queueMapper.preemptReceivedPatient(roomId, bedNo, |
| | | QueueStatusEnum.RECEIVED.getStatus(), QueueStatusEnum.INSTALLING.getStatus()); |
| | | Integer updateNum = queueMapper.preemptToBeInstalledPatient(roomId, bedNo, |
| | | List.of(QueueStatusEnum.RECEIVED.getStatus(), QueueStatusEnum.RECALLED_INSTALL.getStatus()), |
| | | QueueStatusEnum.INSTALLING.getStatus()); |
| | | // 该工位 没有 [已领用] 人员 |
| | | if (null == updateNum || 0 == updateNum) { |
| | | return QUEUE_NOT_READY_PATIENT; |
| | |
| | | bedQueueBO.getRoomName(), |
| | | bedQueueBO.getBedNo(), |
| | | curSeqNum.get() + 1, |
| | | QueueStatusEnum.RECALLED.getStatus(), |
| | | QueueStatusEnum.RECALLED.getStatus(), // 不需要处理 [安装召回], 原因: 安装工位 没有优先队列 |
| | | QueueStatusEnum.READY.getStatus()); |
| | | if (null == updateNum || 0 == updateNum) |
| | | break; |