create and change some thing for misson in listener and controller andmigration

This commit is contained in:
2025-09-23 15:47:36 +03:30
parent c43909574e
commit 4e8054d8d8
3 changed files with 49 additions and 3 deletions

View File

@@ -33,9 +33,15 @@ class RequestPortalController extends Controller
{
DB::transaction(function () use ($request) {
$user = auth()->user();
$state = MissionStates::REQUEST_CREATED->value;
$category = $request->category_id;
$start_timestamp = strtotime($request->start_date);
$end_timestamp = strtotime($request->end_date);
$mission_duration = $end_timestamp - $start_timestamp;
$mission = Mission::query()->create([
'user_id' => $user->id,
'username' => $user->username,
@@ -60,6 +66,7 @@ class RequestPortalController extends Controller
'category_name' => MissionCategory::name($category),
'explanation' => $request->explanation,
'code' => rand(100000, 999999),
'mission_duration' => $mission_duration,
]);
$mission->rahdaran()->sync($request->rahdaran);

View File

@@ -29,12 +29,19 @@ class SendDataToFMSListener implements ShouldQueue
$this->getErrorRateService->setInputParameters([
'missionArea' => $mission->area['coordinates'],
'missionStartDT' => $mission->start_date,
'missionEndDT' => $mission->end_date,
'missionStartDT' => $mission->start_date->format('Y-m-d\TH:i:s'),
'missionEndDT' => $mission->end_date->format('Y-m-d\TH:i:s'),
'machineCode' => $mission->machines()->first('cmms_machines.machine_code'),
'areaType' => $mission->area['type'] === 'polygon' ? 1 : 2,
]);
$this->getErrorRateService->run();
$responseData = $this->getErrorRateService->run();
$mission->update([
'in_area_duration' => $responseData['TimeInAreaSeconds'],
'first_enter' => $responseData['FirstEnter'],
'last_exit' => $responseData['LastExit'],
'point_number_sent' => $responseData['NoOfPointsInMission'],
]);
}
}

View File

@@ -0,0 +1,32 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::table('missions', function (Blueprint $table) {
$table->bigInteger('mission_duration')->nullable();
$table->bigInteger('in_area_duration')->nullable();
$table->timestamps('first_enter')->nullable();
$table->timestamps('last_exit')->nullable();
$table->integer('point_number_sent')->nullable();
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::table('missions', function (Blueprint $table) {
//
});
}
};