使用Cake

时间:2015-12-16 21:16:28

标签: php mysql pentaho cakephp-3.0 kettle

我有一个访问数据库,员工每天都会注册这些数据库。

如果他们没有上班,则没有注册。

时钟从2014年3月28日开始注册,直到现在。

员工在2014年可能不会被雇用,所以在他或她开始与我们合作之前,他或她没有注册。

例如:一个人在12月7日开始工作,但他没有在12月9日来上班。

使用Kettle,我从登记处填写了一张mysql表,他于12月7日,8日,10日和11日来到这里工作。

表1(援助)

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日缺席,我没有注册。

查看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 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中的数据,并且脚本不能太慢或太耗费资源:

视图2

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日开始,我必须跳到该员工(或任何其他员工)的​​第一次注册。讽刺的是,每个员工都开始处理不同的日期。

我无法想出如何解决这个算法。请帮助!!

0 个答案:

没有答案