編輯 | 究查 | 歷程 | 原始
flowchart TD
    Start([開始 OMRCheckCase]) --> Init[刪除暫存檔並初始化變數]
    Init --> GetMainID[取得主文件 ID]
    
    GetMainID --> CaseMain{主文件 ID 是否存在?}
    
    CaseMain -- 是 --> CheckMajor[執行主要文件頁數檢核]
    CheckMajor --> CheckDeps[執行相依與互斥文件檢核]
    CheckDeps --> CheckDisabled
    
    CaseMain -- 否 --> CheckDisabled[檢查所有表單是否停用]
    
    CheckDisabled --> MaxPage[檢查表單最大頁數限制]
    MaxPage --> LoopFiles[遍歷 OMRFileList]
    
    LoopFiles --> Resize[影像十字定位點縮放]
    Resize --> LoadRules[載入對應 XML 規則檔]
    
    LoadRules --> Rule1[必填欄位檢核 settype1]
    Rule1 --> Rule3[相關欄位關聯檢核 settype3]
    Rule3 --> Rule8[互斥欄位關聯檢核 settype8]
    Rule8 --> Rule4[相依文件檢核 settype4]
    Rule4 --> Rule5[互斥文件檢核 settype5]
    Rule5 --> Rule6[備註檢核 settype6]
    Rule6 --> Rule7[OMR 帶值處理 settype7]
    
    Rule7 --> NextFile[下一張影像]
    NextFile --> LoopFiles
    
    LoopFiles -- 遍歷結束 --> FinalResult[返回 CaseOk 結果]
    FinalResult --> End([結束])