package cn.lihu.jh.module.ecg.service.queue; import javax.validation.Valid; import java.util.List; import cn.lihu.jh.framework.common.exception.ErrorCode; import cn.lihu.jh.framework.common.pojo.CommonResult; import cn.lihu.jh.module.ecg.controller.admin.queue.vo.*; import cn.lihu.jh.module.ecg.controller.admin.room.vo.MonitorInfoVO; import cn.lihu.jh.module.ecg.controller.admin.room.vo.RoomRespVO; import cn.lihu.jh.module.ecg.dal.dataobject.queue.QueueDO; import cn.lihu.jh.framework.common.pojo.PageResult; import cn.lihu.jh.module.ecg.dal.dataobject.room.RoomDO; /** * 排队 Service 接口 * * @author 芋道源码 */ public interface QueueService { void initCheckType(); void startBiz(); void closeBiz(); /** * 创建排队 * * @param createReqVO 创建信息 * @return 编号 */ Integer createqueue(@Valid QueueSaveReqVO createReqVO); /** * 更新排队 * * @param updateReqVO 更新信息 */ void updatequeue(@Valid QueueSaveReqVO updateReqVO); /** * 删除排队 * * @param id 编号 */ void deletequeue(Integer id); /** * 一个工位 可能支持多个检查类型, */ void startHurryUpOneBed(Long roomId, String bedNo); void startHurryUpOneCheckType(Integer checkType); void startBedReload(); void startResetRoom(Boolean needCloseBed); MonitorInfoVO getMonitorInfo(); ErrorCode startBedOpen(Long roomId, String roomName, String bedNo); ErrorCode startBedClose(Long roomId, String bedNo); ErrorCode startBedDoctorPause(Long roomId, String bedNo, Long docId, String docName); ErrorCode startBedDoctorResume(Long roomId, String bedNo, Long docId, String docName); ErrorCode startBedDoctorOn(Long roomId, String bedNo, Long docId, String docName); ErrorCode startBedDoctorOff(Long roomId, String bedNo, Long docId, String docName); ErrorCode startNextPatient(Long roomId, String bedNo); ErrorCode startNextInstallPatient(Long roomId, String bedNo); CommonResult getRoom(Long roomId, String bedNo, Long docId); /** * 获得排队 * * @param id 编号 * @return 排队 */ QueueDO getqueue(Integer id); /** * 获得排队分页 * * @param pageReqVO 分页查询 * @return 排队分页 */ PageResult getqueuePage(QueuePageReqVO pageReqVO); /** * 患者排队 * @param queueSaveReqVO */ void queue(QueueSaveReqVO queueSaveReqVO); List selectBookSeqNumByAppointIdList(List appointIdList); /** * 常规检查 医生叫下一位患者 */ void finishNextPatient(Long roomId, String bedNo); /** * 领用 医生叫下一位患者 */ void finishReceiveNextPatient(Long roomId, String bedNo); /** * 装机 医生叫下一位患者 */ void finishInstallNextPatient(Long roomId, String bedNo); /** * 过号排队中患者 */ void passWaitingPatient( String patId, Integer bookCheckType ); /** * 常规过号、领用过号 */ void passNextPatient(Long roomId, String bedNo); /** * 装机过号 */ void passInstallNextPatient(Long roomId, String bedNo); List getBedQueueByStatus(Long roomId, String bedNo, List statusList); List getRoomQueueByStatus(Long roomId, List statusList); PatientStatisticVO getPatientStatistic(Long roomId, String bedNo); PatientStatisticVO getBedDevReadyStatistic(Long roomId, String bedNo); PatientStatisticVO getBedDevInstallStatistic(Long roomId, String bedNo); Integer recallPassWaitingPatient(String patId, Integer checkType); Integer recallPatient(Long roomId, String bedNo, String patId, Integer checkType); Integer recallInstallPatient(Long roomId, String bedNo, String patId, Integer checkType, Long roomId_operator, String bedNo_operator); Integer patientJump(String patId, Integer bookCheckType, Byte jumped ); List getDocRoomInfo(Long docId); List getCheckRelatedPatient(Long roomId, String bedNo); List getInstallRelatedPatient(Long roomId, String bedNo); }