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/app/Services/Cartables/Mission/ControlUnitService.php b/app/Services/Cartables/Mission/ControlUnitService.php index df6c06c8..f320fa63 100644 --- a/app/Services/Cartables/Mission/ControlUnitService.php +++ b/app/Services/Cartables/Mission/ControlUnitService.php @@ -41,7 +41,7 @@ class ControlUnitService 'id', 'user_id', 'username', 'state_name', 'province_name', 'edare_shahri_name', 'description', 'requested_machines', 'type', 'type_fa', 'start_date', 'state_id', 'end_date', 'request_date', 'end_point', 'area', 'zone', 'zone_fa', 'start_time', 'finish_time', - 'code', 'category_id', 'category_name', 'explanation' + 'code', 'category_id', 'category_name', 'explanation', 'city_id', 'city_name', 'province_id', 'station_name' ] ); } diff --git a/app/Services/Cartables/Mission/RequestPortalService.php b/app/Services/Cartables/Mission/RequestPortalService.php index 354a1cb6..97f13697 100644 --- a/app/Services/Cartables/Mission/RequestPortalService.php +++ b/app/Services/Cartables/Mission/RequestPortalService.php @@ -36,7 +36,7 @@ class RequestPortalService 'id', 'user_id', 'username', 'state_name', 'province_name', 'edare_shahri_name', 'description', 'requested_machines', 'type', 'type_fa', 'start_date', 'state_id', 'end_date', 'request_date', 'end_point', 'area', 'zone', 'zone_fa', 'start_time', 'finish_time', - 'code', 'category_id', 'category_name', 'explanation' + 'code', 'category_id', 'category_name', 'explanation', 'city_id', 'city_name', 'province_id', 'station_name' ] ); } diff --git a/app/Services/Cartables/Mission/TransportationUnitService.php b/app/Services/Cartables/Mission/TransportationUnitService.php index a33e5d01..9aa468a0 100644 --- a/app/Services/Cartables/Mission/TransportationUnitService.php +++ b/app/Services/Cartables/Mission/TransportationUnitService.php @@ -35,7 +35,7 @@ class TransportationUnitService 'id', 'user_id', 'username', 'state_name', 'province_name', 'edare_shahri_name', 'description', 'requested_machines', 'type', 'type_fa', 'start_date', 'state_id', 'end_date', 'request_date', 'end_point', 'area', 'zone', 'zone_fa', 'start_time', 'finish_time', - 'code', 'category_id', 'category_name', 'explanation', 'km' + 'code', 'category_id', 'category_name', 'explanation', 'km', 'city_id', 'city_name', 'province_id', 'station_name' ] ); } 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.')