Merge pull request #101 from witelgroup/feature/MissionsDebug

debug the mission
This commit is contained in:
Amir Ghasempoor
2025-12-14 09:21:33 +03:30
committed by GitHub
8 changed files with 27 additions and 12 deletions

View File

@@ -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) {

View File

@@ -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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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