前言
自簽了新工作合約至今,也已經工作了一個月了,從正職工作轉換回了約聘工,少不了的就是每個月得寫工時表,這真是讓我懷念起六年前剛到台北第一次當乙方的新鮮。不過依照楊藝的性格,只要是反覆做的事情,就絕對不要自己做,不然就顯得很不工程師。因此決定寫個工時表產生器,一次產足一年份,今年使用之後,下次要用就是明年的事情了。
製作發想
楊藝先前參與銀行核心專案,其中就有基礎資料的維護,剛好看到一份文件是銀行營業日維護,做法大之上是因為台灣周休二日,因此會產生一整年份的日期,六日皆為放假,隨後再透過人工的方式進行維護,將補班日、國定假日以及臨時假日(颱風假或其他天災….等),維護進去,這樣內部系統就可以判定哪些是在營業日才可以執行的作業…等。
依據這邏輯,楊藝早寫好產生一年份的日期,包含年月日以及星期幾,不過當時使用Java寫的,畢竟那是內部系統的一部分,對於現在的楊藝來說,就是要做個簡單的小工具,因此改用Python來寫,至於為什麼工作一個月才來製作,那是因為…我上個月月底才拿到Timecard文件….
手頭有了最重要的材料之後,接下來就簡單多了,使用Python產生一整年的日期,讀取Timecard的Excel範本檔案,依照欄位寫入月份、日期、星期幾、工作時數、最後將多餘的row刪除,再把工作時數的公式填入工作時數合計的欄位即可。
結果展示
結語
有了一年分的工時表之後,每個月分我只需要關注自己的請假、補班日、國定假日以及臨時假日的部分再額外編輯就好,這就是我的營業日維護😁。