mirror of
https://git.imnavajas.es/jjimenez/safekat.git
synced 2025-07-25 22:52:08 +00:00
Primera version del pdf de albaran
This commit is contained in:
@ -562,7 +562,7 @@ $routes->group('cosidotapablanda', ['namespace' => 'App\Controllers\Presupuestos
|
||||
$routes->resource('cosidotapablanda', ['namespace' => 'App\Controllers\Presupuestos', 'controller' => 'Cosidotapablanda', 'except' => 'show,new,create,update']);
|
||||
|
||||
$routes->group('presupuestocliente', ['namespace' => 'App\Controllers\Presupuestos'], function ($routes) {
|
||||
$routes->get('list', 'Presupuestocliente::list', ['as' => 'listaPresupuestos']);
|
||||
$routes->get('list', 'Presupuestocliente::list', ['as' => 'listaPresupuestos']);
|
||||
$routes->post('datatable', 'Presupuestocliente::datatable', ['as' => 'datatableOfPresupuestos']);
|
||||
$routes->get('add', 'Presupuestocliente::add', ['as' => 'nuevoPresupuestoCliente']);
|
||||
$routes->post('add', 'Presupuestocliente::add', ['as' => 'crearPresupuestoCliente']);
|
||||
@ -613,8 +613,7 @@ $routes->group('presupuestodirecciones', ['namespace' => 'App\Controllers\Presup
|
||||
$routes->group('presupuestotiradasalternativas', ['namespace' => 'App\Controllers\Presupuestos'], function ($routes) {
|
||||
$routes->post('datatable', 'Presupuestotiradasalternativas::datatable', ['as' => 'dataTableOfPresupuestoTiradasAlternativas']);
|
||||
$routes->post('datatable_2', 'Presupuestotiradasalternativas::datatable_2', ['as' => 'getTiradaData']);
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
|
||||
$routes->group(
|
||||
@ -626,6 +625,16 @@ $routes->group(
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
$routes->group(
|
||||
'print-albaran',
|
||||
['namespace' => 'App\Controllers\Pdf'],
|
||||
function ($routes) {
|
||||
$routes->get('index/(:num)', 'PrintAlbaranes::index/$1', ['as' => 'viewAlbaranPDF']);
|
||||
$routes->get('generar/(:num)', 'PrintAlbaranes::generar/$1', ['as' => 'albaranToPdf']);
|
||||
}
|
||||
);
|
||||
|
||||
$routes->group(
|
||||
'buscadorpresupuestos',
|
||||
['namespace' => 'App\Controllers\Presupuestos'],
|
||||
|
||||
86
ci4/app/Controllers/Pdf/PrintAlbaranes.php
Normal file
86
ci4/app/Controllers/Pdf/PrintAlbaranes.php
Normal file
@ -0,0 +1,86 @@
|
||||
<?php
|
||||
|
||||
namespace App\Controllers\Pdf;
|
||||
|
||||
use App\Controllers\BaseController;
|
||||
|
||||
|
||||
class PrintAlbaranes extends BaseController
|
||||
{
|
||||
|
||||
public function index($id_pedido)
|
||||
{
|
||||
|
||||
/*$presupuestoModel = model('App\Models\Presupuestos\PresupuestoModel');
|
||||
$lineasPresupuestoModel = model('App\Models\Presupuestos\PresupuestoLineaModel');
|
||||
$direccionesEnvioModel = model('App\Models\Presupuestos\PresupuestoDireccionesModel');
|
||||
$presupuestoAcabadosModel = model('App\Models\Presupuestos\PresupuestoAcabadosModel');
|
||||
|
||||
$data['presupuesto'] = $presupuestoModel->getResourceForPdf($id_pedido)->get()->getRow();
|
||||
$data['lp_ByN'] = $lineasPresupuestoModel->getResourceByNForPdf($id_pedido)->get()->getRow();
|
||||
$data['lp_Color'] = $lineasPresupuestoModel->getResourceColorForPdf($id_pedido)->get()->getRow();
|
||||
$data['lp_Cubierta'] = $lineasPresupuestoModel->getResourceCubiertaForPdf($id_pedido)->get()->getRow();
|
||||
$data['lp_Sobrecubierta'] = $lineasPresupuestoModel->getResourceSobrecubiertaForPdf($id_pedido)->get()->getRow();
|
||||
$data['acabado_cubierta'] = $presupuestoAcabadosModel->getAcabadoCubiertaForPdf($id_pedido)->get()->getRow();
|
||||
$data['acabado_sobrecubierta'] = $presupuestoAcabadosModel->getAcabadoSobrecubiertaForPdf($id_pedido)->get()->getRow();
|
||||
$data['acabado_reserva_uvi'] = $presupuestoAcabadosModel->getAcabadoReservaUviForPdf($id_pedido)->get()->getRow();
|
||||
$data['direccionesEnvio'] = $direccionesEnvioModel->getResourceForPdf($id_pedido)->get()->getResultObject();*/
|
||||
|
||||
$data = $id_pedido;
|
||||
|
||||
return view(getenv('theme.path') . 'pdfs/albaran');
|
||||
}
|
||||
|
||||
public function generar($presupuesto_id)
|
||||
{
|
||||
|
||||
// Cargar modelos
|
||||
/*$presupuestoModel = model('App\Models\Presupuestos\PresupuestoModel');
|
||||
$lineasPresupuestoModel = model('App\Models\Presupuestos\PresupuestoLineaModel');
|
||||
$direccionesEnvioModel = model('App\Models\Presupuestos\PresupuestoDireccionesModel');
|
||||
$presupuestoAcabadosModel = model('App\Models\Presupuestos\PresupuestoAcabadosModel');
|
||||
|
||||
// Informacion del presupuesto
|
||||
$data['presupuesto'] = $presupuestoModel->getResourceForPdf($presupuesto_id)->get()->getRow();
|
||||
$data['lp_ByN'] = $lineasPresupuestoModel->getResourceByNForPdf($presupuesto_id)->get()->getRow();
|
||||
$data['lp_Color'] = $lineasPresupuestoModel->getResourceColorForPdf($presupuesto_id)->get()->getRow();
|
||||
$data['lp_Cubierta'] = $lineasPresupuestoModel->getResourceCubiertaForPdf($presupuesto_id)->get()->getRow();
|
||||
$data['lp_Sobrecubierta'] = $lineasPresupuestoModel->getResourceSobrecubiertaForPdf($presupuesto_id)->get()->getRow();
|
||||
$data['acabado_cubierta'] = $presupuestoAcabadosModel->getAcabadoCubiertaForPdf($presupuesto_id)->get()->getRow();
|
||||
$data['acabado_sobrecubierta'] = $presupuestoAcabadosModel->getAcabadoSobrecubiertaForPdf($presupuesto_id)->get()->getRow();
|
||||
$data['acabado_reserva_uvi'] = $presupuestoAcabadosModel->getAcabadoReservaUviForPdf($presupuesto_id)->get()->getRow();
|
||||
$data['direccionesEnvio'] = $direccionesEnvioModel->getResourceForPdf($presupuesto_id)->get()->getResultObject();*/
|
||||
|
||||
$data = $presupuesto_id;
|
||||
|
||||
// Crear una instancia de Dompdf
|
||||
$options = new \Dompdf\Options();
|
||||
$options->set('isHtml5ParserEnabled', true);
|
||||
$options->set('isPhpEnabled', true);
|
||||
$options->set('isRemoteEnabled', true);
|
||||
$dompdf = new \Dompdf\Dompdf($options);
|
||||
|
||||
// Contenido HTML del documento
|
||||
$dompdf->loadHtml(view(getenv('theme.path').'pdfs/albaran'));
|
||||
|
||||
// Establecer el tamaño del papel
|
||||
$dompdf->setPaper('A4', 'portrait');
|
||||
|
||||
// Renderizar el PDF
|
||||
$dompdf->render();
|
||||
|
||||
// Obtener el contenido generado
|
||||
$output = $dompdf->output();
|
||||
|
||||
// Establecer las cabeceras para visualizar en lugar de descargar
|
||||
$file_name = "presupuesto-$presupuesto_id.pdf";
|
||||
return $this->response
|
||||
->setStatusCode(200)
|
||||
->setHeader('Content-Type', 'application/pdf')
|
||||
->setHeader('Content-Disposition', 'inline; filename="' . $file_name . '"')
|
||||
->setHeader('Cache-Control', 'private, max-age=0, must-revalidate')
|
||||
->setHeader('Pragma', 'public')
|
||||
->setHeader('Content-Length', strlen($output))
|
||||
->setBody($output);
|
||||
}
|
||||
}
|
||||
@ -306,19 +306,20 @@ class PresupuestoModel extends \App\Models\BaseModel
|
||||
"t1.id AS id, t1.created_at AS fecha, t1.titulo AS titulo, t1.autor AS autor, t1.ferro AS ferro,
|
||||
t1.ferro_digital AS ferro_digital, t1.prototipo AS prototipo, t1.solapas AS solapas, t1.solapas_sobrecubierta AS solapas_sobrecubierta,
|
||||
t1.lomo_cubierta AS lomo_cubierta, t1.lomo_sobrecubierta AS lomo_sobrecubierta,
|
||||
t1.solapas_ancho AS solapas_ancho, t1.solapas_sobrecubierta_ancho AS solapas_sobrecubierta_ancho, t1.paginas AS paginas, t1.tirada AS tirada, t1.coleccion AS coleccion,
|
||||
t1.solapas_ancho AS solapas_ancho, t1.solapas_ancho_sobrecubierta AS solapas_sobrecubierta_ancho, t1.paginas AS paginas, t1.tirada AS tirada, t1.coleccion AS coleccion,
|
||||
t1.retractilado AS retractilado, t1.guardas AS guardas, t1.marcapaginas AS marcapaginas,
|
||||
t1.comentarios_pdf AS comentarios_pdf, t1.tirada_alternativa_json_data AS tiradas_alternativas,
|
||||
t1.total_presupuesto AS total_presupuesto, t1.total_precio_unidad AS total_precio_unidad,
|
||||
t1.papel_formato_personalizado AS isPersonalizado, t1.envios_recoge_cliente AS recoge_cliente,
|
||||
CONCAT(t1.papel_formato_ancho, 'x', t1.papel_formato_alto) AS formatoPersonalizado,
|
||||
t2.nombre AS cliente,
|
||||
CONCAT(t3.first_name, ' ', t3.last_name) AS comercial, t3.email AS email_comercial,
|
||||
CONCAT(t3.first_name, ' ', t3.last_name) AS comercial, t5.secret AS email_comercial,
|
||||
CONCAT(t4.ancho, 'x', t4.alto) AS formato"
|
||||
);
|
||||
$builder->join("clientes t2", "t1.cliente_id = t2.id", "left");
|
||||
$builder->join("users t3", "t1.user_update_id = t3.id", "left");
|
||||
$builder->join("lg_papel_formato t4", "t1.papel_formato_id = t4.id", "left");
|
||||
$builder->join("auth_identities t5", "t1.user_update_id = t5.id", "left");
|
||||
|
||||
$builder->where("t1.is_deleted", 0);
|
||||
$builder->where("t1.id", $presupuesto_id);
|
||||
|
||||
208
ci4/app/Views/themes/vuexy/pdfs/albaran.php
Normal file
208
ci4/app/Views/themes/vuexy/pdfs/albaran.php
Normal file
File diff suppressed because one or more lines are too long
132
ci4/app/Views/themes/vuexy/pdfs/albi.php
Normal file
132
ci4/app/Views/themes/vuexy/pdfs/albi.php
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user