From 046c31eb6205a4e0096b21499300c4dd2de0954b Mon Sep 17 00:00:00 2001 From: jaimejimenezortega Date: Sun, 23 Feb 2025 19:41:35 +0100 Subject: [PATCH 1/2] resolviendo el problema --- .vscode/sftp.json | 10 +- .../presupuestoAdmin/sections/resumen.js | 94 +++++++++---------- .../pages/presupuestoCliente/resumen.js | 2 +- 3 files changed, 53 insertions(+), 53 deletions(-) diff --git a/.vscode/sftp.json b/.vscode/sftp.json index ad267b31..c955066f 100755 --- a/.vscode/sftp.json +++ b/.vscode/sftp.json @@ -5,19 +5,19 @@ "remotePath": "/", "uploadOnSave": true, "useTempFile": false, - "openSsh": false, + "openSsh": false, "profiles": { - "jjo": { + "jjo": { "host": "sk-jjo.imnavajas.es", "username": "sk-jjo", "password": "Snwi1660%" - + }, - "imn": { + "imn": { "host": "sk-imn.imnavajas.es", "username": "sk-imn", "password": "GVBbgdwlvn7_p02?" - + }, "dev":{ "host": "sk-dev.imnavajas.es", diff --git a/httpdocs/assets/js/safekat/pages/presupuestoAdmin/sections/resumen.js b/httpdocs/assets/js/safekat/pages/presupuestoAdmin/sections/resumen.js index c96fa07d..08d0b3f2 100644 --- a/httpdocs/assets/js/safekat/pages/presupuestoAdmin/sections/resumen.js +++ b/httpdocs/assets/js/safekat/pages/presupuestoAdmin/sections/resumen.js @@ -24,38 +24,38 @@ class Resumen { cargar(resumen) { // Mapear los valores a los elementos HTML por ID - $("#totalCostePapel").text(resumen.total_coste_papel + "€" || "0€"); - $("#porcentajeMargenPapel").text(resumen.total_margenPercent_papel ? resumen.total_margenPercent_papel + "%" : "0%"); - $("#margenPapel").text(resumen.total_margen_papel + "€" || "0€"); + $("#totalCostePapel").text(resumen.total_coste_papel.toString().replace('.', ',') + "€" || "0€"); + $("#porcentajeMargenPapel").text(resumen.total_margenPercent_papel ? resumen.total_margenPercent_papel.toString().replace('.', ',') + "%" : "0%"); + $("#margenPapel").text(resumen.total_margen_papel.toString().replace('.', ',')+ "€" || "0€"); - $("#totalCosteImpresion").text(resumen.total_coste_impresion + "€" || "0€"); - $("#porcentajeMargenImpresion").text(resumen.total_margenPercent_impresion ? resumen.total_margenPercent_impresion + "%" : "0%"); - $("#margenImpresion").text(resumen.total_margen_impresion + "€" || "0€"); + $("#totalCosteImpresion").text(resumen.total_coste_impresion.toString().replace('.', ',') + "€" || "0€"); + $("#porcentajeMargenImpresion").text(resumen.total_margenPercent_impresion ? resumen.total_margenPercent_impresion.toString().replace('.', ',') + "%" : "0%"); + $("#margenImpresion").text(resumen.total_margen_impresion.toString().replace('.', ',') + "€" || "0€"); - $("#totalServicios").text(resumen.total_coste_servicios + "€" || "0€"); - $("#porcentajeMargenServicios").text(resumen.total_margenPercent_servicios ? resumen.total_margenPercent_servicios + "%" : "0%"); + $("#totalServicios").text(resumen.total_coste_servicios.toString().replace('.', ',') + "€" || "0€"); + $("#porcentajeMargenServicios").text(resumen.total_margenPercent_servicios ? resumen.total_margenPercent_servicios.toString().replace('.', ',') + "%" : "0%"); $("#margenServicios").text(resumen.total_margen_servicios + "€" || "0€"); //$("#costeEnvios").text(resumen.total_coste_envios + "€" || "0€"); - $("#totalEnvios").text(resumen.total_coste_envios + "€" || "0€"); - $("#margenEnvios").text(resumen.total_margen_envios + "€" || "0€"); + $("#totalEnvios").text(resumen.total_coste_envios.toString().replace('.', ',') + "€" || "0€"); + $("#margenEnvios").text(resumen.total_margen_envios.toString().replace('.', ',') + "€" || "0€"); - $("#totalCostes").text(resumen.total_costes + "€" || "0€"); - $("#porcentajeMargen").text(resumen.porcentajeMargen ? resumen.porcentajeMargen + "%" : "0%"); - $("#totalMargenes").text(resumen.total_margenes + "€" || "0€"); + $("#totalCostes").text(resumen.total_costes.toString().replace('.', ',') + "€" || "0€"); + $("#porcentajeMargen").text(resumen.porcentajeMargen ? resumen.porcentajeMargen.toString().replace('.', ',') + "%" : "0%"); + $("#totalMargenes").text(resumen.total_margenes.toString().replace('.', ',') + "€" || "0€"); - $("#totalAntesDescuento").text(resumen.total_antes_descuento + "€" || "0€"); - $("#total_descuentoPercent").val(resumen.total_descuentoPercent || "0"); - $("#descuentoTotal").text(resumen.total_descuento + "€" || "0€"); - $("#totalDespuesDecuento").text(resumen.total_presupuesto + "€" || "0€").trigger("change") - $("#precioUnidadPresupuesto").text(resumen.total_precio_unidad + "€" || "0€"); - $("#factor").text(resumen.total_factor || "0"); - $("#factor_ponderado").text(resumen.total_factor_ponderado || "0"); + $("#totalAntesDescuento").text(resumen.total_antes_descuento.toString().replace('.', ',') + "€" || "0€"); + $("#total_descuentoPercent").val(resumen.total_descuentoPercent.toString().replace('.', ',') || "0"); + $("#descuentoTotal").text(resumen.total_descuento.toString().replace('.', ',') + "€" || "0€"); + $("#totalDespuesDecuento").text(resumen.total_presupuesto.toString().replace('.', ',') + "€" || "0€").trigger("change") + $("#precioUnidadPresupuesto").text(resumen.total_precio_unidad.toString().replace('.', ',') + "€" || "0€"); + $("#factor").text(resumen.total_factor.toString().replace('.', ',') || "0"); + $("#factor_ponderado").text(resumen.total_factor_ponderado.toString().replace('.', ',') || "0"); if (resumen.total_aceptado !== undefined) { - $("#totalAceptado").val(resumen.total_aceptado + "€" || "0€"); + $("#totalAceptado").val(resumen.total_aceptado.toString().replace('.', ',') + "€" || "0€"); } - + } update() { @@ -122,7 +122,7 @@ class Resumen { } if (rowData.check_impresion_total) { - + costeMaquinaHoras += parseFloat($('#' + rowData.row_id + '_precioImpresion').val()) margenPorHoras += parseFloat($('#' + rowData.row_id + '_margenImpresion').val()) totalImpresion += parseFloat($('#' + rowData.row_id + '_totalClicks').val()) @@ -135,7 +135,7 @@ class Resumen { totalImpresion += parseFloat(rowData.totalCorte)?? 0; //sumForFactor += (parseFloat(rowData.totalTinta) + parseFloat(rowData.totalCorte)) } - + //sumForFactor -= parseFloat($('#' + rowData.row_id + '_margenClicks').val()) /*if (!isNaN(parseFloat($('#' + rowData.row_id + '_totalTinta').val()))) { @@ -183,7 +183,7 @@ class Resumen { if (typeof $("#tableOfServiciosEncuadernacion").DataTable() !== 'undefined' && $("#tableOfServiciosEncuadernacion").DataTable().rows().count() > 0) { $('#tableOfServiciosEncuadernacion').DataTable().rows().every(function (rowIdx, tableLoop, rowLoop) { let rowData = this.data(); - let total_servicio = self.roundToTwoDecimals(parseFloat(rowData.precio_total)); + let total_servicio = self.roundToTwoDecimals(parseFloat(rowData.precio_total)); let margen_servicio = parseFloat(rowData.margen); totalServicios += total_servicio let base = self.roundToTwoDecimals(total_servicio / (1 + margen_servicio / 100.0)); @@ -313,36 +313,36 @@ class Resumen { $('#factor').attr('val', ((totalPresupuesto - totalEnvios - margenEnvios) / sumForFactor).toFixed(2)) $('#factor_ponderado').text(this.addSeparatorsNF(((totalPresupuesto - totalEnvios - margenEnvios) / sumForFactorPonderado).toFixed(2), ".", ",", ".")) $('#factor_ponderado').attr('val', ((totalPresupuesto - totalEnvios - margenEnvios) / sumForFactorPonderado).toFixed(2)) - + } getData(){ - + let data = { - 'total_coste_papel': $('#totalCostePapel').text().replace('€', '').replace('.', '').replace(',', '.'), - 'total_margen_papel': $('#margenPapel').text().replace('€', '').replace('.', '').replace(',', '.'), - 'total_margenPercent_papel': $('#porcentajeMargenPapel').text().replace('%', '').replace('.', '').replace(',', '.'), + 'total_coste_papel': $('#totalCostePapel').text().replace('€', '').replace(',', '.'), + 'total_margen_papel': $('#margenPapel').text().replace('€', '').replace(',', '.'), + 'total_margenPercent_papel': $('#porcentajeMargenPapel').text().replace('%', '').replace(',', '.'), - 'total_coste_impresion': $('#totalCosteImpresion').text().replace('€', '').replace('.', '').replace(',', '.'), - 'total_margen_impresion': $('#margenImpresion').text().replace('€', '').replace('.', '').replace(',', '.'), - 'total_margenPercent_impresion': $('#porcentajeMargenImpresion').text().replace('%', '').replace('.', '').replace(',', '.'), + 'total_coste_impresion': $('#totalCosteImpresion').text().replace('€', '').replace(',', '.'), + 'total_margen_impresion': $('#margenImpresion').text().replace('€', '').replace(',', '.'), + 'total_margenPercent_impresion': $('#porcentajeMargenImpresion').text().replace('%', '').replace(',', '.'), - 'total_coste_servicios': $('#totalServicios').text().replace('€', '').replace('.', '').replace(',', '.'), - 'total_margen_servicios': $('#margenServicios').text().replace('€', '').replace('.', '').replace(',', '.'), - 'total_margenPercent_servicios': $('#porcentajeMargenServicios').text().replace('%', '').replace('.', '').replace(',', '.'), + 'total_coste_servicios': $('#totalServicios').text().replace('€', '').replace(',', '.'), + 'total_margen_servicios': $('#margenServicios').text().replace('€', '').replace(',', '.'), + 'total_margenPercent_servicios': $('#porcentajeMargenServicios').text().replace('%', '').replace(',', '.'), - 'total_coste_envios': $('#totalEnvios').text().replace('€', '').replace('.', '').replace(',', '.'), - 'total_margen_envios': $('#margenEnvios').text().replace('€', '').replace('.', '').replace(',', '.'), + 'total_coste_envios': $('#totalEnvios').text().replace('€', '').replace(',', '.'), + 'total_margen_envios': $('#margenEnvios').text().replace('€', '').replace(',', '.'), - 'total_costes': $('#totalCostes').text().replace('€', '').replace('.', '').replace(',', '.'), - 'total_margenes': $('#totalMargenes').text().replace('€', '').replace('.', '').replace(',', '.'), + 'total_costes': $('#totalCostes').text().replace('€', '').replace(',', '.'), + 'total_margenes': $('#totalMargenes').text().replace('€', '').replace(',', '.'), - 'total_antes_descuento': $('#totalAntesDescuento').text().replace('€', '').replace('.', '').replace(',', '.'), - 'total_descuento': $('#descuentoTotal').text().replace('€', '').replace('.', '').replace(',', '.'), - 'total_descuentoPercent': $('#total_descuentoPercent').val().replace('€', '').replace('.', '').replace(',', '.'), - 'total_presupuesto': $('#totalDespuesDecuento').text().replace('€', '').replace('.', '').replace(',', '.'), - 'total_precio_unidad': $('#precioUnidadPresupuesto').text().replace('€', '').replace('.', '').replace(',', '.'), + 'total_antes_descuento': $('#totalAntesDescuento').text().replace('€', '').replace(',', '.'), + 'total_descuento': $('#descuentoTotal').text().replace('€', '').replace(',', '.'), + 'total_descuentoPercent': $('#total_descuentoPercent').val().replace('€', '').replace(',', '.'), + 'total_presupuesto': $('#totalDespuesDecuento').text().replace('€', '').replace(',', '.'), + 'total_precio_unidad': $('#precioUnidadPresupuesto').text().replace('€', '').replace(',', '.'), 'total_factor': $('#factor').text().replace(/,/g, '.'), 'total_factor_ponderado': $('#factor_ponderado').text().replace(/,/g, '.') @@ -350,9 +350,9 @@ class Resumen { if($('#confirmar_presupuesto').prop('checked')){ data.confirmar = '1'; - data.total_aceptado = $('#totalDespuesDecuento').text().replace('€', '').replace('.', '').replace(',', '.'); + data.total_aceptado = $('#totalDespuesDecuento').text().replace('€', '').replace(',', '.'); } - + return data; } diff --git a/httpdocs/assets/js/safekat/pages/presupuestoCliente/resumen.js b/httpdocs/assets/js/safekat/pages/presupuestoCliente/resumen.js index 7a59cb6c..79796200 100644 --- a/httpdocs/assets/js/safekat/pages/presupuestoCliente/resumen.js +++ b/httpdocs/assets/js/safekat/pages/presupuestoCliente/resumen.js @@ -307,7 +307,7 @@ class Resumen { precio_u_text = precio_u_text.replace('€/ud', ''); const base = tarjetaPrecio.find('.tarjeta-tiradas-precios-precio').attr('data'); - let base_text = this.#changeDecimalFormat(base); + let base_text = this.#changeDecimalFormat(parseFloat(base).toFixed(2)); const iva_porcentaje = parseInt(this.datosGenerales.ivaReducido.find('option:selected').val()) == 1 ? 0.04 : 0.21; const iva = (parseFloat(base) * iva_porcentaje).toFixed(2); From dc92e352b946ad7182a69fb6c1998622e4c6d4ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaime=20Jim=C3=A9nez?= Date: Sun, 23 Feb 2025 21:25:53 +0100 Subject: [PATCH 2/2] resuelto problema al confirmar presupuesto precio distinto --- .../Controllers/Presupuestos/Presupuestocliente.php | 11 ++++++++--- .../pages/presupuestoCliente/datosGenerales.js | 6 ++++++ .../js/safekat/pages/presupuestoCliente/resumen.js | 7 ++++++- 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/ci4/app/Controllers/Presupuestos/Presupuestocliente.php b/ci4/app/Controllers/Presupuestos/Presupuestocliente.php index d1910537..8ffaac81 100755 --- a/ci4/app/Controllers/Presupuestos/Presupuestocliente.php +++ b/ci4/app/Controllers/Presupuestos/Presupuestocliente.php @@ -1439,6 +1439,9 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController $data['lsc'] = $presupuesto->lomo_sobrecubierta; $data['eb'] = $presupuesto->envio_base; $data['state'] = intval($presupuesto->estado_id); + if($presupuesto->estado_id == 2){ // confirmado + $data['datosGenerales']['selectedTirada'] = $presupuesto->tirada; + } $data['datosGenerales']['titulo'] = $presupuesto->titulo; $data['datosGenerales']['autor'] = $presupuesto->autor; $data['datosGenerales']['isbn'] = $presupuesto->isbn; @@ -2403,8 +2406,8 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController if ($extra_info) { - $totalPapel -= $margenPapel; - $totalImpresion -= $margenImpresion; + /*$totalPapel -= $margenPapel; + $totalImpresion -= $margenImpresion;*/ $porcentajeMargenPapel = is_numeric($margenPapel / ($totalPapel) * 100.0) ? $margenPapel / ($totalPapel) * 100.0 : 0; $porcentajeMargenImpresion = is_numeric($margenImpresion / ($totalImpresion) * 100.0) ? $margenImpresion / ($totalImpresion) * 100.0 : 0; @@ -2880,11 +2883,13 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController if (count($linea) == 0) return; $totalPapel += round($linea['precio_pedido'], 2); + $totalPapel -= round($linea['margen_papel_pedido'], 2); $margenPapel += round($linea['margen_papel_pedido'], 2); $sumForFactor += round($linea['precio_pedido'], 2); $sumForFactor -= round($linea['precio_pedido'], 2); $totalImpresion += round($linea['precio_click_pedido'], 2); + $totalImpresion -= round($linea['margen_click_pedido'], 2); $sumForFactor += round($linea['precio_click_pedido'], 2); if ($linea['tipo_maquina'] == 'inkjet') { @@ -2897,7 +2902,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController $margenImpresion += round($linea['precio_impresion_horas'], 2); // coste de maquina y magen son MARGEN, no COSTE $margenImpresion += round($linea['margen_impresion_horas'], 2); $margenImpresion += round($linea['margen_click_pedido'], 2); - $sumForFactor -= round($linea['margen_click_pedido'], 2); + } protected function calcular_lomo($lineas, $lomo_inicial) diff --git a/httpdocs/assets/js/safekat/pages/presupuestoCliente/datosGenerales.js b/httpdocs/assets/js/safekat/pages/presupuestoCliente/datosGenerales.js index 7ca45554..3dcac622 100644 --- a/httpdocs/assets/js/safekat/pages/presupuestoCliente/datosGenerales.js +++ b/httpdocs/assets/js/safekat/pages/presupuestoCliente/datosGenerales.js @@ -74,6 +74,8 @@ class DatosGenerales { this.rl_retractilado = $("#rl_retractilado"); this.rl_retractilado5 = $("#rl_retractilado5"); + this.selectedTirada = null; + this.cargando = false; this.initValidation(); @@ -547,6 +549,10 @@ class DatosGenerales { this.cliente.setOption(datos.clienteId, datos.clienteNombre); this.cliente.setVal(datos.clienteId); + + if(datos.selectedTirada){ + this.selectedTirada = datos.selectedTirada; + } $(this.cliente).trigger('change'); if (datos.excluirRotativa) { diff --git a/httpdocs/assets/js/safekat/pages/presupuestoCliente/resumen.js b/httpdocs/assets/js/safekat/pages/presupuestoCliente/resumen.js index 79796200..4c297776 100644 --- a/httpdocs/assets/js/safekat/pages/presupuestoCliente/resumen.js +++ b/httpdocs/assets/js/safekat/pages/presupuestoCliente/resumen.js @@ -238,7 +238,12 @@ class Resumen { this.paginas.text(this.datosGenerales.paginas.val()); this.paginasColor.text(this.datosGenerales.paginasColor.val()); this.paginasNegro.text(this.datosGenerales.paginasNegro.val()); - this.tirada.text(parseInt($($('.check-tirada-envio:checked')[0]).attr('tirada'))); + if(this.datosGenerales.selectedTirada){ + this.tirada.text(this.datosGenerales.selectedTirada); + } + else{ + this.tirada.text(parseInt($($('.check-tirada-envio:checked')[0]).attr('tirada'))); + } this.prototipo.text(this.datosGenerales.prototipo.is(':checked') ? 'Sí' : 'No'); const HQ = this.disenioInterior.getIsHq();