File manager - Edit - /var/www/html/ciosp/api/app/Http/Services/ServiceOrderService.php
Back
<?php namespace App\Http\Services; use App\Classes\BaseServiceResponse; use App\Http\Requests\ServiceOrderRequest; use App\Http\Resources\ServiceOrderCollection; use App\Http\Resources\ServiceOrderResource; use App\Models\ServiceOrder; use Carbon\Carbon; use Illuminate\Http\JsonResponse; class ServiceOrderService extends BaseService { public function index(): BaseServiceResponse { $serviceOrders = ServiceOrder::all(); return $this->success( new ServiceOrderCollection($serviceOrders) ); } public function store(ServiceOrderRequest $request): BaseServiceResponse { $data = $request->all(); $data['number'] = $this->getNextNumber(); $newServiceOrder = ServiceOrder::create($data); return $this->success( ['serviceOrders' => new ServiceOrderResource($newServiceOrder)], JsonResponse::HTTP_CREATED ); } public function show(ServiceOrder $serviceOrder): BaseServiceResponse { return $this->success( ['serviceOrder' => new ServiceOrderResource($serviceOrder)] ); } public function update(ServiceOrderRequest $request, ServiceOrder $serviceOrder): BaseServiceResponse { $serviceOrder->fill($request->all())->save(); return $this->success( ['serviceOrder' => new ServiceOrderResource($serviceOrder)] ); } public function destroy(ServiceOrder $serviceOrder): BaseServiceResponse { $serviceOrder->forceDelete(); return $this->success(null, JsonResponse::HTTP_NO_CONTENT); } public function getNextNumber() { $now = Carbon::now(); $year = $now->year; $query = ServiceOrder::where('number', 'like', '%/' . $year)->orderBy('number', 'desc')->get(); if ($query->isEmpty()) { $nextNumber = "1/$year"; return $nextNumber; } $number = explode('/', $query[0]['number']); $counter = $number[0]; $nextCounter = $counter + 1; $nextNumber = "$nextCounter/$year"; return $nextNumber; } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.01 |
proxy
|
phpinfo
|
Settings