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([結束])