iT邦幫忙

0

人事出勤,假單問題

tanpen 2012-06-15 10:35:3810014 瀏覽

公司的人事薪資及出勤系統是 我自己寫的,
今天有人提一個問題給我,假設A君早上請半天假,中午來上班2小時,又請假回去
因為我們公司很單純沒有日夜班,或輪班,所以出勤是不管你刷卡幾次我都會記下來,
但上班我去抓最早的時間,下班則抓最晚的時間...所以出勤記錄只有上班及下班.
而假單是可以連續請假,我會去判斷假日及是公休,並自動算時數
,本來是不準一天或同時段有二張假單的.
但同仁提出這個問題出來..我就有點煩腦了..
第1,這種情況沒發生過,也不會常有,雖然不表示不會有,有必要這樣為了這樣去改程式嗎?但主管交待了..
第2,如果改程式,就不能只有上班及下班的二個時間點了..要增加欄位
這樣一來,除了出勤的的批次抓取時間程式,請假單程式,出勤統計程式,人員動態,補刷卡單..等等.都要重新修改過..這樣真的好嗎?

看更多先前的討論...收起先前的討論...
tanpen提到:
主管交待

tanpen提到:
不表示不會有

樓主....您還有退路嗎

建議增加另外欄位去記錄中途何時離開 何時回來
了不起再給個幾組欄位吧
離開1、回來1
離開2、回來2
離開3、回來3



做 就對了
其實我認為不應該作.

花了一大把力氣, 只是為了處理"很少發生"的case, 得不償失.
況且這種case並不會造成公司巨大損失.

我不知道你是怎麼處理 "假單" 與 "系統刷卡時間" 不match的狀況,
例如說員工只請上午, 但第1次刷卡時間卻是下午3:00 (因為第1次刷卡fail,員工沒注意到)...在這種狀況下,系統應該有準備一個所謂的"手動處理"的功能吧,
或者說是"例外處理"的功能.

您這次的狀況, "手動處理" 就好了吧?
echen688 iT邦高手 1 級 ‧ 2012-06-15 15:38:42 檢舉
tanpen提到:
第1,這種情況沒發生過,也不會常有,雖然不表示不會有,有必要這樣為了這樣去改程式嗎?但主管交待了..
第2,如果改程式,就不能只有上班及下班的二個時間點了..要增加欄位
這樣一來,除了出勤的的批次抓取時間程式,請假單程式,出勤統計程式,人員動態,補刷卡單..等等.都要重新修改...(恕刪)


回答 1: 有必要, 只是你也許不太想動. 但既然主管交代了, 你還是得做, 那就說服自己做就是了, 話說回來, 只是看你如何處理這樣子的少數狀況而已, 有許多方法可以用, 手工也是其中之一, 只要你有預留此一彈性即可.

回答 2: 那你剛好利用這一次機會把程式改成比較有彈性, 以應付這些狀況, 有一就有二, 有二就有三, 程式本來就得與時維護, 很少萬年不動的....
外獅佬 iT邦大師 1 級 ‧ 2012-06-16 00:21:35 檢舉
或許...來上班的那兩個小時,可以用『加班』+『補休』的方式處理啊...
也就是,兩張假單核併成一天假,然後,給兩個小時補休...這樣不行嗎??
renounce iT邦新手 5 級 ‧ 2012-06-16 14:04:01 檢舉
請問為何一天只能起一張假單呢? 有什麼考量呢?
同時段不可以起超過一張我可以理解,但一天不能兩張是因為欄位問題嗎?
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
12
linlnnnn
iT邦新手 3 級 ‧ 2012-06-17 00:12:54
最佳解答

回答:youshiao( iT邦初學者1級 )
時間:2012-06-16 21:49:170人我的看法:

  1. 首先要看人事部門怎麼處理此事,如果他們決定要仔細計算每天多次請假,那可能要改程式.如果覺得太麻煩,那目前的程式可能足夠.程式係配合公司流程及辦法的.
  2. 由於程式是自行開發,所以多了很多彈性,可以按業務需求改動,這是套裝程式比大上的,也是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小時)

結論:

  1. 若可以由管理面下手, 一天只能請一次假, 系統不用改
  2. 若非要使請假制度彈性大可連續假, 可建議請人事單位, 把當月有在1天請連續假的員工以個案計算, 會連續請的, 若不是很特殊的上班環境, 應是少數!, 系統也不用改!

PS. 千萬別去改刷卡機的記錄, 盡可能使刷卡資料獨立, 在其它方面較不會出問題, 如稽核單位查資料或...

6
aeolus0829
iT邦研究生 4 級 ‧ 2012-06-16 12:01:33

既然是主管交辦的,那除非你有很充份的理由可以說服這麼做沒有好處
(是的,我認為你上述的考量都不是很充份的理由)
不然還是得做

