i create crud for violation

This commit is contained in:
2025-12-27 14:14:15 +03:30
parent 49a52af720
commit 9b094e9016
7 changed files with 107 additions and 8 deletions

View File

@@ -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();
}
}

View File

@@ -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,
]);

View File

@@ -0,0 +1,32 @@
<?php
namespace App\Http\Requests\V3\Mission\Violation;
use Carbon\Carbon;
use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Validator;
class StoreRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array<string, ValidationRule|array|string>
*/
public function rules(): array
{
return [
'machine_code' => 'required',
];
}
}

View File

@@ -0,0 +1,33 @@
<?php
namespace App\Http\Requests\V3\Mission\Violation;
use App\Enums\MissionStates;
use Carbon\Carbon;
use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Validator;
class UpdateRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array<string, ValidationRule|array|string>
*/
public function rules(): array
{
return [
'exit_time' => 'required',
'enter_time' => 'required',
];
}
}

View File

@@ -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',
];
}

View File

@@ -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',
];
}

View File

@@ -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.')