日期:2014-05-17  浏览次数:21035 次

求教!怎么在考勤系统中实现旷工天数的统计,比较迷茫的是不打卡就没有数据写入!求教,有原理即可
求教!怎么在考勤系统中实现旷工天数的统计,比较迷茫的是不打卡就没有数据写入!求教,有原理即可
 我自己想的是用触发器,只要不打卡没有输入数据的时候就出发,然后统计触发器被触发的次数!但领导说不行!就好的办法!说明原理就好了!不胜感激!

------解决方案--------------------
问到点了,我这几年就是做这个的,你这个系统得有一个工作日的设置呀,就是考勤哪些天,有了这个,你可以用人员信息和工作日进行连接算出每个人应考勤的数据,再和刷卡的记录进行连接,看是哪些天没来,这样不就算出紧要旷工了。
你们要是算次数就更容易了,只要算出刷卡多少天,用总天数减不就行了,哈哈!!!前面是算具体哪天旷工。
------解决方案--------------------
这个看你怎么定义旷工了.
一般来说都是求当日以前的记录.
但是如果说,8点打卡,8点以后没打都算旷工,或者中午12点以后算是旷工,那么就建job在12点运行,用触发器不可行.
------解决方案--------------------
首先要有一個班次,設定每個班次上下班時間敬意,為每個員工排班,再根據打卡記錄產生各員工日考勤資料。
------解决方案--------------------
每天的考勤时间前数据库自动执行为某员工插入一条空数据的任务。打卡不存库,而是更新某员工的那条空记录
例如 自动执行insert into 考勤表 (员工ID,早打卡,早打卡时间,晚打卡,晚打卡时间,日期) value ('id',false,'默认时间',false,'默认时间',date)
打卡时 update 考勤表 set 早打卡=true and 早打卡时间='实际打卡时间' where 员工ID='id'

统计早打卡和晚打卡为false的,或统计规定上班时间和早打卡时间与晚打卡时间的差值。