Files
sam-api/app/Http/Controllers/Api/V1/ReportController.php
hskwon 7278c4742f fix: ApiResponse 4xx 에러에서 스택 트레이스 제외 및 Controller 메서드 수정
- 4xx 클라이언트 에러에는 스택 트레이스 제외
- 5xx 서버 에러에만 debug 모드에서 스택 트레이스 포함
- 10개 Controller의 ApiResponse::handle() → success() 수정
  - BankAccountController, SiteController, CardController
  - DepositController, WithdrawalController, SaleController
  - PurchaseController, PayrollController, ReportController
  - WorkSettingController
- import 경로 수정 (App\Http\Responses → App\Helpers)
2025-12-18 15:42:46 +09:00

62 lines
1.7 KiB
PHP

<?php
namespace App\Http\Controllers\Api\V1;
use App\Exports\DailyReportExport;
use App\Exports\ExpenseEstimateExport;
use App\Http\Controllers\Controller;
use App\Http\Requests\V1\Report\DailyReportRequest;
use App\Http\Requests\V1\Report\ExpenseEstimateRequest;
use App\Helpers\ApiResponse;
use App\Services\ReportService;
use Maatwebsite\Excel\Facades\Excel;
class ReportController extends Controller
{
public function __construct(
private readonly ReportService $service
) {}
/**
* 일일 일보 조회
*/
public function daily(DailyReportRequest $request)
{
$report = $this->service->dailyReport($request->validated());
return ApiResponse::success($report, __('message.fetched'));
}
/**
* 일일 일보 엑셀 다운로드
*/
public function dailyExport(DailyReportRequest $request)
{
$report = $this->service->dailyReport($request->validated());
$filename = 'daily_report_'.$report['date'].'.xlsx';
return Excel::download(new DailyReportExport($report), $filename);
}
/**
* 지출 예상 내역서 조회
*/
public function expenseEstimate(ExpenseEstimateRequest $request)
{
$report = $this->service->expenseEstimate($request->validated());
return ApiResponse::success($report, __('message.fetched'));
}
/**
* 지출 예상 내역서 엑셀 다운로드
*/
public function expenseEstimateExport(ExpenseEstimateRequest $request)
{
$report = $this->service->expenseEstimate($request->validated());
$filename = 'expense_estimate_'.$report['year_month'].'.xlsx';
return Excel::download(new ExpenseEstimateExport($report), $filename);
}
}