Exemplo n.º 1
0
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');
        }
    }
}