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/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); } public function cargarSaldos(Request $request): JsonResponse { $request->validate([ 'data' => 'required|file|mimes:csv,txt|max:2048', ]); $file = $request->file('data')->getPathname(); $csv = Reader::createFromPath($file, 'r'); try { $csv->setDelimiter("|"); $csv->setEnclosure("'"); $csv->setHeaderOffset(0); $records = $csv->getRecords(); } catch (InvalidArgument|Exception $e) { Log::error($e->getMessage()); return response()->json([ 'message' => 'No se pudo leer el csv', ]); } foreach ($records as $record) { $barrio = $record[self::BARRIO]; $saldo = $record[self::SALDO]; GrupoDeCompra::where('nombre', $barrio) ->update(['saldo' => $saldo]); } return response()->json([ 'message' => 'Saldos cargados exitosamente', ]); } }