create new stracture for Report in mission and fix form request #31
@@ -23,7 +23,7 @@ class ReportMachineController extends Controller
|
||||
|
||||
public function machineDetailsReport(Request $request, ReportMachineService $reportMachineService,int $machine_id): JsonResponse
|
||||
{
|
||||
$data = $reportMachineService->dataTableMachinesActivity($request,$machine_id);
|
||||
$data = $reportMachineService->machineDetailActivity($request,$machine_id);
|
||||
|
||||
return response()->json($data);
|
||||
}
|
||||
@@ -34,7 +34,7 @@ class ReportMachineController extends Controller
|
||||
*/
|
||||
public function machineDetailsReportExcel(Request $request, int $machine_id, ReportMachineService $reportMachineService): BinaryFileResponse
|
||||
{
|
||||
$data = $reportMachineService->dataTableMachinesActivity($request,$machine_id);
|
||||
$data = $reportMachineService->machineDetailActivity($request,$machine_id);
|
||||
$name = 'گزارش عملکرد ماشین آلات'.verta()->now()->format('Y-m-d H-i').'.xlsx';
|
||||
|
||||
return Excel::download(new machineDetailsReport($data['data']), $name);
|
||||
@@ -42,10 +42,7 @@ class ReportMachineController extends Controller
|
||||
|
||||
public function machinesActivity(Request $request, ReportMachineService $reportMachineService): JsonResponse
|
||||
{
|
||||
return $this->successResponse([
|
||||
'activities' => $reportMachineService->machinesActivity($request),
|
||||
// 'provinces' => Province::all(['id', 'name_fa']),
|
||||
]);
|
||||
return response()->json($reportMachineService->machinesActivity($request));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -62,9 +59,9 @@ class ReportMachineController extends Controller
|
||||
}
|
||||
|
||||
|
||||
public function machineTypeDetailsReport(Request $request, ReportMachineService $reportMachineService,int $car_type): JsonResponse
|
||||
public function machineTypeDetailsReport(Request $request, ReportMachineService $reportMachineService): JsonResponse
|
||||
{
|
||||
$data = $reportMachineService->dataTableMachineTypesActivity($request,$car_type);
|
||||
$data = $reportMachineService->machineTypeDetailActivity($request);
|
||||
|
||||
return response()->json($data);
|
||||
}
|
||||
@@ -73,9 +70,9 @@ class ReportMachineController extends Controller
|
||||
* @throws Exception
|
||||
* @throws \PhpOffice\PhpSpreadsheet\Writer\Exception
|
||||
*/
|
||||
public function machineTypeDetailsReportExcel(Request $request, ReportMachineService $reportMachineService,int $car_type): BinaryFileResponse
|
||||
public function machineTypeDetailsReportExcel(Request $request, ReportMachineService $reportMachineService): BinaryFileResponse
|
||||
{
|
||||
$data = $reportMachineService->dataTableMachineTypesActivity($request,$car_type);
|
||||
$data = $reportMachineService->machineTypeDetailActivity($request);
|
||||
$name = 'گزارش عملکردیک نوع ماشین'.verta()->now()->format('Y-m-d H-i').'.xlsx';
|
||||
|
||||
return Excel::download(new machineTypeDetailsReport($data['data']), $name);
|
||||
@@ -83,10 +80,7 @@ class ReportMachineController extends Controller
|
||||
|
||||
public function machineTypesActivity(Request $request, ReportMachineService $reportMachineService): JsonResponse
|
||||
{
|
||||
return $this->successResponse([
|
||||
'activities' => $reportMachineService->machineTypesActivity($request),
|
||||
// 'provinces' => Province::all(['id', 'name_fa']),
|
||||
]);
|
||||
return response()->json($reportMachineService->machineTypesActivity($request));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -101,9 +95,9 @@ class ReportMachineController extends Controller
|
||||
return Excel::download(new machineTypeReport($data), $name);
|
||||
}
|
||||
|
||||
public function machineDriverDetailsReport(Request $request, int $driver_id, ReportMachineService $reportMachineService): JsonResponse
|
||||
public function machineDriverDetailsReport(Request $request, ReportMachineService $reportMachineService): JsonResponse
|
||||
{
|
||||
$data = $reportMachineService->dataTableMachineDriversActivity($request,$driver_id);
|
||||
$data = $reportMachineService->machineDriverDetailActivity($request);
|
||||
|
||||
return response()->json($data);
|
||||
}
|
||||
@@ -112,9 +106,9 @@ class ReportMachineController extends Controller
|
||||
* @throws Exception
|
||||
* @throws \PhpOffice\PhpSpreadsheet\Writer\Exception
|
||||
*/
|
||||
public function machineDriverDetailsReportExcel(Request $request, int $driver_id, ReportMachineService $reportMachineService): BinaryFileResponse
|
||||
public function machineDriverDetailsReportExcel(Request $request, ReportMachineService $reportMachineService): BinaryFileResponse
|
||||
{
|
||||
$data = $reportMachineService->dataTableMachineDriversActivity($request,$driver_id);
|
||||
$data = $reportMachineService->machineDriverDetailActivity($request);
|
||||
$name = 'گزارش عملکرد راننده'.verta()->now()->format('Y-m-d H-i').'.xlsx';
|
||||
|
||||
return Excel::download(
|
||||
@@ -123,10 +117,7 @@ class ReportMachineController extends Controller
|
||||
|
||||
public function machineDriversActivity(Request $request, ReportMachineService $reportMachineService): JsonResponse
|
||||
{
|
||||
return $this->successResponse([
|
||||
'activities' => $reportMachineService->machineDriversActivity($request),
|
||||
// 'provinces' => Province::all(['id', 'name_fa']),
|
||||
]);
|
||||
return response()->json($reportMachineService->machineDriversActivity($request));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -12,7 +12,7 @@ return new class extends Migration
|
||||
public function up(): void
|
||||
{
|
||||
Schema::table('cmms_machines', function (Blueprint $table) {
|
||||
$table->integer('distance_mission')->nullable();
|
||||
$table->integer('max_mission_duration')->nullable();
|
||||
});
|
||||
}
|
||||
|
||||
@@ -22,7 +22,7 @@ return new class extends Migration
|
||||
public function down(): void
|
||||
{
|
||||
Schema::table('cmms_machines', function (Blueprint $table) {
|
||||
$table->dropColumn('distance_mission');
|
||||
$table->dropColumn('max_mission_duration');
|
||||
});
|
||||
}
|
||||
};
|
||||
@@ -575,10 +575,10 @@ Route::prefix('missions')
|
||||
Route::get('/machine_drivers_activity_excel', 'machineDriversActivityExcel')->name('machineDriversActivityExcel');
|
||||
Route::get('/machine_details_report/{machine_id}', 'machineDetailsReport')->name('machineDetailsReport');
|
||||
Route::get('/machine_details_report_excel/{machine_id}', 'machineDetailsReportExcel')->name('machineDetailsReportExcel');
|
||||
Route::get('/machine_type_details_report/{car_type}', 'machineTypeDetailsReport')->name('machineTypeDetailsReport');
|
||||
Route::get('/machine_type_details_report_excel/{car_type}', 'machineTypeDetailsReportExcel')->name('machineTypeDetailsReportExcel');
|
||||
Route::get('/machine_driver_details_report/{driver_id}', 'machineDriverDetailsReport')->name('machineDriverDetailsReport');
|
||||
Route::get('/machine_driver_details_report_excel/{driver_id}', 'machineDriverDetailsReportExcel')->name('machineDriverDetailsReportExcel');
|
||||
Route::get('/machine_type_details_report', 'machineTypeDetailsReport')->name('machineTypeDetailsReport');
|
||||
Route::get('/machine_type_details_report_excel', 'machineTypeDetailsReportExcel')->name('machineTypeDetailsReportExcel');
|
||||
Route::get('/machine_driver_details_report', 'machineDriverDetailsReport')->name('machineDriverDetailsReport');
|
||||
Route::get('/machine_driver_details_report_excel', 'machineDriverDetailsReportExcel')->name('machineDriverDetailsReportExcel');
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user