既然得做,不如換個方向思考
為什麼只是修改一兩個參數,就要改很多程式?
是不是有一些程式或函數可以用模組化的方式去做,以後就不會有 '牽一髮而動全身' 的問題再產生

這是同為程設人給你的一點參考

8
Albert
iT邦高手 1 級 ‧ 2012-06-16 13:49:32

tanpen提到:
,
本來是不準一天或同時段有二張假單的.
但同仁提出這個問題出來..
我就有點煩腦了..
第1,這種情況沒發生過,也不會常有,
雖然不表示不會有,有必要這樣為了這樣去改程式嗎?
但主管交待了..
第2,如果改程式,就不能只有上班及下班的二個時間點了..
要增加欄位
這樣一來,
除了出...(恕刪)

一般來說貴公司算是單純的公司
以前客戶需求有:
出勤員工, 年薪/月薪/日薪基礎都有
早中晚大夜< 四個時段 > 都有可能出勤.....
有出勤就有薪水
登記出勤沒出勤扣獎金....
請假單一天可以請 N 次,最小單位 0.5 小時....
請 [特休假] 額度請完請 [事假] ...
[人事]系統就是要給主管彈性[派兵遣將]
千萬別因 [系統無能] 讓 [士氣低落]
.....
MDA 架構 無限延伸欄位...
RuleEngine 架構 企業規則 可以無限設定...
有大錢 PeopleSoft 是首選 3000萬版權 + 300小時訓練 @3000=
沒有錢 Adempiere 是首選 0萬版權 + 300小時訓練 @1000=

8
fadoce
iT邦新手 5 級 ‧ 2012-06-16 17:47:40

把問題簡化:一天只要上班 + 休假 >= 8小時(例含中午休息0800~1700)都算合法

早上請假4小時(0800~1200) = 4
刷卡時間1300~1500 = 2
下午請假2小時(1500~1700) = 2
合計為8小時=>合法,不用更動刷卡記錄欄位

資訊系統是輔助流程來使用的
如果真的要鑽漏洞那一定找得到
重要的是「使用者」要對系統所記錄到的使用記錄負責
不需要想說系統要解決所有問題
那資訊系統只會失敗

6
ycl8000
iT邦高手 1 級 ‧ 2012-06-16 21:31:21

程式是死的,人是活的, 為什麼要受限於程式!?
就管理面來說,公司應該只關心該員工今天請假幾小時,上班幾小時.
以這個例子來說,該員工當天請假6小時,上班2小時,
就當作請假時間是8:00~15:00, 15:00~17上班.
這樣系統就可以處理了.
不過若是2次請假的假別不同,這個方式就不適合了.

至於程式要不要改, 先評估這情形發生的頻率為何?(例如:1年2次)
需要投入的成本為何?(例如:14天*8小時*1人) 然後再交由主管決策.

blake iT邦新手 5 級 ‧ 2012-06-19 13:08:31 檢舉

我公司的HR系統也是自行開發的,我也是認同[ycl8000網友]這個做法,沒必要為了偶發情形,大肆更改整個程式
另外,我的系統並不會去管一天中請了甚麼假、請幾次,反正最後只要能算出正確給薪時數即可,而這也才是員工們真正關心的,不是嗎?

6
youshiao
iT邦研究生 1 級 ‧ 2012-06-16 21:49:17

我的看法:

  1. 首先要看人事部門怎麼處理此事,如果他們決定要仔細計算每天多次請假,那可能要改程式.如果覺得太麻煩,那目前的程式可能足夠.程式係配合公司流程及辦法的.
  2. 由於程式是自行開發,所以多了很多彈性,可以按業務需求改動,這是套裝程式比大上的,也是Tanpen能力夠,對公司有貢獻才能辦到.我很正面看這事.
6
I code so I am
iT邦高手 1 級 ‧ 2012-06-16 23:03:57

如果程式一定要改,我建議另開一個Table紀錄詳細請假的情況,例如你所提的一天多次請假的內容,並彙總請假每天請假總時數至目前既有的Table,這樣其他查詢、報表程式就不用修改了,只須增加一個查詢程式,查詢詳細請假情況即可。

8
lancelotz
iT邦新手 3 級 ‧ 2012-06-17 14:06:12

開TABLE, 然後刷卡機的資料全部都進去, 進去後再去比對最早和最晚的時間, 你就可以知道當日的上下班時間, 也不用去管他請幾次假, 頂多做一個彙總的報表, 當日的出缺勤狀況就可以搞定了.我客戶的薪資系統也是我開發的, 當初只有紙卡(現在準備引進使用指紋機), 跟客戶討論後, 一天之中, 上下班欄位總共有五組, 還有一組隱藏, 程式判斷當日的最早及最晚紀錄.

我要發表回答

立即登入回答