我有一个访问数据库,员工每天都会注册这些数据库。
如果他们没有上班,则没有注册。
时钟从2014年3月28日开始注册,直到现在。
员工在2014年可能不会被雇用,所以在他或她开始与我们合作之前,他或她没有注册。
例如:一个人在12月7日开始工作,但他没有在12月9日来上班。
使用Kettle,我从登记处填写了一张mysql表,他于12月7日,8日,10日和11日来到这里工作。
id employee_id in lunch lunch_end out
1 1234 2015-12-07 08:00:00 2015-12-07 13:00:00 2015-12-07 14:00:00 2015-12-07 18:00:00
2 1234 2015-12-08 08:15:00 2015-12-08 13:00:00 2015-12-08 14:00:00 2015-12-08 18:00:00
3 1234 2015-12-10 07:55:00 2015-12-10 13:00:00 2015-12-10 14:00:00 2015-12-10 17:41:00
4 1234 2015-12-11 08:00:00 2015-12-11 13:00:00 2015-12-11 14:00:00 2015-12-11 18:00:00
使用CakePHP3我在视图中显示这些数据。但由于他在12月9日缺席,我没有注册。
EMPLOYEE DAY IN LUNCH LUNCH END OUT STATUS
Harry Potter December 7th, 2015 8:00 am 1:00 pm 2:00 pm 6:00 pm OK
Harry Potter December 8th, 2015 8:15 am 1:00 pm 2:00 pm 6:00 pm LATE IN
Harry Potter December 10th, 2015 7:55 am 1:00 pm 2:00 pm 5:41 pm EARLY OUT
Harry Potter December 11th, 2015 8:00 am 1:00 pm 2:00 pm 6:00 pm OK
因此,我认为他必须证明他在12月9日缺席了。但由于12月9日的行不在表1中,我不能这样做。
我想在CakePHP 3视图中添加一行,其中包含表1中的数据,并且脚本不能太慢或太耗费资源:
EMPLOYEE DAY IN LUNCH LUNCH END OUT STATUS
Harry Potter December 7th, 2015 8:00 am 1:00 pm 2:00 pm 6:00 pm OK
Harry Potter December 8th, 2015 8:15 am 1:00 pm 2:00 pm 6:00 pm LATE IN
Harry Potter December 9th, 2015 - - - - ABSENT
Harry Potter December 10th, 2015 7:55 am 1:00 pm 2:00 pm 5:41 pm EARLY OUT
Harry Potter December 11th, 2015 8:00 am 1:00 pm 2:00 pm 6:00 pm OK
因为时钟从2014年3月28日开始,我必须跳到该员工(或任何其他员工)的第一次注册。讽刺的是,每个员工都开始处理不同的日期。
我无法想出如何解决这个算法。请帮助!!