From ea79c077cfe8564002494796c86ee8cf625bed15 Mon Sep 17 00:00:00 2001 From: amirghasempoor Date: Sun, 14 Dec 2025 09:19:57 +0330 Subject: [PATCH] debug the mission --- .../Dashboard/Mission/ControlUnitController.php | 3 +++ .../V3/Dashboard/Mission/DetailController.php | 2 +- .../Mission/RequestPortalController.php | 2 +- .../Mission/TransportationUnitController.php | 4 ++-- .../Harim/ProvinceOffice/FeedBackRequest.php | 6 +++--- .../Dashboard/Mission/SendDataToFMSListener.php | 4 ++-- app/Models/Mission.php | 16 ++++++++++++++-- .../Cartables/Mission/RequestPortalService.php | 2 +- 8 files changed, 27 insertions(+), 12 deletions(-) diff --git a/app/Http/Controllers/V3/Dashboard/Mission/ControlUnitController.php b/app/Http/Controllers/V3/Dashboard/Mission/ControlUnitController.php index 306f7243..93f29906 100644 --- a/app/Http/Controllers/V3/Dashboard/Mission/ControlUnitController.php +++ b/app/Http/Controllers/V3/Dashboard/Mission/ControlUnitController.php @@ -49,6 +49,9 @@ class ControlUnitController extends Controller return $this->successResponse(); } + /** + * @throws Throwable + */ public function finish(FinishRequest $request, Mission $mission): JsonResponse { DB::transaction(function () use ($mission) { diff --git a/app/Http/Controllers/V3/Dashboard/Mission/DetailController.php b/app/Http/Controllers/V3/Dashboard/Mission/DetailController.php index cfc53709..c253fe46 100644 --- a/app/Http/Controllers/V3/Dashboard/Mission/DetailController.php +++ b/app/Http/Controllers/V3/Dashboard/Mission/DetailController.php @@ -13,7 +13,7 @@ class DetailController extends Controller public function machines(Mission $mission): JsonResponse { - return $this->successResponse($mission->machine()->get(['cmms_machines.id', 'cmms_machines.machine_code', 'cmms_machines.car_name', 'cmms_machines.plak_number'])); + return $this->successResponse($mission->machine()->get(['id', 'machine_code', 'car_name'])); } public function rahdaran(Mission $mission): JsonResponse diff --git a/app/Http/Controllers/V3/Dashboard/Mission/RequestPortalController.php b/app/Http/Controllers/V3/Dashboard/Mission/RequestPortalController.php index 564e8356..adf24fe7 100644 --- a/app/Http/Controllers/V3/Dashboard/Mission/RequestPortalController.php +++ b/app/Http/Controllers/V3/Dashboard/Mission/RequestPortalController.php @@ -122,7 +122,7 @@ class RequestPortalController extends Controller 'explanation' => $request->explanation, 'start_time' => now(), 'machine_id' => $machine->id, - 'machine_name' => $machine->car_name, + 'machine_code' => $machine->machine_code, ]); $newMission->rahdaran()->sync($request->rahdaran); diff --git a/app/Http/Controllers/V3/Dashboard/Mission/TransportationUnitController.php b/app/Http/Controllers/V3/Dashboard/Mission/TransportationUnitController.php index 8f78d51b..bbffd853 100644 --- a/app/Http/Controllers/V3/Dashboard/Mission/TransportationUnitController.php +++ b/app/Http/Controllers/V3/Dashboard/Mission/TransportationUnitController.php @@ -46,7 +46,7 @@ class TransportationUnitController extends Controller 'state_id' => $state, 'state_name' => MissionStates::name($state), 'machine_id' => $machine->id, - 'machine_name' => $machine->car_name, + 'machine_code' => $machine->machine_code, ]); }); @@ -75,7 +75,7 @@ class TransportationUnitController extends Controller 'state_name' => MissionStates::name($state), 'description' => $request->description, 'machine_id' => null, - 'machine_name' => null, + 'machine_code' => null, ]); }); diff --git a/app/Http/Requests/V3/Dashboard/Harim/ProvinceOffice/FeedBackRequest.php b/app/Http/Requests/V3/Dashboard/Harim/ProvinceOffice/FeedBackRequest.php index c01e213e..94ee2d06 100644 --- a/app/Http/Requests/V3/Dashboard/Harim/ProvinceOffice/FeedBackRequest.php +++ b/app/Http/Requests/V3/Dashboard/Harim/ProvinceOffice/FeedBackRequest.php @@ -26,9 +26,9 @@ class FeedBackRequest extends FormRequest { return [ 'expert_description' => 'required|string', - 'forbidden_area' => 'required|array', - 'forbidden_area.type' => 'required|string', - 'forbidden_area.coordinates' => 'required|array', + 'forbidden_area' => 'array', + 'forbidden_area.type' => 'string', + 'forbidden_area.coordinates' => 'array', ]; } } diff --git a/app/Listeners/V3/Dashboard/Mission/SendDataToFMSListener.php b/app/Listeners/V3/Dashboard/Mission/SendDataToFMSListener.php index df8d92f4..90f2671b 100644 --- a/app/Listeners/V3/Dashboard/Mission/SendDataToFMSListener.php +++ b/app/Listeners/V3/Dashboard/Mission/SendDataToFMSListener.php @@ -31,10 +31,10 @@ class SendDataToFMSListener implements ShouldQueue $this->getErrorRateService->setInputParameters([ 'username' => config('fms_web_services.Error_Rate.username'), 'password' => config('fms_web_services.Error_Rate.password'), - 'missionArea' => $mission->area['coordinates'], + 'missionArea' => $mission->getMissionAreaForFms(), 'missionStartDT' => $mission->start_time->format('Y-m-d\TH:i:s'), 'missionEndDT' => $mission->finish_time->format('Y-m-d\TH:i:s'), - 'machineCode' => $mission->machines()->first()->value('machine_code'), + 'machineCode' => $mission->machine_code, 'areaType' => $mission->area['type'] === 'polygon' ? 1 : 2, ]); diff --git a/app/Models/Mission.php b/app/Models/Mission.php index 60790c26..fbce2451 100644 --- a/app/Models/Mission.php +++ b/app/Models/Mission.php @@ -5,6 +5,7 @@ namespace App\Models; use Illuminate\Database\Eloquent\Casts\Attribute; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; +use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Database\Eloquent\Relations\HasOne; use Illuminate\Database\Eloquent\Relations\MorphToMany; @@ -85,8 +86,19 @@ class Mission extends Model ); } - public function machine(): HasOne + public function machine(): BelongsTo { - return $this->hasOne(CMMSMachine::class); + return $this->belongsTo(CMMSMachine::class, 'machine_id'); + } + + public function getMissionAreaForFms(): array + { + return collect($this->area['coordinates']) + ->map(fn ($point) => [ + 'Latitude' => $point[1], // lat + 'Longitude' => $point[0], // lng + ]) + ->values() + ->toArray(); } } diff --git a/app/Services/Cartables/Mission/RequestPortalService.php b/app/Services/Cartables/Mission/RequestPortalService.php index fcd160af..ca765a5e 100644 --- a/app/Services/Cartables/Mission/RequestPortalService.php +++ b/app/Services/Cartables/Mission/RequestPortalService.php @@ -15,7 +15,7 @@ class RequestPortalService public function datatable(Request $request) { $user = auth()->user(); - $query = Mission::query()->with('roadObserved:id'); + $query = Mission::query(); if ($user->hasPermissionTo('manage-request-portal-city')) { $query->where('edare_shahri_id', '=', $user->edarate_shahri_id);