diff --git a/app/Http/Controllers/V3/Dashboard/Mission/RequestPortalController.php b/app/Http/Controllers/V3/Dashboard/Mission/RequestPortalController.php index 9c01f36a..76f501af 100644 --- a/app/Http/Controllers/V3/Dashboard/Mission/RequestPortalController.php +++ b/app/Http/Controllers/V3/Dashboard/Mission/RequestPortalController.php @@ -50,6 +50,7 @@ class RequestPortalController extends Controller 'description' => $request->description, 'end_point' => $request->end_point, 'area' => json_encode($request->area), + 'code' => rand(100000, 999999) ]); $mission->rahdaran()->attach($request->rahdaran); diff --git a/app/Http/Controllers/V3/Dashboard/Mission/TransportationUnitController.php b/app/Http/Controllers/V3/Dashboard/Mission/TransportationUnitController.php index 2e0bade3..6e96d81b 100644 --- a/app/Http/Controllers/V3/Dashboard/Mission/TransportationUnitController.php +++ b/app/Http/Controllers/V3/Dashboard/Mission/TransportationUnitController.php @@ -7,6 +7,7 @@ use App\Http\Controllers\Controller; use App\Http\Requests\V3\Mission\TransportaionUnit\AllocateRequest; use App\Http\Requests\V3\Mission\TransportaionUnit\DeallocateRequest; use App\Http\Traits\ApiResponse; +use App\Models\CMMSMachine; use App\Models\Mission; use App\Services\Cartables\Mission\TransportationUnitService; use Illuminate\Http\JsonResponse; @@ -65,8 +66,12 @@ class TransportationUnitController extends Controller return $this->successResponse(); } - public function rahdaran(Mission $mission): JsonResponse + public function machinesList(Mission $mission): JsonResponse { - return $this->successResponse($mission->rahdaran()->get(['rahdaran.id', 'rahdaran.name', 'rahdaran.code'])); + return $this->successResponse( + CMMSMachine::query() + ->where('car_type', '=', $mission->car_type) + ->get(['machine_code', 'id', 'plak_number', 'car_name']) + ); } } diff --git a/app/Http/Requests/V3/Mission/ControlUnit/StartRequest.php b/app/Http/Requests/V3/Mission/ControlUnit/StartRequest.php index f932510c..5c9af18b 100644 --- a/app/Http/Requests/V3/Mission/ControlUnit/StartRequest.php +++ b/app/Http/Requests/V3/Mission/ControlUnit/StartRequest.php @@ -13,7 +13,7 @@ class StartRequest extends FormRequest */ public function authorize(): bool { - return $this->mission->state_id == MissionStates::PENDING_CONFIRMATION->value; + return ($this->mission->state_id == MissionStates::PENDING_CONFIRMATION->value && $this->mission->code == $this->code); } /** @@ -24,7 +24,7 @@ class StartRequest extends FormRequest public function rules(): array { return [ - // + 'code' => 'required|string', ]; } } diff --git a/database/migrations/2025_07_12_140123_add_column_to_cmms_machines_table.php b/database/migrations/2025_07_12_140123_add_column_to_cmms_machines_table.php new file mode 100644 index 00000000..e77b3a1d --- /dev/null +++ b/database/migrations/2025_07_12_140123_add_column_to_cmms_machines_table.php @@ -0,0 +1,28 @@ +string('car_type')->nullable(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('cmms_machines', function (Blueprint $table) { + $table->dropColumn('car_type'); + }); + } +}; diff --git a/routes/v3.php b/routes/v3.php index 5017c06c..4df794cf 100644 --- a/routes/v3.php +++ b/routes/v3.php @@ -467,6 +467,7 @@ Route::prefix('missions') Route::get('/', 'index')->name('index'); Route::post('/allocate/{mission}', 'allocate')->name('allocate'); Route::post('/deallocate/{mission}', 'deallocate')->name('deallocate'); + Route::post('/machines_list/{mission}', 'machinesList')->name('machinesList'); }); Route::name('controlUnit.') ->prefix('control_unit')