make reports datatable

This commit is contained in:
amirghasempoor
2026-07-14 14:38:17 +03:30
parent d58ca6b685
commit 961e4c40c9
4 changed files with 28 additions and 38 deletions

View File

@@ -9,7 +9,7 @@ use Illuminate\Http\Request;
class ReportMachineService
{
public function dataTableMachinesActivity(Request $request, int $machine_id): array
public function machineDetailActivity(Request $request, int $machine_id): array
{
return DataTableFacade::run(
Mission::query()->where('machine_id', '=', $machine_id),
@@ -38,10 +38,9 @@ class ReportMachineService
COUNT(*) as missions,
SUM(missions.end_km - missions.km) as func'
)
->groupBy('missions.machine_id')
->orderByRaw('COUNT(*) DESC');
->groupBy('missions.machine_id');
$fields = ['machine_code','machine_id','cm.car_name','missions', 'func'];
$fields = ['machine_code','machine_id','cm.car_name','missions', 'func', 'start_time', 'finish_time', 'province_id'];
return DataTableFacade::run(
$query,
$request,
@@ -50,9 +49,9 @@ class ReportMachineService
);
}
public function dataTableMachineTypesActivity(Request $request,int $car_type): array
public function machineTypeDetailActivity(Request $request): array
{
$machineIds = CMMSMachine::query()->where('car_type', '=', $car_type)->pluck('machine_id');
$machineIds = CMMSMachine::query()->where('car_type', '=', $request->query('car_type'))->pluck('id');
return DataTableFacade::run(
Mission::query()->whereIn('machine_id', $machineIds),
$request,
@@ -81,7 +80,7 @@ class ReportMachineService
->groupBy('cm.car_type')
->orderByRaw('COUNT(*) DESC');
$fields = ['car_type','missions', 'func'];
$fields = ['car_type','missions', 'func', 'start_time', 'finish_time', 'province_id'];
return DataTableFacade::run(
$query,
@@ -91,10 +90,10 @@ class ReportMachineService
);
}
public function dataTableMachineDriversActivity(Request $request,int $driver_id): array
public function machineDriverDetailActivity(Request $request): array
{
return DataTableFacade::run(
Mission::query()->where('driver_id', '=', $driver_id),
Mission::query()->where('driver_id', '=', $request->query('driver_id')),
$request,
allowedFilters: ['*'],
allowedSortings: ['*'],
@@ -121,7 +120,7 @@ class ReportMachineService
->groupBy('driver_id')
->orderByRaw('COUNT(*) DESC');
$fields = ['driver_id','driver_name','missions', 'func'];
$fields = ['driver_id','driver_name','missions', 'func', 'start_time', 'finish_time', 'province_id'];
return DataTableFacade::run(
$query,