Файловый менеджер - Редактировать - /home/clickysoft/public_html/assets.clickysoft.net/app/Repositories/MaintenanceRequestsRepository.php
Назад
<?php namespace App\Repositories; use App\Models\MaintenanceRequest; use App\Models\MaintenanceSchedule; use App\Models\User; use App\Notifications\MaintenanceRequestNotification; use Illuminate\Http\Request; use Symfony\Component\HttpFoundation\Response; use Carbon\Carbon; class MaintenanceRequestsRepository implements MaintenanceRequestsRepositoryInterface { public function getAllMaintenanceRequests(Request $request) { $maintenanceRequests = MaintenanceRequest::with(['asset', 'tag', 'user']); if ($request->filled('search')) { $maintenanceRequests = $maintenanceRequests->where("maintenance_type", "like", "%" . $request->get("search", "") . "%") ->orWhere("reason", "like", "%" . $request->get("search", "") . "%"); $maintenanceRequests = $maintenanceRequests->orWhereHas('asset', function ($q) use ($request) { $q->where('asset_name', 'like', '%' . $request->search . '%'); })->orWhereHas('tag', function ($q) use ($request) { $q->where("tag_name", "like", "%" . $request->get("search", "") . "%")->orWhere("code", "like", "%" . $request->get("search", "") . "%")->orWhere("serial", "like", "%" . $request->get("search", "") . "%"); })->orWhereHas('user', function ($q) use ($request) { $q->where('first_name', 'like', '%' . $request->search . '%')->orWhere('last_name', 'like', '%' . $request->search . '%')->orWhere('email', 'like', '%' . $request->search . '%'); }); } return $maintenanceRequests->orderBy("id", "desc")->paginate(50); } public function storeMaintenanceRequests(Request $request) { $ms = MaintenanceSchedule::where('asset_id', $request->asset_id)->where('tag_id', $request->tag_id)->where('scheduled_date', '>=', Carbon::now()->toDateString())->first(); // ->where("status", "!=", "Completed") if ($ms && $ms->status != "Completed") { return response()->json([ "success" => false, "message" => "The maintenance request cannot be submitted because a maintenance task for the same asset is already scheduled for " . $ms->ScheduledDateFormatted . ", and its status is currently " . $ms->status ], Response::HTTP_BAD_REQUEST); } $mr = MaintenanceRequest::where('asset_id', $request->asset_id)->where('tag_id', $request->tag_id)->where('user_id', auth()->id())->first(); // if ($mr && $ms && $ms->status != "Completed") { // return response()->json([ // "success" => false, // "message" => "You have already requested maintenance for the same asset and its current status " . $ms->status // ], Response::HTTP_BAD_REQUEST); // } if ($mr && !$ms) { return response()->json([ "success" => false, "message" => "You have already requested maintenance for the same asset." ], Response::HTTP_BAD_REQUEST); } $request->merge(["user_id" => auth()->id()]); $maintenanceRequest = MaintenanceRequest::create($request->all()); $orgAdmin = User::where('organization_id', auth()->user()->organization_id)->where('is_org_admin', 1)->first(); if ($orgAdmin) { $orgAdmin->notify(new MaintenanceRequestNotification($maintenanceRequest)); } return response()->json([ "success" => true, "message" => "Maintenance request has been submitted successfully.", "date" => Carbon::now()->toDateString(), "request" => $maintenanceRequest ], Response::HTTP_CREATED); } public function getMaintenanceRequests(MaintenanceRequest $maintenanceRequest) { return $maintenanceRequest->load([ 'asset:id,asset_name', 'tag:id,tag_name,serial', 'user', 'latestMaintenanceSchedule' ]); } }
| ver. 1.4 |
Github
|
.
| PHP 8.1.29 | Генерация страницы: 0 |
proxy
|
phpinfo
|
Настройка