I am developing an timekeeping system which has a day and a night shift schedule.
Here is my table [tbl_datetime_records]
+---------------+---------------+--------------------+
| biometrics_id | employee_name | date_time_logs |
+---------------+---------------+--------------------+
| 1221 | EMPLOYEE 1 | 2014-07-11 09:00 |
| 1221 | EMPLOYEE 1 | 2014-07-11 18:00 |
| 1221 | EMPLOYEE 1 | 2014-07-12 08:54 |
| 1221 | EMPLOYEE 1 | 2014-07-12 18:01 |
| 7445 | EMPLOYEE 2 | 2014-07-11 09:00 |
| 7445 | EMPLOYEE 2 | 2014-07-11 18:00 |
| 7445 | EMPLOYEE 2 | 2014-07-12 08:54 |
| 7445 | EMPLOYEE 2 | 2014-07-12 18:01 |
| 2332 | EMPLOYEE 3 | 2014-07-11 18:00 |
| 2332 | EMPLOYEE 3 | 2014-07-12 02:00 |
| 2332 | EMPLOYEE 3 | 2014-07-12 02:01 |
| 2332 | EMPLOYEE 3 | 2014-07-12 18:00 |
| 2332 | EMPLOYEE 3 | 2014-07-13 02:03 |
| 4114 | EMPLOYEE 4 | 2014-07-11 08:43 |
| 4114 | EMPLOYEE 4 | 2014-07-11 08:44 |
| 4114 | EMPLOYEE 4 | 2014-07-11 14:02 |
| 4114 | EMPLOYEE 4 | 2014-07-12 08:56 |
| 4114 | EMPLOYEE 4 | 2014-07-12 18:04 |
| 4114 | EMPLOYEE 4 | 2014-07-13 09:00 |
+---------------+---------------+--------------------+
I am filtering this as FIRST IN and LAST OUT
Conditions:
- There will be multiple IN and OUT for same day for employees. So the rules would be first IN and Last Out.
- there will be a night shift sched filtering.
- Time in and Time out can be null for an employee.
- Their unique identification would be the (biomterics_id) field.
The Output should be:
+---------------+---------------+------------------+------------------+
| biometrics_id | employee_name | date_time_in | date_time_out |
+---------------+---------------+------------------+------------------+
| 1221 | EMPLOYEE 1 | 2014-07-11 09:00 | 2014-07-11 18:00 |
| 1221 | EMPLOYEE 1 | 2014-07-12 08:54 | 2014-07-12 18:01 |
| 7445 | EMPLOYEE 2 | 2014-07-11 09:00 | 2014-07-11 18:00 |
| 7445 | EMPLOYEE 2 | 2014-07-12 08:54 | 2014-07-12 18:01 |
| 2332 | EMPLOYEE 3 | 2014-07-11 18:00 | 2014-07-12 02:01 | ---> NIGHT SHIFT
| 2332 | EMPLOYEE 3 | 2014-07-12 18:00 | 2014-07-13 02:03 | ---> NIGHT SHIFT
| 4114 | EMPLOYEE 4 | 2014-07-11 08:43 | 2014-07-11 14:02 | ---> HALF DAY
| 4114 | EMPLOYEE 4 | NULL | 2014-07-12 18:04 | ---> NO TIME IN
| 4114 | EMPLOYEE 4 | 2014-07-1309:00 | NULL | ---> NO TIME OUT
+---------------+---------------+------------------+------------------+
I don't still have any idea on this scenario. I am using MYSQL/PHP/LARAVEL