| | |
| | | queueService.finishInstallNextPatient(roomId, bedNo); |
| | | |
| | | List<Byte> queueStatusList = new ArrayList<>(); |
| | | queueStatusList.add(QueueStatusEnum.RECALLED.getStatus()); |
| | | queueStatusList.add(QueueStatusEnum.READY.getStatus()); |
| | | queueStatusList.add(QueueStatusEnum.ONSTAGE.getStatus()); |
| | | queueStatusList.add(QueueStatusEnum.PASSED.getStatus()); |
| | | List<QueueDO> queueDOList = queueService.getBedQueueByStatus(roomId, bedNo, queueStatusList); |
| | | queueStatusList.add(QueueStatusEnum.RECEIVED.getStatus()); |
| | | List<QueueDO> queueDOList = queueService.getRoomQueueByStatus(roomId, queueStatusList); |
| | | |
| | | // 过滤出 就诊中的,准备叫号 |
| | | QueueDO onStageItem = queueDOList.stream().filter(item -> Objects.equals(item.getStatus(), QueueStatusEnum.ONSTAGE.getStatus())).findFirst().orElse(null); |
| | | if (null != onStageItem) { |
| | | queueStatusList.clear(); |
| | | queueStatusList.add(QueueStatusEnum.INSTALLING.getStatus()); |
| | | List<QueueDO> installingQueueDOList = queueService.getBedQueueByStatus(roomId, bedNo, queueStatusList); |
| | | queueDOList.addAll( installingQueueDOList ); |
| | | |
| | | // 过滤出 [安装中] 的,准备叫号 该工位应该 最多只有一个 [安装中] |
| | | if (installingQueueDOList.size() > 0) { |
| | | QueueDO onStageItem = installingQueueDOList.getFirst(); |
| | | CallSaveReqVO callSaveReqVO = BeanUtils.toBean(onStageItem, CallSaveReqVO.class); |
| | | callSaveReqVO.setId(null); |
| | | callService.createCall(callSaveReqVO); |
| | |
| | | List<BedQueueStatisticDO> bedQueueStatistic(@Param("roomId")Long roomId, @Param("bedNo")String bedNo); |
| | | |
| | | @Select("<script>" + |
| | | "SELECT count(1) FROM lihu.queue " + |
| | | "where room_id = #{roomId} and bed_no = #{bedNo} and status in (" + |
| | | " <foreach collection='statusList' separator=',' item='status'>" + |
| | | " #{status} " + |
| | | " </foreach> )" + |
| | | "</script>") |
| | | Integer bedQueueStatisticByStatus(@Param("roomId")Long roomId, @Param("bedNo")String bedNo, @Param("statusList")List<Byte> statusList); |
| | | |
| | | @Select("<script>" + |
| | | "SELECT * FROM lihu.queue " + |
| | | "where room_id = #{roomId} and bed_no = #{bedNo} and status in (" + |
| | | " <foreach collection='statusList' separator=',' item='status'>" + |
| | | " #{status} " + |
| | | " #{status} " + |
| | | " </foreach> )" + |
| | | " order by status desc, seq_num" + |
| | | "</script>") |
| | |
| | | } |
| | | } |
| | | |
| | | // 更新..队列状态 |
| | | queueMapper.updateBedQueueStatus(createReqVO.getRoomId(), createReqVO.getBedNo(), |
| | | QueueStatusEnum.ONSTAGE.getStatus(), QueueStatusEnum.RECEIVED.getStatus()); |
| | | |
| | | return CommonResult.success(rent_id); |
| | | } |
| | | |
| | |
| | | jobRecordMapper.updateById(jobRecordDO); |
| | | } |
| | | |
| | | // 更新..队列状态 |
| | | queueMapper.updateBedQueueStatus(createReqVO.getRoomId(), createReqVO.getBedNo(), |
| | | QueueStatusEnum.INSTALLING.getStatus(), QueueStatusEnum.FINISH.getStatus()); |
| | | |
| | | return CommonResult.success(rent_id); |
| | | } |
| | | |
| | |
| | | // 领用 叫号 |
| | | @Override |
| | | public void finishReceiveNextPatient(Long roomId, String bedNo) { |
| | | // 从 DB 把 就诊中的人 设置为就诊完成 |
| | | Integer ret = queueMapper.updateBedQueueStatus(roomId, bedNo, |
| | | QueueStatusEnum.ONSTAGE.getStatus(), QueueStatusEnum.RECEIVED.getStatus()); |
| | | // 从 DB 把 [就诊中] 的人 设置为 【已领用】 |
| | | //Integer ret = queueMapper.updateBedQueueStatus(roomId, bedNo, |
| | | // QueueStatusEnum.ONSTAGE.getStatus(), QueueStatusEnum.RECEIVED.getStatus()); |
| | | |
| | | // 从 DB 检查 该工位 是否有 [就诊中] 人员,若有就.放弃.取下一位 |
| | | List<Byte> queueStatusList = new ArrayList<>(); |
| | | queueStatusList.add(QueueStatusEnum.ONSTAGE.getStatus()); |
| | | Integer num = queueMapper.bedQueueStatisticByStatus(roomId, bedNo, queueStatusList); |
| | | if ( num != null && num > 0) |
| | | return; |
| | | |
| | | startNextPatient(roomId, bedNo); |
| | | } |
| | |
| | | @Override |
| | | public void finishInstallNextPatient(Long roomId, String bedNo) { |
| | | // 从 DB 把 [安装中] 的人 设置为 [已就诊] |
| | | Integer ret = queueMapper.updateBedQueueStatus(roomId, bedNo, |
| | | QueueStatusEnum.INSTALLING.getStatus(), QueueStatusEnum.FINISH.getStatus()); |
| | | //Integer ret = queueMapper.updateBedQueueStatus(roomId, bedNo, |
| | | // QueueStatusEnum.INSTALLING.getStatus(), QueueStatusEnum.FINISH.getStatus()); |
| | | |
| | | // 从 DB 检查 该工位 是否有 [就诊中] 人员,若有就.放弃.取下一位 |
| | | List<Byte> queueStatusList = new ArrayList<>(); |
| | | queueStatusList.add(QueueStatusEnum.INSTALLING.getStatus()); |
| | | Integer num = queueMapper.bedQueueStatisticByStatus(roomId, bedNo, queueStatusList); |
| | | if ( num != null && num > 0) |
| | | return; |
| | | |
| | | startNextInstallPatient(roomId, bedNo); |
| | | } |