我正在尝试建立一个在线考勤系统,员工每天登录并办理登机手续,周末和假期除外。
所以,我的想法是将每日出勤记录创建为数据库中的表格。
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
在用户签入/签出时,可以轻松创建模型以获取当前时间并将其保存在数据库中。 但问题是,如果用户缺席一天或更长时间,那么系统将不会为那些日子创建记录。
此外,我无法预先创建记录。因为我不知道用户什么时候休假,工作日可能会有所不同。
创建和管理这些日常记录的最佳方式是什么?
答案 0 :(得分:0)
一种可能的解决方案可能是允许员工每天正常办理登记手续,这些日期将填充数据库。
为了为尚未登记的人添加缺勤记录,您可以使用CRON或类似的东西在每天午夜安排任务。使用此任务来定位将在控制器中运行方法的URL,该控制器将根据日常记录检查员工。显然,对于那些已经办理入住手续的人,将不会执行任何操作,但对于那些没有和未被标记为休假或不工作的人,您更新数据库以添加缺勤记录。
使用这样的系统,您通常会调用网址,以便使用wget
或类似于'加载'的任何系统来执行更新。网址并强制它运行。安全性考虑也是因为您希望将密钥添加为GET参数或类似的东西,以便该方法可以检查它是否通过任务被调用而不是例如。通过将GET参数与您已设置的存储密钥进行比较来访问网址的人。