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',
|
||||
'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',
|
||||
|
||||
@ -24,14 +24,64 @@
|
||||
<dd class="col-3 text-end py-1"><span id="margenPapel"
|
||||
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"
|
||||
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"
|
||||
class="autonumeric-resumen-percent"></span></dd>
|
||||
<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>
|
||||
<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>
|
||||
<dd class="col-6 text-end py-1 "><span id="margenEnvios"
|
||||
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>
|
||||
|
||||
<hr class="mx-n4">
|
||||
@ -64,6 +111,9 @@
|
||||
class="autonumeric-resumen-percent"></span></dd>
|
||||
<dd class="col-3 text-end py-1"><span id="totalMargenes"
|
||||
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>
|
||||
|
||||
<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' : '' ?>>
|
||||
</div>
|
||||
</div>
|
||||
<?php endif; */?>
|
||||
<?php endif; */ ?>
|
||||
<div class="row">
|
||||
<p>
|
||||
<span id="aprobado_by_at"></span>
|
||||
|
||||
@ -1122,7 +1122,7 @@ class LineasPresupuesto {
|
||||
'</div>' +
|
||||
'<div class="lp-cell-auto">' +
|
||||
'<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 class="lp-cell-auto">' +
|
||||
'<label>' + window.language.Presupuestos.precioImpresionMargen + '</label>' +
|
||||
@ -1338,11 +1338,11 @@ class LineasPresupuesto {
|
||||
'</div>' +
|
||||
'<div class="col-md-12 col-lg-1">' +
|
||||
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>' +
|
||||
(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 +
|
||||
'<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 class="col-md-12 col-lg-1">' +
|
||||
window.language.Presupuestos.totalImpresion +
|
||||
|
||||
@ -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())
|
||||
|
||||
|
||||
Reference in New Issue
Block a user