update logic tracking

This commit is contained in:
Joseph Le 2024-06-10 13:50:36 +07:00
parent d9032f6f29
commit 20e9cdbc18
2 changed files with 1753 additions and 2 deletions

View File

@ -6,6 +6,8 @@ use App\Http\Controllers\Controller;
use App\Traits\HasFilterRequest; use App\Traits\HasFilterRequest;
use App\Traits\HasOrderByRequest; use App\Traits\HasOrderByRequest;
use App\Traits\HasSearchRequest; use App\Traits\HasSearchRequest;
use Carbon\Carbon;
use DateTime;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Support\Facades\Storage; use Illuminate\Support\Facades\Storage;
use Modules\Admin\app\Models\Admin; use Modules\Admin\app\Models\Admin;
@ -79,9 +81,10 @@ class TrackingController extends Controller
$payload['created_at'] = $request->created_at; $payload['created_at'] = $request->created_at;
} }
$user = Admin::where('name', $payload['name'])->first(); $user = Admin::where('name', $payload['name'])->first();
$date = Carbon::create(new DateTime())->setTimezone(env('TIME_ZONE'))->format('Y-m-d');
if ($user) { if ($user) {
$payload['user_id'] = $user->id; $payload['user_id'] = $user->id;
$latest = Tracking::where('name', $payload['name'])->latest()->first(); $latest = Tracking::where('name', $payload['name'])->whereDate('created_at', $date)->latest()->first();
if($latest){ if($latest){
if($payload['status'] == $this->CHECK_IN || $payload['status'] == $this->CHECK_OUT){ if($payload['status'] == $this->CHECK_IN || $payload['status'] == $this->CHECK_OUT){
if ($latest->status == $this->CHECK_IN) { if ($latest->status == $this->CHECK_IN) {
@ -106,7 +109,7 @@ class TrackingController extends Controller
$tracking = Tracking::create($payload); $tracking = Tracking::create($payload);
return response()->json([ return response()->json([
'data' => $tracking, 'data' => $tracking,
'check_status' => $payload['status'], 'check_status' => $this->CHECK_IN,
'status' => true 'status' => true
]); ]);
} }

1748
composer-setup.php Normal file

File diff suppressed because it is too large Load Diff