我正在开发一个部分是员工时钟的应用程序。这不是太复杂,但我想确保我第一次朝着正确的方向前进。我目前有这个表结构:
id - int
employee_id - int (fk)
timestamp - mysql timestamp
event_code - int (1 for clock in, 0 for clock out)
如果他们的最后一个活动是“打卡”,他们只会看到“打卡”按钮,反之亦然,我已经完成了所有工作。
我的问题是我们需要生成一份报告,显示员工一个月内工作了多少小时,以及当前财政年度(自当年 6 月 1 日起)的总小时数。
似乎我可以将时钟输入和输出存储在同一记录中,甚至可以计算两个事件之间的工作分钟数并将其存储在一个名为“工作”的列中。然后,我只需要为该员工获取所有该列的总和即可知道总共有多少时间。
我应该保持我的结构,每对时钟输入和输出事件都移动到一行,还是有更好的方法让我完全错过?
我知道人为错误也是打卡钟的一个大问题,因为人们经常忘记打卡或打卡,我不确定哪种结构可以更轻松地处理。
MySQL Timestamp 是一个不错的选择还是我应该使用 UNIX Timestamp?
感谢您的任何建议/指导。
富有的