fix:차량일지 기간 선택 UI 개선 (시작일~종료일, 이번달/지난달 버튼, 조회건수)
This commit is contained in:
@@ -40,21 +40,22 @@ public function list(Request $request): JsonResponse
|
||||
|
||||
$request->validate([
|
||||
'vehicle_id' => 'required|integer',
|
||||
'year' => 'required|integer',
|
||||
'month' => 'required|integer|min:1|max:12',
|
||||
'start_date' => 'required|date',
|
||||
'end_date' => 'required|date|after_or_equal:start_date',
|
||||
]);
|
||||
|
||||
$vehicleId = $request->vehicle_id;
|
||||
$year = $request->year;
|
||||
$month = $request->month;
|
||||
$startDate = $request->start_date;
|
||||
$endDate = $request->end_date;
|
||||
|
||||
// 차량 정보
|
||||
$vehicle = CorporateVehicle::where('tenant_id', $tenantId)
|
||||
->findOrFail($vehicleId);
|
||||
|
||||
// 해당 월의 운행 기록
|
||||
$startDate = sprintf('%04d-%02d-01', $year, $month);
|
||||
$endDate = date('Y-m-t', strtotime($startDate));
|
||||
// 전체 운행기록 수 (해당 차량)
|
||||
$totalCount = VehicleLog::where('tenant_id', $tenantId)
|
||||
->where('vehicle_id', $vehicleId)
|
||||
->count();
|
||||
|
||||
$logs = VehicleLog::where('tenant_id', $tenantId)
|
||||
->where('vehicle_id', $vehicleId)
|
||||
@@ -76,6 +77,7 @@ public function list(Request $request): JsonResponse
|
||||
'vehicle' => $vehicle,
|
||||
'logs' => $logs,
|
||||
'totals' => $totals,
|
||||
'totalCount' => $totalCount,
|
||||
],
|
||||
]);
|
||||
}
|
||||
@@ -174,20 +176,17 @@ public function export(Request $request): StreamedResponse
|
||||
|
||||
$request->validate([
|
||||
'vehicle_id' => 'required|integer',
|
||||
'year' => 'required|integer',
|
||||
'month' => 'required|integer|min:1|max:12',
|
||||
'start_date' => 'required|date',
|
||||
'end_date' => 'required|date|after_or_equal:start_date',
|
||||
]);
|
||||
|
||||
$vehicleId = $request->vehicle_id;
|
||||
$year = $request->year;
|
||||
$month = $request->month;
|
||||
$startDate = $request->start_date;
|
||||
$endDate = $request->end_date;
|
||||
|
||||
$vehicle = CorporateVehicle::where('tenant_id', $tenantId)
|
||||
->findOrFail($vehicleId);
|
||||
|
||||
$startDate = sprintf('%04d-%02d-01', $year, $month);
|
||||
$endDate = date('Y-m-t', strtotime($startDate));
|
||||
|
||||
$logs = VehicleLog::where('tenant_id', $tenantId)
|
||||
->where('vehicle_id', $vehicleId)
|
||||
->whereBetween('log_date', [$startDate, $endDate])
|
||||
@@ -208,7 +207,7 @@ public function export(Request $request): StreamedResponse
|
||||
$sheet->setCellValue('E3', '구분');
|
||||
$sheet->setCellValue('F3', $this->getOwnershipTypeLabel($vehicle->ownership_type));
|
||||
$sheet->setCellValue('A4', '조회기간');
|
||||
$sheet->setCellValue('B4', sprintf('%d년 %d월', $year, $month));
|
||||
$sheet->setCellValue('B4', sprintf('%s ~ %s', $startDate, $endDate));
|
||||
|
||||
// 헤더
|
||||
$headers = ['일자', '부서', '성명', '구분', '출발지', '도착지', '주행km', '비고'];
|
||||
@@ -244,7 +243,7 @@ public function export(Request $request): StreamedResponse
|
||||
$sheet->setCellValue('G' . $row, number_format($totalKm));
|
||||
$sheet->setCellValue('H' . $row, '비업무: ' . number_format($personalKm) . 'km');
|
||||
|
||||
$filename = sprintf('운행기록부_%s_%d년%d월.xlsx', $vehicle->plate_number, $year, $month);
|
||||
$filename = sprintf('운행기록부_%s_%s_%s.xlsx', $vehicle->plate_number, $startDate, $endDate);
|
||||
|
||||
return response()->streamDownload(function () use ($spreadsheet) {
|
||||
$writer = new Xlsx($spreadsheet);
|
||||
|
||||
Reference in New Issue
Block a user