<?php namespace App\Http\Controllers; use App\GrupoDeCompra; use App\Helpers\CanastaHelper; use App\Producto; use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; use Symfony\Component\HttpFoundation\BinaryFileResponse; class ComprasController { const CANASTAS_PATH = 'csv/canastas/'; public function indexPedidos() { return view('compras_pedidos'); } public function descargarPedidos(): BinaryFileResponse { Producto::planillaTotales(); $file = resource_path('csv/exports/pedidos-por-barrio.csv'); return response()->download($file); } public function descargarNotas(): BinaryFileResponse { Producto::planillaNotas(); $file = resource_path('csv/exports/notas-por-barrio.csv'); return response()->download($file); } public function pdf() { GrupoDeCompra::exportarPedidosBarrialesAPdf(); } public function show() { return view('auth/compras_login'); } public function cargarCanasta(Request $request): JsonResponse { $request->validate([ 'data' => 'required|file|mimes:csv,txt|max:2048', ]); $nombre = CanastaHelper::guardarCanasta($request->file('data'), self::CANASTAS_PATH); CanastaHelper::cargarCanasta(self::CANASTAS_PATH . $nombre); return response()->json([ 'message' => 'Canasta cargada exitosamente', ]); } public function descargarCanastaEjemplo(): BinaryFileResponse { $file = resource_path('csv/productos.csv'); return response()->download($file); } }