公司的人事薪資及出勤系統是 我自己寫的,
今天有人提一個問題給我,假設A君早上請半天假,中午來上班2小時,又請假回去
因為我們公司很單純沒有日夜班,或輪班,所以出勤是不管你刷卡幾次我都會記下來,
但上班我去抓最早的時間,下班則抓最晚的時間...所以出勤記錄只有上班及下班.
而假單是可以連續請假,我會去判斷假日及是公休,並自動算時數
,本來是不準一天或同時段有二張假單的.
但同仁提出這個問題出來..我就有點煩腦了..
第1,這種情況沒發生過,也不會常有,雖然不表示不會有,有必要這樣為了這樣去改程式嗎?但主管交待了..
第2,如果改程式,就不能只有上班及下班的二個時間點了..要增加欄位
這樣一來,除了出勤的的批次抓取時間程式,請假單程式,出勤統計程式,人員動態,補刷卡單..等等.都要重新修改過..這樣真的好嗎?
tanpen提到:
主管交待
tanpen提到:
不表示不會有
tanpen提到:
第1,這種情況沒發生過,也不會常有,雖然不表示不會有,有必要這樣為了這樣去改程式嗎?但主管交待了..
第2,如果改程式,就不能只有上班及下班的二個時間點了..要增加欄位
這樣一來,除了出勤的的批次抓取時間程式,請假單程式,出勤統計程式,人員動態,補刷卡單..等等.都要重新修改...(恕刪)
回答:youshiao( iT邦初學者1級 )
時間:2012-06-16 21:49:170人我的看法:
- 首先要看人事部門怎麼處理此事,如果他們決定要仔細計算每天多次請假,那可能要改程式.如果覺得太麻煩,那目前的程式可能足夠.程式係配合公司流程及辦法的.
- 由於程式是自行開發,所以多了很多彈性,可以按業務需求改動,這是套裝程式比大上的,也是Tanpen能力夠,對公司有貢獻才能辦到.我很正面看這事.
我也支持 youshiao 大大的看法, 先看人事部怎麼評量這件事, 有些事可以由管理面下手, 而不是由程式或系統去改變!
今天有人提一個問題給我,假設A君早上請半天假,中午來上班2小時,又請假回去
因為我們公司很單純沒有日夜班,或輪班,所以出勤是不管你刷卡幾次我都會記下來,
但上班我去抓最早的時間,下班則抓最晚的時間...所以出勤記錄只有上班及下班.
依上述問題, 假設1天由早上8點到下午5點為工作時間, 得到的結果會是: A君當天是請假6小時(上班2小時), 但你的系統會判定他是上班2小時(假設A君下午1點上班, 3點下班), 在沒有1天沒有連續請假的狀況下, 你的系統會正常!
但若A君 10點上班 中午12下班, 4點又上班5點又下班, 這時系統就會出問題了, 得到結果是: A君當天請假5小時(8到10點2小時+下午1點到4點3小時), 但系統會判定他是上班6小時(讀卡機得到1天的第一筆記錄為10點, 最後一筆為下午5點, 在公司時間為7小時, 扣中午吃飯1小時)
結論:
PS. 千萬別去改刷卡機的記錄, 盡可能使刷卡資料獨立, 在其它方面較不會出問題, 如稽核單位查資料或...
既然是主管交辦的,那除非你有很充份的理由可以說服這麼做沒有好處
(是的,我認為你上述的考量都不是很充份的理由)
不然還是得做
既然得做,不如換個方向思考
為什麼只是修改一兩個參數,就要改很多程式?
是不是有一些程式或函數可以用模組化的方式去做,以後就不會有 '牽一髮而動全身' 的問題再產生
這是同為程設人給你的一點參考
tanpen提到:
,
本來是不準一天或同時段有二張假單的.
但同仁提出這個問題出來..
我就有點煩腦了..
第1,這種情況沒發生過,也不會常有,
雖然不表示不會有,有必要這樣為了這樣去改程式嗎?
但主管交待了..
第2,如果改程式,就不能只有上班及下班的二個時間點了..
要增加欄位
這樣一來,
除了出...(恕刪)
一般來說貴公司算是單純的公司
以前客戶需求有:
出勤員工, 年薪/月薪/日薪基礎都有
早中晚大夜< 四個時段 > 都有可能出勤.....
有出勤就有薪水
登記出勤沒出勤扣獎金....
請假單一天可以請 N 次,最小單位 0.5 小時....
請 [特休假] 額度請完請 [事假] ...
[人事]系統就是要給主管彈性[派兵遣將]
千萬別因 [系統無能] 讓 [士氣低落]
.....
MDA 架構 無限延伸欄位...
RuleEngine 架構 企業規則 可以無限設定...
有大錢 PeopleSoft 是首選 3000萬版權 + 300小時訓練 @3000=
沒有錢 Adempiere 是首選 0萬版權 + 300小時訓練 @1000=
把問題簡化:一天只要上班 + 休假 >= 8小時(例含中午休息0800~1700)都算合法
早上請假4小時(0800~1200) = 4
刷卡時間1300~1500 = 2
下午請假2小時(1500~1700) = 2
合計為8小時=>合法,不用更動刷卡記錄欄位
資訊系統是輔助流程來使用的
如果真的要鑽漏洞那一定找得到
重要的是「使用者」要對系統所記錄到的使用記錄負責
不需要想說系統要解決所有問題
那資訊系統只會失敗
程式是死的,人是活的, 為什麼要受限於程式!?
就管理面來說,公司應該只關心該員工今天請假幾小時,上班幾小時.
以這個例子來說,該員工當天請假6小時,上班2小時,
就當作請假時間是8:00~15:00, 15:00~17上班.
這樣系統就可以處理了.
不過若是2次請假的假別不同,這個方式就不適合了.
至於程式要不要改, 先評估這情形發生的頻率為何?(例如:1年2次)
需要投入的成本為何?(例如:14天*8小時*1人) 然後再交由主管決策.
我的看法:
如果程式一定要改,我建議另開一個Table紀錄詳細請假的情況,例如你所提的一天多次請假的內容,並彙總請假每天請假總時數至目前既有的Table,這樣其他查詢、報表程式就不用修改了,只須增加一個查詢程式,查詢詳細請假情況即可。
開TABLE, 然後刷卡機的資料全部都進去, 進去後再去比對最早和最晚的時間, 你就可以知道當日的上下班時間, 也不用去管他請幾次假, 頂多做一個彙總的報表, 當日的出缺勤狀況就可以搞定了.我客戶的薪資系統也是我開發的, 當初只有紙卡(現在準備引進使用指紋機), 跟客戶討論後, 一天之中, 上下班欄位總共有五組, 還有一組隱藏, 程式判斷當日的最早及最晚紀錄.