| | |
| | | List statusList = new ArrayList<BedStatusEnum>(); |
| | | statusList.add(BedStatusEnum.OPENING); |
| | | statusList.add(BedStatusEnum.DOCTOR_ON); |
| | | statusList.add(BedStatusEnum.PAUSE); |
| | | statusList.add(BedStatusEnum.DOCTOR_PAUSE); |
| | | Integer updateNum = roomMapper.setBedOpeningClosed(roomId, bedNo, |
| | | BedStatusEnum.CLOSED, statusList); |
| | | if ( null==updateNum || 0 == updateNum ) { |
| | |
| | | // DB update |
| | | List statusList = new ArrayList<BedStatusEnum>(); |
| | | statusList.add(BedStatusEnum.DOCTOR_ON); |
| | | Integer updateNum = roomMapper.setBedDoctorStatus(roomId, bedNo, docId, BedStatusEnum.PAUSE, statusList); |
| | | Integer updateNum = roomMapper.setBedDoctorStatus(roomId, bedNo, docId, BedStatusEnum.DOCTOR_PAUSE, statusList); |
| | | if ( null==updateNum || 0 == updateNum ) { |
| | | log.error("bedDoctorPause DB invalid status. " + roomId + " " + bedNo); |
| | | return ROOM_INVALID_STATUS; |
| | | } |
| | | |
| | | routingBedBO.setStatus(BedStatusEnum.PAUSE.getStatus()); |
| | | routingBedBO.setStatus(BedStatusEnum.DOCTOR_PAUSE.getStatus()); |
| | | removeRoutingQueue(routingBedBO); |
| | | return GlobalErrorCodeConstants.SUCCESS; |
| | | } |
| | | |
| | | public ErrorCode bedDoctorResume(Long roomId, String bedNo, Long docId, String docName) { |
| | | RoutingBedBO routingBedBO = mapOpeningBed.get( Utils.formatRoomBed(roomId, bedNo) ); |
| | | if (null == routingBedBO || !routingBedBO.getStatus().equals(BedStatusEnum.PAUSE.getStatus())) { |
| | | if (null == routingBedBO || !routingBedBO.getStatus().equals(BedStatusEnum.DOCTOR_PAUSE.getStatus())) { |
| | | log.error("bedDoctorResume mapBedVsQueue DONOT existed OR NOT Paused. " + roomId + " " + bedNo); |
| | | return QUEUE_BED_NOT_EXIST; |
| | | } |
| | | |
| | | // DB update |
| | | List statusList = new ArrayList<BedStatusEnum>(); |
| | | statusList.add(BedStatusEnum.PAUSE); |
| | | statusList.add(BedStatusEnum.DOCTOR_PAUSE); |
| | | Integer updateNum = roomMapper.setBedDoctorStatus(roomId, bedNo, docId, |
| | | BedStatusEnum.DOCTOR_ON, statusList); |
| | | if ( null==updateNum || 0 == updateNum ) { |
| | |
| | | // DB update |
| | | List statusList = new ArrayList<BedStatusEnum>(); |
| | | statusList.add(BedStatusEnum.DOCTOR_ON); |
| | | statusList.add(BedStatusEnum.PAUSE); |
| | | statusList.add(BedStatusEnum.DOCTOR_PAUSE); |
| | | Integer updateNum = roomMapper.setBedDoctorOff(roomId, bedNo, docId, BedStatusEnum.OPENING, statusList); |
| | | if ( null==updateNum || 0 == updateNum ) { |
| | | log.error("bedDoctorOff DB invalid status. " + roomId + " " + bedNo); |
| | |
| | | List<BedStatusEnum> bedStatusEnumList = new ArrayList<BedStatusEnum>(); |
| | | bedStatusEnumList.add(BedStatusEnum.OPENING); |
| | | bedStatusEnumList.add(BedStatusEnum.DOCTOR_ON); |
| | | bedStatusEnumList.add(BedStatusEnum.PAUSE); |
| | | bedStatusEnumList.add(BedStatusEnum.DOCTOR_PAUSE); |
| | | List<RoomDO> roomDOList = roomMapper.simpleRoomList(bedStatusEnumList); |
| | | List<RoutingBedBO> routingBedBOList = roomDOList.stream().map(item -> BeanUtils.toBean(item, RoutingBedBO.class)).toList(); |
| | | |
| | |
| | | // 踢出在座的医生 |
| | | List<BedStatusEnum> bedStatusEnumList = new ArrayList<BedStatusEnum>(); |
| | | bedStatusEnumList.add(BedStatusEnum.DOCTOR_ON); |
| | | bedStatusEnumList.add(BedStatusEnum.PAUSE); |
| | | bedStatusEnumList.add(BedStatusEnum.DOCTOR_PAUSE); |
| | | List<RoomDO> roomDOList = roomMapper.simpleRoomList(bedStatusEnumList); |
| | | List<Long> userIdList = roomDOList.stream().map(roomDO -> roomDO.getDocId()).toList(); |
| | | oAuth2TokenApi.tick(userIdList); |
| | |
| | | private void roomBedStatistic(MonitorInfoVO monitorInfoVO) { |
| | | Map<Integer, Integer> mapOpeningCheckBedStatInfo = new HashMap<>(); |
| | | Map<Integer, Integer> mapOpeningInstallBedStatInfo = new HashMap<>(); |
| | | Map<Integer, Integer> mapOperatingCheckBedStatInfo = new HashMap<>(); |
| | | Map<Integer, Integer> mapOperatingInstallBedStatInfo = new HashMap<>(); |
| | | Map<Integer, Integer> mapDocCheckBedStatInfo = new HashMap<>(); |
| | | Map<Integer, Integer> mapDocInstallBedStatInfo = new HashMap<>(); |
| | | mapCheckTypeVsReadyMax.keySet().forEach( checkType -> { |
| | | mapOpeningCheckBedStatInfo.put(checkType, 0); |
| | | mapOpeningInstallBedStatInfo.put(checkType, 0); |
| | | mapOperatingCheckBedStatInfo.put(checkType, 0); |
| | | mapOperatingInstallBedStatInfo.put(checkType, 0); |
| | | mapDocCheckBedStatInfo.put(checkType, 0); |
| | | mapDocInstallBedStatInfo.put(checkType, 0); |
| | | }); |
| | | |
| | | //开通的 和 运营中 的工位统计 |
| | |
| | | else |
| | | mapOpeningInstallBedStatInfo.put(checkType, mapOpeningInstallBedStatInfo.get(checkType) + 1 ); |
| | | |
| | | if (bedQueueBO.getStatus() == BedStatusEnum.DOCTOR_ON.getStatus()) { |
| | | if (bedQueueBO.getStatus() == BedStatusEnum.DOCTOR_ON.getStatus() || |
| | | bedQueueBO.getStatus() == BedStatusEnum.DOCTOR_PAUSE.getStatus()) { |
| | | if (bedQueueBO.opType == 0 || bedQueueBO.opType == 1) |
| | | mapOperatingCheckBedStatInfo.put(checkType, mapOperatingCheckBedStatInfo.get(checkType) + 1); |
| | | mapDocCheckBedStatInfo.put(checkType, mapDocCheckBedStatInfo.get(checkType) + 1); |
| | | else |
| | | mapOperatingInstallBedStatInfo.put(checkType, mapOperatingInstallBedStatInfo.get(checkType) + 1); |
| | | mapDocInstallBedStatInfo.put(checkType, mapDocInstallBedStatInfo.get(checkType) + 1); |
| | | } |
| | | }); |
| | | }); |
| | |
| | | mapCheckTypeVsReadyMax.keySet().forEach( checkType -> { |
| | | String str = mapOpeningCheckBedStatInfo.get(checkType) + " " + |
| | | mapOpeningInstallBedStatInfo.get(checkType) + " " + |
| | | mapOperatingCheckBedStatInfo.get(checkType) + " " + |
| | | mapOperatingInstallBedStatInfo.get(checkType) + " "; |
| | | mapDocCheckBedStatInfo.get(checkType) + " " + |
| | | mapDocInstallBedStatInfo.get(checkType) + " "; |
| | | mapCheckTypeBedInfo.put( checkType, str); |
| | | }); |
| | | |
| | |
| | | monitorInfoVO.setOpeningBedNum(mapOpeningBed.size()); |
| | | monitorInfoVO.setDocBedNum((int) mapOpeningBed.values().stream().filter(item -> |
| | | item.getStatus() == BedStatusEnum.DOCTOR_ON.getStatus() || |
| | | item.getStatus() == BedStatusEnum.PAUSE.getStatus()) |
| | | item.getStatus() == BedStatusEnum.DOCTOR_PAUSE.getStatus()) |
| | | .count()); |
| | | monitorInfoVO.setRoutingBedNum( hashSetOperatingBedQueue.size() ); |
| | | monitorInfoVO.setMapBedVsQueue(mapOpeningBed); |