ACS 門禁管理系統
功能流程圖

一、訪客預約申請 → 四層簽核 → 入離廠

flowchart TD A([外部申請人]) --> B[填寫訪廠申請表\n/apply] B --> C{訪廠類型} C -->|預約訪廠| D[建立四層簽核流程] C -->|施工廠商| D D --> E[Telegram 通知\n第一層:部門主管] E --> F{部門主管審核} F -->|核准| G[Telegram 通知\n第二層:管理部] F -->|拒絕| X([❌ 申請終止\n通知管理部]) G --> H{管理部審核} H -->|核准| I{是否參觀生產產線?} H -->|拒絕| X I -->|是| J[第三層:生產部] I -->|否| K[第三層:總經理] J --> L{第三層審核} K --> L L -->|核准| M[第四層:董事長] L -->|拒絕| X M --> N{董事長審核} N -->|核准| O[✅ 全數核准\n狀態:已核准\nTelegram 通知管理部] N -->|拒絕| X O --> P[訪客到廠\n警衛搜尋確認] P --> Q[點擊「入廠」] Q --> R([📍 狀態:在廠\n記錄入廠時間]) R --> S[點擊「離廠」] S --> T([🚪 狀態:已離廠\n記錄離廠時間])

二、臨時訪客補登(Walk-in)

flowchart TD A([警衛]) --> B[進入 /guard/walk-in] B --> C[填寫訪客資料\n姓名、公司、電話、來訪原因] C --> D[點擊「建立並入廠」] D --> E([✅ 立即入廠\n狀態:在廠\n無需簽核流程]) E --> F[警衛至 /guard 搜尋訪客] F --> G[點擊「離廠」] G --> H([🚪 狀態:已離廠])

三、強制放行(緊急情況)

flowchart TD A([警衛]) --> B[搜尋訪客\n/guard] B --> C[訪客狀態:待審 或 已核准] C --> D[點擊「強制放行」] D --> E[填寫強制放行原因\n必填] E --> F[確認送出] F --> G([✅ 入廠完成\n備註標記「強制放行」\n狀態:在廠]) F --> H([📨 自動 Telegram\n通知管理部])

四、車輛入廠流程(含司機確認)

flowchart TD A([警衛]) --> B[進入 /vehicles/new] B --> C[填寫車輛資料\n車牌、司機、公司、載運貨物] C --> D[點擊「建立」] D --> E[系統建立車輛記錄\n狀態:待確認] E --> F[點擊「取得確認連結」] F --> G[將連結傳送給司機] G --> H{司機能否操作?} H -->|可以| I[司機開啟連結\n核對車輛資訊] H -->|無法取得確認| J[警衛點「例外放行」\n填寫原因] I --> K[司機點擊「確認入廠」] K --> L([✅ 狀態:在廠]) J --> M([📨 自動呈報管理部]) M --> L L --> N[車輛作業完成\n警衛點「離廠」] N --> O([🚪 狀態:已離廠])

五、閘口人臉辨識入廠

flowchart TD A([員工到達閘口]) --> B[警衛開啟\n/guard/recognition] B --> C[選擇閘口 Panel] C --> D[選擇「攝影機拍照」模式] D --> E[點擊「開啟攝影機」] E --> F[對準員工人臉\n點擊「拍攝」] F --> G[確認預覽\n點擊「送出辨識」] G --> H[後端\n128維特徵向量比對] H --> I{辨識結果} I -->|matched\n符合| J([✅ 顯示姓名、部門、職稱\n自動記錄入廠事件]) I -->|low_confidence\n信心不足| K([⚠️ 顯示警告\n記錄事件\n請警衛確認身分]) I -->|unknown\n未識別| L([❌ 無法比對\n記錄事件\n警衛人工處理]) J --> M[1.5秒後\n自動重開攝影機] K --> M L --> M

六、四層簽核角色分工

flowchart LR A[訪廠申請] --> B[第一層\n部門主管\ndept_head] B -->|核准| C[第二層\n管理部\nmanagement] B -->|拒絕| Z([終止]) C -->|核准| D{參觀生產產線?} C -->|拒絕| Z D -->|是| E[第三層\n生產部主管] D -->|否| F[第三層\n總經理\nexecutive] E -->|核准| G[第四層\n董事長\ndirector] F -->|核准| G E -->|拒絕| Z F -->|拒絕| Z G -->|核准| H([✅ 全數核准]) G -->|拒絕| Z

