原始碼查核:2026-10-12
整理廠商聲明書、標價清單、三用文件的簽章來源與內容一致性檢核。簽章ID存在、驗章服務成功及內容一致,是不同判斷。
搜尋關鍵字:電子報價簽章,廠商聲明書未簽章,標價清單未簽章,三用文件未簽章,簽章內容不一致,重新上傳,文件是否變更,當日修改,更正公告,二招
先選哪組簽章
| 情境 | 簽章ID來源 |
|---|---|
| 新增暫存,標案狀態10 | 讀招標暫存主檔的三份簽章ID。 |
| 其他正式資料 | 先讀正式招標主檔的三份簽章ID。 |
| 更正公告且文件變更Y | 使用本輪暫存簽章ID,不能直接以舊正式簽章代替。 |
| 當日修改 | 每份優先採本輪暫存簽章,若無則回退原簽章;仍比對本次編輯XML。 |
| 方式12更正且不是文件變更Y | 此分支最後指定使用正式主檔原簽章,並與本次編輯XML比較。 |
三份文件都要檢查
任一簽章ID為空會回報該文件未簽章。程式呼叫驗章服務取得簽章原文,解析成文件資料物件,再與目前產生的XML資料比對;修改與更正以編輯中的XML為比對來源。內容不同會要求重新執行招標文件上傳;解析或驗章異常有各自錯誤訊息。
標價清單另有欄位與細項檢查;工程有「含細項」標題時,整份清單須至少一筆非標題細項。三用文件在新增暫存的比較前,會把待比對的機關簽署日期調整成原簽章日期,以避免只因這兩個日期不同而判定內容不同。
不能把比對通過解讀成逐位元完全相同
目前以各文件物件的equals方法比較,不是直接比較整份XML所有欄位或PDF。標價清單的品項比較包含名稱、項次、規格、數量、單位等;其factoryExist/製造廠列表未列入該equals。三用文件比較案號、案名、機關名稱地址、聯絡資料及截止時間等,但webUrl與機關簽章序號未列入。這些是現行比較範圍,不能寫成「改任何欄位一定觸發內容不一致」。
另外,簽章ID存在但資料庫查無簽章紀錄時,這個方法未在相同分支補一個明確的缺紀錄錯誤;標價清單空清單輔助方法也有直接回null分支。因此本文區分可確認的檢查與實作邊界,不保證每種不完整資料都會得到同一提示。
作業時如何定位
- 先看是哪一份文件錯誤,以及是未簽章、內容不一致或檢查異常。
- 確認目前模式與文件變更旗標,判斷系統採哪組簽章。
- 若是內容不一致,回查剛修改的機關、採購、期限、聲明或品項資料。
- 二招及後續招標已清除前次三文件XML與簽章,須完成本輪文件作業。
驗章服務的實際可用性與資料庫簽章內容需另外核對,本篇未以正式環境文件進行驗章測試。
精簡程式追溯
tps/tps-common/src/main/java/geps3/pms/tps/common/service/TenderManagementService.java,4439–4790;三文件簽章來源、驗章與比對。tps/tps-common/src/main/java/geps3/pms/tps/common/service/TenderManagementService.java,13715–13756、13967–13979;標價清單輔助檢核。tps/tps-common/src/main/java/geps3/pms/tps/common/util/generatepdf/to/VendorStatementTo.java,420–567;廠商聲明比較。tps/tps-common/src/main/java/geps3/pms/tps/common/util/generatepdf/to/PriceListTo.java,136–174;標價清單比較。tps/tps-common/src/main/java/geps3/pms/tps/common/util/generatepdf/to/ItemTo.java,148–206;品項比較範圍。tps/tps-common/src/main/java/geps3/pms/tps/common/util/generatepdf/to/ThreePurposeFormTo.java,338–483;三用文件比較範圍。
常見查詢詞
文件異動、異動文件、招標文件異動、文件變更、文件重傳、重新簽章。