diff --git a/ci4/app/Controllers/Presupuestos/Presupuestocliente.php b/ci4/app/Controllers/Presupuestos/Presupuestocliente.php index db85cbb3..d1910537 100755 --- a/ci4/app/Controllers/Presupuestos/Presupuestocliente.php +++ b/ci4/app/Controllers/Presupuestos/Presupuestocliente.php @@ -2884,7 +2884,6 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController $sumForFactor += round($linea['precio_pedido'], 2); $sumForFactor -= round($linea['precio_pedido'], 2); - $totalImpresion += round($linea['precio_impresion_horas'], 2); $totalImpresion += round($linea['precio_click_pedido'], 2); $sumForFactor += round($linea['precio_click_pedido'], 2); @@ -2895,6 +2894,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController $sumForFactor += round($linea['total_corte'], 2); } } + $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); diff --git a/ci4/app/Language/es/Presupuestos.php b/ci4/app/Language/es/Presupuestos.php index c1951b6e..b907e057 100755 --- a/ci4/app/Language/es/Presupuestos.php +++ b/ci4/app/Language/es/Presupuestos.php @@ -155,7 +155,7 @@ return [ 'totalClicks' => 'Total clicks', 'horas' => 'Horas máquina', 'precioHora' => 'Precio hora', - 'precioImpresion' => 'Precio impresión', + 'precioImpresion' => 'Total horas', 'precioPagNegro' => 'Precio pág. negro', 'precioPagColor' => 'Precio pág. color', 'totalTinta' => 'Total tinta', @@ -228,7 +228,7 @@ return [ 'totalClicks' => 'Total Clicks', 'totalTinta' => 'Total Tinta', 'totalCorte' => 'Total Corte', - 'totalImpresion' => 'TOTAL IMPRES.', + 'totalImpresion' => 'Total máquina', 'velocidadCorte' => 'Velocidad corte', 'precioHoraCorte' => 'Precio hora corte', 'tiempoCorte' => 'Tiempo corte', diff --git a/ci4/app/Models/Presupuestos/PresupuestoServiciosExtraModel.php b/ci4/app/Models/Presupuestos/PresupuestoServiciosExtraModel.php index f7141ebb..1adccc74 100755 --- a/ci4/app/Models/Presupuestos/PresupuestoServiciosExtraModel.php +++ b/ci4/app/Models/Presupuestos/PresupuestoServiciosExtraModel.php @@ -154,7 +154,7 @@ class PresupuestoServiciosExtraModel extends \App\Models\BaseModel $builder = $this->db ->table($this->table . " t1") ->select( - "t1.id AS id, t1.tarifa_extra_id AS tarifa_extra_id, t1.precio AS precio, t1.margen AS margen, t2.nombre AS nombre" + "t1.id AS id, t1.tarifa_extra_id AS tarifa_extra_id, t1.tarifa_extra_id AS tarifa_id, t1.precio AS precio, t1.margen AS margen, t2.nombre AS nombre" ); $builder->where('t1.presupuesto_id', $presupuesto_id); diff --git a/httpdocs/assets/js/safekat/pages/presupuestoAdmin/presupuestoAdminEdit.js b/httpdocs/assets/js/safekat/pages/presupuestoAdmin/presupuestoAdminEdit.js index 9448acd9..d32f4ae4 100644 --- a/httpdocs/assets/js/safekat/pages/presupuestoAdmin/presupuestoAdminEdit.js +++ b/httpdocs/assets/js/safekat/pages/presupuestoAdmin/presupuestoAdminEdit.js @@ -404,7 +404,9 @@ class PresupuestoAdminEdit { } // Funciones para detectar cambios en el formulario - this.#checkChangesPresupuesto(); + setTimeout(() => { + this.#checkChangesPresupuesto(); + }, 500); $('#bc-save').on("click", function () { showBreadCrumbSaveButton(false); $('#saveForm').trigger('click'); @@ -530,45 +532,57 @@ class PresupuestoAdminEdit { #checkChangesPresupuesto() { + + const self = this; // Detectar cambios en inputs de texto $('input[type="text"]').on('change', function () { - showBreadCrumbSaveButton(true); + if (!self.cargandoPresupuesto) + showBreadCrumbSaveButton(true); }); // Detectar cambios en inputs de texto $('input[type="number"]').on('change', function () { - showBreadCrumbSaveButton(true); + if (!self.cargandoPresupuesto) + showBreadCrumbSaveButton(true); }); // Detectar cambios en select $('select').on('change', function () { - showBreadCrumbSaveButton(true); + if (!self.cargandoPresupuesto) + showBreadCrumbSaveButton(true); }); $('.select2bs').on('change', function (e) { - showBreadCrumbSaveButton(true); + if (!self.cargandoPresupuesto) + showBreadCrumbSaveButton(true); }); // Detectar cambios en checkboxes $('input[type="checkbox"]').change(function () { - showBreadCrumbSaveButton(true); + if (!self.cargandoPresupuesto) + showBreadCrumbSaveButton(true); }); // Detectar cambios en textareas $('textarea').on('input', function () { - showBreadCrumbSaveButton(true); + if (!self.cargandoPresupuesto) + showBreadCrumbSaveButton(true); }); // Detectar cambios en otros tipos de input $('input[type="radio"]').change(function () { - showBreadCrumbSaveButton(true); + if (!self.cargandoPresupuesto) + showBreadCrumbSaveButton(true); }); // Detectar cambios en otros tipos de input $('input:not([type])').on('input', function () { - showBreadCrumbSaveButton(true); + if (!self.cargandoPresupuesto) + showBreadCrumbSaveButton(true); }); } + + downloadPreviewImage() { $(document).on("click", ".download-shape", (event) => { let parentDiv = $(event.currentTarget).parent().parent(); diff --git a/httpdocs/assets/js/safekat/pages/presupuestoAdmin/sections/lineasPresupuesto.js b/httpdocs/assets/js/safekat/pages/presupuestoAdmin/sections/lineasPresupuesto.js index 9b3e7271..21d88070 100644 --- a/httpdocs/assets/js/safekat/pages/presupuestoAdmin/sections/lineasPresupuesto.js +++ b/httpdocs/assets/js/safekat/pages/presupuestoAdmin/sections/lineasPresupuesto.js @@ -1045,7 +1045,7 @@ class LineasPresupuesto { data.totalClicksPedido = isNaN(parseFloat(row.precio_click_pedido)) ? "" : parseFloat(row.precio_click_pedido).toFixed(2) data.totalTinta = isNaN(parseFloat(row.precio_tinta)) ? "" : parseFloat(row.precio_tinta).toFixed(2) - data.totalImpresion = isNaN(parseFloat(row.precio_click_pedido + row.precio_tinta + data.totalCorte)) ? "" : parseFloat(row.precio_click_pedido + row.precio_tinta + data.totalCorte).toFixed(2) + data.totalImpresion = isNaN(parseFloat(row.precio_click_pedido) + parseFloat(row.precio_tinta) + parseFloat(row.total_corte)) ? "" : (parseFloat(row.precio_click_pedido) + parseFloat(row.precio_tinta) + parseFloat(row.total_corte)).toFixed(2) data.gTintaNegroPed = isNaN(parseFloat(row.peso_gotas_negro_pedido)) ? "" : parseFloat(row.peso_gotas_negro_pedido).toFixed(2) data.gTintaCyanPed = isNaN(parseFloat(row.peso_gotas_cyan_pedido)) ? "" : parseFloat(row.peso_gotas_cyan_pedido).toFixed(2) diff --git a/httpdocs/assets/js/safekat/pages/presupuestoAdmin/sections/resumen.js b/httpdocs/assets/js/safekat/pages/presupuestoAdmin/sections/resumen.js index 58a2d142..1cb28196 100644 --- a/httpdocs/assets/js/safekat/pages/presupuestoAdmin/sections/resumen.js +++ b/httpdocs/assets/js/safekat/pages/presupuestoAdmin/sections/resumen.js @@ -104,6 +104,7 @@ class Resumen { let sumForFactorPonderado = 0.0; + let costeMaquinaHoras = 0.0; let margenPorHoras = 0.0; if (updateLP) { @@ -116,31 +117,31 @@ class Resumen { totalPapel += parseFloat($('#' + rowData.row_id + '_totalPapelPedido').val()) margenPapel += parseFloat($('#' + rowData.row_id + '_margenPapelPedido').val()) - sumForFactor += parseFloat($('#' + rowData.row_id + '_totalPapelPedido').val()) - sumForFactor -= parseFloat($('#' + rowData.row_id + '_margenPapelPedido').val()) + //sumForFactor += parseFloat($('#' + rowData.row_id + '_totalPapelPedido').val()) + //sumForFactor -= parseFloat($('#' + rowData.row_id + '_margenPapelPedido').val()) } if (rowData.check_impresion_total) { - totalImpresion += parseFloat($('#' + rowData.row_id + '_precioImpresion').val()) + costeMaquinaHoras += parseFloat($('#' + rowData.row_id + '_precioImpresion').val()) margenPorHoras += parseFloat($('#' + rowData.row_id + '_margenImpresion').val()) totalImpresion += parseFloat($('#' + rowData.row_id + '_totalClicks').val()) margenImpresion += parseFloat($('#' + rowData.row_id + '_margenClicks').val()) - sumForFactor += parseFloat($('#' + rowData.row_id + '_totalClicks').val()) + //sumForFactor += parseFloat($('#' + rowData.row_id + '_totalClicks').val()) if (rowData.maquinaTipo == 'inkjet') { totalImpresion += parseFloat(rowData.totalTinta) totalImpresion += parseFloat(rowData.totalCorte)?? 0; - sumForFactor += (parseFloat(rowData.totalTinta) + parseFloat(rowData.totalCorte)) + //sumForFactor += (parseFloat(rowData.totalTinta) + parseFloat(rowData.totalCorte)) } - sumForFactor -= parseFloat($('#' + rowData.row_id + '_margenClicks').val()) + //sumForFactor -= parseFloat($('#' + rowData.row_id + '_margenClicks').val()) - if (!isNaN(parseFloat($('#' + rowData.row_id + '_totalTinta').val()))) { + /*if (!isNaN(parseFloat($('#' + rowData.row_id + '_totalTinta').val()))) { totalImpresion += parseFloat($('#' + rowData.row_id + '_totalTinta').val()) sumForFactor += parseFloat($('#' + rowData.row_id + '_totalTinta').val()) - } + }*/ } }) } @@ -148,7 +149,10 @@ class Resumen { totalImpresion -= parseFloat(margenImpresion); totalPapel -= parseFloat(margenPapel); - margenImpresion += parseFloat(margenPorHoras); + margenImpresion += parseFloat(margenPorHoras) + parseFloat(costeMaquinaHoras); + + sumForFactor += totalImpresion; + sumForFactor += totalPapel; let porcentajeMargenPapel = isNaN(margenPapel / (totalPapel) * 100.0) ? 0 : margenPapel / (totalPapel) * 100.0 $('#porcentajeMargenPapel').text(porcentajeMargenPapel.toFixed(0) + '%') @@ -214,7 +218,7 @@ class Resumen { $('#tableOfServiciosExtra').DataTable().rows().every(function (rowIdx, tableLoop, rowLoop) { let rowData = this.data(); let total_servicio = self.roundToTwoDecimals(parseFloat(rowData.precio)); - let coste_servicio = self.roundToTwoDecimals(parseFloat(rowData.coste)); + let coste_servicio = self.roundToTwoDecimals(parseFloat(rowData.margen)); totalServicios += total_servicio margenServicios += total_servicio - coste_servicio; }); @@ -316,37 +320,37 @@ class Resumen { getData(){ let data = { - 'total_coste_papel': $('#totalCostePapel').text().replace('€', ''), - 'total_margen_papel': $('#margenPapel').text().replace('€', ''), - 'total_margenPercent_papel': $('#porcentajeMargenPapel').text().replace('%', ''), + '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_impresion': $('#totalCosteImpresion').text().replace('€', ''), - 'total_margen_impresion': $('#margenImpresion').text().replace('€', ''), - 'total_margenPercent_impresion': $('#porcentajeMargenImpresion').text().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_servicios': $('#totalServicios').text().replace('€', ''), - 'total_margen_servicios': $('#margenServicios').text().replace('€', ''), - 'total_margenPercent_servicios': $('#porcentajeMargenServicios').text().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_envios': $('#totalEnvios').text().replace('€', ''), - 'total_margen_envios': $('#margenEnvios').text().replace('€', ''), + 'total_coste_envios': $('#totalEnvios').text().replace('€', '').replace('.', '').replace(',', '.'), + 'total_margen_envios': $('#margenEnvios').text().replace('€', '').replace('.', '').replace(',', '.'), - 'total_costes': $('#totalCostes').text().replace('€', ''), - 'total_margenes': $('#totalMargenes').text().replace('€', ''), + 'total_costes': $('#totalCostes').text().replace('€', '').replace('.', '').replace(',', '.'), + 'total_margenes': $('#totalMargenes').text().replace('€', '').replace('.', '').replace(',', '.'), - 'total_antes_descuento': $('#totalAntesDescuento').text().replace('€', ''), - 'total_descuento': $('#descuentoTotal').text().replace('€', ''), - 'total_descuentoPercent': $('#total_descuentoPercent').val().replace('€', ''), - 'total_presupuesto': $('#totalDespuesDecuento').text().replace('€', ''), - 'total_precio_unidad': $('#precioUnidadPresupuesto').text().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_factor': $('#factor').text().replace(/,/g, '.'), - 'total_factor_ponderado': $('#factor_ponderado').text().replace(/,/g, '.'), + 'total_factor_ponderado': $('#factor_ponderado').text().replace(/,/g, '.') }; if($('#confirmar_presupuesto').prop('checked')){ data.confirmar = '1'; - data.total_aceptado = $('#totalDespuesDecuento').text().replace('€', ''); + data.total_aceptado = $('#totalDespuesDecuento').text().replace('€', '').replace('.', '').replace(',', '.'); } return data;