create transportation unit cartable

This commit is contained in:
2025-05-19 09:18:32 +03:30
parent f756b9adbe
commit ece2d687cd
9 changed files with 153 additions and 62 deletions

View File

@@ -0,0 +1,34 @@
<?php
namespace App\Services\Cartables\Mission;
use App\Exceptions\ProhibitedAction;
use App\Facades\DataTable\DataTableFacade;
use App\Models\Mission;
use Illuminate\Http\Request;
class TransportationUnitService
{
public function dataTable(Request $request)
{
$user = auth()->user();
$fields = [
'id','lat','lon', 'recognize_picture','action_picture','created_at','step', 'final_description',
'info_fa', 'activity_date_time', 'action_picture_document_upload_date', 'judiciary_document_upload_date',
'step_fa', 'axis_type_id', 'axis_type_name', 'action_date', 'is_finished', 'status_fa', 'supervisor_description', 'operator_description'
];
throw_if(is_null($user->edarate_shahri_id), new ProhibitedAction('اداره ای برای شما در سامانه ثبت نشده است!'));
$query = Mission::query()->where('', '=', '');
return DataTableFacade::run(
$query,
$request,
allowedFilters: ['*'],
allowedSortings: ['*'],
allowedSelects: $fields
);
}
}

View File

@@ -1,24 +1,15 @@
<?php
namespace App\Services\Cartables;
namespace App\Services\Cartables\SafetyAndPrivacy;
use App\Exceptions\ProhibitedAction;
use App\Facades\DataTable\DataTableFacade;
use App\Http\Traits\ApiResponse;
use App\Models\Province;
use App\Models\SafetyAndPrivacy;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use Throwable;
class SafetyAndPrivacyTableService
class OperatorService
{
use ApiResponse;
/**
* @throws Throwable
*/
public function operatorDataTable(Request $request)
public function dataTable(Request $request)
{
$user = auth()->user();
@@ -41,37 +32,6 @@ class SafetyAndPrivacyTableService
);
}
/**
* @throws Throwable
*/
public function supervisorDataTable(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'))
{
throw_if(is_null($user->province_id), new ProhibitedAction('استانی برای شما در سامانه ثبت نشده است!'));
$query = $query->where('province_id', '=', $user->province_id);
}
return DataTableFacade::run(
$query,
$request,
allowedFilters: ['*'],
allowedSortings: ['*'],
allowedSelects: $fields
);
}
public function countryActivity(Request $request): array
{
$activities = [];
@@ -186,4 +146,4 @@ class SafetyAndPrivacyTableService
return array_values($activities);
}
}
}

View File

@@ -0,0 +1,39 @@
<?php
namespace App\Services\Cartables\SafetyAndPrivacy;
use App\Exceptions\ProhibitedAction;
use App\Facades\DataTable\DataTableFacade;
use App\Models\SafetyAndPrivacy;
use Illuminate\Http\Request;
class SupervisorService
{
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'))
{
throw_if(is_null($user->province_id), new ProhibitedAction('استانی برای شما در سامانه ثبت نشده است!'));
$query = $query->where('province_id', '=', $user->province_id);
}
return DataTableFacade::run(
$query,
$request,
allowedFilters: ['*'],
allowedSortings: ['*'],
allowedSelects: $fields
);
}
}