diff --git a/ci4/app/Config/Routes.php b/ci4/app/Config/Routes.php index a6f21f81..e590579d 100755 --- a/ci4/app/Config/Routes.php +++ b/ci4/app/Config/Routes.php @@ -202,7 +202,7 @@ $routes->group('papelesimpresionmargenes', ['namespace' => 'App\Controllers\Conf $routes->post('datatable_editor', 'Papelimpresionmargenes::datatable_editor', ['as' => 'editorOfPapelImpresionMargenes']); $routes->get('delete/(:num)', 'Papelimpresionmargenes::delete/$1', ['as' => 'deletePapelImpresionMargen']); }); -$routes->resource('papelesimpresionmargenes', ['namespace' => 'App\Controllers\Configuracion', 'controller' => 'Papelimpresionmargenes', 'except' => 'show,new,create,update']); +$routes->resource('papelesimpresionmargenes', ['namespace' => 'App\Controllers\Configuracion', 'controller' => 'Papelimpresionmargenes', 'except' => 'show,new,create,update']); $routes->group('tarifaacabadolineas', ['namespace' => 'App\Controllers\Tarifas'], function ($routes) { @@ -453,21 +453,21 @@ $routes->group('tarifasenvios', ['namespace' => 'App\Controllers\Tarifas'], func $routes->post('allmenuitems', 'Tarifasenvios::allItemsSelect', ['as' => 'select2ItemsOfTarifaEnvio']); $routes->post('menuitems', 'Tarifasenvios::menuItems', ['as' => 'menuItemsOfTarifaEnvio']); }); -$routes->resource('tarifasenvios', ['namespace' => 'App\Controllers\Tarifas', 'controller' => 'Tarifasenvios', 'except' => 'show,new,create,update']); +$routes->resource('tarifasenvios', ['namespace' => 'App\Controllers\Tarifas', 'controller' => 'Tarifasenvios', 'except' => 'show,new,create,update']); $routes->group('tarifasenviosprecios', ['namespace' => 'App\Controllers\Tarifas'], function ($routes) { $routes->post('datatable', 'Tarifasenviosprecios::datatable', ['as' => 'dataTableOfTarifasEnvioPrecios']); $routes->post('datatable_editor', 'Tarifasenviosprecios::datatable_editor', ['as' => 'editorOfTarifasEnvioPrecios']); }); -$routes->resource('tarifasenviosprecios', ['namespace' => 'App\Controllers\Tarifas', 'controller' => 'Tarifasenviosprecios', 'except' => 'show,new,create,update']); +$routes->resource('tarifasenviosprecios', ['namespace' => 'App\Controllers\Tarifas', 'controller' => 'Tarifasenviosprecios', 'except' => 'show,new,create,update']); $routes->group('tarifasenvioszonas', ['namespace' => 'App\Controllers\Tarifas'], function ($routes) { $routes->post('datatable', 'Tarifasenvioszonas::datatable', ['as' => 'dataTableOfTarifasEnvioZonas']); $routes->post('datatable_editor', 'Tarifasenvioszonas::datatable_editor', ['as' => 'editorOfTarifasEnvioZonas']); }); -$routes->resource('tarifasenvioszonas', ['namespace' => 'App\Controllers\Tarifas', 'controller' => 'Tarifasenvioszonas', 'except' => 'show,new,create,update']); +$routes->resource('tarifasenvioszonas', ['namespace' => 'App\Controllers\Tarifas', 'controller' => 'Tarifasenvioszonas', 'except' => 'show,new,create,update']); $routes->group('proveedores', ['namespace' => 'App\Controllers\Compras'], function ($routes) { @@ -513,7 +513,6 @@ $routes->group('clientedirecciones', ['namespace' => 'App\Controllers\Clientes'] $routes->resource('clientedirecciones', ['namespace' => 'App\Controllers\Clientes', 'controller' => 'Clientedirecciones', 'except' => 'show,new,create,update']); - $routes->group('cosidotapablanda', ['namespace' => 'App\Controllers\Presupuestos'], function ($routes) { $routes->get('', 'Cosidotapablanda::index', ['as' => 'cosidotapablandaList']); $routes->get('add', 'Cosidotapablanda::add', ['as' => 'newCosidotapablanda']); @@ -526,7 +525,7 @@ $routes->group('cosidotapablanda', ['namespace' => 'App\Controllers\Presupuestos $routes->post('allmenuitems', 'Cosidotapablanda::allItemsSelect', ['as' => 'select2ItemsOfCosidotapablanda']); $routes->post('menuitems', 'Cosidotapablanda::menuItems', ['as' => 'menuItemsOfCosidotapablanda']); }); -$routes->resource('cosidotapablanda', ['namespace' => 'App\Controllers\Presupuestos', 'controller' => 'Cosidotapablanda', 'except' => 'show,new,create,update']); +$routes->resource('cosidotapablanda', ['namespace' => 'App\Controllers\Presupuestos', 'controller' => 'Cosidotapablanda', 'except' => 'show,new,create,update']); $routes->group('serviciosacabados', ['namespace' => 'App\Controllers\Presupuestos'], function ($routes) { $routes->post('datatable', 'Presupuestoacabados::datatable', ['as' => 'dataTableOfPresupuestoAcabados']); @@ -538,7 +537,7 @@ $routes->group('serviciosencuadernaciones', ['namespace' => 'App\Controllers\Pre $routes->post('menuitems', 'Presupuestoencuadernaciones::menuItems', ['as' => 'menuItemsOfPresupuestoEncuadernaciones']); $routes->get('delete/(:num)', 'Presupuestoencuadernaciones::delete/$1', ['as' => 'deletePresupuestoencuadernaciones']); $routes->post('edit/(:num)', 'Presupuestoencuadernaciones::edit/$1', ['as' => 'updatePresupuestoencuadernaciones']); - + }); $routes->group('serviciosmanipulados', ['namespace' => 'App\Controllers\Presupuestos'], function ($routes) { @@ -555,10 +554,13 @@ $routes->group('presupuestodirecciones', ['namespace' => 'App\Controllers\Presup $routes->post('datatable', 'Presupuestodirecciones::datatable', ['as' => 'dataTableOfPresupuestoDirecciones']); }); -$routes->group('printpresupuestos', ['namespace' => 'App\Controllers\Pdf'], function ($routes) { - $routes->get('', 'PrintPresupuestos::index', ['as' => 'viewPresupuesto']); - $routes->get('generar/(:num)', 'PrintPresupuestos::generar/$1', ['as' => 'presupuestoToPdf']); -}); +$routes->group( + 'printpresupuestos', + ['namespace' => 'App\Controllers\Pdf'], + function ($routes) { + $routes->get('index/(:num)', 'PrintPresupuestos::index/$1', ['as' => 'viewPresupuesto']); + $routes->get('generar/(:num)', 'PrintPresupuestos::generar/$1', ['as' => 'presupuestoToPdf']); + }); /* diff --git a/ci4/app/Controllers/Pdf/PrintPresupuestos.php b/ci4/app/Controllers/Pdf/PrintPresupuestos.php index c3e76ea3..cb915961 100755 --- a/ci4/app/Controllers/Pdf/PrintPresupuestos.php +++ b/ci4/app/Controllers/Pdf/PrintPresupuestos.php @@ -12,8 +12,11 @@ class PrintPresupuestos extends BaseController { $presupuestoModel = model('App\Models\Presupuestos\PresupuestoModel'); + $lineasPresupuestoModel = model('App\Models\Presupuestos\PresupuestoLineaModel'); - $data['presupuesto'] = $presupuestoModel->getResourceForPdf(8)->get()->getRow(); + $data['presupuesto'] = $presupuestoModel->getResourceForPdf($id_presupuesto)->get()->getRow(); + $data['lp_ByN'] = $lineasPresupuestoModel->getResourceByNForPdf($id_presupuesto)->get()->getRow(); + $data['lp_Color'] = $lineasPresupuestoModel->getResourceColorForPdf($id_presupuesto)->get()->getRow(); return view(getenv('theme.path') . 'pdfs/presupuesto', $data); @@ -24,9 +27,11 @@ class PrintPresupuestos extends BaseController // Cargar modelos $presupuestoModel = model('App\Models\Presupuestos\PresupuestoModel'); - - // Get budget information + $lineasPresupuestoModel = model('App\Models\Presupuestos\PresupuestoLineaModel'); + // 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(); // Crear una instancia de Dompdf $options = new \Dompdf\Options(); diff --git a/ci4/app/Models/Presupuestos/PresupuestoLineaModel.php b/ci4/app/Models/Presupuestos/PresupuestoLineaModel.php index 7512a0ae..b9071184 100755 --- a/ci4/app/Models/Presupuestos/PresupuestoLineaModel.php +++ b/ci4/app/Models/Presupuestos/PresupuestoLineaModel.php @@ -1,4 +1,5 @@ db - ->table($this->table . " t1"); + ->table($this->table . " t1"); $data = [ - 'presupuesto_id' => $presupuesto_id, - 'tipo' => $tipo, + 'presupuesto_id' => $presupuesto_id, + 'tipo' => $tipo, ]; - + $builder->insert($data); } } @@ -330,30 +332,58 @@ class PresupuestoLineaModel extends \App\Models\GoBaseModel "*" ) ->where("t1.presupuesto_id", $presupuesto_id); - + return $builder->orderBy("t1.id", "asc")->get()->getResultObject(); } - public function deleteLineasPresupuesto($presupuesto_id){ + public function deleteLineasPresupuesto($presupuesto_id) + { $this->db ->table($this->table . " t1") ->where("presupuesto_id", $presupuesto_id) ->delete(); } - public function insertLineasPresupuesto($presupuesto_id = -1, $datos=[]) + public function insertLineasPresupuesto($presupuesto_id = -1, $datos = []) { $this->deleteLineasPresupuesto($presupuesto_id); - foreach($datos as $linea){ - + foreach ($datos as $linea) { + $this->db ->table($this->table . " t1") ->where("t1.presupuesto_id", $presupuesto_id) ->insert($linea); } - + } + + public function getResourceByNForPdf($presupuesto_id = -1) + { + $builder = $this->db + ->table($this->table . " t1") + ->select( + "t1.paginas AS paginas, t1.papel_impresion AS papel, t1.gramaje AS gramaje" + ) + ->where("t1.presupuesto_id", $presupuesto_id) + ->whereIn('t1.tipo', ['lp_bn', 'lp_bnhq', 'lp_rot_bn']); + + return $builder; + } + + public function getResourceColorForPdf($presupuesto_id = -1) + { + $builder = $this->db + ->table($this->table . " t1") + ->select( + "t1.paginas AS paginas, t1.papel_impresion AS papel, t1.gramaje AS gramaje" + ) + ->where("t1.presupuesto_id", $presupuesto_id) + ->whereIn('t1.tipo', ['lp_color', 'lp_colorhq', 'lp_rot_color']); + + return $builder; + } + } diff --git a/ci4/app/Models/Presupuestos/PresupuestoModel.php b/ci4/app/Models/Presupuestos/PresupuestoModel.php index 3ca59c7d..f5fa27e5 100755 --- a/ci4/app/Models/Presupuestos/PresupuestoModel.php +++ b/ci4/app/Models/Presupuestos/PresupuestoModel.php @@ -347,7 +347,7 @@ class PresupuestoModel extends \App\Models\GoBaseModel /** - * Get resource data. + * Get resource data for creating PDFs. * * @param string $search * @@ -364,20 +364,21 @@ class PresupuestoModel extends \App\Models\GoBaseModel t1.retractilado AS retractilado, t1.guardas AS guardas, t1.marcapaginas AS marcapaginas, t1.comentarios_pdf AS comentarios_pdf, t1.total_presupuesto AS total_presupuesto, t1.total_precio_unidad AS total_precio_unidad, + t1.papel_formato_personalizado AS isPersonalizado, + 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, - t6.estado AS estado" + CONCAT(t4.ancho, 'x', t4.alto) AS formato" ); $builder->join("clientes t2", "t1.cliente_id = t2.id", "left"); $builder->join("auth_user t3", "t1.user_update_id = t3.id_user", "left"); - $builder->join("presupuesto_estados t6", "t1.estado_id = t6.id", "left"); + $builder->join("lg_papel_formato t4", "t1.papel_formato_id = t4.id", "left"); $builder->where("t1.is_deleted", 0); $builder->where("t1.id", $presupuesto_id); return $builder; - - } + } diff --git a/ci4/app/Views/themes/backend/vuexy/pdfs/presupuesto.php b/ci4/app/Views/themes/backend/vuexy/pdfs/presupuesto.php index a74f48ec..e27928cb 100755 --- a/ci4/app/Views/themes/backend/vuexy/pdfs/presupuesto.php +++ b/ci4/app/Views/themes/backend/vuexy/pdfs/presupuesto.php @@ -91,28 +91,30 @@