0

我正在尝试建立一个在线考勤系统,除了周末和假期外,员工每天都可以登录并签到。

所以,我的想法是在数据库中创建一个每日考勤记录作为表。

Attendance_date_daily         date
Employee_ID                   number(auto generated)
Check_in_time                 time
Check_out_time                time
Attendence_status             varchar

我正在使用 codeigniter v 3.0.0

创建模型以获取当前时间并在用户签入/签出时将其保存在数据库中很容易。但问题是,如果用户缺席一天或更长时间,那么系统将不会创建这些天的记录。

此外,我无法事先创建记录。因为我不知道用户什么时候放假,工作日可能会有所不同。

创建和管理这些日常记录的最佳方式是什么?

4

1 回答 1

0

一种可能的解决方案可能是允许员工每天正常进行签到,这将填充那些日子的数据库。

为了为那些没有签到的人添加缺勤记录,您可以使用 CRON 或类似的东西来安排每天午夜的任务。使用此任务来定位将在控制器中运行方法的 url,该方法将根据日常记录检查员工。显然,对于那些已经签到的人,不会执行任何操作,尽管对于那些没有也没有标记为休假或不工作的人,您更新数据库以添加缺勤记录。

对于这样的系统,您通常会调用 url 以使用您使用的任何系统wget或类似于“加载”url 并强制它运行的东西来执行更新。一个安全考虑也是你需要添加一个密钥作为 GET 参数或类似的东西,以便该方法可以检查它是否是通过任务调用的,而不是例如通过比较 GET 参数来访问 url 的人您设置的存储密钥。

于 2015-07-06T21:53:23.123 回答