查詢關鍵字:XML匯入、招標公告匯入、匯入範本、格式錯誤、案號重複、招標次數、公告序號、取代暫存、覆寫、品項匯入、機關帶入
這裡處理整份招標公告 XML;招標品項 Excel 匯入請見 TND-503。XML 檢視成功只代表檔案已通過此匯入階段並完成解析,不代表招標公告已通過完整檢視或已傳輸。
檔案檢視與格式驗證
- 畫面要求選取 XML 檔,提供 1.41 版 XML 範本與格式說明下載。後端以 UTF-8 讀取,再解析 XML。
- 解析後使用執行時的 TenderSchema.xsd 驗證結構;不符合結構會顯示驗證錯誤,找不到 ETenderSheet 宣告時有專用訊息。
- 結構通過後,系統再把選項及日期轉為內部欄位,並套用部分現行設定。這不等於已執行每個頁籤的完整商業檢核。
- 本入口檔案選取與讀取程式沒有設定「品項 Excel 的 10MB」限制;不能把其他匯入功能的檔案限制直接套用到公告 XML。部署層的上傳限制不由本文判定。
案號及招標次數如何檢查
| 情境 | 此匯入入口的判定 |
|---|---|
| 案號格式 | 案號僅允許英文字母、數字、底線 _ 與連字號 -。空值及其他欄位結構仍受 XML Schema 與後續檢核約束。 |
| 無既有正式招標與暫存 | 一般查詢回傳空清單時,匯入招標次數須為 01。 |
| 有既有正式招標 | 按招標次數找出最新一筆;匯入次數與最新次數相同會判重複,小於最新次數會判招標序號錯誤。 |
| 無招標決標案件 | 最新資料招標次數為 00、決標序號非 000 時,此檢查會阻擋匯入。 |
| 匯入較新的次數 | 此方法沒有要求必須等於前次加 1,也沒有在這裡套用正常續辦入口的完整前案狀態條件。不能把『XML 次數檢查通過』解讀為『一般第二次招標資格已確認』。 |
| 公告序號 | XML 的公告序號解析為數字時會轉為 01;匯入不是保留原公告序號來辦理當日修改或更正的同一流程。 |
| 已有暫存 | 先回到匯入畫面,提示標案已存在暫存區,再詢問是否要以匯入資料取代。 |
選擇取代既有暫存,會發生什麼事
取代入口使用本次已解析並存於工作階段的 XML 資料,依案號與機關找到既有暫存,刪除其暫存主檔及招標檔後,再呼叫一般 XML 寫入流程。這是以匯入資料重建,並不是只更新 XML 有填的欄位或將兩份資料合併。
如果刪除程序未找到可刪除的招標暫存,會顯示取代失敗。重新匯入仍會再次檢查正式案號與招標次數,因此同時存在正式區衝突時,不能認為確認取代就一定成功。關聯明細與實體檔案是否另由資料庫關聯清理,未由此方法單獨證實。
哪些資料會調整或帶入
| 資料群 | 處理方式 |
|---|---|
| 機關與聯絡資料 | 檢視階段把招標機關代碼與名稱改為目前帳號。匯入的地址、聯絡人、電話、傳真、電子郵件及單位名稱有值時多數沿用,空白時再由目前帳號/機關資料補入;與樣版路徑直接套用目前帳號電話的方式不同。 |
| 招標級距 | 依公告日期適用的公告金額門檻與採購金額調整級距;招標方式 2/12 則設為未達公告金額級距。 |
| 日期、歸屬與狀態 | XML 中的截止投標及開標日期會解析帶入。建立暫存時更新建立時間、tenderNoticeDate 及目前帳號歸屬;主檔設為招標暫存狀態,決標相關序號設 000。匯入後仍應檢查本次公告日期及等標期。 |
| 條件式欄位 | 資訊系統/資安、投標文字等會依啟用日期及上層選項清理不相容資料;電子投標為 N 時,清空『是否全部文件電子投標』。 |
| 招標品項 | 符合『isCpp=N 且複數決標=Y』,或招標方式為 12 時,才儲存匯入品項清單。這裡不會按前次已決標數量自動剔除或扣減需求。 |
| 補助、英文與技術服務 | 各自在對應旗標為 Y 時儲存對應清單或英文資料;不能因 XML 含有明細,就認為不符合條件也會寫入。 |
| 條約協定 | 此路徑有協定列儲存,但方式 2/12 的排除條件同樣使用 BigDecimal 物件參考比較,不能據此保證按代碼排除;後續仍須檢查頁籤整理與完整檢視結果。 |
常見查詢
XML 檢視成功為什麼還不能傳輸?匯入會取代暫存嗎?XML 可以匯入第二次招標嗎?招標序號錯誤是什麼意思?XML 的公告序號會保留嗎?匯入為什麼沒有品項?匯入是否自動扣掉已決標數量?
相關文章:TND-003 正常續辦資格、TND-004 續辦資料重設、TND-005 完整檢視與傳輸、TND-007 招標公告樣版、TND-503 品項 Excel、TND-504 續辦品項。
精簡程式追溯
依 2026-10-12 本機原始碼整理;未以正式環境資料重演。
tps/tps-C/src/main/resources/META-INF/resources/jsp/view/C/tpam/ImportXmlInitial.jsp:13–32、45–65,檔案選取、暫存重複取代詢問與範本下載。tps/tps-C/src/main/java/geps3/pms/tps/util/TenderImportExportXmlUtil.java:31–77,TenderSchema.xsd 結構驗證。tps/tps-C/src/main/java/geps3/pms/tps/tpam/web/TenderManagementController.java:10967–11069、11130–11281,XML 解析、級距調整、機關聯絡資料及條件清理。tps/tps-C/src/main/java/geps3/pms/tps/tpam/web/TenderManagementController.java:11584–11865,匯入前案號檢查、主檔與明細寫入。tps/tps-C/src/main/java/geps3/pms/tps/tpam/web/TenderManagementController.java:11869–11892,overrideXmlResult:刪除舊暫存後重新匯入。tps/tps-C/src/main/java/geps3/pms/tps/tpam/web/TenderManagementController.java:12124–12162,以 UTF-8 讀取 XML 檔案。tps/tps-common/src/main/java/geps3/pms/tps/common/service/impl/TenderXmlImportServiceImpl.java:130–156、164–207、249–275,招標次數檢查、案號格式、公告序號及日期解析。tps/tps-common/src/main/java/geps3/pms/tps/common/service/TenderManagementService.java:13037–13056,delPmsAndTpam:依案號與機關刪除找到的暫存主檔及招標檔。