File manager - Edit - /var/www/html/ciosp/api/app/Http/Services/ProeisServiceOrderService.php
Back
<?php namespace App\Http\Services; use App\Classes\BaseServiceResponse; use App\Http\Requests\ProeisServiceOrderRequest; use App\Http\Resources\ProeisServiceOrderCollection; use App\Http\Resources\ProeisServiceOrderResource; use App\Models\ProeisServiceOrder; use Carbon\Carbon; use Illuminate\Http\JsonResponse; class ProeisServiceOrderService extends BaseService { public function index(): BaseServiceResponse { $proeisServiceOrders = ProeisServiceOrder::all(); return $this->success( new ProeisServiceOrderCollection($proeisServiceOrders) ); } public function store(ProeisServiceOrderRequest $request): BaseServiceResponse { $data = $request->all(); $data['number'] = $this->getNextNumber(); $newProeisServiceOrder = ProeisServiceOrder::create($data); return $this->success( ['proeisServiceOrders' => new ProeisServiceOrderResource($newProeisServiceOrder)], JsonResponse::HTTP_CREATED ); } public function show(ProeisServiceOrder $proeisServiceOrder): BaseServiceResponse { return $this->success( ['proeisServiceOrders' => new ProeisServiceOrderResource($proeisServiceOrder)] ); } public function update(ProeisServiceOrderRequest $request, ProeisServiceOrder $proeisServiceOrder): BaseServiceResponse { $proeisServiceOrder->fill($request->all())->save(); return $this->success( ['proeisServiceOrders' => new ProeisServiceOrderResource($proeisServiceOrder)] ); } public function destroy(ProeisServiceOrder $proeisServiceOrder): BaseServiceResponse { $proeisServiceOrder->forceDelete(); return $this->success(null, JsonResponse::HTTP_NO_CONTENT); } public function getNextNumber() { $now = Carbon::now(); $year = $now->year; $query = ProeisServiceOrder::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