七、申訴提交與處理流程

flowchart TD A([申訴人]) --> B[進入 /complaint\n無需登入] B --> C[選擇申訴類型] C --> D{是否匿名?} D -->|匿名| E[省略個人資料\n系統記錄 IP] D -->|非匿名| F[填寫姓名、電話、部門] E --> G[填寫事件內容\n被申訴人、日期、地點、描述] F --> G G --> H[送出申訴] H --> I([📋 核發案件編號\nCST-YYYYMMDD-XXXX\n請截圖保存]) I --> J{申訴類型} J -->|一般申訴| K([📨 Telegram\n通知管理部]) J -->|反霸凌/反性騷擾| L([📨 Telegram\n通知管理部 + 資訊部]) K --> M[管理部\n/management/complaints] L --> M M --> N[指派承辦人\n狀態:調查中] N --> O[承辦人更新備註與進度] O --> P[選擇「已結案」] P --> Q([✅ 案件結案]) R([申訴人查詢]) --> S[進入 /complaint/status] S --> T[輸入案件編號] T --> U([顯示處理狀態與備註])

八、員工人臉登錄流程

flowchart TD A([IT 管理員]) --> B[進入 /admin/face-enrollment] B --> C[搜尋員工姓名] C --> D{登錄狀態} D -->|尚未登錄| E[點擊「登錄人臉」] D -->|已登錄| F[點擊「重新登錄」] E --> G{選擇模式} F --> G G -->|上傳照片| H[選擇照片檔案] G -->|攝影機拍照| I[開啟攝影機\n拍攝正面照片] H --> J{照片規範確認\n正面 / 光線均勻 / 無遮蔽} I --> J J -->|符合| K[點擊「確認登錄」] J -->|不符合| G K --> L[後端提取\n128維特徵向量] L --> M[儲存至 face_embeddings] M --> N([✅ 狀態:已登錄]) N --> O[自動重開攝影機\n可連續為多人登錄] P([移除人臉]) --> Q[點擊垃圾桶圖示] Q --> R([🗑 人臉資料刪除])

九、使用者與組織管理流程

flowchart TD A([IT / 管理部]) --> B[進入 /admin] B --> C{選擇 Tab} C -->|使用者| D[點擊「+ 新增使用者」] D --> E[填寫姓名、部門、職稱\nEmail、電話、Telegram ID\n系統角色] E --> F[點擊「儲存」] F --> G([✅ 使用者建立]) C -->|使用者編輯| H[點擊鉛筆圖示] H --> I[修改資料 or 個人照片] I --> J[點擊「儲存」] J --> G C -->|啟用/停用| K[點擊 Toggle 圖示] K --> L([即時切換帳號狀態]) C -->|部門| M[點擊「+ 新增部門」] M --> N[輸入部門名稱] N --> O[點擊「儲存」\n代碼系統自動產生] O --> P([✅ 部門建立]) C -->|職稱| Q[點擊「+ 新增職稱」] Q --> R[輸入職稱名稱] R --> S[點擊「儲存」] S --> T([✅ 職稱建立])

十、閘口與車牌白名單管理

flowchart TD A([IT / 管理部]) --> B{管理項目} B -->|閘口管理\n/admin/gates| C[點擊「+ 新增閘口」] C --> D[填寫閘口名稱、廠別\n方向、攝影機 RTSP 位址] D --> E[點擊「儲存」] E --> F([✅ 閘口建立]) F --> G[Toggle 啟用/停用閘口] B -->|車牌白名單\n/admin/plate-whitelist| H[點擊「+ 新增」] H --> I[填寫車牌號碼\n所有人、允許廠區\n有效期間、備註] I --> J[點擊「儲存」] J --> K([✅ 白名單建立]) K --> L{車牌辨識事件送入} L -->|車牌在白名單| M([✅ 自動放行]) L -->|車牌不在白名單| N([⚠️ 記錄事件\n通知管理部])
?