From fe1e747fc5a2811f824cedc1e00dd597251cfafa Mon Sep 17 00:00:00 2001 From: Jaime Jimenez Date: Fri, 8 Dec 2023 17:40:05 +0100 Subject: [PATCH] arraglado solapas en servicios manipulado por defecto --- .../Presupuestos/Presupuestomanipulados.php | 9 +- ci4/app/Controllers/Test.php | 4 +- .../TipoPresupuestoServiciosDefecto.php | 32 +++++++ .../TipoPresupuestoTarifaEncuadernacion.php | 24 ----- ci4/app/Language/en/Presupuestos.php | 2 +- ci4/app/Language/es/Presupuestos.php | 2 +- .../PresupuestoEncuadernacionesModel.php | 22 ++--- .../PresupuestoManipuladosModel.php | 37 ++++++++ .../TipoPresupuestoServiciosDefectoModel.php | 89 +++++++++++++++++++ ...poPresupuestoTarifaEncuadernacionModel.php | 40 --------- .../cosidotapablanda/_datosLibroItems.php | 3 +- .../cosidotapablanda/_datosServiciosItems.php | 33 ++++--- 12 files changed, 205 insertions(+), 92 deletions(-) create mode 100755 ci4/app/Entities/Presupuestos/TipoPresupuestoServiciosDefecto.php delete mode 100755 ci4/app/Entities/Presupuestos/TipoPresupuestoTarifaEncuadernacion.php create mode 100755 ci4/app/Models/Presupuestos/TipoPresupuestoServiciosDefectoModel.php delete mode 100755 ci4/app/Models/Presupuestos/TipoPresupuestoTarifaEncuadernacionModel.php diff --git a/ci4/app/Controllers/Presupuestos/Presupuestomanipulados.php b/ci4/app/Controllers/Presupuestos/Presupuestomanipulados.php index 18d490c8..cc2e86f6 100755 --- a/ci4/app/Controllers/Presupuestos/Presupuestomanipulados.php +++ b/ci4/app/Controllers/Presupuestos/Presupuestomanipulados.php @@ -102,11 +102,18 @@ class Presupuestomanipulados extends \App\Controllers\GoBaseResourceController $tarifa_manipulado_id = $reqData['tarifa_manipulado_id'] ?? 0; $tirada = $reqData['tirada'] ?? 0; $POD = $reqData['POD'] ?? 0; + $tipo = $reqData['tipo'] ?? null; $newTokenHash = csrf_hash(); $csrfTokenName = csrf_token(); - $values = $this->model->getPrecioTarifa($tarifa_manipulado_id, $tirada, $POD); + if(is_null($tipo)){ + $values = $this->model->getPrecioTarifa($tarifa_manipulado_id, $tirada, $POD); + } + else{ + $solapas = $reqData['solapas'] ?? -1; + $values = $this->model->initPresupuesto(4, $solapas, $tirada, $POD); + } $data = [ 'values' => $values, diff --git a/ci4/app/Controllers/Test.php b/ci4/app/Controllers/Test.php index 1a28a3af..c1d9bc7f 100755 --- a/ci4/app/Controllers/Test.php +++ b/ci4/app/Controllers/Test.php @@ -17,9 +17,9 @@ class Test extends BaseController public function index() { - $model = model('App\Models\Tarifas\TarifaManipuladoModel'); + $model = model('App\Models\Presupuestos\TipoPresupuestoServiciosDefectoModel'); echo '
';
-        var_dump($model->getTarifaPresupuestoManipulado(21, 200));
+        var_dump($model->get_tarifas(4,0,"manipulado"));
         echo '
'; } diff --git a/ci4/app/Entities/Presupuestos/TipoPresupuestoServiciosDefecto.php b/ci4/app/Entities/Presupuestos/TipoPresupuestoServiciosDefecto.php new file mode 100755 index 00000000..fdc6e1dc --- /dev/null +++ b/ci4/app/Entities/Presupuestos/TipoPresupuestoServiciosDefecto.php @@ -0,0 +1,32 @@ + null, + "tipo_presupuesto_id" => null, + "tarifa_id" => null, + "solapas" => null, + "is_servicio_encuadernacion" => null, + "is_servicio_acabado" => null, + "is_servicio_manipulado" => null, + "is_servicio_preimpresion" => null, + "is_deleted" => 0, + "deleted_at" => null, + "created_at" => null, + "updated_at" => null, + ]; + protected $casts = [ + "tipo_presupuesto_id" => "int", + "tarifa_id" => "int", + "solapas" => "int", + "is_servicio_encuadernacion" => "int", + "is_servicio_acabado" => "int", + "is_servicio_manipulado" => "int", + "is_servicio_preimpresion" => "int", + "is_deleted" => "int", + ]; +} diff --git a/ci4/app/Entities/Presupuestos/TipoPresupuestoTarifaEncuadernacion.php b/ci4/app/Entities/Presupuestos/TipoPresupuestoTarifaEncuadernacion.php deleted file mode 100755 index 9fedb453..00000000 --- a/ci4/app/Entities/Presupuestos/TipoPresupuestoTarifaEncuadernacion.php +++ /dev/null @@ -1,24 +0,0 @@ - null, - "tipo_presupuesto_id" => null, - "tarifa_encuadernacion_id" => null, - "solapas" => null, - "is_deleted" => 0, - "deleted_at" => null, - "created_at" => null, - "updated_at" => null, - ]; - protected $casts = [ - "tipo_presupuesto_id" => "int", - "tarifa_encuadernacion_id" => "int", - "solapas" => "int", - "is_deleted" => "int", - ]; -} diff --git a/ci4/app/Language/en/Presupuestos.php b/ci4/app/Language/en/Presupuestos.php index ac35c39d..7b3e7c0f 100755 --- a/ci4/app/Language/en/Presupuestos.php +++ b/ci4/app/Language/en/Presupuestos.php @@ -142,7 +142,7 @@ return [ 'addLineaPresupuesto' => 'Add line...', - 'serviciosEncDefault' => 'Default binding services', + 'serviciosDefault' => 'Default services', 'validation' => [ 'decimal' => 'The {field} field must contain a decimal number.', diff --git a/ci4/app/Language/es/Presupuestos.php b/ci4/app/Language/es/Presupuestos.php index a5e761d9..81d5d281 100755 --- a/ci4/app/Language/es/Presupuestos.php +++ b/ci4/app/Language/es/Presupuestos.php @@ -173,7 +173,7 @@ return [ 'precio' => 'Precio', 'precioUnidad' => 'Precio unitario', 'precioTotal' => 'Precio total', - 'serviciosEncDefault' => 'Servicios Enc. por defecto', + 'serviciosDefault' => 'Servicios por defecto', 'tarifa' => 'Tarifa', 'insertar' => 'Insertar', 'no_disponible' => 'No disponible', diff --git a/ci4/app/Models/Presupuestos/PresupuestoEncuadernacionesModel.php b/ci4/app/Models/Presupuestos/PresupuestoEncuadernacionesModel.php index 440f2d97..9b75d5ab 100755 --- a/ci4/app/Models/Presupuestos/PresupuestoEncuadernacionesModel.php +++ b/ci4/app/Models/Presupuestos/PresupuestoEncuadernacionesModel.php @@ -50,8 +50,8 @@ class PresupuestoEncuadernacionesModel extends \App\Models\GoBaseModel public function initPresupuesto($tipo_presupuesto, $solapas, $tirada, $paginas, $ancho, $alto, $POD){ - $model = model('App\Models\Presupuestos\TipoPresupuestoTarifaEncuadernacionModel'); - $tarifas_procesar = $model->get_tarifas($tipo_presupuesto,$solapas); + $model = model('App\Models\Presupuestos\TipoPresupuestoServiciosDefectoModel'); + $tarifas_procesar = $model->get_tarifas($tipo_presupuesto,$solapas, "encuadernacion"); $modelTarifa = model('App\Models\Tarifas\TarifaEncuadernacionModel'); $tarifas = []; @@ -59,11 +59,11 @@ class PresupuestoEncuadernacionesModel extends \App\Models\GoBaseModel foreach($tarifas_procesar as $tarifa){ - if($modelTarifa->isTarifaPorHoras($tarifa['tarifa_encuadernacion_id'])){ + if($modelTarifa->isTarifaPorHoras($tarifa['tarifa_id'])){ $tiempo = $this->calcularTiempo(16, $paginas, $tirada); // ID fija. Cambiar cuando se metan maquinas de corte. Velocidad en minutos - $tarifa_value = $modelTarifa->getTarifaPresupuestoEncuadernacionHoras($tarifa['tarifa_encuadernacion_id'], $tiempo, $tirada); + $tarifa_value = $modelTarifa->getTarifaPresupuestoEncuadernacionHoras($tarifa['tarifa_id'], $tiempo, $tirada); if (count($tarifa_value)>0) { $result_data[0] = floatval(1.0* $tarifa_value[0]->precio_hora* $tiempo / $tirada); @@ -73,7 +73,7 @@ class PresupuestoEncuadernacionesModel extends \App\Models\GoBaseModel } array_push($tarifas, (object)[ - 'tarifa_id'=> $tarifa['tarifa_encuadernacion_id'], + 'tarifa_id'=> $tarifa['tarifa_id'], 'tarifa_nombre'=> $tarifa_value[0]->tarifa_enc_nombre, 'precio_unidad'=> $result_data[0], 'total'=> $result_data[1], @@ -84,8 +84,8 @@ class PresupuestoEncuadernacionesModel extends \App\Models\GoBaseModel else{ array_push($tarifas, (object)[ - 'tarifa_id'=> $tarifa['tarifa_encuadernacion_id'], - 'tarifa_nombre'=> $tarifa['tarifa_encuadernacion_nombre'], + 'tarifa_id'=> $tarifa['tarifa_id'], + 'tarifa_nombre'=> $tarifa['tarifa_nombre'], 'proveedor' => lang('Presupuestos.no_disponible'), 'precio_unidad'=> 0, 'total'=> 0, @@ -93,12 +93,12 @@ class PresupuestoEncuadernacionesModel extends \App\Models\GoBaseModel } } else{ - $tarifa_value = $modelTarifa->getTarifaPresupuestoEncuadernacion($tarifa['tarifa_encuadernacion_id'], $paginas, $tirada, $ancho, $alto); + $tarifa_value = $modelTarifa->getTarifaPresupuestoEncuadernacion($tarifa['tarifa_id'], $paginas, $tirada, $ancho, $alto); if (count($tarifa_value)>0) { $result_data = $this->calcularTarifa($tarifa_value[0], $paginas, $POD<$tirada?false:true); array_push($tarifas, (object)[ - 'tarifa_id'=> $tarifa['tarifa_encuadernacion_id'], + 'tarifa_id'=> $tarifa['tarifa_id'], 'tarifa_nombre'=> $tarifa_value[0]->tarifa_enc_nombre, 'precio_unidad'=> $result_data[0], 'total'=> $result_data[1], @@ -109,8 +109,8 @@ class PresupuestoEncuadernacionesModel extends \App\Models\GoBaseModel else{ array_push($tarifas, (object)[ - 'tarifa_id'=> $tarifa['tarifa_encuadernacion_id'] , - 'tarifa_nombre'=> $tarifa['tarifa_encuadernacion_nombre'], + 'tarifa_id'=> $tarifa['tarifa_id'] , + 'tarifa_nombre'=> $tarifa['tarifa_nombre'], 'proveedor' => lang('Presupuestos.no_disponible'), 'precio_unidad'=> 0, 'total'=> 0, diff --git a/ci4/app/Models/Presupuestos/PresupuestoManipuladosModel.php b/ci4/app/Models/Presupuestos/PresupuestoManipuladosModel.php index 7bdadf3e..a6613f4d 100755 --- a/ci4/app/Models/Presupuestos/PresupuestoManipuladosModel.php +++ b/ci4/app/Models/Presupuestos/PresupuestoManipuladosModel.php @@ -140,6 +140,43 @@ class PresupuestoManipuladosModel extends \App\Models\GoBaseModel } } + + public function initPresupuesto($tipo_presupuesto, $solapas, $tirada, $POD){ + + $model = model('App\Models\Presupuestos\TipoPresupuestoServiciosDefectoModel'); + $tarifas_procesar = $model->get_tarifas($tipo_presupuesto, $solapas, "manipulado"); + + $modelTarifa = model('App\Models\Tarifas\TarifaManipuladoModel'); + $tarifas = []; + + + foreach($tarifas_procesar as $tarifa){ + + $tarifa_value = $modelTarifa->getTarifaPresupuestoManipulado($tarifa['tarifa_id'], $tirada); + if (count($tarifa_value)>0) { + $result_data = $this->calcularTarifa($tarifa_value[0], $tirada, $POD<$tirada?false:true); + array_push($tarifas, (object)[ + 'tarifa_id'=> $tarifa_value[0]->tarifa_manipulado_id, + 'tarifa_nombre'=> $tarifa_value[0]->tarifa_manipulado_nombre, + 'precio_unidad'=> $result_data[0], + 'total'=> $result_data[1], + ]); + } + else{ + array_push($tarifas, + (object)[ + 'tarifa_id'=> $tarifa['tarifa_id'] , + 'tarifa_nombre'=> $tarifa['tarifa_nombre'], + 'precio_unidad' => 0, + 'total'=> 0, + ]); + } + + } + + return $tarifas; + } + /** * Get resource data. * diff --git a/ci4/app/Models/Presupuestos/TipoPresupuestoServiciosDefectoModel.php b/ci4/app/Models/Presupuestos/TipoPresupuestoServiciosDefectoModel.php new file mode 100755 index 00000000..119554ea --- /dev/null +++ b/ci4/app/Models/Presupuestos/TipoPresupuestoServiciosDefectoModel.php @@ -0,0 +1,89 @@ +db + ->table($this->table . " t1") + ->where("t1.tipo_presupuesto_id", $tipo_presupuesto); + + if(strcmp($tipo, "encuadernacion")==0){ + + $builder->join("tarifa_encuadernacion t2", "t1.tarifa_id = t2.id", "left"); + $builder->where("is_servicio_encuadernacion", 1); + $builder->where("is_servicio_acabado", 0); + $builder->where("is_servicio_manipulado", 0); + $builder->where("is_servicio_preimpresion", 0); + } + else if(strcmp($tipo, "acabado")==0){ + + $builder->join("lg_tarifa_acabado t2", "t1.tarifa_id = t2.id", "left"); + $builder->where("is_servicio_acabado", 1); + $builder->where("is_servicio_encuadernacion", 0); + $builder->where("is_servicio_manipulado", 0); + $builder->where("is_servicio_preimpresion", 0); + } + else if(strcmp($tipo, "manipulado")==0){ + + $builder->join("lg_tarifa_manipulado t2", "t1.tarifa_id = t2.id", "left"); + $builder->where("is_servicio_manipulado", 1); + $builder->where("is_servicio_encuadernacion", 0); + $builder->where("is_servicio_acabado", 0); + $builder->where("is_servicio_preimpresion", 0); + + } + else if(strcmp($tipo, "preimpresion")==0){ + + $builder->join("lg_tarifa_preimpresion t2", "t1.tarifa_id = t2.id", "left"); + $builder->where("is_servicio_preimpresion", 1); + $builder->where("is_servicio_encuadernacion", 0); + $builder->where("is_servicio_acabado", 0); + $builder->where("is_servicio_manipulado", 0); + + } + else{ + return []; + } + + $where = "t1.solapas IS NULL OR t1.solapas='" . $solapas . "'"; + $builder->where($where); + + $builder->where("t2.is_deleted", 0); + $builder->select("t1.tarifa_id AS tarifa_id, t2.nombre AS tarifa_nombre"); + + return $builder->get()->getResultArray(); + } +} diff --git a/ci4/app/Models/Presupuestos/TipoPresupuestoTarifaEncuadernacionModel.php b/ci4/app/Models/Presupuestos/TipoPresupuestoTarifaEncuadernacionModel.php deleted file mode 100755 index 2eb02751..00000000 --- a/ci4/app/Models/Presupuestos/TipoPresupuestoTarifaEncuadernacionModel.php +++ /dev/null @@ -1,40 +0,0 @@ -db - ->table($this->table . " t1") - ->select("t1.tarifa_encuadernacion_id AS tarifa_encuadernacion_id, t2.nombre AS tarifa_encuadernacion_nombre") - ->join("tarifa_encuadernacion t2", "t1.tarifa_encuadernacion_id = t2.id", "left") - ->where("t1.tipo_presupuesto_id", $tipo_presupuesto) - - ->where($where); - return $builder->get()->getResultArray(); - } -} diff --git a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosLibroItems.php b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosLibroItems.php index faa7d422..4196a3ef 100755 --- a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosLibroItems.php +++ b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosLibroItems.php @@ -346,6 +346,7 @@ $("#solapas").on("click", function () { else { e.style.display = "none"; } - get_tarifas_enc('default'); + + $('#serv_default').click() }); endSection() ?> 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 9e005331..3c36f85d 100755 --- a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosServiciosItems.php +++ b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosServiciosItems.php @@ -11,6 +11,11 @@
+
+
+ +
+
-
-
- -
-
@@ -247,6 +247,12 @@ const POD = ; + $('#serv_default').on('click', function(){ + get_tarifas_enc('default').then( + get_tarifas_manipulado('default') + ) + }) + // Delete row $(document).on('click', '.btn-delete-serv', function(e) { const dataId = $(this).attr('data-id'); @@ -749,7 +755,7 @@ } - function get_tarifas_enc(tipo=null, tarifa_id = -1){ + async function get_tarifas_enc(tipo=null, tarifa_id = -1){ const dimension = getDimensionLibro(); if(parseInt($('#tirada').val())>0){ @@ -850,10 +856,6 @@ } - $('#serv_enc_default').on('click', function(){ - get_tarifas_enc('default'); - }) - $('#insertar_serv_enc').on('click', function(){ const tarifa_text = $('#add_servicio_enc_list').select2('data')[0].text.trim() @@ -965,7 +967,7 @@ $('#serv-manipulado-error').html(htmlString) } - function get_tarifas_manipulado(tarifa_id = -1){ + async function get_tarifas_manipulado(tipo=null, tarifa_id = -1){ if(parseInt($('#tirada').val())>0){ var tirada = parseInt($('#tirada').val()) @@ -981,6 +983,12 @@ : v }; + if(tipo != null){ + datos['tipo'] = tipo; + datos['solapas'] = $('#solapas').is(':checked')?1:0; + } + + $.ajax({ type: "POST", @@ -988,6 +996,9 @@ data: datos, success: function (data) { + if(tipo=='default') + tableServiciosManipulado.clear().draw() + data.values.forEach((row) => { tableServiciosManipulado.row.add([