diff --git a/app/Http/Controllers/V3/Dashboard/Mission/ControlUnitController.php b/app/Http/Controllers/V3/Dashboard/Mission/ControlUnitController.php index 0043ed3f..32d3f9ea 100644 --- a/app/Http/Controllers/V3/Dashboard/Mission/ControlUnitController.php +++ b/app/Http/Controllers/V3/Dashboard/Mission/ControlUnitController.php @@ -27,7 +27,8 @@ class ControlUnitController extends Controller $mission->histories()->create([ 'user_id' => auth()->user()->id, 'previous_state_id' => $mission->state_id, - 'previous_state_name' => $mission->state_name + 'previous_state_name' => $mission->state_name, + 'start_time' => now() ]); $state = MissionStates::START_MISSION->value; @@ -46,7 +47,8 @@ class ControlUnitController extends Controller $mission->histories()->create([ 'user_id' => auth()->user()->id, 'previous_state_id' => $mission->state_id, - 'previous_state_name' => $mission->state_name + 'previous_state_name' => $mission->state_name, + 'finish_time' => now() ]); $state = MissionStates::END_MISSION->value; diff --git a/app/Services/Cartables/Mission/ControlUnitService.php b/app/Services/Cartables/Mission/ControlUnitService.php index 68bd4656..271d459f 100644 --- a/app/Services/Cartables/Mission/ControlUnitService.php +++ b/app/Services/Cartables/Mission/ControlUnitService.php @@ -30,7 +30,7 @@ class ControlUnitService allowedSelects: [ 'id', 'user_id', 'username', 'state_name', 'province_name', 'edare_shahri_name', 'description', 'requested_machines', 'type', 'type_fa', 'start_date', 'state_id', - 'end_date', 'request_date', 'end_point', 'area', 'zone', 'zone_fa' + 'end_date', 'request_date', 'end_point', 'area', 'zone', 'zone_fa', 'start_time', 'finish_time' ] ); } diff --git a/app/Services/Cartables/Mission/RequestPortalService.php b/app/Services/Cartables/Mission/RequestPortalService.php index b90bed61..2dad6b65 100644 --- a/app/Services/Cartables/Mission/RequestPortalService.php +++ b/app/Services/Cartables/Mission/RequestPortalService.php @@ -32,7 +32,7 @@ class RequestPortalService allowedSelects: [ 'id', 'user_id', 'username', 'state_name', 'province_name', 'edare_shahri_name', 'description', 'requested_machines', 'type', 'type_fa', 'start_date', 'state_id', - 'end_date', 'request_date', 'end_point', 'area', 'zone', 'zone_fa' + 'end_date', 'request_date', 'end_point', 'area', 'zone', 'zone_fa', 'start_time', 'finish_time' ] ); } diff --git a/app/Services/Cartables/Mission/TransportationUnitService.php b/app/Services/Cartables/Mission/TransportationUnitService.php index fa75da4f..606e2e58 100644 --- a/app/Services/Cartables/Mission/TransportationUnitService.php +++ b/app/Services/Cartables/Mission/TransportationUnitService.php @@ -24,7 +24,7 @@ class TransportationUnitService allowedSelects: [ 'id', 'user_id', 'username', 'state_name', 'province_name', 'edare_shahri_name', 'description', 'requested_machines', 'type', 'type_fa', 'start_date', 'state_id', - 'end_date', 'request_date', 'end_point', 'area', 'zone', 'zone_fa' + 'end_date', 'request_date', 'end_point', 'area', 'zone', 'zone_fa', 'start_time', 'finish_time' ] ); } diff --git a/app/Services/Cartables/SafetyAndPrivacy/SupervisorService.php b/app/Services/Cartables/SafetyAndPrivacy/SupervisorService.php index 0579bc8b..20d0257c 100644 --- a/app/Services/Cartables/SafetyAndPrivacy/SupervisorService.php +++ b/app/Services/Cartables/SafetyAndPrivacy/SupervisorService.php @@ -6,19 +6,17 @@ use App\Exceptions\ProhibitedAction; use App\Facades\DataTable\DataTableFacade; use App\Models\SafetyAndPrivacy; use Illuminate\Http\Request; +use Throwable; class SupervisorService { + /** + * @throws Throwable + */ public function dataTable(Request $request) { $user = auth()->user(); - $fields = [ - 'id','lat','lon', 'recognize_picture','action_picture','created_at','status', 'final_description', 'province_fa', - 'info_fa', 'activity_date_time', 'action_picture_document_upload_date', 'judiciary_document_upload_date', 'edare_shahri_name', - 'step_fa', 'axis_type_id', 'axis_type_name', 'action_date', 'is_finished', 'status_fa', 'supervisor_description', 'operator_description' - ]; - $query = SafetyAndPrivacy::query(); if ($user->hasPermissionTo('show-safety-and-privacy-operator-cartable-province')) @@ -33,7 +31,12 @@ class SupervisorService $request, allowedFilters: ['*'], allowedSortings: ['*'], - allowedSelects: $fields + allowedSelects: [ + 'id','lat','lon', 'recognize_picture','action_picture','created_at','status', 'final_description', 'province_fa', + 'info_fa', 'activity_date_time', 'action_picture_document_upload_date', 'judiciary_document_upload_date', + 'edare_shahri_name', 'step_fa', 'axis_type_id', 'axis_type_name', 'action_date', 'is_finished', 'status_fa', + 'supervisor_description', 'operator_description' + ] ); } } \ No newline at end of file diff --git a/database/migrations/2025_06_24_114516_add_start-and-finish-time_to_missions_table.php b/database/migrations/2025_06_24_114516_add_start-and-finish-time_to_missions_table.php new file mode 100644 index 00000000..eb96489a --- /dev/null +++ b/database/migrations/2025_06_24_114516_add_start-and-finish-time_to_missions_table.php @@ -0,0 +1,29 @@ +dateTime('start_time')->nullable(); + $table->dateTime('finish_time')->nullable();; + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('missions', function (Blueprint $table) { + $table->dropColumn(['start_time', 'finish_time']); + }); + } +};