編輯 | 究查 | 歷程 | 原始
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])