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; /** * 排队 Service 接口 * * @author 芋道源码 */ public interface QueueService { void setQueueReadyMax(Integer max); 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 startHurryUp(); void startBedReload(); 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 bedOpen(Long roomId, String roomName, String bedNo); ErrorCode bedClose(Long roomId, String bedNo); ErrorCode bedDoctorPause(Long roomId, String bedNo, Long docId, String docName); ErrorCode bedDoctorResume(Long roomId, String bedNo, Long docId, String docName); ErrorCode bedDoctorOn(Long roomId, String bedNo, Long docId, String docName); ErrorCode bedDoctorOff(Long roomId, String bedNo, Long docId, String docName); ErrorCode nextPatient(Long roomId, String bedNo); ErrorCode bedReload(); 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); /** * 把医生候诊的队列塞满 */ 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); Integer recallPatient(Long roomId, String bedNo, String patId); Integer patientJump(String patId, Byte jumped ); void monitorInfo(); }