diff --git a/app/Http/Controllers/V3/Dashboard/Mission/TransportationUnitController.php b/app/Http/Controllers/V3/Dashboard/Mission/TransportationUnitController.php index e15cdccc..79f9b66c 100644 --- a/app/Http/Controllers/V3/Dashboard/Mission/TransportationUnitController.php +++ b/app/Http/Controllers/V3/Dashboard/Mission/TransportationUnitController.php @@ -39,6 +39,7 @@ class TransportationUnitController extends Controller $mission->update([ 'state_id' => $state, 'state_name' => MissionStates::name($state), + 'km' => $request->km ]); }); diff --git a/app/Http/Controllers/V3/RahdaranController.php b/app/Http/Controllers/V3/RahdaranController.php index 13143436..a4128cc3 100644 --- a/app/Http/Controllers/V3/RahdaranController.php +++ b/app/Http/Controllers/V3/RahdaranController.php @@ -7,6 +7,7 @@ use App\Http\Controllers\Controller; use App\Http\Requests\V3\Rahdaran\StoreRequest; use App\Http\Requests\V3\Rahdaran\UpdateRequest; use App\Http\Traits\ApiResponse; +use App\Models\Province; use App\Models\Rahdaran; use Illuminate\Database\QueryException; use Illuminate\Http\JsonResponse; @@ -28,11 +29,17 @@ class RahdaranController extends Controller public function store(StoreRequest $request): JsonResponse { + $province = Province::query()->find($request->input('province_id')); + Rahdaran::query()->create([ - 'name' =>$request->name, - 'code' =>$request->code, - 'mobile' =>$request->mobile, + 'name' => $request->name, + 'code' => $request->code, + 'mobile' => $request->mobile, + 'province_id' => $province->id, + 'province_name' => $province->name_fa, + 'edareh_shahri_id' => $request->edareh_shahri_id, ]); + return $this->successResponse(); } @@ -43,11 +50,17 @@ class RahdaranController extends Controller public function update(UpdateRequest $request, Rahdaran $rahdaran): JsonResponse { + $province = Province::query()->find($request->input('province_id')); + $rahdaran->update([ 'name' =>$request->name, 'code' =>$request->code, 'mobile' =>$request->mobile, + 'province_id' => $province->id, + 'province_name' => $province->name_fa, + 'edareh_shahri_id' => $request->edareh_shahri_id, ]); + return $this->successResponse(); } diff --git a/app/Http/Requests/V3/Rahdaran/StoreRequest.php b/app/Http/Requests/V3/Rahdaran/StoreRequest.php index 3abec426..8d946ba4 100644 --- a/app/Http/Requests/V3/Rahdaran/StoreRequest.php +++ b/app/Http/Requests/V3/Rahdaran/StoreRequest.php @@ -26,6 +26,8 @@ class StoreRequest extends FormRequest 'name' => 'required|string|max:255', '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', ]; } } diff --git a/app/Http/Requests/V3/Rahdaran/UpdateRequest.php b/app/Http/Requests/V3/Rahdaran/UpdateRequest.php index 522faa53..0f19e72a 100644 --- a/app/Http/Requests/V3/Rahdaran/UpdateRequest.php +++ b/app/Http/Requests/V3/Rahdaran/UpdateRequest.php @@ -27,6 +27,8 @@ class UpdateRequest extends FormRequest 'name' => 'required|string|max:255', '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', ]; } } diff --git a/database/migrations/2025_09_27_094044_add_column_to_rahdaran_table.php b/database/migrations/2025_09_27_094044_add_column_to_rahdaran_table.php new file mode 100644 index 00000000..b4ce92f6 --- /dev/null +++ b/database/migrations/2025_09_27_094044_add_column_to_rahdaran_table.php @@ -0,0 +1,35 @@ +unsignedTinyInteger('province_id'); + $table->foreign('province_id')->references('id')->on('provinces'); + $table->string('province_name'); + $table->unsignedBigInteger('edareh_shahri_id'); + $table->foreign('edareh_shahri_id')->references('id')->on('edarate_shahri'); + $table->boolean('is_driver')->default(false); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('rahdaran', function (Blueprint $table) { + $table->dropForeign('province_id'); + $table->dropForeign('edareh_shahri_id'); + $table->dropColumn(['province_id', 'province_name']); + }); + } +}; diff --git a/database/migrations/2025_09_27_103048_add_column_to_missions_table.php b/database/migrations/2025_09_27_103048_add_column_to_missions_table.php new file mode 100644 index 00000000..7ad33f57 --- /dev/null +++ b/database/migrations/2025_09_27_103048_add_column_to_missions_table.php @@ -0,0 +1,28 @@ +string('km')->nullable(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('missions', function (Blueprint $table) { + $table->dropColumn('km'); + }); + } +};