mirror of
https://git.imnavajas.es/jjimenez/safekat.git
synced 2025-07-25 22:52:08 +00:00
Merge branch 'main' into mod/direcciones_ferro_prototipo
This commit is contained in:
@ -171,8 +171,8 @@ return [
|
|||||||
'precioImpresionMargen' => 'Margen horas',
|
'precioImpresionMargen' => 'Margen horas',
|
||||||
'precioPagNegro' => 'Precio pág. negro',
|
'precioPagNegro' => 'Precio pág. negro',
|
||||||
'precioPagColor' => 'Precio pág. color',
|
'precioPagColor' => 'Precio pág. color',
|
||||||
'totalTinta' => 'Total tinta',
|
'totalTinta' => 'Total tinta (C+M)',
|
||||||
'totalCorte' => 'Total corte',
|
'totalCorte' => 'Total corte (C+M)',
|
||||||
'total' => 'Total',
|
'total' => 'Total',
|
||||||
'totalLinea' => 'Total Precio Línea',
|
'totalLinea' => 'Total Precio Línea',
|
||||||
'aFavorFibra' => 'A favor de fibra',
|
'aFavorFibra' => 'A favor de fibra',
|
||||||
@ -239,8 +239,6 @@ return [
|
|||||||
'gTintaCG' => 'G. tinta CG',
|
'gTintaCG' => 'G. tinta CG',
|
||||||
'clicksPedido' => 'Clicks Pedido',
|
'clicksPedido' => 'Clicks Pedido',
|
||||||
'totalClicks' => 'Total Clicks',
|
'totalClicks' => 'Total Clicks',
|
||||||
'totalTinta' => 'Total Tinta',
|
|
||||||
'totalCorte' => 'Total Corte',
|
|
||||||
'totalImpresion' => 'Total máquina',
|
'totalImpresion' => 'Total máquina',
|
||||||
'velocidadCorte' => 'Velocidad corte',
|
'velocidadCorte' => 'Velocidad corte',
|
||||||
'precioHoraCorte' => 'Precio hora corte',
|
'precioHoraCorte' => 'Precio hora corte',
|
||||||
|
|||||||
@ -24,14 +24,64 @@
|
|||||||
<dd class="col-3 text-end py-1"><span id="margenPapel"
|
<dd class="col-3 text-end py-1"><span id="margenPapel"
|
||||||
class="autonumeric-resumen-currency"></span></dd>
|
class="autonumeric-resumen-currency"></span></dd>
|
||||||
|
|
||||||
<dt class="col-5 fw-normal text-end">Coste impresión</dt>
|
<dt class="col-5 fw-normal text-end">
|
||||||
|
<a href="javascript:void(0);" data-bs-toggle="collapse" data-bs-target=".costes-impresion" aria-expanded="false" aria-controls="costes-impresion">
|
||||||
|
<i class="ti ti-list ti-sm mx-2"></i>
|
||||||
|
</a>
|
||||||
|
Coste impresión
|
||||||
|
</dt>
|
||||||
<dd class="col-6 text-end py-1"><span id="totalCosteImpresion"
|
<dd class="col-6 text-end py-1"><span id="totalCosteImpresion"
|
||||||
class="autonumeric-resumen-currency"></span></dd>
|
class="autonumeric-resumen-currency"></span></dd>
|
||||||
<dt class="col-5 py-1 fw-normal text-end">Margen impresión</dt>
|
<!-- Bloque colapsable, sin <div>, solo usando clases -->
|
||||||
|
<dt class="col-5 fw-normal text-end collapse costes-impresion">Coste clicks</dt>
|
||||||
|
<dd class="col-6 text-end py-1 collapse costes-impresion">
|
||||||
|
<span id="totalCosteClicks" class="autonumeric-resumen-currency"></span>
|
||||||
|
</dd>
|
||||||
|
|
||||||
|
<dt class="col-5 fw-normal text-end collapse costes-impresion">Coste horas</dt>
|
||||||
|
<dd class="col-6 text-end py-1 collapse costes-impresion">
|
||||||
|
<span id="totalCosteHoras" class="autonumeric-resumen-currency"></span>
|
||||||
|
</dd>
|
||||||
|
|
||||||
|
<dt class="col-5 fw-normal text-end collapse costes-impresion">Coste tinta</dt>
|
||||||
|
<dd class="col-6 text-end py-1 collapse costes-impresion">
|
||||||
|
<span id="totalCosteTinta" class="autonumeric-resumen-currency" ></span>
|
||||||
|
</dd>
|
||||||
|
|
||||||
|
<dt class="col-5 fw-normal text-end collapse costes-impresion">Coste corte</dt>
|
||||||
|
<dd class="col-6 text-end py-1 collapse costes-impresion">
|
||||||
|
<span id="totalCosteCorte" class="autonumeric-resumen-currency"></span>
|
||||||
|
</dd>
|
||||||
|
<dt class="col-5 py-1 fw-normal text-end">
|
||||||
|
<a href="javascript:void(0);" data-bs-toggle="collapse" data-bs-target=".margen-impresion" aria-expanded="false" aria-controls="margen-impresion">
|
||||||
|
<i class="ti ti-list ti-sm mx-2"></i>
|
||||||
|
</a>
|
||||||
|
Margen impresión
|
||||||
|
</dt>
|
||||||
<dd class="col-3 text-end py-1"><span id="porcentajeMargenImpresion"
|
<dd class="col-3 text-end py-1"><span id="porcentajeMargenImpresion"
|
||||||
class="autonumeric-resumen-percent"></span></dd>
|
class="autonumeric-resumen-percent"></span></dd>
|
||||||
<dd class="col-3 text-end py-1"><span id="margenImpresion"
|
<dd class="col-3 text-end py-1"><span id="margenImpresion"
|
||||||
class="autonumeric-resumen-currency"></span></d>
|
class="autonumeric-resumen-currency"></span></dd>
|
||||||
|
<!-- Bloque colapsable, sin <div>, solo usando clases -->
|
||||||
|
<dt class="col-5 fw-normal text-end collapse margen-impresion">Margen clicks</dt>
|
||||||
|
<dd class="col-6 text-end py-1 collapse margen-impresion">
|
||||||
|
<span id="totalMargenClicks" class="autonumeric-resumen-currency"></span>
|
||||||
|
</dd>
|
||||||
|
|
||||||
|
<dt class="col-5 fw-normal text-end collapse margen-impresion">Margen horas</dt>
|
||||||
|
<dd class="col-6 text-end py-1 collapse margen-impresion">
|
||||||
|
<span id="totalMargenHoras" class="autonumeric-resumen-currency"></span>
|
||||||
|
</dd>
|
||||||
|
|
||||||
|
<dt class="col-5 fw-normal text-end collapse margen-impresion">Margen tinta</dt>
|
||||||
|
<dd class="col-6 text-end py-1 collapse margen-impresion">
|
||||||
|
<span id="totalMargenTinta" class="autonumeric-resumen-currency" ></span>
|
||||||
|
</dd>
|
||||||
|
|
||||||
|
<dt class="col-5 fw-normal text-end collapse margen-impresion">Margen corte</dt>
|
||||||
|
<dd class="col-6 text-end py-1 collapse margen-impresion">
|
||||||
|
<span id="totalMargenCorte" class="autonumeric-resumen-currency"></span>
|
||||||
|
</dd>
|
||||||
|
|
||||||
<dt class="col-5 fw-normal text-end">Coste servicios</dt>
|
<dt class="col-5 fw-normal text-end">Coste servicios</dt>
|
||||||
<dd class="col-6 text-end py-1 "><span id="totalServicios"
|
<dd class="col-6 text-end py-1 "><span id="totalServicios"
|
||||||
@ -48,9 +98,6 @@
|
|||||||
<dt class="col-5 fw-normal text-end">Margen envío</dt>
|
<dt class="col-5 fw-normal text-end">Margen envío</dt>
|
||||||
<dd class="col-6 text-end py-1 "><span id="margenEnvios"
|
<dd class="col-6 text-end py-1 "><span id="margenEnvios"
|
||||||
class="autonumeric-resumen-currency"></span></dd>
|
class="autonumeric-resumen-currency"></span></dd>
|
||||||
<dt class="col-5 fw-normal text-end">Total envío base</dt>
|
|
||||||
<dd class="col-6 text-end py-1 "><span id="precioEnvios"
|
|
||||||
class="autonumeric-resumen-currency"></span></dd>
|
|
||||||
</dl>
|
</dl>
|
||||||
|
|
||||||
<hr class="mx-n4">
|
<hr class="mx-n4">
|
||||||
@ -64,6 +111,9 @@
|
|||||||
class="autonumeric-resumen-percent"></span></dd>
|
class="autonumeric-resumen-percent"></span></dd>
|
||||||
<dd class="col-3 text-end py-1"><span id="totalMargenes"
|
<dd class="col-3 text-end py-1"><span id="totalMargenes"
|
||||||
class="autonumeric-resumen-currency"></span></dd>
|
class="autonumeric-resumen-currency"></span></dd>
|
||||||
|
<dt class="col-5 fw-normal text-end">Total envío base</dt>
|
||||||
|
<dd class="col-6 text-end py-1 "><span id="precioEnvios"
|
||||||
|
class="autonumeric-resumen-currency"></span></dd>
|
||||||
</dl>
|
</dl>
|
||||||
|
|
||||||
<hr class="mx-n4">
|
<hr class="mx-n4">
|
||||||
@ -152,7 +202,7 @@
|
|||||||
class="form-control text-center fs-5 autonumeric-resumen-currency" value="" <?php echo ($tipo_impresion_id == 21) ? ' max=80' : '' ?>>
|
class="form-control text-center fs-5 autonumeric-resumen-currency" value="" <?php echo ($tipo_impresion_id == 21) ? ' max=80' : '' ?>>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<?php endif; */?>
|
<?php endif; */ ?>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<p>
|
<p>
|
||||||
<span id="aprobado_by_at"></span>
|
<span id="aprobado_by_at"></span>
|
||||||
|
|||||||
@ -1122,7 +1122,7 @@ class LineasPresupuesto {
|
|||||||
'</div>' +
|
'</div>' +
|
||||||
'<div class="lp-cell-auto">' +
|
'<div class="lp-cell-auto">' +
|
||||||
'<label>' + window.language.Presupuestos.precioImpresion + '</label>' +
|
'<label>' + window.language.Presupuestos.precioImpresion + '</label>' +
|
||||||
'<input readonly id="' + d.row_id + '_precioImpresion" name="' + d.row_id + '_precioImpresion" class="lp-input lp-cell lp-cell-margen ' + d.row_class + '-input" type="text" value="' + (parseFloat(d.precioImpresion) - parseFloat(d.margenImpresion)).toFixed(2) + '">' +
|
'<input readonly id="' + d.row_id + '_precioImpresion" name="' + d.row_id + '_precioImpresion" class="lp-input lp-cell lp-cell-coste ' + d.row_class + '-input" type="text" value="' + (parseFloat(d.precioImpresion) - parseFloat(d.margenImpresion)).toFixed(2) + '">' +
|
||||||
'</div>' +
|
'</div>' +
|
||||||
'<div class="lp-cell-auto">' +
|
'<div class="lp-cell-auto">' +
|
||||||
'<label>' + window.language.Presupuestos.precioImpresionMargen + '</label>' +
|
'<label>' + window.language.Presupuestos.precioImpresionMargen + '</label>' +
|
||||||
@ -1338,11 +1338,11 @@ class LineasPresupuesto {
|
|||||||
'</div>' +
|
'</div>' +
|
||||||
'<div class="col-md-12 col-lg-1">' +
|
'<div class="col-md-12 col-lg-1">' +
|
||||||
window.language.Presupuestos.totalTinta +
|
window.language.Presupuestos.totalTinta +
|
||||||
'<input readonly type="text" id="' + d.row_id + '_totalTinta" name="' + d.row_id + '_totalTinta" class="lp-cell lp-cell-coste lp-input ' + d.row_class + '-input" readonly value="' + d.totalTinta + '">' +
|
'<input readonly type="text" id="' + d.row_id + '_totalTinta" name="' + d.row_id + '_totalTinta" class="lp-cell lp-cell-disabled lp-input ' + d.row_class + '-input" readonly value="' + d.totalTinta + '">' +
|
||||||
'</div>' +
|
'</div>' +
|
||||||
(d.row_id.includes('rot') ? '<div class="col-md-12 col-lg-1">' : '<div class="col-md-12 col-lg-1" style="display:none;">') +
|
(d.row_id.includes('rot') ? '<div class="col-md-12 col-lg-1">' : '<div class="col-md-12 col-lg-1" style="display:none;">') +
|
||||||
window.language.Presupuestos.totalCorte +
|
window.language.Presupuestos.totalCorte +
|
||||||
'<input readonly type="text" id="' + d.row_id + '_totalCorte" name="' + d.row_id + '_totalCorte" class="lp-cell lp-cell-coste lp-input ' + d.row_class + '-input" readonly value="' + d.totalCorte + '">' +
|
'<input readonly type="text" id="' + d.row_id + '_totalCorte" name="' + d.row_id + '_totalCorte" class="lp-cell lp-cell-disabled lp-input ' + d.row_class + '-input" readonly value="' + d.totalCorte + '">' +
|
||||||
'</div>' +
|
'</div>' +
|
||||||
'<div class="col-md-12 col-lg-1">' +
|
'<div class="col-md-12 col-lg-1">' +
|
||||||
window.language.Presupuestos.totalImpresion +
|
window.language.Presupuestos.totalImpresion +
|
||||||
|
|||||||
@ -107,6 +107,7 @@ class Resumen {
|
|||||||
async updateTotales(data = {}, ajustar = false) {
|
async updateTotales(data = {}, ajustar = false) {
|
||||||
|
|
||||||
const self = this;
|
const self = this;
|
||||||
|
const MARGEN_TINTA_CORTE = 0.23;
|
||||||
|
|
||||||
let updateLP = data.updateLP || true;
|
let updateLP = data.updateLP || true;
|
||||||
let updateServicios = data.updateServicios || true;
|
let updateServicios = data.updateServicios || true;
|
||||||
@ -115,8 +116,15 @@ class Resumen {
|
|||||||
let margenPapel = 0;
|
let margenPapel = 0;
|
||||||
|
|
||||||
let totalImpresion = 0;
|
let totalImpresion = 0;
|
||||||
let totalImpresionforMargen = 0;
|
let totalCosteClicks = 0;
|
||||||
|
let totalCosteHoras = 0;
|
||||||
|
let totalCosteTinta = 0;
|
||||||
|
let totalCosteCorte = 0;
|
||||||
let margenImpresion = 0;
|
let margenImpresion = 0;
|
||||||
|
let totalMargenClicks = 0;
|
||||||
|
let totalMargenHoras = 0;
|
||||||
|
let totalMargenTinta = 0;
|
||||||
|
let totalMargenCorte = 0;
|
||||||
|
|
||||||
let totalServicios = parseFloat(0);
|
let totalServicios = parseFloat(0);
|
||||||
let margenServicios = parseFloat(0);
|
let margenServicios = parseFloat(0);
|
||||||
@ -129,9 +137,6 @@ class Resumen {
|
|||||||
let sumForFactorPonderado = 0.0;
|
let sumForFactorPonderado = 0.0;
|
||||||
|
|
||||||
|
|
||||||
let costeMaquinaHoras = 0.0;
|
|
||||||
let margenPorHoras = 0.0;
|
|
||||||
|
|
||||||
if (updateLP) {
|
if (updateLP) {
|
||||||
|
|
||||||
if (typeof $("#tableLineasPresupuesto").DataTable() !== 'undefined') {
|
if (typeof $("#tableLineasPresupuesto").DataTable() !== 'undefined') {
|
||||||
@ -148,16 +153,21 @@ class Resumen {
|
|||||||
}
|
}
|
||||||
if (rowData.check_impresion_total) {
|
if (rowData.check_impresion_total) {
|
||||||
|
|
||||||
costeMaquinaHoras += parseFloat($('#' + rowData.row_id + '_precioImpresion').val())
|
totalCosteHoras += parseFloat($('#' + rowData.row_id + '_precioImpresion').val())
|
||||||
margenPorHoras += parseFloat($('#' + rowData.row_id + '_margenImpresion').val())
|
totalMargenHoras += parseFloat($('#' + rowData.row_id + '_margenImpresion').val())
|
||||||
totalImpresion += parseFloat($('#' + rowData.row_id + '_totalClicks').val())
|
totalCosteClicks += parseFloat($('#' + rowData.row_id + '_totalClicks').val())
|
||||||
margenImpresion += parseFloat($('#' + rowData.row_id + '_margenClicks').val())
|
totalMargenClicks += parseFloat($('#' + rowData.row_id + '_margenClicks').val())
|
||||||
|
|
||||||
//sumForFactor += parseFloat($('#' + rowData.row_id + '_totalClicks').val())
|
//sumForFactor += parseFloat($('#' + rowData.row_id + '_totalClicks').val())
|
||||||
|
|
||||||
if (rowData.maquinaTipo == 'inkjet') {
|
if (rowData.maquinaTipo == 'inkjet') {
|
||||||
totalImpresion += parseFloat(rowData.totalTinta)
|
let tinta = parseFloat($('#' + rowData.row_id + '_totalTinta').val()) || 0;
|
||||||
totalImpresion += parseFloat(rowData.totalCorte) ?? 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))
|
//sumForFactor += (parseFloat(rowData.totalTinta) + parseFloat(rowData.totalCorte))
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -174,7 +184,8 @@ class Resumen {
|
|||||||
//totalImpresion -= parseFloat(margenImpresion);
|
//totalImpresion -= parseFloat(margenImpresion);
|
||||||
totalPapel -= parseFloat(margenPapel);
|
totalPapel -= parseFloat(margenPapel);
|
||||||
|
|
||||||
margenImpresion += parseFloat(margenPorHoras) + parseFloat(costeMaquinaHoras);
|
totalImpresion += totalCosteClicks + totalCosteHoras + totalCosteTinta + totalCosteCorte;
|
||||||
|
margenImpresion += totalMargenClicks + totalMargenHoras + totalMargenTinta + totalMargenCorte;
|
||||||
|
|
||||||
sumForFactor += totalImpresion;
|
sumForFactor += totalImpresion;
|
||||||
sumForFactor += totalPapel;
|
sumForFactor += totalPapel;
|
||||||
@ -187,10 +198,18 @@ class Resumen {
|
|||||||
$('#margenPapel').val(margenPapel.toFixed(2))
|
$('#margenPapel').val(margenPapel.toFixed(2))
|
||||||
$('#margenPapel').html(margenPapel)
|
$('#margenPapel').html(margenPapel)
|
||||||
|
|
||||||
let porcentajeMargenImpresion = isNaN(margenImpresion / (totalImpresion) * 100.0) ? 0 : margenImpresion / (totalImpresion) * 100.0
|
let porcentajeMargenImpresion = isNaN(margenImpresion / (totalImpresion) * 100.0) ? 0 : margenImpresion / (totalImpresion) * 100.0;
|
||||||
$('#porcentajeMargenImpresion').html(porcentajeMargenImpresion).val(porcentajeMargenImpresion.toFixed(2))
|
$('#porcentajeMargenImpresion').html(porcentajeMargenImpresion).val(porcentajeMargenImpresion.toFixed(2));
|
||||||
$('#totalCosteImpresion').html(totalImpresion).val(totalImpresion.toFixed(2))
|
$('#totalCosteImpresion').html(totalImpresion).val(totalImpresion.toFixed(2));
|
||||||
$('#margenImpresion').html(margenImpresion).val(margenImpresion.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) {
|
if ($('#total_descuentoPercent').val() < 0) {
|
||||||
$('#total_descuentoPercent').val(0)
|
$('#total_descuentoPercent').val(0)
|
||||||
}
|
}
|
||||||
|
|
||||||
let totalAntesDescuento = totalCostes + totalMargenes + totalEnvios_base;
|
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 totalPresupuesto = totalAntesDescuento - totalDescuento; // para el calculo del precio_u solo se tiene en cuenta el base
|
||||||
let precioUnidad = totalPresupuesto / parseInt($('#tirada').val())
|
let precioUnidad = totalPresupuesto / parseInt($('#tirada').val())
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user