package cn.lihu.jh.module.ecg.service.queue; import cn.lihu.jh.module.ecg.controller.admin.queue.vo.*; import cn.lihu.jh.module.ecg.dal.dataobject.queue.QueueDO; import cn.lihu.jh.framework.common.pojo.PageResult; import javax.validation.Valid; import java.util.List; /** * 排队 Service 接口 * * @author 芋道源码 */ public interface QueueService { void startBiz(); /** * 创建排队 * * @param createReqVO 创建信息 * @return 编号 */ Integer createqueue(@Valid QueueSaveReqVO createReqVO); /** * 更新排队 * * @param updateReqVO 更新信息 */ void updatequeue(@Valid QueueSaveReqVO updateReqVO); /** * 删除排队 * * @param id 编号 */ void deletequeue(Integer id); /** * 获得排队 * * @param id 编号 * @return 排队 */ QueueDO getqueue(Integer id); /** * 获得排队分页 * * @param pageReqVO 分页查询 * @return 排队分页 */ PageResult getqueuePage(QueuePageReqVO pageReqVO); /** * 患者排队 * @param queueSaveReqVO */ void queue(QueueSaveReqVO queueSaveReqVO); /** * 系统重启时,从DB同步工位的患者队列数据到 工位优先队列 */ void initQueue(); /** * 开诊前一刻,对 就诊准备的 人员 重新排序 */ void reorderQueue(); /** * 把医生候诊的队列塞满 */ void hurryup(); /** * 医生叫下一位患者 */ void finishNextPatient(Long roomId, String bedNo); /** * 医生看完患者 */ void passNextPatient(Long roomId, String bedNo); List getDoctorQueueByStatus(Long roomId, String bedNo, List statusList); PatientStatisticVO getPatientStatistic(Long roomId, String bedNo); }