<?php

namespace App\Exports;

use App\Models\Sale;
use Maatwebsite\Excel\Concerns\FromView;

class SaleReportExport implements FromView
{
    public function view(): \Illuminate\Contracts\View\View
    {
        $startDate = request()->get('start_date');
        $endDate   = request()->get('end_date');
        $userId    = request()->get('user_id');

        $query = Sale::with(['saleItems', 'warehouse', 'customer', 'payments']);

        // Filter by date
        if ($startDate != 'null' && $endDate != 'null' && $startDate && $endDate) {
            $query->whereDate('created_at', '>=', $startDate)
                  ->whereDate('created_at', '<=', $endDate);
        }

        // Filter by user_id
        if ($userId && $userId != 'null') {
            $query->where('user_id', $userId);
        }

        $sales = $query->get();

        return view('excel.all-sale-report-excel', ['sales' => $sales]);
    }
}
