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,36 @@
<?php
namespace App\Http\Controllers\V3\Dashboard\Mission;
use App\Http\Controllers\Controller;
use App\Http\Traits\ApiResponse;
use App\Models\Mission;
use App\Services\Cartables\Mission\TransportationUnitService;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
class TransportationUnitController extends Controller
{
use ApiResponse;
public function index(Request $request, TransportationUnitService $transportationUnitService): JsonResponse
{
return response()->json($transportationUnitService->dataTable($request));
}
public function allocate(Request $request, Mission $mission): JsonResponse
{
$mission->machines()->attach($request->machines);
$mission->update([
'state' => ''
]);
return $this->successResponse();
}
public function deallocate()
{
}
}

View File

@@ -17,7 +17,7 @@ use App\Http\Requests\V3\SafetyAndPrivacy\UpdateRequest;
use App\Http\Traits\ApiResponse;
use App\Models\InfoItem;
use App\Models\SafetyAndPrivacy;
use App\Services\Cartables\SafetyAndPrivacyTableService;
use App\Services\Cartables\SafetyAndPrivacy\OperatorService;
use App\Services\NominatimService;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
@@ -34,18 +34,18 @@ class OperatorController extends Controller
/**
* @throws Throwable
*/
public function index(Request $request, SafetyAndPrivacyTableService $safetyAndPrivacyTableService): JsonResponse
public function index(Request $request, OperatorService $operatorService): JsonResponse
{
return response()->json($safetyAndPrivacyTableService->operatorDatatable($request));
return response()->json($operatorService->datatable($request));
}
/**
* @throws Throwable
*/
public function excelReport(Request $request, SafetyAndPrivacyTableService $safetyAndPrivacyTableService): BinaryFileResponse
public function excelReport(Request $request, OperatorService $operatorService): BinaryFileResponse
{
$name = 'گزارش از نگهداری حریم راه ' . verta()->now()->format('Y-m-d H-i') . '.xlsx';
$data = $safetyAndPrivacyTableService->operatorDatatable($request);
$data = $operatorService->datatable($request);
return Excel::download(new OperatorCartableReport($data['data']), $name);
}

View File

@@ -8,6 +8,7 @@ use App\Http\Controllers\Controller;
use App\Http\Traits\ApiResponse;
use App\Models\EdarateShahri;
use App\Models\Province;
use App\Services\Cartables\SafetyAndPrivacy\OperatorService;
use App\Services\Cartables\SafetyAndPrivacyTableService;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
@@ -18,34 +19,34 @@ class OperatorReportController extends Controller
{
use ApiResponse;
public function countryActivity(Request $request, SafetyAndPrivacyTableService $safetyAndPrivacyTableService): JsonResponse
public function countryActivity(Request $request, OperatorService $operatorService): JsonResponse
{
$data = $safetyAndPrivacyTableService->countryActivity($request);
$data = $operatorService->countryActivity($request);
return $this->successResponse([
'activities' => $data,
'provinces' => Province::all(['id', 'name_fa'])
]);
}
public function provinceActivity(Request $request, SafetyAndPrivacyTableService $safetyAndPrivacyTableService): JsonResponse
public function provinceActivity(Request $request, OperatorService $operatorService): JsonResponse
{
$data = $safetyAndPrivacyTableService->provinceActivity($request);
$data = $operatorService->provinceActivity($request);
return $this->successResponse([
'activities' => $data,
'edarateShahri' => EdarateShahri::query()->where('province_id', '=', $request->province_id)->get(['id', 'name_fa']),
]);
}
public function countryExcelActivity(Request $request, SafetyAndPrivacyTableService $safetyAndPrivacyTableService): BinaryFileResponse
public function countryExcelActivity(Request $request, OperatorService $operatorService): BinaryFileResponse
{
$data = $safetyAndPrivacyTableService->countryActivity($request);
$data = $operatorService->countryActivity($request);
$name = 'گزارش از نگهداری حریم راه ' . verta()->now()->format('Y-m-d H-i') . '.xlsx';
return Excel::download(new CountryActivityReport($data), $name);
}
public function provinceExcelActivity(Request $request, SafetyAndPrivacyTableService $safetyAndPrivacyTableService): BinaryFileResponse
public function provinceExcelActivity(Request $request, OperatorService $operatorService): BinaryFileResponse
{
$data = $safetyAndPrivacyTableService->provinceActivity($request);
$data = $operatorService->provinceActivity($request);
$name = 'گزارش از نگهداری حریم راه ' . verta()->now()->format('Y-m-d H-i') . '.xlsx';
return Excel::download(new ProvinceActivityReport($data, $request), $name);
}

View File

@@ -8,6 +8,7 @@ use App\Http\Controllers\Controller;
use App\Http\Requests\V3\SafetyAndPrivacy\RejectRequest;
use App\Http\Traits\ApiResponse;
use App\Models\SafetyAndPrivacy;
use App\Services\Cartables\SafetyAndPrivacy\SupervisorService;
use App\Services\Cartables\SafetyAndPrivacyTableService;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
@@ -22,18 +23,18 @@ class SupervisorController extends Controller
/**
* @throws Throwable
*/
public function index(Request $request, SafetyAndPrivacyTableService $safetyAndPrivacyTableService): JsonResponse
public function index(Request $request, SupervisorService $supervisorService): JsonResponse
{
return response()->json($safetyAndPrivacyTableService->supervisorDataTable($request));
return response()->json($supervisorService->dataTable($request));
}
/**
* @throws Throwable
*/
public function excelReport(Request $request, SafetyAndPrivacyTableService $safetyAndPrivacyTableService): BinaryFileResponse
public function excelReport(Request $request, SupervisorService $supervisorService): BinaryFileResponse
{
$name = 'گزارش از نگهداری حریم راه ' . verta()->now()->format('Y-m-d H-i') . '.xlsx';
$data = $safetyAndPrivacyTableService->supervisorDataTable($request);
$data = $supervisorService->dataTable($request);
return Excel::download(new SupervisorCartableReport($data['data']), $name);
}