財政部電子發票平台 Turnkey 接收檔案檢測程式(小工具)
Turnkey 是財政部電子發票平台的一套傳送工具
說真的,這套工具還蠻陽春的,對於有獨立伺服器的公司來說,不是很好用。
首先,它必須在使用者登入的桌面中執行,無法作為服務使用
其次,它執行排程時,背後一堆開啟的視窗不能關掉
最後,處理狀況的查詢,只能在該機器上直接查詢,無法透過遠端查詢(這個真的麻煩,尤其伺服器不能隨便把帳號密碼給使用者)
這次會開發這個工具的原因在於,
財務單位她們有自己的系統會產生傳給Turnkey的XML檔案,並直接丟到Turnkey處理的資料夾下
有時後,財務的系統沒有正常產生,導致電子發票平台一直沒收到資料,搞到去懷疑Turnkey主機有問題。
因此,特別開發這樣的程式來檢測Turnkey處理資料夾下是否有檔案被丟進來,並且整理後發郵件告知使用者。
先看看Turnkey處理資料檔案的類型與結構
相對於Turnkey處理黨案的預設路徑在 C:\Program Files\EINVTurnkey\UpCast
該路徑下的資料夾結構會有對應的名稱
下面還有分類資料夾:
每個分類資料夾下還會有3個資料夾,分別是SRC、BAK、ERR
通常新進來的檔案都會放在SRC裏面,經由Turnkeyt處理以後會從SRC移除並分類放在BAK和ERR裏面
所以這支程式就是專門在偵測SRC的檔案出現,並收集檔案名稱並以郵件回報給相關使用者
程式名稱:TKReceiveDetect.exe (下載)
環境需求:dotNetFrameWork 4.5
它的偵測方式不是用定時檢查,而是使用Windows的是件觸發,因為定時檢查的間隔可能會造成檢查遺失,就是當檔案進入SRC資料夾後,直到Turnkey排程觸發取走檔案時,如果定時檢查錯過這段時間這時就會檢查不到,而若把定時檢查設定太短,則會削弱大量系統效能(檢查這些資料夾必須使用遞迴處理),而且檢查時,若檔案此時被Turnkey處理掉,也是會造成偵測漏洞。
使用事件觸發通知好處是非常即時,而且事件被觸發時就會告知目前檔案狀況。因此不會漏掉要接收的資訊。
留言