我开发一个考勤系统!但现在不知道如何抓取时间!考勤表 表结构为 编号 卡号 刷卡时间考勤规则为 上午班 8:00:00 到 12:00:00 下午班是 14:30:00 到 18:00:00 迟到超过5分钟算迟到,超过30算旷工,提前30分以上回家算矿工,30以内算早退
我现在不知道如何抓取上,下班的时间,不知道以那个为标准抓取,因为有可能一个人在一天中会刷很多次卡,那么我只能抓取离上下班时间最近的那个刷卡时间例如 8:00:00 首先我要抓取8:00:00前的时间,如果没有那么我就要抓取离8:00:00最近的时间,这个用sql server的存储过程如何实现!请高手们告知,谢谢!
我现在不知道如何抓取上,下班的时间,不知道以那个为标准抓取,因为有可能一个人在一天中会刷很多次卡,那么我只能抓取离上下班时间最近的那个刷卡时间例如 8:00:00 首先我要抓取8:00:00前的时间,如果没有那么我就要抓取离8:00:00最近的时间,这个用sql server的存储过程如何实现!请高手们告知,谢谢!
now();就可以了。抓取的是系统当前时间
CardID 卡号
Type 0=上午班; 1=下午班
OnTime 打上班卡时间
OffTime 打下班卡时间
CloseFlag 关闭标志增加一存储过程如Duty(@dutyTime datetime)每次打卡都调用次存储过程进行处理,根据打卡的时候
和你设置的规则来判断这个打卡时间怎么来处理,例如
需要在这里处理的情况:
1.判端是上午班还是下午班?
2.是上班记录还是下班记录?
3.是否是无效打卡,忽略处理 等等...把这些都放到存储过程去处理.具体的逻辑处理可以自己在想一下,就是怎么将打卡记录
转换为考勤记录.
convert(char(10),cardtime,126) as cardDate,
datename(hh,convert(datetime,cardtime)) as cardtime
from ea_tbl
where cardtime like '%2010-01-01%'
and datename(hh,convert(datetime,cardtime)) between 1 and 23
and cardID like '%01%'