From 9b094e901684c9d23f8daebdd6f3cfd38125d636 Mon Sep 17 00:00:00 2001 From: faezehzafarbakhsh Date: Sat, 27 Dec 2025 14:14:15 +0330 Subject: [PATCH] i create crud for violation --- .../Mission/ViolationManagementController.php | 38 +++++++++++++++++++ .../Controllers/V3/RahdaranController.php | 6 --- .../V3/Mission/Violation/StoreRequest.php | 32 ++++++++++++++++ .../V3/Mission/Violation/UpdateRequest.php | 33 ++++++++++++++++ .../Requests/V3/Rahdaran/StoreRequest.php | 1 - .../Requests/V3/Rahdaran/UpdateRequest.php | 1 - routes/v3.php | 4 ++ 7 files changed, 107 insertions(+), 8 deletions(-) create mode 100644 app/Http/Requests/V3/Mission/Violation/StoreRequest.php create mode 100644 app/Http/Requests/V3/Mission/Violation/UpdateRequest.php diff --git a/app/Http/Controllers/V3/Dashboard/Mission/ViolationManagementController.php b/app/Http/Controllers/V3/Dashboard/Mission/ViolationManagementController.php index b4042f61..ca041807 100644 --- a/app/Http/Controllers/V3/Dashboard/Mission/ViolationManagementController.php +++ b/app/Http/Controllers/V3/Dashboard/Mission/ViolationManagementController.php @@ -5,9 +5,13 @@ namespace App\Http\Controllers\V3\Dashboard\Mission; use App\Enums\MissionCategory; use App\Enums\MissionStates; use App\Enums\MissionTypes; +use App\Enums\MissionViolationStatus; +use App\Enums\MissionViolationType; use App\Enums\MissionZones; use App\Http\Controllers\Controller; use App\Http\Requests\V3\Mission\Violation\NoProcessRequest; +use App\Http\Requests\V3\Mission\Violation\StoreRequest; +use App\Http\Requests\V3\Mission\Violation\UpdateRequest; use App\Http\Traits\ApiResponse; use App\Models\CMMSMachine; use App\Models\Mission; @@ -89,4 +93,38 @@ class ViolationManagementController extends Controller return $this->successResponse(); } + public function store(StoreRequest $request): JsonResponse + { + MissionViolation::query()->create([ + 'machine_id'=> CMMSMachine::query()->where('machine_code', '=', $request->machine_code)->id, + 'machine_code'=> $request->machine_code, + 'type'=> MissionViolationType::KHOROJ_BEDONE_MOGAVEZ->value, + 'status' => MissionViolationStatus::BEDON_EGHDAM->value, + 'request_date' => now(), + ]); + + return $this->successResponse(); + + } + public function show(MissionViolation $violation): JsonResponse + { + return $this->successResponse($violation); + } + + public function update(UpdateRequest $request, MissionViolation $violation): JsonResponse + { + $violation->update([ + 'enter_time' => $request->enter_time, + 'exit_time' => $request->exit_time, + ]); + + return $this->successResponse(); + } + + public function destroy(MissionViolation $violation): JsonResponse + { + $violation->delete(); + return $this->successResponse(); + } + } diff --git a/app/Http/Controllers/V3/RahdaranController.php b/app/Http/Controllers/V3/RahdaranController.php index 52b74127..95e40e1b 100644 --- a/app/Http/Controllers/V3/RahdaranController.php +++ b/app/Http/Controllers/V3/RahdaranController.php @@ -40,7 +40,6 @@ class RahdaranController extends Controller public function store(StoreRequest $request): JsonResponse { $province = Province::query()->find($request->input('province_id')); - $edareh = EdarateShahri::query()->find($request->input('edareh_shahri_id')); Rahdaran::query()->create([ 'name' => $request->name, @@ -48,8 +47,6 @@ class RahdaranController extends Controller 'mobile' => $request->mobile, 'province_id' => $province->id, 'province_name' => $province->name_fa, - 'edareh_shahri_id' => $request->edareh_shahri_id, - 'edareh_shahri_name' => $edareh->name_fa, 'is_driver' => $request->is_driver, ]); @@ -64,7 +61,6 @@ class RahdaranController extends Controller public function update(UpdateRequest $request, Rahdaran $rahdaran): JsonResponse { $province = Province::query()->find($request->input('province_id')); - $edareh = EdarateShahri::query()->find($request->input('edareh_shahri_id')); $rahdaran->update([ 'name' => $request->name, @@ -72,8 +68,6 @@ class RahdaranController extends Controller 'mobile' => $request->mobile, 'province_id' => $province->id, 'province_name' => $province->name_fa, - 'edareh_shahri_id' => $request->edareh_shahri_id, - 'edareh_shahri_name' => $edareh->name_fa, 'is_driver' => $request->is_driver, ]); diff --git a/app/Http/Requests/V3/Mission/Violation/StoreRequest.php b/app/Http/Requests/V3/Mission/Violation/StoreRequest.php new file mode 100644 index 00000000..b0c8c647 --- /dev/null +++ b/app/Http/Requests/V3/Mission/Violation/StoreRequest.php @@ -0,0 +1,32 @@ + + */ + public function rules(): array + { + return [ + 'machine_code' => 'required', + ]; + } + +} diff --git a/app/Http/Requests/V3/Mission/Violation/UpdateRequest.php b/app/Http/Requests/V3/Mission/Violation/UpdateRequest.php new file mode 100644 index 00000000..22ddc694 --- /dev/null +++ b/app/Http/Requests/V3/Mission/Violation/UpdateRequest.php @@ -0,0 +1,33 @@ + + */ + public function rules(): array + { + return [ + 'exit_time' => 'required', + 'enter_time' => 'required', + ]; + } +} diff --git a/app/Http/Requests/V3/Rahdaran/StoreRequest.php b/app/Http/Requests/V3/Rahdaran/StoreRequest.php index ae925bdf..1e71ec4e 100644 --- a/app/Http/Requests/V3/Rahdaran/StoreRequest.php +++ b/app/Http/Requests/V3/Rahdaran/StoreRequest.php @@ -27,7 +27,6 @@ class StoreRequest extends FormRequest 'code' => 'required|string|max:255|unique:rahdaran,code', 'mobile' => 'required|digits:11|regex:/^09\d{9}$/', 'province_id' => 'required|exists:provinces,id', - 'edareh_shahri_id' => 'required|exists:edarate_shahri,id', 'is_driver' => 'required|boolean', ]; } diff --git a/app/Http/Requests/V3/Rahdaran/UpdateRequest.php b/app/Http/Requests/V3/Rahdaran/UpdateRequest.php index 20efef51..2e891ce4 100644 --- a/app/Http/Requests/V3/Rahdaran/UpdateRequest.php +++ b/app/Http/Requests/V3/Rahdaran/UpdateRequest.php @@ -28,7 +28,6 @@ class UpdateRequest extends FormRequest 'code' => ['required', 'string', Rule::unique('rahdaran', 'code')->ignore($this->rahdaran->id)], 'mobile' => 'required|digits:11|regex:/^09\d{9}$/', 'province_id' => 'required|exists:provinces,id', - 'edareh_shahri_id' => 'required|exists:edarate_shahri,id', 'is_driver' => 'required|boolean', ]; } diff --git a/routes/v3.php b/routes/v3.php index 8b16bc38..a51379db 100644 --- a/routes/v3.php +++ b/routes/v3.php @@ -527,7 +527,11 @@ Route::prefix('missions') ->controller(ViolationManagementController::class) ->group(function () { Route::get('/', 'index')->name('index'); + Route::post('/', 'store')->name('store'); Route::post('/no_process/{violation}','noProcess')->name('noProcess'); + Route::get('/{violation}', 'show')->name('show'); + Route::post('/{violation}', 'update')->name('update'); + Route::delete('/{violation}', 'destroy')->name('destroy'); }); Route::prefix('report') ->name('reports.')