```mermaid graph TD Start([Start PageEnd]) --> CaseMode{ScanMode?} subgraph smNew_Logic CaseMode -- smNew --> GetFormID[獲取 FormID / 導引頁 / 分案頁資訊] GetFormID --> IsDiv{偵測到分案條碼?} IsDiv -- Yes --> ResetCase[重置計數/清空 View/取得新 ScanCaseno] IsDiv -- No --> CheckCaseNo{ScanCaseno 為空?} CheckCaseNo -- Yes --> GetNoName[GetNoNameCase] CheckCaseNo -- No --> InitPath[建立目錄 Str2Dir] GetNoName --> InitPath InitPath --> DocDir[決定 ScanDocDir
處理分份數邏輯] DocDir --> SetDocList[SetDocNoList 更新目錄索引] SetDocList --> GenFileName[產生 ScanSaveFilename 序號_FormID] GenFileName --> SaveCheck{不存檔條碼?} SaveCheck -- No --> SetContext[SetContextList
更新 TreeView UI
設定 PEFileName] end CaseMode -- smReplace --> DelOld[刪除舊檔] --> SetPE[設定 PEFileName] subgraph smInsert_Logic CaseMode -- smInsert --> GetFormIDIns[獲取 FormID / DocNo] GetFormIDIns --> DocDirIns[尋找最後的 DocDir] DocDirIns --> GenFileNameIns[產生 ScanSaveFilename] GenFileNameIns --> SetContextIns[SetContextList
設定 PEFileName] end CaseMode -- smSample --> SamLogic[刪除舊檔/設定 PEFileName/顯示辨識條碼] SetContext --> EndPageEnd SetPE --> EndPageEnd SetContextIns --> EndPageEnd SamLogic --> EndPageEnd EndPageEnd([End]) ```