function getClockingOutDateTimeYesterdayClockOut($clockingStatus = '', $clockingDateTime = '') { $currentDate = date('Y-m-d'); $yesterDayDate = date("Y-m-d", strtotime('yesterday')); $schedule = new Schedule(); $getSchedule = $schedule->getSchedule($employeeId, date('Y-m-d')); $getScheduleYesterday = $schedule->getSchedule($employeeId, $yesterDayDate); $workShift = new Workshift(); $getWorkShiftByEmployeeId = $workShift->getWorkShiftByEmployeeId($employeeId); $holiday = new Holiday(); $getHolidayByDate = $holiday->getHolidayByDate($currentDate); $timesheet = new Timesheet(); $employeeClocking = $timesheet->getEmployeeByEmployeeIdandDate($employeeId, date('Y-m-d')); $getYesterDayDate = $timesheet->getTimesheetYesterday($employeeId, $yesterDayDate); $employeeNightDiffClocking = $timesheet->getEmployeeNightDiffClocking($employeeId, $yesterDayDate); $summary = new Summary(); $employeeSummary = $summary->getEmployeeSummaryByEmployeeIdandDate($employeeId, date('Y-m-d')); $employeeSummaryNightDiffClocking = $summary->getEmployeeSummaryNightDiffClocking($employeeId, $yesterDayDate); $setting = new Setting(); $employeeSetting = $setting->getEmployeeSettingByEmployeeId($employeeId); if (!empty($getSchedule) && !empty($getScheduleYesterday)) { $schedule['start_time'] = $getSchedule[0]->start_time; $schedule['end_time'] = $getSchedule[0]->end_time; $schedule['rest_day'] = $getSchedule[0]->rest_day; $scheduleYesterday['start_time'] = $getScheduleYesterday[0]->start_time; $scheduleYesterday['end_time'] = $getScheduleYesterday[0]->end_time; $scheduleYesterday['rest_day'] = $getScheduleYesterday[0]->rest_day; } elseif (!empty($getSchedule) && empty($getScheduleYesterday)) { $schedule['start_time'] = $getSchedule[0]->start_time; $schedule['end_time'] = $getSchedule[0]->end_time; $schedule['rest_day'] = $getSchedule[0]->rest_day; } elseif (empty($getSchedule) && !empty($getScheduleYesterday)) { $scheduleYesterday['start_time'] = $getScheduleYesterday[0]->start_time; $scheduleYesterday['end_time'] = $getScheduleYesterday[0]->end_time; $scheduleYesterday['rest_day'] = $getScheduleYesterday[0]->rest_day; } elseif (!empty($getWorkShiftByEmployeeId)) { //$workShift['start_time'] = $getWorkShiftByEmployeeId[0]->start_time; //$workShift['end_time'] = $getWorkShiftByEmployeeId[0]->end_time; //$workShift['rest_day'] = $getWorkShiftByEmployeeId[0]->rest_day; //$workShift['rest_day'] = explode(', ', $getWorkShiftByEmployeeId[0]->rest_day); $workShift['start_time'] = date('Y-m-d', strtotime($employeeNightDiffClocking->time_in_1)) . ' ' . $getWorkShiftByEmployeeId[0]->start_time; $workShift['end_time'] = date('Y-m-d', strtotime('-1 day')) . ' ' . $getWorkShiftByEmployeeId[0]->end_time; $workShift['rest_day'] = explode(', ', $getWorkShiftByEmployeeId[0]->rest_day); } if ($clockingStatus === 'clock_in_3') { echo '// Yesterday clock out'; $employeeClocking->time_out_3 = $clockingDateTime; $employeeClocking->clocking_status = 'clock_out_3'; //Check this out /*if( $employeeNightDiffClocking->clocking_status === 'yesterday_clock_out' ) { $employeeNightDiffClocking->clocking_status = 'close'; $employeeNightDiffClocking->save(); }*/ if ($employeeClocking->save()) { return Redirect::to('/redraw/timesheet'); } } }