diff --git a/ci4/app/Language/es/Presupuestos.php b/ci4/app/Language/es/Presupuestos.php index 71bbf68b..6e294c6b 100755 --- a/ci4/app/Language/es/Presupuestos.php +++ b/ci4/app/Language/es/Presupuestos.php @@ -171,8 +171,8 @@ return [ 'precioImpresionMargen' => 'Margen horas', 'precioPagNegro' => 'Precio pág. negro', 'precioPagColor' => 'Precio pág. color', - 'totalTinta' => 'Total tinta', - 'totalCorte' => 'Total corte', + 'totalTinta' => 'Total tinta (C+M)', + 'totalCorte' => 'Total corte (C+M)', 'total' => 'Total', 'totalLinea' => 'Total Precio Línea', 'aFavorFibra' => 'A favor de fibra', @@ -239,8 +239,6 @@ return [ 'gTintaCG' => 'G. tinta CG', 'clicksPedido' => 'Clicks Pedido', 'totalClicks' => 'Total Clicks', - 'totalTinta' => 'Total Tinta', - 'totalCorte' => 'Total Corte', 'totalImpresion' => 'Total máquina', 'velocidadCorte' => 'Velocidad corte', 'precioHoraCorte' => 'Precio hora corte', diff --git a/ci4/app/Views/themes/vuexy/form/presupuestos/admin/_resumenPresupuestoItems.php b/ci4/app/Views/themes/vuexy/form/presupuestos/admin/_resumenPresupuestoItems.php index 31a2a04b..7aae8cc5 100755 --- a/ci4/app/Views/themes/vuexy/form/presupuestos/admin/_resumenPresupuestoItems.php +++ b/ci4/app/Views/themes/vuexy/form/presupuestos/admin/_resumenPresupuestoItems.php @@ -24,14 +24,64 @@
-
Coste impresión
+
+ + Coste impresión +
-
Margen impresión
+ +
Coste clicks
+
+ +
+ +
Coste horas
+
+ +
+ +
Coste tinta
+
+ +
+ +
Coste corte
+
+ +
+
+ + Margen impresión +
+ class="autonumeric-resumen-currency">
+ +
Margen clicks
+
+ +
+ +
Margen horas
+
+ +
+ +
Margen tinta
+
+ +
+ +
Margen corte
+
+ +
Coste servicios
Margen envío
-
Total envío base
-

@@ -64,6 +111,9 @@ class="autonumeric-resumen-percent">
+
Total envío base
+

@@ -152,7 +202,7 @@ class="form-control text-center fs-5 autonumeric-resumen-currency" value="" > - +

diff --git a/httpdocs/assets/js/safekat/pages/presupuestoAdmin/sections/lineasPresupuesto.js b/httpdocs/assets/js/safekat/pages/presupuestoAdmin/sections/lineasPresupuesto.js index 1711e693..1d0c737d 100644 --- a/httpdocs/assets/js/safekat/pages/presupuestoAdmin/sections/lineasPresupuesto.js +++ b/httpdocs/assets/js/safekat/pages/presupuestoAdmin/sections/lineasPresupuesto.js @@ -1122,7 +1122,7 @@ class LineasPresupuesto { '

' + '
' + '' + - '' + + '' + '
' + '
' + '' + @@ -1338,11 +1338,11 @@ class LineasPresupuesto { '
' + '
' + window.language.Presupuestos.totalTinta + - '' + + '' + '
' + (d.row_id.includes('rot') ? '
' : '' + '
' + window.language.Presupuestos.totalImpresion + diff --git a/httpdocs/assets/js/safekat/pages/presupuestoAdmin/sections/resumen.js b/httpdocs/assets/js/safekat/pages/presupuestoAdmin/sections/resumen.js index 18c2dcca..01d47416 100644 --- a/httpdocs/assets/js/safekat/pages/presupuestoAdmin/sections/resumen.js +++ b/httpdocs/assets/js/safekat/pages/presupuestoAdmin/sections/resumen.js @@ -107,6 +107,7 @@ class Resumen { async updateTotales(data = {}, ajustar = false) { const self = this; + const MARGEN_TINTA_CORTE = 0.23; let updateLP = data.updateLP || true; let updateServicios = data.updateServicios || true; @@ -115,8 +116,15 @@ class Resumen { let margenPapel = 0; let totalImpresion = 0; - let totalImpresionforMargen = 0; + let totalCosteClicks = 0; + let totalCosteHoras = 0; + let totalCosteTinta = 0; + let totalCosteCorte = 0; let margenImpresion = 0; + let totalMargenClicks = 0; + let totalMargenHoras = 0; + let totalMargenTinta = 0; + let totalMargenCorte = 0; let totalServicios = parseFloat(0); let margenServicios = parseFloat(0); @@ -129,9 +137,6 @@ class Resumen { let sumForFactorPonderado = 0.0; - let costeMaquinaHoras = 0.0; - let margenPorHoras = 0.0; - if (updateLP) { if (typeof $("#tableLineasPresupuesto").DataTable() !== 'undefined') { @@ -148,16 +153,21 @@ 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()) - margenImpresion += parseFloat($('#' + rowData.row_id + '_margenClicks').val()) + totalCosteHoras += parseFloat($('#' + rowData.row_id + '_precioImpresion').val()) + totalMargenHoras += parseFloat($('#' + rowData.row_id + '_margenImpresion').val()) + totalCosteClicks += parseFloat($('#' + rowData.row_id + '_totalClicks').val()) + totalMargenClicks += parseFloat($('#' + rowData.row_id + '_margenClicks').val()) //sumForFactor += parseFloat($('#' + rowData.row_id + '_totalClicks').val()) if (rowData.maquinaTipo == 'inkjet') { - totalImpresion += parseFloat(rowData.totalTinta) - totalImpresion += parseFloat(rowData.totalCorte) ?? 0; + let tinta = parseFloat($('#' + rowData.row_id + '_totalTinta').val()) || 0; + let corte = parseFloat($('#' + rowData.row_id + '_totalCorte').val()) || 0; + + totalCosteTinta += tinta/(1+ MARGEN_TINTA_CORTE); + totalCosteCorte += corte/(1+ MARGEN_TINTA_CORTE); + totalMargenTinta += (tinta - tinta/(1+ MARGEN_TINTA_CORTE)); + totalMargenCorte += (corte - corte/(1+ MARGEN_TINTA_CORTE)); //sumForFactor += (parseFloat(rowData.totalTinta) + parseFloat(rowData.totalCorte)) } @@ -174,7 +184,8 @@ class Resumen { //totalImpresion -= parseFloat(margenImpresion); totalPapel -= parseFloat(margenPapel); - margenImpresion += parseFloat(margenPorHoras) + parseFloat(costeMaquinaHoras); + totalImpresion += totalCosteClicks + totalCosteHoras + totalCosteTinta + totalCosteCorte; + margenImpresion += totalMargenClicks + totalMargenHoras + totalMargenTinta + totalMargenCorte; sumForFactor += totalImpresion; sumForFactor += totalPapel; @@ -187,10 +198,18 @@ class Resumen { $('#margenPapel').val(margenPapel.toFixed(2)) $('#margenPapel').html(margenPapel) - let porcentajeMargenImpresion = isNaN(margenImpresion / (totalImpresion) * 100.0) ? 0 : margenImpresion / (totalImpresion) * 100.0 - $('#porcentajeMargenImpresion').html(porcentajeMargenImpresion).val(porcentajeMargenImpresion.toFixed(2)) - $('#totalCosteImpresion').html(totalImpresion).val(totalImpresion.toFixed(2)) - $('#margenImpresion').html(margenImpresion).val(margenImpresion.toFixed(2)) + let porcentajeMargenImpresion = isNaN(margenImpresion / (totalImpresion) * 100.0) ? 0 : margenImpresion / (totalImpresion) * 100.0; + $('#porcentajeMargenImpresion').html(porcentajeMargenImpresion).val(porcentajeMargenImpresion.toFixed(2)); + $('#totalCosteImpresion').html(totalImpresion).val(totalImpresion.toFixed(2)); + $('#totalCosteClicks').html(totalCosteClicks).val(totalCosteClicks.toFixed(2)); + $('#totalCosteHoras').html(totalCosteHoras).val(totalCosteHoras.toFixed(2)); + $('#totalCosteTinta').html(totalCosteTinta).val(totalCosteTinta.toFixed(2)); + $('#totalCosteCorte').html(totalCosteCorte).val(totalCosteCorte.toFixed(2)); + $('#margenImpresion').html(margenImpresion).val(margenImpresion.toFixed(2)); + $('#totalMargenClicks').html(totalMargenClicks).val(totalMargenClicks.toFixed(2)); + $('#totalMargenHoras').html(totalMargenHoras).val(totalMargenHoras.toFixed(2)); + $('#totalMargenTinta').html(totalMargenTinta).val(totalMargenTinta.toFixed(2)); + $('#totalMargenCorte').html(totalMargenCorte).val(totalMargenCorte.toFixed(2)); } @@ -364,8 +383,13 @@ class Resumen { if ($('#total_descuentoPercent').val() < 0) { $('#total_descuentoPercent').val(0) } + let totalAntesDescuento = totalCostes + totalMargenes + totalEnvios_base; - let totalDescuento = totalAntesDescuento * parseFloat($('#total_descuentoPercent').val() || 0) / 100 + let totalDescuento = totalAntesDescuento * parseFloat($('#total_descuentoPercent').val() || 0) / 100; + if(totalDescuento > totalMargenes){ + totalDescuento = totalMargenes; + $('#total_descuentoPercent').val((totalDescuento / totalAntesDescuento * 100).toFixed(0)); + } let totalPresupuesto = totalAntesDescuento - totalDescuento; // para el calculo del precio_u solo se tiene en cuenta el base let precioUnidad = totalPresupuesto / parseInt($('#tirada').val())