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<br/>處理分份數邏輯]
DocDir --> SetDocList[SetDocNoList 更新目錄索引]
SetDocList --> GenFileName[產生 ScanSaveFilename 序號_FormID]
GenFileName --> SaveCheck{不存檔條碼?}
SaveCheck -- No --> SetContext[SetContextList<br/>更新 TreeView UI<br/>設定 PEFileName]
end
CaseMode -- smReplace --> DelOld[刪除舊檔] --> SetPE[設定 PEFileName]
subgraph smInsert_Logic
CaseMode -- smInsert --> GetFormIDIns[獲取 FormID / DocNo]
GetFormIDIns --> DocDirIns[尋找最後的 DocDir]
DocDirIns --> GenFileNameIns[產生 ScanSaveFilename]
GenFileNameIns --> SetContextIns[SetContextList<br/>設定 PEFileName]
end
CaseMode -- smSample --> SamLogic[刪除舊檔/設定 PEFileName/顯示辨識條碼]
SetContext --> EndPageEnd
SetPE --> EndPageEnd
SetContextIns --> EndPageEnd
SamLogic --> EndPageEnd
EndPageEnd([End])