查看: 6371|回复: 3

再报一个关于考勤打卡的疑似bug

升级   0.1%

96

主题

88

回帖

10

积分

注册会员

Rank: 2

积分
10
发表于 2020-5-21 10:22:38 | 显示全部楼层 |阅读模式
考勤打卡的时间是基于手机设定时间,我可以修改手机设置想在几点打卡就在几点打卡。可不可以设置成手机时间在标准北京时间前后数分钟内才能正常打卡(类似钉钉),或者考勤打卡的时间基于服务器的时间。
回复

使用道具 举报

升级   0.1%

96

主题

88

回帖

10

积分

注册会员

Rank: 2

积分
10
发表于 2020-5-22 10:31:03 | 显示全部楼层
我写一个触发器解决了。设定手机时间在当天服务器时间前后五分钟内才能打卡
使用数据库SQLServer2012
CREATE trigger [dbo].[triggerAttendanceMobileLimit]
on [dbo].[ATDC_ATTENDANCE_DETAIL_MOBILE]
for insert,update
as
begin     
    declare @xsignTime varchar(32)
    declare @xrecordDateString varchar(32)
    begin
        select @xsignTime=xsignTime from inserted
        select @xrecordDateString=xrecordDateString from inserted
        if ( DATEDIFF ( minute, @xsignTime, CONVERT(varchar(32), GETDATE(), 8) )>5 OR DATEDIFF ( minute, @xsignTime, CONVERT(varchar(32), GETDATE(), 8) )<-5)
        OR DATEDIFF ( day, @xrecordDateString, convert(varchar(10),getdate(),120))<>0
        begin
            rollback transaction
        end
    end
end
回复

使用道具 举报

升级   100%

139

主题

1万

回帖

4万

积分

超级版主

Rank: 8Rank: 8

积分
41458
发表于 2020-5-22 10:07:50 | 显示全部楼层
您好:这个问题记录并提交到技术部,待技术人员核实确认!
回复

使用道具 举报

升级   100%

139

主题

1万

回帖

4万

积分

超级版主

Rank: 8Rank: 8

积分
41458
发表于 2020-5-25 09:38:47 | 显示全部楼层
给你点个赞!感谢分享开源代码!
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

联系客服 关注微信 下载APP 返回顶部 返回列表
viewthread