如何從兩個時間段里統計出員工平時作業時間,周末加班時間,法定假日加班時間?
員工上班時間是8點到12點,1點半到5點半,晚上7點到9點,一周上班5天半,
然后員工從下午14點作業到了第二天上午10點10分下班,也就是員工打了2次卡,一次時間是下午14點,一次時間是第二天上午10點10分,
下班時間不算,
SQL SERVER 2000,
怎么計算出這個員工平時作業了多少小時?
周末作業了多少小時(員工也可能周末加班)?
國家法定假日作業了多少小時(員工也可能法定假日加班)?
uj5u.com熱心網友回復:
首先你要你要將一年中哪幾天是法定假日,哪幾天是周末,哪些日子是平時要標記出來,才好統計uj5u.com熱心網友回復:
這種型別的考勤我見過,感覺很復雜,曾經有企業叫我做,不過種種原因我沒做,我講下我大概的思路吧。1、建個法定假日表,里面記錄法定假日的日期
2、員工作業時間統計表要有3個型別的工時欄位
3、程式讀取員工的考勤記錄,判斷第一次考勤時間在平時還是周末還是法定假日時間段里,在哪個段就取那個段的標準時長與實際時長的最小值,寫入對應型別的欄位里。
4、跨天的沒想好怎么算
uj5u.com熱心網友回復:
之前有寫過考勤相關的存盤程序,lz舉的例子我覺得需要添加另外一個因素來判斷,否則你無法獲取該員工第一天和第二天的上下班時間。做考勤最基本的應該是統計出員工每天的上班卡及下班卡。然后再根據每天的上下班時間段、加班時間段,周末是哪天、法定假日是哪天來統計平時作業時間,周末加班時間,法定假日加班時間
uj5u.com熱心網友回復:
victor_yang 說的是對的, 接著victor_yang的,說說我們處理跨日加班的處理:1、跨日加班要申請,事前申請事后申請都可以,不然誰知道你 10:10分是打的什么卡,10多年有我們用電腦打卡,保安選擇打什么卡(上班、下班、加班上班、加班下班)哪個方法倒是非常好,但現在都是指紋、人臉打卡了,系統會設定某個時間段打什么卡;
2、申請好了,系統就知道你 10:10分打的是加班下班卡,而且早上沒打卡,也不會計漏打卡;
3、加班時間計算,表中建一個欄位,用來將時間化成分鐘, 如 8點上班,對應 480分鐘,如果跨日則加上 24*60 = 1440分鐘,這樣下班分鐘減去上班分鐘就是上班時長,當然要考慮公司的上班時間,如 8點前打卡,就按 480分鐘來減,8點10分打卡,就按490分鐘減。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/32567.html
標籤:數據庫相關
