0

我在创建将基于 和 更新行的存储过程时遇到employeenochecktime困难id

这是我的桌子:

在此处输入图像描述

我正在创建一个员工考勤系统。基本上,我们有生物识别指纹扫描设备来跟踪时间并将其存储到数据库中,但该设备无法存储时间作为结账它只能签入,如CheckType列中所示。

现在我想做的是将Checktype列从更改IO

例子 :

如果员工 465-04-01 早上 7 点 46 分登录应该被记录为I,当同一员工在同一天早上 7 点 47 分再次尝试登录时,应该记录为O现在,employeeno, id即应该包括自动编号因为它将是更新记录的基础。

如果员工在同一天下午 4 点登录,则应将其记录为I下一次登录应O在同一天。

你能帮我么?我需要一个存储过程来执行此操作,因为我对此没有足够的经验..请帮助我!

4

1 回答 1

1

每次员工登录时检查当前时间之前的 CHECKTIME

在 SP 中使用这种类型的查询

    IF((SELECT(SELECT * FROM TBL_NAME
    WHERE CHECKTIME < CURRENT_TIMESTAMP and CHECKTIME > (select CONVERT(date,CURRENT_TIMESTAMP)))%2)=0)
    BEGIN
    --//HERE WRITE YOUR CODE SETTING CHECKTYPE AS 1 (EMPLOYEE ENTER)
    END
    ELSE
    BEGIN
    --//HERE WRITE YOUR CODE SETTING CHECKTYPE AS 0 (EMPLOYEE EXIT)
    END

它检查 recoeds 出现的次数是偶数还是奇数。如果计数为偶数,则返回为1。这意味着该员工已进入。否则,如果计数为奇数,则返回为0。这意味着该员工已退出。(这里 0 是偶数)

该值将是1第一次输入值时(也是第三次、第五次、第七次、...次),并且0是第二次输入值时(也是第四次、第六次、第八次、...次)

于 2012-08-25T06:06:39.643 回答