SilerKing 发表于 2020-5-21 10:22:38

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

考勤打卡的时间是基于手机设定时间,我可以修改手机设置想在几点打卡就在几点打卡。可不可以设置成手机时间在标准北京时间前后数分钟内才能正常打卡(类似钉钉),或者考勤打卡的时间基于服务器的时间。

SilerKing 发表于 2020-5-22 10:31:03

我写一个触发器解决了。设定手机时间在当天服务器时间前后五分钟内才能打卡
使用数据库SQLServer2012
CREATE trigger .
on .
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

论坛管理员 发表于 2020-5-22 10:07:50

您好:这个问题记录并提交到技术部,待技术人员核实确认!

论坛管理员 发表于 2020-5-25 09:38:47

给你点个赞!感谢分享开源代码!
页: [1]
查看完整版本: 再报一个关于考勤打卡的疑似bug