| | |
| | | queueMapper.deleteById(id); |
| | | } |
| | | |
| | | @Override |
| | | public Integer bedControl(Long roomId, String bedNo, Integer status) { |
| | | // 营业期间不能关闭工位 |
| | | if ( status == 0 && openingFlag.get() == 1 ) |
| | | return 301; |
| | | |
| | | // 当前状态 |
| | | roomMapper.select |
| | | |
| | | // DB update |
| | | Integer updateNum = roomMapper.setBedStatus(roomId, bedNo, status); |
| | | if ( null==updateNum || 0 == updateNum ) |
| | | return 310; |
| | | |
| | | if ( status == 10 ) { |
| | | BedQueueBO bedQueueBO = new BedQueueBO(); |
| | | bedQueueBO.setRoomId(roomId); |
| | | bedQueueBO.setBedNo(bedNo); |
| | | bedQueueBO.setMaxQueueNum(MAX_QUEUE_NUM); |
| | | bedQueueBO.setQueueNum(new AtomicInteger(0)); |
| | | priorityQueue.offer(bedQueueBO); |
| | | mapBedVsQueue.put(String.format("%09d%s", bedQueueBO.roomId, bedQueueBO.bedNo), bedQueueBO); |
| | | } |
| | | |
| | | return 0; |
| | | } |
| | | |
| | | private void validatequeueExists(Integer id) { |
| | | if (queueMapper.selectById(id) == null) { |
| | | throw exception(QUEUE_NOT_EXISTS); |
| | |
| | | } |
| | | |
| | | public void startBiz() { |
| | | if (1 == openingFlag.get()) |
| | | return; |
| | | |
| | | // 清除非当天的排队人员 |
| | | queueMapper.clearQueue(); |
| | | |
| | |
| | | hurryup(); |
| | | } |
| | | |
| | | public void closeBiz() { |
| | | openingFlag.set(0); |
| | | } |
| | | |
| | | @Override |
| | | public Integer recallPatient(Long roomId, String bedNo, String patId) { |
| | | Integer updateNum = queueMapper.passedPatientReturn(roomId, bedNo, patId, |