From ec2f217c799cf348c5c25bc0de3d536bc634eec6 Mon Sep 17 00:00:00 2001 From: Jaime Jimenez Ortega Date: Wed, 22 Nov 2023 20:06:20 +0100 Subject: [PATCH] =?UTF-8?q?busqueda=20opcion=20m=C3=A1s=20barata=20de=20la?= =?UTF-8?q?=20tarifa=20enc=20a=C3=B1adida?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ci4/app/Controllers/Test.php | 7 +++- ci4/app/Language/en/Presupuestos.php | 2 +- ci4/app/Language/es/Presupuestos.php | 2 +- .../PresupuestoEncuadernacionesModel.php | 2 +- .../Tarifas/TarifaEncuadernacionModel.php | 35 +++++++++++++++++++ .../cosidotapablanda/_datosServiciosItems.php | 2 +- .../viewTarifaEncuadernacionForm.php | 3 +- 7 files changed, 47 insertions(+), 6 deletions(-) diff --git a/ci4/app/Controllers/Test.php b/ci4/app/Controllers/Test.php index 580b8843..b13fb49c 100644 --- a/ci4/app/Controllers/Test.php +++ b/ci4/app/Controllers/Test.php @@ -18,10 +18,15 @@ class Test extends BaseController public function index() { echo '
';
-        $this->get_dimensiones_enc();
+        var_dump($this->get_tarifa_enc(1, 100, 300, 140, 205));
         echo '
'; } + public function get_tarifa_enc($tarifa_id, $paginas, $tirada, $ancho, $alto){ + $model = model('App\Models\Tarifas\TarifaEncuadernacionModel'); + return $model->getTarifaPresupuestoEncuadernacion($tarifa_id, $paginas, $tirada, $ancho, $alto); + } + public function get_dimensiones_enc(){ $dimensionModel = model('App\Models\Tarifas\TarifaEncuadernacionDimensionesModel'); diff --git a/ci4/app/Language/en/Presupuestos.php b/ci4/app/Language/en/Presupuestos.php index b676c730..ac35c39d 100644 --- a/ci4/app/Language/en/Presupuestos.php +++ b/ci4/app/Language/en/Presupuestos.php @@ -13,7 +13,7 @@ return [ 'datosServicios' => 'Other Services', 'datosPresupuestoCliente' => 'Client budget data (comparator)', - 'id' => 'Budget Number', + 'id' => 'ID', 'created_at' => 'Date', 'clienteId' => 'Cliend', 'comercial' => 'Sales agent', diff --git a/ci4/app/Language/es/Presupuestos.php b/ci4/app/Language/es/Presupuestos.php index e1cc95d0..54fd204f 100644 --- a/ci4/app/Language/es/Presupuestos.php +++ b/ci4/app/Language/es/Presupuestos.php @@ -12,7 +12,7 @@ return [ 'datosServicios' => 'Otros Servicios', 'datosPresupuestoCliente' => 'Datos presupuesto cliente (comparador)', - 'id' => 'NĂºmero Presupuesto', + 'id' => 'ID', 'created_at' => 'Fecha', 'clienteId' => 'Cliente', 'comercial' => 'Comercial', diff --git a/ci4/app/Models/Presupuestos/PresupuestoEncuadernacionesModel.php b/ci4/app/Models/Presupuestos/PresupuestoEncuadernacionesModel.php index 9a26682b..9b4b7ea6 100644 --- a/ci4/app/Models/Presupuestos/PresupuestoEncuadernacionesModel.php +++ b/ci4/app/Models/Presupuestos/PresupuestoEncuadernacionesModel.php @@ -46,7 +46,7 @@ class PresupuestoEncuadernacionesModel extends \App\Models\GoBaseModel - public function initPresupuesto($id_presupuesto,$tipoPresupuesto, $solapas){ + public function initPresupuesto($id_presupuesto,$tipoPresupuesto, $solapas, $tirada, $paginas){ $model = model('App\Models\Presupuestos\TipoPresupuestoTarifaEncuadernacionModel'); $tarifas_ids = $model->get_tarifas($tipo_presupuesto,$solapas); diff --git a/ci4/app/Models/Tarifas/TarifaEncuadernacionModel.php b/ci4/app/Models/Tarifas/TarifaEncuadernacionModel.php index 5604acee..72b20a50 100644 --- a/ci4/app/Models/Tarifas/TarifaEncuadernacionModel.php +++ b/ci4/app/Models/Tarifas/TarifaEncuadernacionModel.php @@ -112,4 +112,39 @@ class TarifaEncuadernacionModel extends \App\Models\GoBaseModel } + public function getTarifaPresupuestoEncuadernacion($tarifa_id, $paginas, $tirada, $ancho, $alto, $proveedor_id=-1){ + + $builder = $this->db + ->table($this->table . " t1") + ->select( + "t1.id AS tarifa_enc_id, t1.nombre AS tarifa_enc_nombre, t1.precio_min AS tarifa_precio_min, t1.importe_fijo AS tarifa_importe_fijo, + t2.id AS tarifa_tirada_id, t2.proveedor_id AS proveedor_id, t5.nombre AS proveedor_nombre, t2.tirada_min AS tirada_min, t2.tirada_max AS tirada_max, + t3.id AS tarifa_linea_id, t3.paginas_libro_min AS paginas_min, t3.paginas_libro_max AS paginas_max, t3.precio_min AS precio_min, t3.precio_max AS precio_max, t3.margen AS margen, + t4.ancho_min AS ancho_min, t4.ancho_max AS ancho_max, t4.alto_min AS alto_min, t4.alto_max AS alto_max" + ) + ->join("tarifa_encuadernacion_tiradas t2", "t1.id = t2.tarifa_encuadernacion_id", "left") + ->join("tarifa_encuadernacion_lineas t3", "t2.id = t3.tirada_encuadernacion_id", "left") + ->join("tarifa_encuadernacion_dimensiones t4", "t3.dimensiones_id = t4.id", "left") + ->join("lg_proveedores t5", "t2.proveedor_id = t5.id", "left") + ->where("t1.is_deleted", 0) + ->where("t1.mostrar_en_presupuesto", 1) + ->where("t2.is_deleted", 0) + ->where("t3.is_deleted", 0); + + $builder->where('t1.id =', $tarifa_id); + $builder->where('t2.tirada_min <=', $tirada); + $builder->where('t2.tirada_max >', $tirada); + $builder->where('t3.paginas_libro_min <=', $paginas); + $builder->where('t3.paginas_libro_max >', $paginas); + $builder->where('t4.ancho_min <=', $ancho); + $builder->where('t4.ancho_max >', $ancho); + $builder->where('t4.alto_min <=', $alto); + $builder->where('t4.alto_max >', $alto); + + if($proveedor_id != -1){ + $builder->where('t2.proveedor_id', $proveedor_id); + } + + return $builder->get()->getResultObject(); + } } diff --git a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosServiciosItems.php b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosServiciosItems.php index a6b5f494..b077767c 100644 --- a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosServiciosItems.php +++ b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosServiciosItems.php @@ -96,7 +96,7 @@
- "btn btn-dark float-start me-sm-3 me-1",]) ?> +
diff --git a/ci4/app/Views/themes/backend/vuexy/form/tarifas/encuadernacion/viewTarifaEncuadernacionForm.php b/ci4/app/Views/themes/backend/vuexy/form/tarifas/encuadernacion/viewTarifaEncuadernacionForm.php index b53dc5b6..caabc06c 100644 --- a/ci4/app/Views/themes/backend/vuexy/form/tarifas/encuadernacion/viewTarifaEncuadernacionForm.php +++ b/ci4/app/Views/themes/backend/vuexy/form/tarifas/encuadernacion/viewTarifaEncuadernacionForm.php @@ -174,7 +174,8 @@ table : "#tableOfTarifaencuadernacionlineas", idSrc: 'id', fields: [ - {name: "id"}, + {name: "id", + "type": "readonly"}, { name: "dimensiones_id", "type": "select"