| | |
| | | { ============================================================================== |
| | | 方法名稱:GetServerDate |
| | | 引用相依:ProcessServlet_Get |
| | | 方法描述:從伺服器獲取伺服器時間。透過 HTTPS 請求取得時間字串,解析日期與時間,並 |
| | | 計算 Server 與本機的時間差(Balance)供後續校時使用。 |
| | | 引用相依:GetBalance, ProcessServlet_Get |
| | | 方法描述:【獲取伺服器時間與校時】 |
| | | 1. 請求:透過 HTTPS GET 請求 IMGPSC01/servertimeforocx。 |
| | | 2. 解析:取得 14 位數時間字串 (YYYYMMDDHHNNSS)。 |
| | | 3. 校時:截取前 8 碼存入 ServerDate,後 6 碼存入 ServerTime。 |
| | | 4. 同步:呼叫 GetBalance 計算伺服器與本機的時間差 (Balance),確保後續加密 |
| | | 請求的時間戳記精確。 |
| | | 5. 安全:處理 Session 逾時自動導向登入頁面的情況。 |
| | | ============================================================================== } |
| | | Function TCB_IMGPSScanX.GetServerDate : Boolean; |
| | | begin |
| | |
| | | |
| | | { ============================================================================== |
| | | 方法名稱:GetSampleInf |
| | | 引用相依:ProcessServlet_Get |
| | | 方法描述:從伺服器獲取已註冊的範本表單 ID 清單,並存入 SampleFormIDList。 |
| | | 引用相依:ProcessServlet_Get, SampleFormIDList |
| | | 方法描述:【獲取已註冊表單範本清單】 |
| | | 1. 從伺服器取得該作業別 (FWork_no) 下所有已完成樣張註冊的 FormID。 |
| | | 2. 回傳格式為 CommaText 字串。 |
| | | 3. 解析並存入 SampleFormIDList,用於判斷掃瞄影像是否具備標準定位與 |
| | | OMR 檢核規格。 |
| | | ============================================================================== } |
| | | Function TCB_IMGPSScanX.GetSampleInf : Boolean; |
| | | var |
| | |
| | | |
| | | { ============================================================================== |
| | | 方法名稱:GetSetInf1 |
| | | 引用相依:En_DecryptionStr_Base64, ProcessServlet_Get |
| | | 方法描述:向伺服器請求 DOC_INF 資料表資訊(模式 1)。方法會加密目前伺服器時間戳記 |
| | | 並發送 HTTP GET 請求。若成功取得資料(狀態碼 '0'),則利用 SetSQLData 將 |
| | | 結果解析並存入本地快取 Doc_Inf_List;若發生通訊錯誤或 Session 逾時(偵 |
| | | 測到登入頁面標籤),則會記錄對應的 HttpErrStr 並返回 False。 |
| | | 引用相依:En_DecryptionStr_Base64, ProcessServlet_Get, SetSQLData |
| | | 方法描述:【同步 DOC_INF 文件資訊】 |
| | | 向伺服器請求 DOC_INF 資料表(Mode 1)。此表定義了作業別下所有的文件類別、 |
| | | 版本、是否需分份 (IS_DOC_DIV) 以及是否入庫 (IS_IN_WH) 等關鍵屬性。 |
| | | 取得資料後解析並存入本地快取 Doc_Inf_List。 |
| | | ============================================================================== } |
| | | Function TCB_IMGPSScanX.GetSetInf1 : Boolean; //取系統設定資訊Mode1 DOC_INF |
| | | Var |
| | |
| | | |
| | | { ============================================================================== |
| | | 方法名稱:GetSetInf2 |
| | | 引用相依:En_DecryptionStr_Base64, ProcessServlet_Get |
| | | 方法描述:向伺服器請求 DM_FORM_INF 表單關聯資訊(模式 2)。流程包含加密請求參數與 |
| | | 發送 GET 請求。此方法負責取得表單間的主從關係、相依性以及互斥規則,並將 |
| | | 回傳的資料行解析後存入本地的 DM_FORM_INF_List。若通訊失敗或 Session |
| | | 過期,會設定錯誤訊息並中斷流程。 |
| | | 引用相依:En_DecryptionStr_Base64, ProcessServlet_Get, SetSQLData |
| | | 方法描述:【同步 DM_FORM_INF 表單關聯規則】 |
| | | 向伺服器請求 DM_FORM_INF 表單關聯資訊(Mode 2)。負責取得表單間的 |
| | | 主從關係、相依性 (DEPE_FORM_ID) 以及互斥規則 (MUTEX_FORM_ID)。 |
| | | 解析後存入本地 DM_FORM_INF_List 以供後續檢核使用。 |
| | | ============================================================================== } |
| | | Function TCB_IMGPSScanX.GetSetInf2 : Boolean; //取系統設定資訊Mode2 DM_FORM_INF |
| | | var |
| | |
| | | |
| | | { ============================================================================== |
| | | 方法名稱:GetSetInf3 |
| | | 引用相依:En_DecryptionStr_Base64, ProcessServlet_Get |
| | | 方法描述:向伺服器請求 FORM_INF 表單詳細資料(模式 3)。方法會取得包含表單名稱、說 |
| | | 明、分類、定位點類型(ANCHOR/FRAME)、最大頁數及預設高寬等中繼數據。取得的 |
| | | 資料會被快取至 FORM_INF_List,作為影像處理(如自動縮放與 OMR 檢核)的重 |
| | | 要依據。 |
| | | 引用相依:En_DecryptionStr_Base64, ProcessServlet_Get, SetSQLData |
| | | 方法描述:【同步 FORM_INF 表單規格資訊】 |
| | | 向伺服器請求 FORM_INF 實體規格(Mode 3)。取得包含表單名稱、定位點類型 |
| | | (ANCHOR/FRAME)、最大頁數及預設高寬等數據。快取至 FORM_INF_List, |
| | | 作為影像自動縮放與 OMR 檢核的位置基準。 |
| | | ============================================================================== } |
| | | Function TCB_IMGPSScanX.GetSetInf3 : Boolean; //取系統設定資訊mode3 FORM_INF |
| | | var |
| | |
| | | |
| | | { ============================================================================== |
| | | 方法名稱:GetSetInf4 |
| | | 引用相依:En_DecryptionStr_Base64, ProcessServlet_Get |
| | | 方法描述:向伺服器請求 CHECK_RULE_INF 檢核規則資訊(模式 4)。此方法取得包含檢核 |
| | | 代號、描述及顯示類型在內的驗證規則,並將其儲存於 CHECK_RULE_INF_List。 |
| | | 最後會呼叫 CheckRule2OMRErrInfo,將取得的規則同步更新至 OMR 錯誤資訊 |
| | | 記錄中,以確保前端檢核邏輯與伺服器同步。 |
| | | 引用相依:CheckRule2OMRErrInfo, En_DecryptionStr_Base64, ProcessServlet_Get, SetSQLData |
| | | 方法描述:【同步 CHECK_RULE_INF 檢核規則】 |
| | | 向伺服器請求 CHECK_RULE_INF 檢核定義(Mode 4)。取得包含檢核代號、 |
| | | 錯誤描述及訊息顯示類型。同步更新至 OMR 錯誤資訊記錄 (CheckRule2OMRErrInfo), |
| | | 確保前端檢核邏輯與伺服器定義同步。 |
| | | ============================================================================== } |
| | | Function TCB_IMGPSScanX.GetSetInf4 : Boolean; //取系統設定資訊mode4 CHECK_RULE_INF |
| | | var |
| | |
| | | |
| | | { ============================================================================== |
| | | 方法名稱:GetSetInf5 |
| | | 引用相依:En_DecryptionStr_Base64, ProcessServlet_Get |
| | | 方法描述:向伺服器請求 MEMO_INF 註記資訊(模式 5)。方法會取得預設的註記內容及其 |
| | | 對應的類型名稱,並將其快取至 MEMO_INF_List。這些資料通常用於 UI 上的註 |
| | | 記選擇選單,方便掃瞄人員在影像處理過程中快速標註預設的說明文字。 |
| | | 引用相依:En_DecryptionStr_Base64, ProcessServlet_Get, SetSQLData |
| | | 方法描述:【同步 MEMO_INF 註記資訊】 |
| | | 向伺服器請求 MEMO_INF 註記資訊(Mode 5)。取得系統預設的註記內容與類型, |
| | | 快取至 MEMO_INF_List 用於介面上的快速標註選單。 |
| | | ============================================================================== } |
| | | Function TCB_IMGPSScanX.GetSetInf5 : Boolean; //取系統設定資訊mode5 MEMO_INF |
| | | var |
| | |
| | | |
| | | { ============================================================================== |
| | | 方法名稱:GetSetInf6 |
| | | 引用相依:En_DecryptionStr_Base64, ProcessServlet_Get |
| | | 方法描述:向伺服器請求 WORK_INF 工作參數資訊(模式 6)。此方法取得當前工作項目的 |
| | | 全域參數(如 PARA_NO 與 PARA_CONTENT),並儲存於 WORK_INF_List。這些參數 |
| | | 控制了掃瞄器的預設行為(如 DPI、雙面掃瞄等),是系統初始化環境設定的關鍵 |
| | | 步驟。 |
| | | 引用相依:En_DecryptionStr_Base64, ProcessServlet_Get, SetSQLData |
| | | 方法描述:【同步 WORK_INF 作業全域參數】 |
| | | 向伺服器請求 WORK_INF 參數資訊(Mode 6)。取得控制掃瞄器與系統行為的 |
| | | 關鍵參數 (如 DPI, 雙面掃瞄, 上傳大小限制),是系統初始化環境設定的核心步驟。 |
| | | ============================================================================== } |
| | | Function TCB_IMGPSScanX.GetSetInf6 : Boolean; //取系統設定資訊mode5 WORK_INF |
| | | var |
| | |
| | | |
| | | { ============================================================================== |
| | | 方法名稱:GetSetInf7 |
| | | 引用相依:En_DecryptionStr_Base64, ProcessServlet_Get |
| | | 方法描述:向伺服器請求 LASTEST_FORM_INF 最新表單版本資訊(模式 7)。方法會獲取各 |
| | | 文件編號對應的最新表單 ID 與版本號,並儲存於 LASTEST_FORM_INF_List。此 |
| | | 資訊用於確保使用者掃瞄的是最新版表單,或是用於舊案件轉檔時的版本對照。 |
| | | 引用相依:En_DecryptionStr_Base64, ProcessServlet_Get, SetSQLData |
| | | 方法描述:【同步 LASTEST_FORM_INF 最新版本資訊】 |
| | | 向伺服器請求各文件編號對應的最新表單 ID(Mode 7)。用於確保目前處理的 |
| | | 是最新版本,或在舊件轉檔時進行版本對比。 |
| | | ============================================================================== } |
| | | Function TCB_IMGPSScanX.GetSetInf7 : Boolean; //取系統設定資訊mode5 LASTEST_FORM_INF |
| | | var |
| | |
| | | |
| | | { ============================================================================== |
| | | 方法名稱:TransOldCaseFile |
| | | 引用相依:FileExists, upFile |
| | | 方法描述:處理舊件引用的檔案傳送。遍歷舊件清單,若發現有引用記錄,則透過 HTTPS 將 |
| | | 引用資訊上傳至伺服器,並處理伺服器回傳狀態。 |
| | | 引用相依:HTTPEncode, SplitString, UTF8Encode, upFile |
| | | 方法描述:【執行舊件引用關聯上傳】 |
| | | 針對補件模式 (ESCAN) 下引用的歷史案件: |
| | | 1. 解析 FOldCaseInfo 中的 Tab 分隔元資料(案號、年度、校驗碼)。 |
| | | 2. 檢查本地是否有對應舊件的 UseCase.ini。 |
| | | 3. 透過 useOther 服務上傳關聯資訊,確保伺服器能正確引入歷史影像資料。 |
| | | ============================================================================== } |
| | | Function TCB_IMGPSScanX.TransOldCaseFile(Path:String):Boolean; |
| | | var |
| | |
| | | |
| | | { ============================================================================== |
| | | 方法名稱:Writelog |
| | | 引用相依: |
| | | 方法描述:透過 ProcessServlet 向伺服器發送列印日誌記錄。傳送案件編號與 FData 等 |
| | | 參數,並檢查伺服器回傳是否成功或 Session 是否失效。 |
| | | 引用相依:HTTPEncode, ProcessServlet, UTF8Encode |
| | | 方法描述:【傳送列印稽核日誌】 |
| | | 將案件編號與執行人員資訊傳送至伺服器 printlog 服務,用於記錄列印行為 |
| | | 與稽核追蹤。 |
| | | ============================================================================== } |
| | | Function TCB_IMGPSScanX.Writelog(CaseID : String):Boolean; |
| | | var |
| | |
| | | |
| | | { ============================================================================== |
| | | 方法名稱:DownLanguage |
| | | 引用相依:dnFile, dnFile_Get |
| | | 方法描述:從伺服器下載多國語言設定檔 Language.Lng。使用 HTTPS 客戶端執行 GET 請 |
| | | 求,下載至本地語系路徑。下載後會檢查回傳內容,驗證是否發生錯誤、伺服器回 |
| | | 傳錯誤訊息,或是因為閒置過久導致 Session 過期被導向登入頁面,並設定對 |
| | | 應的錯誤字串。 |
| | | 引用相依:dnFile_Get |
| | | 方法描述:【同步多國語言設定檔】 |
| | | 從伺服器下載 Language.Lng,實現系統介面標籤與提示訊息的語系動態載入。 |
| | | ============================================================================== } |
| | | Function TCB_IMGPSScanX.DownLanguage:Boolean; //下載多國語言檔 |
| | | begin |
| | |
| | | |
| | | { ============================================================================== |
| | | 方法名稱:GetOMRCheckSet |
| | | 引用相依:FileExists, LoadFromFile, SaveToFile, dnFile, dnFile_Get |
| | | 方法描述:從伺服器下載並更新 OMR 檢核設定檔(OMRSet.zip)。程序會檢查本地 LastDat |
| | | eTime.dat 取得最後更新時間,並發送請求。若伺服器有新資料,則下載後解壓 |
| | | 縮並更新本地時間戳記;若無更新則維持現狀,並包含完整的錯誤處理邏輯。 |
| | | 引用相依:ExecuteUnZip, GetBalance2Time, dnFile_Get |
| | | 方法描述:【增量更新 OMR 檢核配置】 |
| | | 1. 讀取本地 LastDateTime.dat 取得最後更新點。 |
| | | 2. 請求 settings (settype=3) 以獲取最新的 OMR 規則 ZIP 包。 |
| | | 3. 若有新資料,下載後解壓縮並更新本地時間戳記,確保檢核邏輯維持最新。 |
| | | ============================================================================== } |
| | | Function TCB_IMGPSScanX.GetOMRCheckSet : Boolean; //下載OMR檢核XML檔 |
| | | var |
| | |
| | | |
| | | { ============================================================================== |
| | | 方法名稱:GetKeyinSet |
| | | 引用相依:FileExists, LoadFromFile, SaveToFile, dnFile, dnFile_Get |
| | | 方法描述:從伺服器下載並更新登打設定檔(KeyinSet.zip)。運作機制與 GetOMRCheckSet |
| | | 相同,透過比對時間戳記決定是否執行下載與解壓縮,確保本地的登打定位資 |
| | | 訊與伺服器同步。 |
| | | 引用相依:ExecuteUnZip, GetBalance2Time, dnFile_Get |
| | | 方法描述:【增量更新登打欄位配置】 |
| | | 1. 請求 settings (settype=2) 獲取最新的登打定位設定 ZIP 包。 |
| | | 2. 機制與 OMR 更新相同,確保掃瞄人員在進行欄位校對時具備最新的欄位座標。 |
| | | ============================================================================== } |
| | | Function TCB_IMGPSScanX.GetKeyinSet : Boolean; //取登打設定 |
| | | var |
| | |
| | | |
| | | { ============================================================================== |
| | | 方法名稱:CaseAsk |
| | | 引用相依:ProcessServlet_Get |
| | | 方法描述:在上傳案件前,向伺服器詢問該案件是否可進行傳送。針對 NSCAN 或 DSCAN 模 |
| | | 式,會封裝案件編號與加密驗證資訊發送至 IMGPSC05/isnew 服務。根據伺服器 |
| | | 回傳結果(0 表示可上傳,1 表示重複),決定後續的上傳流程。 |
| | | 引用相依:HTTPEncode, ProcessServlet_Get, UTF8Encode |
| | | 方法描述:【上傳前置重複案號檢查】 |
| | | 針對 NSCAN/DSCAN 模式,向伺服器確認案號是否可上傳。 |
| | | - 伺服器回傳 '0':新案件,可繼續上傳。 |
| | | - 伺服器回傳 '1':案件已存在或重複處理中。 |
| | | ============================================================================== } |
| | | Function TCB_IMGPSScanX.CaseAsk(CaseID: string):Integer; |
| | | var |
| | |
| | | |
| | | { ============================================================================== |
| | | 方法名稱:CaseComplete |
| | | 引用相依:En_DecryptionStr_Base64, FileExists, LoadFromFile |
| | | 方法描述:通知伺服器案件傳送完成。函式會收集案件的各項元數據,包含總頁數、主表單 |
| | | ID、經辦資訊、被保人資料等,並根據不同的業務模式(如 NSCAN, ESCAN)格式化 |
| | | 發送數據。若包含 OMR 檢核失敗資訊或備註,也會一併封裝傳送,最後根據伺服 |
| | | 器回傳值判定作業是否成功。 |
| | | 引用相依:En_DecryptionStr_Base64, GetCaseFormID, GetBalance2Time, |
| | | HTTPEncode, ProcessServlet, UTF8Encode |
| | | 方法描述:【上傳結案通知與元數據傳送】 |
| | | 在影像 ZIP 包傳輸成功後,通知伺服器處理入庫: |
| | | 1. 封裝數據:包含 OMR 辨識值 (GetValue.xml)、經辦資訊、案件優先級、 |
| | | 被保人資料、檢核備註 (CheckMemo) 與排除原因 (RemoveMemo)。 |
| | | 2. 分流處理:根據業務模式呼叫不同的 Servlet (CWC05/08/09) 觸發後端 |
| | | 資料庫寫入。 |
| | | 3. 異常監控:若回傳非 '0',則代表後端處理失敗,提示使用者錯誤原因。 |
| | | ============================================================================== } |
| | | Function TCB_IMGPSScanX.CaseComplete(Path,CaseID:String;MainCase:Boolean):Boolean; //通知傳送完成 |
| | | var |