One Hat Cyber Team
Your IP :
18.117.237.187
Server IP :
192.145.235.60
Server :
Linux ngx365.inmotionhosting.com 5.14.0-427.33.1.el9_4.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Aug 30 09:45:56 EDT 2024 x86_64
Server Software :
Apache
PHP Version :
8.2.27
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
home
/
centos12
/
www
/
centosuit
/
app
/
Console
/
Commands
/
View File Name :
InActiveEmployee.php
<?php namespace App\Console\Commands; use App\Models\EmployeeDetails; use Carbon\Carbon; use Illuminate\Console\Command; class InActiveEmployee extends Command { /** * The name and signature of the console command. * * @var string */ protected $signature = 'inactive-employee'; /** * The console command description. * * @var string */ protected $description = 'The employee is set to inactive if he exit the company'; /** * Execute the console command. */ public function handle() { $todayDate = Carbon::today(); EmployeeDetails::with('user') ->where(function ($query) use ($todayDate) { $query->whereDate('last_date', '<=', $todayDate) ->orWhereDate('notice_period_end_date', '<=', $todayDate); }) ->whereHas('user', function ($query) { $query->where('status', 'active'); }) ->chunk(50, function ($employees) use ($todayDate) { foreach ($employees as $employee) { $employee->user->status = 'deactive'; $employee->user->inactive_date = now(); if (empty($employee->last_date) && !empty($employee->notice_period_end_date)) { $employee->last_date = $employee->notice_period_end_date; $employee->save(); } $employee->user->save(); } }); } }