Merge branch 'feature/MissionMigration' into 'develop'

Feature/mission migration

See merge request witelgroup/rms_v2!133
This commit is contained in:
2025-07-01 07:29:11 +00:00
7 changed files with 24 additions and 81 deletions

View File

@@ -28,13 +28,13 @@ class ControlUnitController extends Controller
'user_id' => auth()->user()->id,
'previous_state_id' => $mission->state_id,
'previous_state_name' => $mission->state_name,
'start_time' => now()
]);
$state = MissionStates::START_MISSION->value;
$mission->update([
'state_id' => $state,
'state_name' => MissionStates::name($state),
'start_time' => now()
]);
});
@@ -48,13 +48,13 @@ class ControlUnitController extends Controller
'user_id' => auth()->user()->id,
'previous_state_id' => $mission->state_id,
'previous_state_name' => $mission->state_name,
'finish_time' => now()
]);
$state = MissionStates::END_MISSION->value;
$mission->update([
'state_id' => $state,
'state_name' => MissionStates::name($state),
'finish_time' => now()
]);
});

View File

@@ -73,7 +73,6 @@ class OperatorController extends Controller
$user = auth()->user();
$road_item = RoadItemsProject::query()->create([
'user_id' => $user->id,
'mission_id' => $request->mission_id,
'start_lat' => $start_coordinates[0],
'start_lng' => $start_coordinates[1],
'end_lat' => $end_coordinates ? $end_coordinates[0] : null,
@@ -123,6 +122,7 @@ class OperatorController extends Controller
$road_item->rahdaran()->attach($request->rahdaran_id);
$road_item->cmmsMachines()->attach($request->machines_id);
$road_item->missions()->attach($request->mission_id);
$user->addActivityComplete(1154);
});
@@ -179,7 +179,6 @@ class OperatorController extends Controller
DB::transaction(function () use ($roadItemsProject, $start_coordinates, $end_coordinates, $request) {
$roadItemsProject->update([
'mission_id' => $request->mission_id,
'start_lat' => $start_coordinates[0],
'start_lng' => $start_coordinates[1],
'end_lat' => $end_coordinates ? $end_coordinates[0] : null,
@@ -191,6 +190,7 @@ class OperatorController extends Controller
$roadItemsProject->rahdaran()->sync($request->rahdaran_id);
$roadItemsProject->cmmsMachines()->sync($request->machines_id);
$roadItemsProject->missions()->sync($request->mission_id);
auth()->user()->addActivityComplete(1155);

View File

@@ -13,7 +13,7 @@ return new class extends Migration
{
Schema::create('mission_histories', function (Blueprint $table) {
$table->id();
$table->foreignId('mission_id')->constrained('missions');
$table->foreignId('mission_id')->constrained('missions')->cascadeOnDelete();
$table->unsignedInteger('user_id');
$table->foreign('user_id')->references('id')->on('users');
$table->foreignId('previous_state_id')->constrained('mission_states');

View File

@@ -1,29 +0,0 @@
<?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('road_patrols', function (Blueprint $table) {
$table->foreignId('mission_id')->constrained('missions');
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::table('road_patrols', function (Blueprint $table) {
$table->dropForeign(['mission_id']);
$table->dropColumn('mission_id');
});
}
};

View File

@@ -1,28 +0,0 @@
<?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('road_items_projects', function (Blueprint $table) {
$table->foreignId('mission_id')->nullable()->constrained('missions');
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::table('road_items_projects', function (Blueprint $table) {
$table->dropColumn('mission_id');
});
}
};

View File

@@ -143,10 +143,24 @@ Route::prefix('road_items')
Route::get('/rahdaran/{roadItemsProject}', 'rahdaran')->name('rahdaran');
Route::get('/files/{roadItemsProject}', 'files')->name('files');
});
Route::prefix('reports')
->name('reports.')
->controller(\App\Http\Controllers\V3\Dashboard\RoadItem\ReportController::class)
->group(function () {
Route::get('/get_sub_items', 'getSubItems')->name('getSubItems');
Route::get('/country_activity_per_sub_item', 'countryActivityPerSubItem')->name('countryActivityPerSubItem');
Route::get('/province_activity_per_sub_item', 'provinceActivityPerSubItem')->name('provinceActivityPerSubItem');
Route::get('/country_activity_per_item', 'countryActivityPerItem')->name('countryActivityPerItem');
Route::get('/province_activity_per_item', 'provinceActivityPerItem')->name('provinceActivityPerItem');
Route::get('/country_activity_excel_per_item', 'countryActivityExcelPerItem')->name('countryActivityExcelPerItem');
Route::get('/province_activity_excel_per_item', 'provinceActivityExcelPerItem')->name('provinceActivityExcelPerItem');
Route::get('/country_activity_excel_per_sub_item', 'countryActivityExcelPerSubItem')->name('countryActivityExcelPerSubItem');
Route::get('/province_activity_excel_per_sub_item', 'provinceActivityExcelPerSubItem')->name('provinceActivityExcelPerSubItem');
Route::get('/activities_on_map', 'activitiesOnMap')->name('activitiesOnMap');
Route::get('/show_on_map/{roadItemsProject}', 'showOnMap')->name('showOnMap');
});
});
Route::prefix('cmms_machines')
->name('cmms_machines.')
->controller(CMMSMachinesController::class)
@@ -179,23 +193,7 @@ Route::prefix('observed_items')
Route::get('/{observedItem}', 'show')->name('show');
});
Route::prefix('road_item_reports')
->name('roadItemReports.')
->controller(\App\Http\Controllers\V3\Dashboard\RoadItem\ReportController::class)
->group(function () {
Route::get('/get_sub_items', 'getSubItems')->name('getSubItems');
Route::get('/country_activity_per_sub_item', 'countryActivityPerSubItem')->name('countryActivityPerSubItem');
Route::get('/province_activity_per_sub_item', 'provinceActivityPerSubItem')->name('provinceActivityPerSubItem');
Route::get('/country_activity_per_item', 'countryActivityPerItem')->name('countryActivityPerItem');
Route::get('/province_activity_per_item', 'provinceActivityPerItem')->name('provinceActivityPerItem');
Route::get('/country_activity_excel_per_item', 'countryActivityExcelPerItem')->name('countryActivityExcelPerItem');
Route::get('/province_activity_excel_per_item', 'provinceActivityExcelPerItem')->name('provinceActivityExcelPerItem');
Route::get('/country_activity_excel_per_sub_item', 'countryActivityExcelPerSubItem')->name('countryActivityExcelPerSubItem');
Route::get('/province_activity_excel_per_sub_item', 'provinceActivityExcelPerSubItem')->name('provinceActivityExcelPerSubItem');
Route::get('/activities_on_map', 'activitiesOnMap')->name('activitiesOnMap');
Route::get('/show_on_map/{roadItemsProject}', 'showOnMap')->name('showOnMap');
});
Route::prefix('road_patrol')
Route::prefix('road_patrols')
->group(function () {
Route::prefix('details')
->name('details.')
@@ -453,6 +451,7 @@ Route::prefix('missions')
});
Route::name('transportationUnit.')
->prefix('transportation_unit')
->middleware('permission:manage-transportation-unit')
->controller(TransportationUnitController::class)
->group(function () {
Route::get('/', 'index')->name('index');
@@ -461,6 +460,7 @@ Route::prefix('missions')
});
Route::name('controlUnit.')
->prefix('control_unit')
->middleware('permission:manage-control-unit')
->controller(ControlUnitController::class)
->group(function () {
Route::get('/', 'index')->name('index');