使用 codeigniter 在考勤系统中检查 in/out

Check in/out in attendance system using codeigniter

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

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

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

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

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

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

一个可能的解决方案可能是允许员工每天正常办理入住手续,这将填充那些日子的数据库。

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

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