Merge pull request #45 from witelgroup/feature/AddClumnInMission

create and change some thing for misson in listener and controller an…
This commit is contained in:
Amir Ghasempoor
2025-09-23 16:17:22 +03:30
committed by GitHub
4 changed files with 45 additions and 4 deletions

View File

@@ -57,7 +57,8 @@ class ControlUnitController extends Controller
$mission->update([
'state_id' => $state,
'state_name' => MissionStates::name($state),
'finish_time' => now()
'finish_time' => now(),
'mission_duration' => strtotime(now()) - strtotime($mission->start_time),
]);
});

View File

@@ -33,6 +33,7 @@ class RequestPortalController extends Controller
{
DB::transaction(function () use ($request) {
$user = auth()->user();
$state = MissionStates::REQUEST_CREATED->value;
$category = $request->category_id;

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_time->format('Y-m-d\TH:i:s'),
'missionEndDT' => $mission->finish_time->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) {
$table->dropColumn(['mission_duration', 'in_area_duration', 'first_enter', 'last_exit', 'point_number_sent']);
});
}
};