curtis
21小時前 5577f3ba7b9f0319c9b32d7080165207726d1f81
reassemble/scan/mermaid/PageEnd.md
@@ -1,38 +1,20 @@
```mermaid
graph TD
    Start([Start PageEnd]) --> CaseMode{ScanMode?}
flowchart TD
    Start([開始]) --> ModeCheck{檢查掃描模式}
    
    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
    ModeCheck -- 新案 (smNew) --> NewLogic[取得 FormID 與 DocNo, 處理分案/分份邏輯]
    ModeCheck -- 插入 (smInsert) --> InsertLogic[取得 FormID 並判斷目標文件目錄]
    ModeCheck -- 取代 (smReplace) --> ReplaceLogic[設定替換檔名與路徑]
    ModeCheck -- 範本 (smSample) --> SampleLogic[設定範本儲存路徑]
    
    CaseMode -- smReplace --> DelOld[刪除舊檔] --> SetPE[設定 PEFileName]
    NewLogic --> SubNew{是否偵測到分案頁?}
    SubNew -- 是 --> ResetCase[重置計數並取得新案號, 更新 TreeView]
    SubNew -- 否 --> CalcPath[計算儲存目錄與檔名, 更新 ContextList]
    
    subgraph smInsert_Logic
        CaseMode -- smInsert --> GetFormIDIns[獲取 FormID / DocNo]
        GetFormIDIns --> DocDirIns[尋找最後的 DocDir]
        DocDirIns --> GenFileNameIns[產生 ScanSaveFilename]
        GenFileNameIns --> SetContextIns[SetContextList<br/>設定 PEFileName]
    end
    CalcPath --> SetFileName[設定 PEFileName]
    InsertLogic --> SetFileName
    ReplaceLogic --> SetFileName
    SampleLogic --> SetFileName
    
    CaseMode -- smSample --> SamLogic[刪除舊檔/設定 PEFileName/顯示辨識條碼]
    SetContext --> EndPageEnd
    SetPE --> EndPageEnd
    SetContextIns --> EndPageEnd
    SamLogic --> EndPageEnd
    EndPageEnd([End])
    SetFileName --> End([結束])
```