# 導檢流程


# 數據庫

導檢方式:0關閉,1自動導檢,2排隊叫號
過號機制:0關閉,n過號n桌
# Ridis
`queue_dept_list` 排隊科室
`queue_dept_num_count_`正在排隊人員,不包括正在檢查的人,后綴跟queue_code
`queue_dept_has_checked_count_`檢查完成人員,后綴跟queue_code
`queue_queue_checking_call_`正在檢查的人員,后綴更queue_code
# Queue類
*****
**入隊**
~~~
put_in_queue($order_id, $queue_code, $queue_cust_id, $queue_cfg_id)
~~~
**出隊**
~~~
go_out_queue($order_id, $queue_code)
~~~
**開始排隊**
~~~
queue_start($order_dept, $order_id)
~~~
**醫生叫號(把隊列第一個人,呼入科室檢查)**
~~~
get_dept_first_queue($queue_code, $old_order_id, $manhole_cfg_id = '')
~~~
**踢出列隊**
~~~
kick_out_queue($order_id, $queue_code, $queue_id, $queue_real_id)
~~~
**完成檢查**
~~~
finish_exam($queue_code,$order_id)
~~~
# 定時任務
*****
**初始隊列**
>清空歷史排隊數據,包括人員排隊記錄,排隊臨時隊列數據等,備份排隊信息
```
/manager/crontab/initialize_date
```
**登記入隊**
>修改用戶到檢時間為今天,限制了只有當天的體檢人才能排隊,并將訂單id寫入隊列pc端登記,會將訂單放入redis隊列中,然后用定時任務去取,1分鐘一次,每次取5個人進入隊列排隊
```
/manager/crontab/cron_sync_uncheck_order
```
**取消訂單**
>取消訂單,則退出導診排隊,要求30s執行一次
```
/manager/queueapi/crontab/order_cancel_to_quit_queue
```
**中途加減項**
>刷新排隊數據 1分鐘執行一次
```
/manager/queueapi/crontab/refresh_queue_by_union
```
**校準列隊數據**
>刷新Redis排隊數據 ,1分鐘執行一次
* 清除正在檢查的用戶
* 清除僵尸用戶
```
/manager/queueapi/crontab/refresh_queue_person_num
```