# 導檢系統部署和安裝
### 一、導檢屏幕環境準備
#### 網絡環境
1. 體檢系統服務器,需要開通 `9502` 端口
2. 導檢屏幕需要配置好網絡(有線,無線均可),配置好屏幕的IP(一般由醫院信息科室統一配置)
3. 確保導檢屏幕的機子,能正常訪問體檢系統,可以用屏幕瀏覽器打開體檢系統,是否可以正常訪問
### 二、后臺啟動服務
啟動前,確保swoole擴展是否可以正常使用,執行該如下`check_queue_server.sh`腳本啟動服務

添加守護進程任務
```
*/1 * * * *{path}/check_queue_server.sh
```
### 三、添加定時任務
```
0 23 * * * curl http://{host}/manager/queueapi/crontab/init > /dev/null
*/1 * * * * curl http://{host}/manager/crontab/cron_queue_subtract_list > /dev/null
*/1 * * * * curl http://{host}/manager/queueapi/crontab/refresh_queue_person_num
*/1 * * * * curl http://{host}/manager/queueapi/crontab/cancel_order_to_quit_queue
*/1 * * * * curl http://{host}/manager/queueapi/crontab/handle_add_union
*/1 * * * * curl http://{host}/manager/queueapi/crontab/handle_sub_union
*/1 * * * * curl http://{host}/manager/queueapi/crontab/handle_queue_wait_order > /dev/null
*/5 * * * * curl http://{host}/manager/crontab/dept_workload_middle > /dev/null
```
### 四、安裝導檢APP
準備一臺電腦(自己電腦,醫院電腦都可以),只要能`ping` 通屏幕IP即可,電腦安裝好`adb`工具,安裝方式不同操作系統安裝方式不一樣,百度下adb在不同操作系統下安裝方式
### 版本下載地址
http://apk.yunyii.cn/uzpj
#### 安裝命令操作
1. 鏈接導檢屏命令
````
adb connect $ip:5555
````
2. 安裝app命令
````
adb install $apk_path
`````
3. 安裝成功后,斷開鏈接,重復1,2,3步驟安裝其他屏幕
```
adb disconnect $ip
```
#### 批量安裝腳本操作
> #放開注釋,并填寫要IP地址,設置APK的路徑,然后保存`install.sh`執行該腳步即可
```
#!/bin/bash
ip_arr=(
#'10.0.114.91'
#'10.0.114.92'
#'10.0.114.93'
#'10.0.114.94'
#'10.0.114.95'
#'10.0.114.96'
#'10.0.114.97'
#'10.0.114.98'
# 前臺屏
#'10.0.114.193'
# DR屏
#'10.0.114.205'
# 彩超
#'10.0.114.79'
# 廣州市一
'10.0.2.14'
)
# apk路徑
apk_path='/Applications/MAMP/htdocs/QueueSystem/app/build/outputs/apk/release/app-release.apk'
# 應用包名
package='com.daishu.queueSystem'
echo -e "導檢屏批量安裝\n"
adb disconnect
for ip in "${ip_arr[@]}"
do
echo '開始安裝'$ip'導檢屏的應用'
adb connect $ip':5555'
adb uninstall $package
adb install $apk_path
echo $ip' install success!'
echo '正在啟動應用...'
adb shell am start -n $package'/'$package'.view.SettingActivity'
adb disconnect $ip
echo -e '應用啟動成功!\n'
done
```
#### 批量重啟屏幕 `reboot.sh`
````
#!/bin/bash
ip_arr=(
'172.30.10.58'
'172.30.10.55'
)
# 應?包名
echo -e "導檢屏批量重啟\n"
adb disconnect
for ip in "${ip_arr[@]}"
do
echo '開始重啟'$ip'導檢屏的應?'
adb connect $ip':5555'
echo '正在啟動應?...'
adb reboot
adb disconnect $ip
echo -e '應?啟動成功!\n'
done
````
> 注意:如果是Windows系統,把adb配置到環境變量中,并安裝git在git bash命令控制臺下運行shell腳本
````
./reboot.sh
````
### 五、配置APP
在開展此工作前,先和醫院確定好隊列需求后,并配置好體檢后臺的隊列設置,以及分科賬號分配導檢科室
#### 服務器地址
填體檢系統域名或者IP即可,注意主機地址后不要帶其他路徑的
#### 科室配置
單隊列無窗口:只能選一個科室
多隊列無窗口:可以多選幾個科室,建議不要超過3個
單隊列多窗口:只能選一個隊列,多窗口需要導后臺配置好
### 六、啟動app
```
adb shell am start -n com.daishu.queueSystem/com.daishu.queueSystem.view.SettingActivity
```
### 七、日志抓取
```
adb logcat -v time *:E | find "com.daishu.queueSystem" >log.text
```
* 星號`*`代表日志任意`tag`都只輸出`Error`級別以上日志;
* MacOS 命令行直接使用`*:E`會報錯`no matches found: *:E`,所以需要添加雙引號或轉義符來解決:`"*:E"`或`\*:E`