KOKINIO - MANAGER
Edit File: InvoiceController.php
<?php namespace App\Http\Controllers; use App\Factura; use Carbon\Carbon; use Illuminate\Http\Request; use App\Helper as helper; class InvoiceController extends Controller { // public function index() { $invoice = Factura::where('factura.status_id', 1) ->join('cliente', 'cliente.id', 'factura.cliente_id') ->selectRaw('*, cliente.id as cliente_id, factura.factura_api_id as invoice_id, factura.created_at as invoice_date') ->orderBy('factura.created_at', 'desc') ->get(); foreach ($invoice as $registro) { $date = Carbon::parse($registro->invoice_date); $years[] = $date->year; $months[] = $date->format('m'); } $years = array_values(array_unique($years)); $months = array_values(array_unique($months)); sort($years); sort($months); $data = ["years" => $years, "months" => $months]; return View('Catalogos.Invoice')->with(compact('invoice', 'data')); } public function getInvoice(Request $request) { $client_id = $request->client_id; $year = $request->year; $month = $request->month; $invoice = Factura::where('factura.status_id', 1) ->join('cliente', 'cliente.id', 'factura.cliente_id') ->selectRaw('*, cliente.id as cliente_id, factura.factura_api_id as invoice_id, factura.created_at as invoice_date') ->when($client_id, function ($query) use ($client_id) { return $query->where('factura.cliente_id', $client_id); }) ->when($year, function ($query) use ($year) { return $query->whereYear('factura.created_at', $year); }) ->when($month, function ($query) use ($month) { return $query->whereMonth('factura.created_at', $month); }) ->get(); return View('Catalogos.sectionInvoiceTable')->with(compact('invoice')); } public function downloadXls(Request $request) { ob_start(); // ... do some stuff ... ob_get_clean(); $invoice = Factura:: // ->join('cliente', 'cliente.id', '=', 'venta.cliente_id') select('factura.id', 'factura.folio', 'factura.status', 'factura.tipo_factura', 'factura.total', 'factura.created_at'); if ($request->input('client_id')) { $invoice->where('factura.cliente_id', $request->input('client_id')); } if ($request->input('year')) { $invoice->whereYear('factura.created_at', $request->input('year')); } if ($request->input('month')) { $invoice->whereMonth('factura.created_at', $request->input('month')); } $invoices = $invoice->get(); header( "Content-Type: application/vnd.ms-excel" ); header( "Content-disposition: attachment; filename=spreadsheet.xls" ); echo 'ID' . "\t" . 'Folio' . "\t" . 'Status' . "\t" . 'Tipo Factura' . "\t" . 'Total' . "\t" . 'Fecha de Creacion' . "\n"; foreach ($invoices as $invoice) { echo $invoice->id . "\t" . $invoice->folio . "\t" . helper::getInvoiceStatus($invoice->status) . "\t" . $invoice->tipo_factura . "\t $" . $invoice->total . "\t" . $invoice->created_at . "\n"; } die(); // Excel::create('Facturas', function($excel) use ($invoices) { // $excel->sheet('Facturas', function($sheet) use ($invoices) { // // $sheet->loadView('Catalogos.InvoiceXls', [ // // 'invoice' => $request->invoice, // // 'client_id' => $request->client_id, // // 'year' => $request->year, // // 'month' => $request->month // // ]); // $sheet->row(1, [ // 'ID', 'Folio', 'Tipo Factura', 'Total' // ]); // $row = 2; // foreach ($invoices as $invoice) { // $sheet->row($row++, [ // $invoice['id'], // $invoice['folio'], // $invoice['tipo_factura'], // $invoice['total'] // ]); // } // }); // })->export('xls'); } }