forked from nathalie/pedi2
Agregado PdfHelper para centralizar lógica de generación de pdfs
This commit is contained in:
parent
b8d1520c54
commit
250bfd8a33
2 changed files with 33 additions and 24 deletions
|
@ -3,6 +3,7 @@
|
||||||
namespace App;
|
namespace App;
|
||||||
|
|
||||||
use App\Helpers\CsvHelper;
|
use App\Helpers\CsvHelper;
|
||||||
|
use App\Helpers\PdfHelper;
|
||||||
use App\Helpers\TransporteHelper;
|
use App\Helpers\TransporteHelper;
|
||||||
use Illuminate\Database\Eloquent\Builder;
|
use Illuminate\Database\Eloquent\Builder;
|
||||||
use Illuminate\Database\Eloquent\Model;
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
@ -105,17 +106,7 @@ class GrupoDeCompra extends Model
|
||||||
public function exportarPedidosAPdf()
|
public function exportarPedidosAPdf()
|
||||||
{
|
{
|
||||||
$subpedidos = $this->pedidosAprobados();
|
$subpedidos = $this->pedidosAprobados();
|
||||||
//generar pdf
|
PdfHelper::exportarPedidos($this->nombre . '.pdf', $subpedidos);
|
||||||
$mpdf = new Mpdf();
|
|
||||||
foreach ($subpedidos as $subpedido) {
|
|
||||||
$tabla = $subpedido->generarHTML();
|
|
||||||
// agregar la tabla al pdf en una nueva página
|
|
||||||
$mpdf->WriteHTML($tabla);
|
|
||||||
$mpdf->AddPage();
|
|
||||||
}
|
|
||||||
$filename = $this->nombre . '.pdf';
|
|
||||||
// imprimir el pdf
|
|
||||||
$mpdf->Output($filename, "D");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function pedidoParaPdf(): array
|
function pedidoParaPdf(): array
|
||||||
|
@ -147,19 +138,8 @@ class GrupoDeCompra extends Model
|
||||||
|
|
||||||
public static function exportarPedidosBarrialesAPdf()
|
public static function exportarPedidosBarrialesAPdf()
|
||||||
{
|
{
|
||||||
$barrios = GrupoDeCompra::barriosMenosPrueba()
|
$barrios = GrupoDeCompra::barriosMenosPrueba()->get();
|
||||||
->get();
|
PdfHelper::exportarPedidos('pedidos_por_barrio.pdf', $barrios);
|
||||||
$mpdf = new Mpdf();
|
|
||||||
|
|
||||||
foreach ($barrios as $barrio) {
|
|
||||||
$tabla = $barrio->generarHTML();
|
|
||||||
$mpdf->WriteHTML($tabla);
|
|
||||||
$mpdf->AddPage();
|
|
||||||
}
|
|
||||||
|
|
||||||
$filename = 'pedidos_por_barrio.pdf';
|
|
||||||
// imprimir el pdf
|
|
||||||
$mpdf->Output($filename, "D");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static function filaVacia(string $product, int $columns): array
|
static function filaVacia(string $product, int $columns): array
|
||||||
|
|
29
app/Helpers/PdfHelper.php
Normal file
29
app/Helpers/PdfHelper.php
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Helpers;
|
||||||
|
|
||||||
|
use Mpdf\Mpdf;
|
||||||
|
use Mpdf\MpdfException;
|
||||||
|
|
||||||
|
class PdfHelper
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Requiere que el segundo argumento tenga definida la función generarHTML()
|
||||||
|
* para crear la tabla con los datos del pedido que se inserta en el pdf.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
* @throws MpdfException
|
||||||
|
*/
|
||||||
|
public static function exportarPedidos($filepath, $pedidos)
|
||||||
|
{
|
||||||
|
$mpdf = new Mpdf();
|
||||||
|
|
||||||
|
foreach ($pedidos as $pedido) {
|
||||||
|
$html = $pedido->generarHTML();
|
||||||
|
$mpdf->WriteHTML($html);
|
||||||
|
$mpdf->AddPage();
|
||||||
|
}
|
||||||
|
|
||||||
|
$mpdf->Output($filepath, 'D');
|
||||||
|
}
|
||||||
|
}
|
Loading…
Add table
Reference in a new issue