From 0813abfb10bc9f9fdaa597cbf409de62075f273e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jaime=20Jim=C3=A9nez?= <“jaimejimenezortega@gmail.com”>
Date: Sat, 3 Feb 2024 20:19:48 +0100
Subject: [PATCH 1/2] arreglado bug rotativa. Trabajando en bug inkjet
---
.../Presupuestos/Cosidotapablanda.php | 8 +-
ci4/app/Services/PresupuestoService.php | 50 +++---
.../_lineasPresupuestoItems.php | 154 ++++++++++++------
.../presupuestos/cosidotapablanda/previews.js | 9 +-
4 files changed, 141 insertions(+), 80 deletions(-)
diff --git a/ci4/app/Controllers/Presupuestos/Cosidotapablanda.php b/ci4/app/Controllers/Presupuestos/Cosidotapablanda.php
index dc34f8b3..fa7fda96 100755
--- a/ci4/app/Controllers/Presupuestos/Cosidotapablanda.php
+++ b/ci4/app/Controllers/Presupuestos/Cosidotapablanda.php
@@ -483,7 +483,9 @@ class Cosidotapablanda extends \App\Controllers\GoBaseResourceController
array_push($datosTipolog, $data);
}
- $resourceData = $this->getCompIntData($type, $datosPedido, $papel_generico, $gramaje, $isColor, $isHq, $cliente_id, $datosTipolog);
+ $a_favor_fibra = $reqData['a_favor_fibra'] ?? null;
+
+ $resourceData = $this->getCompIntData($type, $datosPedido, $papel_generico, $gramaje, $isColor, $isHq, $cliente_id, $datosTipolog, $a_favor_fibra);
$newTokenHash = csrf_hash();
$csrfTokenName = csrf_token();
@@ -640,7 +642,7 @@ class Cosidotapablanda extends \App\Controllers\GoBaseResourceController
}
- public function getCompIntData($uso, $datosPedido, $papel_generico, $gramaje, $isColor, $isHq, $cliente_id, $datosTipolog = null)
+ public function getCompIntData($uso, $datosPedido, $papel_generico, $gramaje, $isColor, $isHq, $cliente_id, $datosTipolog = null, $a_favor_fibra = null)
{
$tipo = $isColor? ($isHq?'colorhq':'color'): ($isHq?'negrohq':'negro');
@@ -697,7 +699,7 @@ class Cosidotapablanda extends \App\Controllers\GoBaseResourceController
if($maquina->is_inkjet){
$parametrosInkjet = (object)array(
- 'a_favor_fibra' => 1, // este parametro se cambia para comprobar
+ 'a_favor_fibra' => $a_favor_fibra, // este parametro se cambia para comprobar
// en las dos direcciones (menos en rustica fresada que es siempre 1)
'bnPages' => $isColor?0:$datosPedido->paginas,
'colorPages' => $isColor?$datosPedido->paginas:0,
diff --git a/ci4/app/Services/PresupuestoService.php b/ci4/app/Services/PresupuestoService.php
index db6645e3..f77b4d50 100755
--- a/ci4/app/Services/PresupuestoService.php
+++ b/ci4/app/Services/PresupuestoService.php
@@ -45,7 +45,7 @@ class PresupuestoService extends BaseService
if ($uso!='rotativa') {
$ancho_calculo = ($uso=='cubierta' || $uso=='sobrecubierta') ? $datosPedido->anchoExteriores : $datosPedido->ancho;
- $formas = PresupuestoService::getNumFormasPlana($uso, $maquina, $ancho_calculo, $datosPedido->alto, $datosPedido->isCosido);
+ $formas = PresupuestoService::getNumFormasPlana($uso, $maquina, $ancho_calculo, $datosPedido->alto, $datosPedido->isCosido,);
$response['fields'] = $formas;
}
@@ -387,13 +387,18 @@ class PresupuestoService extends BaseService
$data['alto_click'] = $maquina->alto_click;
- $formas = PresupuestoService::getNumFormasRot($maquina, $datosPedido->ancho, $datosPedido->alto, $datosPedido->isCosido);
+ $formas = PresupuestoService::getNumFormasRot(
+ $maquina,
+ $datosPedido->ancho,
+ $datosPedido->alto,
+ $datosPedido->isCosido,
+ $parametrosRotativa->a_favor_fibra);
$data['num_formas'] = $formas;
return $data;
}
- public static function getNumFormasRot($maquina, $ancho, $alto, $isCosido)
+ public static function getNumFormasRot($maquina, $ancho, $alto, $isCosido, $a_favor_fibra = true)
{
// El ancho si es cosido es el doble
$anchoForCalculo = $isCosido ? $ancho * 2 : $ancho;
@@ -403,35 +408,38 @@ class PresupuestoService extends BaseService
$h2_temp = floor($maquina->ancho_impresion / $alto);
// horizontales
- $calles = (new \App\Models\Configuracion\MaquinasCallesModel())->getCallesForMaquina($maquina->maquina_id, $h1_temp);
- // Si son mas de 2 formas
- if(count($calles)>0)
- $h1 = ($h1_temp * $anchoForCalculo + 2 * $calles[0]->externas + ($h1_temp - 1) * $calles[0]->internas < ($maquina->ancho)) ? $h1_temp : $h1_temp - 1;
- else
- $h1 = $h1_temp;
-
- $v1 = floor($maquina->alto_click / $alto);
- $formas_h = $h1 * $v1; //p1
+ if($a_favor_fibra){
+ $calles = (new \App\Models\Configuracion\MaquinasCallesModel())->getCallesForMaquina($maquina->maquina_id, $h1_temp);
+ // Si son mas de 2 formas
+ if(count($calles)>0)
+ $h1 = ($h1_temp * $anchoForCalculo + 2 * $calles[0]->externas + ($h1_temp - 1) * $calles[0]->internas < ($maquina->ancho)) ? $h1_temp : $h1_temp - 1;
+ else
+ $h1 = $h1_temp;
+ $v1 = floor($maquina->alto_click / $alto);
+ $formas_h = $h1 * $v1; //p1
+ }
// verticales
- $calles = (new \App\Models\Configuracion\MaquinasCallesModel())->getCallesForMaquina($maquina->maquina_id, $h2_temp);
- if(count($calles)>0)
- $h2 = ($h2_temp * $anchoForCalculo + 2 * $calles[0]->externas + ($h2_temp - 1) * $calles[0]->internas < ($maquina->ancho)) ? $h2_temp : $h2_temp - 1;
- else
- $h2 = $h2_temp;
- $v2 = floor($maquina->alto_click / $anchoForCalculo);
- $formas_v = $h2 * $v2; //p2
+ else{
+ $calles = (new \App\Models\Configuracion\MaquinasCallesModel())->getCallesForMaquina($maquina->maquina_id, $h2_temp);
+ if(count($calles)>0)
+ $h2 = ($h2_temp * $alto + 2 * $calles[0]->externas + ($h2_temp - 1) * $calles[0]->internas < ($maquina->ancho)) ? $h2_temp : $h2_temp - 1;
+ else
+ $h2 = $h2_temp;
+ $v2 = floor($maquina->alto_click / $anchoForCalculo);
+ $formas_v = $h2 * $v2; //p2
+ }
- $num_formas = ($formas_h > $formas_v) ? $formas_h : $formas_v;
+ $num_formas = $a_favor_fibra ? $formas_h : $formas_v;
$num_formas = $isCosido ? $num_formas * 2 : $num_formas;
// si no hay formas se devuelve n/a
if ($num_formas == 0) {
$response['posicion_formas'] = 'n/a'; // not available
- } else if ($formas_h > $formas_v) {
+ } else if ($a_favor_fibra) {
$response['posicion_formas'] = 'h';
$response['num_formas_horizontales'] = $h1;
$response['num_formas_verticales'] = $v1;
diff --git a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_lineasPresupuestoItems.php b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_lineasPresupuestoItems.php
index 41160640..d2991f86 100755
--- a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_lineasPresupuestoItems.php
+++ b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_lineasPresupuestoItems.php
@@ -90,26 +90,26 @@ function format(d) {
'
| '+
' | '+
''+
- '' +
+ ' ' +
' ' +
"= lang("Presupuestos.numeroPliegos") ?>" +
- ''+
+ ''+
' '+
' ' +
"= lang("Presupuestos.pliegosPedido") ?>" +
- ''+
+ ''+
' '+
' ' +
"= lang("Presupuestos.precioPliego") ?>" +
- ''+
+ ''+
' '+
' ' +
"= lang("Presupuestos.libro") ?>" +
- ''+
+ ''+
' '+
' ' +
"= lang("Presupuestos.totalPapelPedido") ?>" +
- ''+
+ ''+
' '+
' ' +
' ' +
@@ -117,23 +117,23 @@ function format(d) {
' '+
' ' +
"= lang("Presupuestos.click") ?>" +
- ''+
+ ''+
' '+
' ' +
"= lang("Presupuestos.totalClicks") ?>" +
- ''+
+ ''+
' '+
' ' +
"= lang("Presupuestos.horas") ?>" +
- ''+
+ ''+
' '+
' ' +
"= lang("Presupuestos.precioHora") ?>" +
- ''+
+ ''+
' '+
' ' +
"= lang("Presupuestos.precioImpresion") ?>" +
- ''+
+ ''+
' '+
' ' +
' ' +
@@ -153,7 +153,7 @@ function format(d) {
' | '+
' | '+
' '+
- '' +
+ ' ' +
' ' +
'' +
' '+
@@ -163,7 +163,7 @@ function format(d) {
' ' +
' ' +
'= lang('Presupuestos.saturacion') ?>' +
- '' +
+ '' +
' ' +
' ' +
'= lang('Presupuestos.cobNegro') ?>' +
@@ -204,54 +204,54 @@ function format(d) {
' | '+
' | '+
' '+
- '' +
+ ' ' +
(d.row_id.includes('rot')?' ' +
' | ' +
@@ -260,54 +260,54 @@ function format(d) {
' | '+
' | '+
' '+
- '' +
+ ' ' +
(d.row_id.includes('rot')?' | ' +
@@ -316,34 +316,34 @@ function format(d) {
' | '+
' | '+
' '+
- '' +
+ ' ' +
(d.row_id.includes('rot')?' | ' +
@@ -1173,7 +1173,6 @@ function change_lp_bn_maquina(){
}
-
function change_lp_bn_paginas(){
if( parseInt($('#lp_bn_paginas').val())>0 &&
@@ -1186,6 +1185,23 @@ function change_lp_bn_paginas(){
}
}
+
+function change_lp_bn_aFavorFibra(){
+
+ if( parseInt($('#lp_bn_paginas').val())>0 &&
+ parseInt($('#lp_bn_papel option:selected').val())>0 &&
+ $('#lp_bn_gramaje option:selected').text().length>0 &&
+ parseInt($('#lp_bn_papelImpresion option:selected').val())>0
+ ){
+ var rowData = tableLineasPresupuesto.row('#lp_bn').data()
+ rowData.aFavorFibra = $('#lp_bn_aFavorFibra').prop('checked')
+ tableLineasPresupuesto.row('#lp_bn').data(rowData).draw(false)
+
+ calcularPresupuesto_rot_bn(false, true);
+ }
+}
+
+
function calcularPresupuesto_bn(input_data={}, updatedTipologias = false){
const dimension = getDimensionLibro();
@@ -1219,6 +1235,11 @@ function calcularPresupuesto_bn(input_data={}, updatedTipologias = false){
= csrf_token() ?? "token" ?> : = csrf_token() ?>v
};
+ // Si es inkjet, existe este check
+ if ($('#lp_bn_aFavorFibra').length){
+ datos.a_favor_fibra = $('#lp_bn_aFavorFibra').prop('checked')
+ }
+
if(updatedTipologias){
datos.gota_negro= $('#lp_bn_gotaNegro').val()
datos.gota_color= $('#lp_bn_gotaColor').val()
@@ -1243,9 +1264,13 @@ function calcularPresupuesto_bn(input_data={}, updatedTipologias = false){
value.fields.papel_generico_id === input_data.papel_generico_id &&
value.fields.papel_impresion_id === input_data.papel_impresion_id) {
+ // Si viene del comparador
if(Object.keys(input_data).length == 0){
value.fields.check_papel_total = $('#lp_bn' + '_checkPapel').is(":checked")?1:0
value.fields.check_impresion_total = $('#lp_bn' + '_checkClicks').is(":checked")?1:0
+ // Por defecto en plana: en contra de fibra
+ value.fields.a_favor_fibra = false
+
}
else{
value.fields.check_papel_total = 1
@@ -1353,6 +1378,7 @@ function eventos_lp_bn(isInkjet = false){
if(isInkjet){
$('.lp-bn-tipologia').bind("change", change_lp_bn_tipologia);
$('#lp_bn_defecto').bind("click", por_defecto_lp_bn);
+ $('#lp_bn_aFavorFibra').bind("change", change_lp_bn_aFavorFibra);
}
$('#lp_bn_checkPapel').bind("change", {id_linea: 'lp_bn'}, update_total_linea);
@@ -1806,6 +1832,21 @@ function por_defecto_lp_bnhq(){
}
}
+function change_lp_bnhq_aFavorFibra(){
+
+if( parseInt($('#lp_bnhq_paginas').val())>0 &&
+ parseInt($('#lp_bnhq_papel option:selected').val())>0 &&
+ $('#lp_bnhq_gramaje option:selected').text().length>0 &&
+ parseInt($('#lp_bnhq_papelImpresion option:selected').val())>0
+ ){
+ var rowData = tableLineasPresupuesto.row('#lp_bnhq').data()
+ rowData.aFavorFibra = $('#lp_bnhq_aFavorFibra').prop('checked')
+ tableLineasPresupuesto.row('#lp_bnhq').data(rowData).draw(false)
+
+ calcularPresupuesto_bnhq(false, true);
+}
+}
+
function calcularPresupuesto_bnhq(input_data={}, updatedTipologias = false){
@@ -1849,6 +1890,11 @@ function calcularPresupuesto_bnhq(input_data={}, updatedTipologias = false){
datos.amarillo= $('#lp_bnhq_cobAmarillo').val()
}
+ // Si es inkjet, existe este check
+ if ($('#lp_bnhq_aFavorFibra').length){
+ datos.a_favor_fibra = $('#lp_bnhq_aFavorFibra').prop('checked')
+ }
+
$.ajax({
type: "POST",
url: "/cosidotapablanda/datatable",
@@ -1865,6 +1911,8 @@ function calcularPresupuesto_bnhq(input_data={}, updatedTipologias = false){
if(Object.keys(input_data).length == 0){
value.fields.check_papel_total = $('#lp_bnhq' + '_checkPapel').is(":checked")?1:0
value.fields.check_impresion_total = $('#lp_bnhq' + '_checkClicks').is(":checked")?1:0
+ // Por defecto en plana: en contra de fibra
+ value.fields.a_favor_fibra = false
}
else{
value.fields.check_papel_total = 1
@@ -1946,6 +1994,7 @@ function eventos_lp_bnhq(isInkjet = false){
if(isInkjet){
$('.lp-bnhq-tipologia').bind("change", change_lp_bnhq_tipologia);
$('#lp_bnhq_defecto').bind("click", por_defecto_lp_bnhq);
+ $('#lp_bnhq_aFavorFibra').bind("change", change_lp_bnhq_aFavorFibra);
}
$('#lp_bnhq_checkPapel').bind("change", {id_linea: 'lp_bnhq'}, update_total_linea);
@@ -2792,6 +2841,7 @@ function calcularPresupuesto_rot_color(fromComparador=false, updatedTipologias=f
if(data.lineas.length >0){
// Se cogen los valores de la linea con los datos correspondientes
$.each(data.lineas, function(key, value) {
+ console.log(value.fields.num_formas)
fibra = $('#lp_rot_color_aFavorFibra').prop('checked')
if(fromComparador){
if(value.fields.maquina_id === input_data.maquina_id &&
@@ -3324,16 +3374,16 @@ function fill_lp_from_bbdd(){
switch(lp.tipo){
case 'lp_bn':
- eventos_lp_bn()
+ eventos_lp_bn(lp.maquina_tipo=='inkjet'?true:false)
break
case 'lp_bnhq':
- eventos_lp_bnhq()
+ eventos_lp_bnhq(lp.maquina_tipo=='inkjet'?true:false)
break
case 'lp_color':
- eventos_lp_color()
+ eventos_lp_color(lp.maquina_tipo=='inkjet'?true:false)
break
case 'lp_colorhq':
- eventos_lp_colorhq()
+ eventos_lp_colorhq(lp.maquina_tipo=='inkjet'?true:false)
break
case 'lp_rot_bn':
eventos_lp_rot_bn()
diff --git a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/previews.js b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/previews.js
index 7f80ed00..5d0e36d1 100755
--- a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/previews.js
+++ b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/previews.js
@@ -455,10 +455,11 @@ function getObjetoLP(lpName, _isCosido) {
case 'rot_bn':
case 'rot_color':
- if ((pvObj.anchoImpresion / pvObj.altoForma) > (pvObj.anchoImpresion / pvObj.anchoForma)) {
- let auxReg = pvObj.anchoForma;
- pvObj.anchoForma = pvObj.altoForma;
- pvObj.altoForma = auxReg;
+ // Conditional assignements depending on rotation of the printing shape
+ if (pvObj.orientacionFormas == 'v') {
+ let auxReg = pvObj.altoForma;
+ pvObj.altoForma = pvObj.anchoForma;
+ pvObj.anchoForma = auxReg;
}
$(pvName + '_forma').text(pvObj.anchoForma + "x" + pvObj.altoForma);
pvObj.altoClick = isNaN(parseFloat(rowData.alto_click))?305:parseFloat(rowData.alto_click);
From e0b7409ba54ee53ba36c9a5f0a1848d401195956 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jaime=20Jim=C3=A9nez?= <“jaimejimenezortega@gmail.com”>
Date: Sun, 4 Feb 2024 21:04:33 +0100
Subject: [PATCH 2/2] eliminados los bugs
---
.../Presupuestos/Cosidotapablanda.php | 33 +-
ci4/app/Services/PresupuestoService.php | 283 ++++++------------
.../_lineasPresupuestoItems.php | 77 +++--
3 files changed, 169 insertions(+), 224 deletions(-)
diff --git a/ci4/app/Controllers/Presupuestos/Cosidotapablanda.php b/ci4/app/Controllers/Presupuestos/Cosidotapablanda.php
index fa7fda96..b0ee05f8 100755
--- a/ci4/app/Controllers/Presupuestos/Cosidotapablanda.php
+++ b/ci4/app/Controllers/Presupuestos/Cosidotapablanda.php
@@ -483,7 +483,7 @@ class Cosidotapablanda extends \App\Controllers\GoBaseResourceController
array_push($datosTipolog, $data);
}
- $a_favor_fibra = $reqData['a_favor_fibra'] ?? null;
+ $a_favor_fibra = $reqData['a_favor_fibra'] ?? false;
$resourceData = $this->getCompIntData($type, $datosPedido, $papel_generico, $gramaje, $isColor, $isHq, $cliente_id, $datosTipolog, $a_favor_fibra);
@@ -642,7 +642,7 @@ class Cosidotapablanda extends \App\Controllers\GoBaseResourceController
}
- public function getCompIntData($uso, $datosPedido, $papel_generico, $gramaje, $isColor, $isHq, $cliente_id, $datosTipolog = null, $a_favor_fibra = null)
+ public function getCompIntData($uso, $datosPedido, $papel_generico, $gramaje, $isColor, $isHq, $cliente_id, $datosTipolog = null, $a_favor_fibra = false)
{
$tipo = $isColor? ($isHq?'colorhq':'color'): ($isHq?'negrohq':'negro');
@@ -737,13 +737,7 @@ class Cosidotapablanda extends \App\Controllers\GoBaseResourceController
}
if($maquina->is_inkjet){
- $linea['fields'] = PresupuestoService::getCostesLineaRotativa($maquina, $papel, $datosPedido, $parametrosInkjet);
- [$precio_pliego_impresion, $margen_pliego_impresion] = PresupuestoService::getPrecioPliego($maquina, $papel, $datosPedido->paginas);
- $linea['fields']['precios_pliegos'] = $precio_pliego_impresion;
- $linea['fields']['precio_libro'] = $linea['fields']['pliegos_libro'] * $precio_pliego_impresion;
- $linea['fields']['a_favor_fibra'] = $parametrosInkjet->a_favor_fibra;
- $linea['fields']['paginas_color'] = $isColor?$datosPedido->paginas:0;
- $linea['fields']['datosTipologias'] = $datosTipologias[0];
+ $linea = PresupuestoService::getCostesLinea($uso, $datosPedido, $maquina, $papel, $opciones_papel, $tarifa, $parametrosInkjet->a_favor_fibra);
}
else{
$linea = PresupuestoService::getCostesLinea($uso, $datosPedido, $maquina, $papel, $opciones_papel, $tarifa);
@@ -751,6 +745,11 @@ class Cosidotapablanda extends \App\Controllers\GoBaseResourceController
if(array_key_exists('error', $linea))
continue;
+
+ if($maquina->is_inkjet){
+ // calculo de tintas
+ $linea['fields'] = array_merge($linea['fields'], PresupuestoService::calculoCosteTintas($maquina, $datosPedido, $parametrosInkjet));
+ }
$linea['fields']['tarifa_impresion_id'] = $tarifaId;
$linea['fields']['maquina'] = $maquina->maquina;
@@ -763,10 +762,6 @@ class Cosidotapablanda extends \App\Controllers\GoBaseResourceController
$linea['fields']['papel_generico_id'] = $papel_generico['id'];
$linea['fields']['papel_generico'] = $papel_generico['nombre'];
- if($maquina->is_inkjet){
- $linea['fields']['precio_click'] = $tarifa;
- $linea['fields']['precio_click_pedido'] = $linea['fields']['clicks_pedido'] * $linea['fields']['precio_click'];
- }
$linea['fields']['tiempo_maquina'] = PresupuestoService::getTiempoMaquina(
$linea['fields']['precio_click_pedido'],
$linea['fields']['precio_click'],
@@ -796,8 +791,16 @@ class Cosidotapablanda extends \App\Controllers\GoBaseResourceController
$linea['fields']['margen_impresion_horas'] = $precio_hora*($margen_precio_hora/100.0)*$tiempo;
if($maquina->is_inkjet){
- $linea['fields']['precio_pedido'] = $linea['fields']['precio_libro'] * ($datosPedido->tirada + $datosPedido->merma)*(1+$margen_pliego_impresion);
- $linea['fields']['margen_papel_pedido'] = $linea['fields']['pliegos_libro']*$margen_pliego_impresion* ($datosPedido->tirada + $datosPedido->merma); ;
+ $linea['fields']['a_favor_fibra'] = $parametrosInkjet->a_favor_fibra;
+ $linea['fields']['paginas_color'] = $isColor?$datosPedido->paginas:0;
+ $linea['fields']['totalClicksPedido'] = $linea['fields']['precio_click_pedido'];
+ $linea['fields']['clicks_libro'] = round(ceil($linea['fields']['pliegos_libro']) * 2, 2);
+ $linea['fields']['clicks_pedido'] = round($linea['fields']['clicks_libro'] * ($datosPedido->tirada + $datosPedido->merma), 2);
+ [$ancho, $alto] = PresupuestoService::calculoDimForma($datosPedido, $parametrosInkjet);
+ $linea['fields']['factor_anchura'] = round($maquina->ancho_impresion / $ancho, 2);
+ $linea['fields']['factor_altura'] = round($maquina->alto_impresion / ($alto + PresupuestoService::MARGEN_PAGINAS_ROTATIVA), 2);
+ $linea['fields']['paginas_por_pliego'] = ($datosPedido->isCosido)?$linea['fields']['num_formas']['value']*2:$linea['fields']['num_formas']['value'];
+ $linea['fields']['datosTipologias'] = $datosTipologias[0];
$linea['fields']['total_impresion'] =
$linea['fields']['precio_pedido'] + // papel
$linea['fields']['precio_impresion_horas'] + // horas de maquina
diff --git a/ci4/app/Services/PresupuestoService.php b/ci4/app/Services/PresupuestoService.php
index f77b4d50..46cf88e3 100755
--- a/ci4/app/Services/PresupuestoService.php
+++ b/ci4/app/Services/PresupuestoService.php
@@ -38,14 +38,14 @@ class PresupuestoService extends BaseService
*
* @return [type]
*/
- public static function getCostesLinea($uso, $datosPedido, $maquina, $papel_impresion, $opciones_papel, $tarifa)
+ public static function getCostesLinea($uso, $datosPedido, $maquina, $papel_impresion, $opciones_papel, $tarifa, $forzar_a_favor_fibra = false)
{
$response['fields'] = [];
if ($uso!='rotativa') {
$ancho_calculo = ($uso=='cubierta' || $uso=='sobrecubierta') ? $datosPedido->anchoExteriores : $datosPedido->ancho;
- $formas = PresupuestoService::getNumFormasPlana($uso, $maquina, $ancho_calculo, $datosPedido->alto, $datosPedido->isCosido,);
+ $formas = PresupuestoService::getNumFormasPlana($uso, $maquina, $ancho_calculo, $datosPedido->alto, $datosPedido->isCosido, $forzar_a_favor_fibra);
$response['fields'] = $formas;
}
@@ -142,131 +142,7 @@ class PresupuestoService extends BaseService
}
- /**
- * Devuelve los calculos para la linea de rotativa.
- */
- public static function getCostesLineaInkjet($maquina, $papel_impresion, $datosPedido, $parametrosInkjet)
- {
- $data = [];
-
- $data['resolucion'] = 600;
- $data['pulgada'] = 1 / 1000000000000.0;
- $data['superficie'] = round((($datosPedido->ancho / 2.54) / 10) * (($datosPedido->alto / 2.54) / 10), 2);
-
- // posicionamos paginas en función de a favor de fibra o no
-
- $anchoLibro = $datosPedido->ancho;
- $altoLibro = $datosPedido->alto;
-
- $formas = PresupuestoService::getNumFormasPlana('interior', $maquina, $datosPedido->ancho, $datosPedido->alto, $datosPedido->isCosido);
- $response['fields'] = $formas;
-
-
- if ($response['fields']['num_formas']['posicion_formas'] == 'n/a') {
- $response['error']['value'] = true;
- $response['error']['message'] = 'no_formas_disponibles';
- return $response;
- }
-
- $data['ancho'] = $anchoLibro;
- $data['alto'] = $altoLibro;
-
- // si es cosido ancho x 2
-
- if ($datosPedido->isCosido) {
-
- $data['ancho'] = $data['ancho'] * 2;
- }
-
- // calculo de papel y clicks
- $factor_anchura = round($maquina->ancho_impresion / $data['ancho'], 2);
- $factor_altura = round($maquina->alto_impresion / ($data['alto'] + self::MARGEN_PAGINAS_ROTATIVA), 2);
- $factor_altura_click = round($maquina->alto_click / ($data['alto'] + self::MARGEN_PAGINAS_ROTATIVA), 2);
-
- $multiplicador_pliego = $datosPedido->isCosido ? 4 : 2;
- $paginas_por_pliego = round(floor($factor_anchura) * $factor_altura * $multiplicador_pliego, 2);
- $pliegos_libro = round($paginas_por_pliego ? $datosPedido->paginas / $paginas_por_pliego : 0, 2);
- $metros_papel_libro = round($pliegos_libro * ($maquina->alto_impresion / 1000.0), 2);
- $metros_papel_total = round($metros_papel_libro * ($datosPedido->tirada + $datosPedido->merma), 2);
-
- $paginas_por_pliego_click = round(floor($factor_anchura) * $factor_altura_click * $multiplicador_pliego, 2);
- $pliegos_libro_click = round($paginas_por_pliego_click ? $datosPedido->paginas / $paginas_por_pliego_click : 0, 2);
- $clicks_libro = round(ceil($pliegos_libro_click) * 2, 2);
- $clicks_pedido = round($clicks_libro * ($datosPedido->tirada + $datosPedido->merma), 2);
-
- $data['factor_altura'] = $factor_altura;
- $data['factor_anchura'] = $factor_anchura;
- $data['paginas_por_pliego'] = $paginas_por_pliego;
- $data['pliegos_libro'] = $pliegos_libro;
- $data['pliegos_pedido'] = $pliegos_libro * ($datosPedido->tirada + $datosPedido->merma);
- $data['metros_papel_libro'] = $metros_papel_libro;
- $data['metros_papel_total'] = $metros_papel_total;
- $data['clicks_libro'] = $clicks_libro;
- $data['clicks_pedido'] = $clicks_pedido;
-
- // calculo de tintas
- $data['num_gotas_negro'] = round($data['superficie'] * $data['resolucion'] * $data['resolucion'] * ($parametrosInkjet->rotativa_negro / 100.0), 0);
- $data['num_gotas_cyan'] = round($data['superficie'] * $data['resolucion'] * $data['resolucion'] * ($parametrosInkjet->rotativa_cyan / 100.0), 0);
- $data['num_gotas_magenta'] = round($data['superficie'] * $data['resolucion'] * $data['resolucion'] * ($parametrosInkjet->rotativa_magenta / 100.0), 0);
- $data['num_gotas_amarillo'] = round($data['superficie'] * $data['resolucion'] * $data['resolucion'] * ($parametrosInkjet->rotativa_amarillo / 100.0), 0);
-
- $pag_negro = $parametrosInkjet->bnPages;
- $pag_color = 0;
- if ($parametrosInkjet->colorPages>0) {
- $pag_color = $parametrosInkjet->colorPages;
- }
-
- // peso tintas
- $data['peso_gotas_negro'] = round((($data['num_gotas_negro'] * $parametrosInkjet->rotativa_gota_negro * $data['pulgada']) / (17.91 / 20.0)) * $pag_negro * 1000, 6);
- $data['peso_gotas_cyan'] = round((($data['num_gotas_cyan'] * $parametrosInkjet->rotativa_gota_color * $data['pulgada']) / (17.65 / 20.0)) * $pag_color * 1000, 6);
- $data['peso_gotas_magenta'] = round((($data['num_gotas_magenta'] * $parametrosInkjet->rotativa_gota_color * $data['pulgada']) / (17.65 / 20.0)) * $pag_color * 1000, 6);
- $data['peso_gotas_amarillo'] = round((($data['num_gotas_amarillo'] * $parametrosInkjet->rotativa_gota_color * $data['pulgada']) / (17.65 / 20.0)) * $pag_color * 1000, 6);
-
- // costes de tintas
- $data['peso_gotas_negro_pedido'] = round($data['peso_gotas_negro'], 2) * ($datosPedido->tirada + $datosPedido->merma);
- $data['peso_gotas_cyan_pedido'] = round($data['peso_gotas_cyan'], 2) * ($datosPedido->tirada + $datosPedido->merma);
- $data['peso_gotas_magenta_pedido'] = round($data['peso_gotas_magenta'], 2) * ($datosPedido->tirada + $datosPedido->merma);
- $data['peso_gotas_amarillo_pedido'] = round($data['peso_gotas_amarillo'], 2) * ($datosPedido->tirada + $datosPedido->merma);
-
- // precio tinta
- $data['precio_tinta'] = round(
- round(($data['peso_gotas_negro_pedido'] / 1000.0) * $maquina->precio_tinta_negro, 2) +
- round(($data['peso_gotas_cyan_pedido'] / 1000.0) * $maquina->precio_tinta_color, 2) +
- round(($data['peso_gotas_magenta_pedido'] / 1000.0) * $maquina->precio_tinta_color, 2) +
- round(($data['peso_gotas_amarillo_pedido'] / 1000.0) * $maquina->precio_tinta_color, 2)
- , 2);
-
- // precio pagina
- $data['precio_pagina_negro'] = round($pag_negro ? $data['precio_tinta'] / ($pag_negro * ($datosPedido->tirada + $datosPedido->merma)) : 0, 6);
- $data['precio_pagina_color'] = round($pag_color ? $data['precio_tinta'] / ($pag_color * ($datosPedido->tirada + $datosPedido->merma)) : 0, 6);
-
-
-
- $data['mano'] = PresupuestoService::computeLomoInterior($datosPedido->paginas, $papel_impresion->espesor);
- // ($paginas / 2.0) * (($gramaje / 1000.0) * $papel_compra->mano);
-
- // peso
- $data['peso'] = PresupuestoService::computePeso(
- ancho: $datosPedido->isCosido ? $datosPedido->ancho / 2.0 : $datosPedido->ancho,
- alto: $datosPedido->alto,
- gramaje: $papel_impresion->gramaje,
- paginas: $datosPedido->paginas
- );
- $data['dimensiones_maquina'] = [$maquina->ancho, $maquina->alto];
- $data['dimensiones_maquina_impresion'] = [$maquina->ancho_impresion, $maquina->alto_impresion];
- $data['dimensiones_maquina_click'] = [$maquina->ancho_impresion, $maquina->alto_click];
- $data['dimensiones_libro'] = [$datosPedido->ancho, $datosPedido->alto];
-
- $data['alto_click'] = $maquina->alto_click;
-
- $formas = PresupuestoService::getNumFormasRot($maquina, $datosPedido->ancho, $datosPedido->alto, $datosPedido->isCosido);
- $data['num_formas'] = $formas;
-
- return $data;
- }
-
-
/**
* Devuelve los calculos para la linea de rotativa.
*/
@@ -274,32 +150,7 @@ class PresupuestoService extends BaseService
{
$data = [];
- $data['resolucion'] = 600;
- $data['pulgada'] = 1 / 1000000000000.0;
- $data['superficie'] = round((($datosPedido->ancho / 2.54) / 10) * (($datosPedido->alto / 2.54) / 10), 2);
-
- // posicionamos paginas en función de a favor de fibra o no
-
- $anchoLibro = $datosPedido->ancho;
- $altoLibro = $datosPedido->alto;
-
- if (!$parametrosRotativa->a_favor_fibra) {
- $anchoLibro = $datosPedido->alto;
- $altoLibro = $datosPedido->ancho;
- }
-
- $data['ancho'] = $anchoLibro;
- $data['alto'] = $altoLibro;
-
- // si es cosido ancho x 2
-
- if ($datosPedido->isCosido) {
- if (!$parametrosRotativa->a_favor_fibra) {
- $data['alto'] = $data['alto'] * 2;
- } else {
- $data['ancho'] = $data['ancho'] * 2;
- }
- }
+ [$data['ancho'], $data['alto']] = PresupuestoService::calculoDimForma($datosPedido, $parametrosRotativa);
// calculo de papel y clicks
$factor_anchura = round($maquina->ancho_impresion / $data['ancho'], 2);
@@ -328,41 +179,8 @@ class PresupuestoService extends BaseService
$data['clicks_pedido'] = $clicks_pedido;
// calculo de tintas
- $data['num_gotas_negro'] = round($data['superficie'] * $data['resolucion'] * $data['resolucion'] * ($parametrosRotativa->rotativa_negro / 100.0), 0);
- $data['num_gotas_cyan'] = round($data['superficie'] * $data['resolucion'] * $data['resolucion'] * ($parametrosRotativa->rotativa_cyan / 100.0), 0);
- $data['num_gotas_magenta'] = round($data['superficie'] * $data['resolucion'] * $data['resolucion'] * ($parametrosRotativa->rotativa_magenta / 100.0), 0);
- $data['num_gotas_amarillo'] = round($data['superficie'] * $data['resolucion'] * $data['resolucion'] * ($parametrosRotativa->rotativa_amarillo / 100.0), 0);
-
- $pag_negro = $parametrosRotativa->bnPages;
- $pag_color = 0;
- if ($parametrosRotativa->colorPages>0) {
- $pag_color = $parametrosRotativa->colorPages;
- }
-
- // peso tintas
- $data['peso_gotas_negro'] = round((($data['num_gotas_negro'] * $parametrosRotativa->rotativa_gota_negro * $data['pulgada']) / (17.91 / 20.0)) * $pag_negro * 1000, 6);
- $data['peso_gotas_cyan'] = round((($data['num_gotas_cyan'] * $parametrosRotativa->rotativa_gota_color * $data['pulgada']) / (17.65 / 20.0)) * $pag_color * 1000, 6);
- $data['peso_gotas_magenta'] = round((($data['num_gotas_magenta'] * $parametrosRotativa->rotativa_gota_color * $data['pulgada']) / (17.65 / 20.0)) * $pag_color * 1000, 6);
- $data['peso_gotas_amarillo'] = round((($data['num_gotas_amarillo'] * $parametrosRotativa->rotativa_gota_color * $data['pulgada']) / (17.65 / 20.0)) * $pag_color * 1000, 6);
-
- // costes de tintas
- $data['peso_gotas_negro_pedido'] = round($data['peso_gotas_negro'], 2) * ($datosPedido->tirada + $datosPedido->merma);
- $data['peso_gotas_cyan_pedido'] = round($data['peso_gotas_cyan'], 2) * ($datosPedido->tirada + $datosPedido->merma);
- $data['peso_gotas_magenta_pedido'] = round($data['peso_gotas_magenta'], 2) * ($datosPedido->tirada + $datosPedido->merma);
- $data['peso_gotas_amarillo_pedido'] = round($data['peso_gotas_amarillo'], 2) * ($datosPedido->tirada + $datosPedido->merma);
-
- // precio tinta
- $data['precio_tinta'] = round(
- round(($data['peso_gotas_negro_pedido'] / 1000.0) * $maquina->precio_tinta_negro, 2) +
- round(($data['peso_gotas_cyan_pedido'] / 1000.0) * $maquina->precio_tinta_color, 2) +
- round(($data['peso_gotas_magenta_pedido'] / 1000.0) * $maquina->precio_tinta_color, 2) +
- round(($data['peso_gotas_amarillo_pedido'] / 1000.0) * $maquina->precio_tinta_color, 2)
- , 2);
-
- // precio pagina
- $data['precio_pagina_negro'] = round($pag_negro ? $data['precio_tinta'] / ($pag_negro * ($datosPedido->tirada + $datosPedido->merma)) : 0, 6);
- $data['precio_pagina_color'] = round($pag_color ? $data['precio_tinta'] / ($pag_color * ($datosPedido->tirada + $datosPedido->merma)) : 0, 6);
-
+ $data = array_merge($data, PresupuestoService::calculoCosteTintas($maquina, $datosPedido, $parametrosRotativa));
+
// calculo de corte
$data['velocidad_corte'] = $maquina->velocidad_corte;
$data['precio_hora_corte'] = $maquina->precio_hora_corte;
@@ -398,6 +216,84 @@ class PresupuestoService extends BaseService
return $data;
}
+
+ /**
+ * Devuelve los calculos de las dimensiones de la forma
+ */
+ public static function calculoDimForma($datosPedido, $parametros){
+ // posicionamos paginas en función de a favor de fibra o no
+ if (!$parametros->a_favor_fibra) {
+ $anchoLibro = $datosPedido->alto;
+ $altoLibro = $datosPedido->ancho;
+ }
+ else{
+ $anchoLibro = $datosPedido->ancho;
+ $altoLibro = $datosPedido->alto;
+ }
+
+ // si es cosido ancho x 2
+ if ($datosPedido->isCosido) {
+ if (!$parametros->a_favor_fibra) {
+ $altoLibro = $altoLibro * 2;
+ } else {
+ $anchoLibro = $anchoLibro * 2;
+ }
+ }
+
+ return [$anchoLibro, $altoLibro];
+ }
+
+
+ /**
+ * Devuelve los calculos para el coste de tintas
+ */
+ public static function calculoCosteTintas($maquina, $datosPedido, $parametros)
+ {
+ $data = [];
+
+ $data['pulgada'] = 1 / 1000000000000.0;
+ $data['resolucion'] = 600;
+ $data['superficie'] = round((($datosPedido->ancho / 2.54) / 10) * (($datosPedido->alto / 2.54) / 10), 2);
+
+ $data['num_gotas_negro'] = round($data['superficie'] * $data['resolucion'] * $data['resolucion'] * ($parametros->rotativa_negro / 100.0), 0);
+ $data['num_gotas_cyan'] = round($data['superficie'] * $data['resolucion'] * $data['resolucion'] * ($parametros->rotativa_cyan / 100.0), 0);
+ $data['num_gotas_magenta'] = round($data['superficie'] * $data['resolucion'] * $data['resolucion'] * ($parametros->rotativa_magenta / 100.0), 0);
+ $data['num_gotas_amarillo'] = round($data['superficie'] * $data['resolucion'] * $data['resolucion'] * ($parametros->rotativa_amarillo / 100.0), 0);
+
+ $pag_negro = $parametros->bnPages;
+ $pag_color = 0;
+ if ($parametros->colorPages>0) {
+ $pag_color = $parametros->colorPages;
+ }
+
+ // peso tintas
+ $data['peso_gotas_negro'] = round((($data['num_gotas_negro'] * $parametros->rotativa_gota_negro * $data['pulgada']) / (17.91 / 20.0)) * $pag_negro * 1000, 6);
+ $data['peso_gotas_cyan'] = round((($data['num_gotas_cyan'] * $parametros->rotativa_gota_color * $data['pulgada']) / (17.65 / 20.0)) * $pag_color * 1000, 6);
+ $data['peso_gotas_magenta'] = round((($data['num_gotas_magenta'] * $parametros->rotativa_gota_color * $data['pulgada']) / (17.65 / 20.0)) * $pag_color * 1000, 6);
+ $data['peso_gotas_amarillo'] = round((($data['num_gotas_amarillo'] * $parametros->rotativa_gota_color * $data['pulgada']) / (17.65 / 20.0)) * $pag_color * 1000, 6);
+
+ // costes de tintas
+ $data['peso_gotas_negro_pedido'] = round($data['peso_gotas_negro'], 2) * ($datosPedido->tirada + $datosPedido->merma);
+ $data['peso_gotas_cyan_pedido'] = round($data['peso_gotas_cyan'], 2) * ($datosPedido->tirada + $datosPedido->merma);
+ $data['peso_gotas_magenta_pedido'] = round($data['peso_gotas_magenta'], 2) * ($datosPedido->tirada + $datosPedido->merma);
+ $data['peso_gotas_amarillo_pedido'] = round($data['peso_gotas_amarillo'], 2) * ($datosPedido->tirada + $datosPedido->merma);
+
+ // precio tinta
+ $data['precio_tinta'] = round(
+ round(($data['peso_gotas_negro_pedido'] / 1000.0) * $maquina->precio_tinta_negro, 2) +
+ round(($data['peso_gotas_cyan_pedido'] / 1000.0) * $maquina->precio_tinta_color, 2) +
+ round(($data['peso_gotas_magenta_pedido'] / 1000.0) * $maquina->precio_tinta_color, 2) +
+ round(($data['peso_gotas_amarillo_pedido'] / 1000.0) * $maquina->precio_tinta_color, 2)
+ , 2);
+
+ // precio pagina
+ $data['precio_pagina_negro'] = round($pag_negro ? $data['precio_tinta'] / ($pag_negro * ($datosPedido->tirada + $datosPedido->merma)) : 0, 6);
+ $data['precio_pagina_color'] = round($pag_color ? $data['precio_tinta'] / ($pag_color * ($datosPedido->tirada + $datosPedido->merma)) : 0, 6);
+
+ return $data;
+ }
+
+
public static function getNumFormasRot($maquina, $ancho, $alto, $isCosido, $a_favor_fibra = true)
{
// El ancho si es cosido es el doble
@@ -454,7 +350,7 @@ class PresupuestoService extends BaseService
return $response;
}
- public static function getNumFormasPlana($uso, $maquina, $ancho, $alto, $isCosido)
+ public static function getNumFormasPlana($uso, $maquina, $ancho, $alto, $isCosido, $forzar_a_favor_fibra = false)
{
$h1_temp = 0;
$h2_temp = 0;
@@ -471,7 +367,7 @@ class PresupuestoService extends BaseService
// Generates a message like: User 123 logged into the system from 127.0.0.1
$info = [
- 'isCosido' => $anchoForCalculo,
+ 'isCosido' => $forzar_a_favor_fibra,
];
log_message('error', 'isCosido en formas planas: {isCosido}', $info);
@@ -527,10 +423,15 @@ class PresupuestoService extends BaseService
// Se calcula el numero de formas
- if($uso != 'cubierta' && $uso != 'sobrecubierta'){
+ if($uso != 'cubierta' && $uso != 'sobrecubierta' && !$forzar_a_favor_fibra){
$num_formas = ($formas_h > $formas_v) ? $formas_h : $formas_v;
$num_formas = $isCosido ? $num_formas * 2 : $num_formas;
}
+ else if ($forzar_a_favor_fibra){
+ $num_formas = $formas_h;
+ $num_formas = $isCosido ? $num_formas * 2 : $num_formas;
+
+ }
else{
$num_formas = $h1*$h2;
}
@@ -539,7 +440,7 @@ class PresupuestoService extends BaseService
// si no hay formas se devuelve n/a
if ($num_formas == 0) {
$response['num_formas']['posicion_formas'] = 'n/a'; // not available
- } else if ($formas_h > $formas_v) {
+ } else if ($formas_h > $formas_v || $forzar_a_favor_fibra) {
$response['num_formas']['posicion_formas'] = 'h';
$response['num_formas']['num_formas_horizontales'] = $h1;
$response['num_formas']['num_formas_verticales'] = $v1;
diff --git a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_lineasPresupuestoItems.php b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_lineasPresupuestoItems.php
index d2991f86..89d64a82 100755
--- a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_lineasPresupuestoItems.php
+++ b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_lineasPresupuestoItems.php
@@ -1197,7 +1197,7 @@ function change_lp_bn_aFavorFibra(){
rowData.aFavorFibra = $('#lp_bn_aFavorFibra').prop('checked')
tableLineasPresupuesto.row('#lp_bn').data(rowData).draw(false)
- calcularPresupuesto_rot_bn(false, true);
+ calcularPresupuesto_bn(false, true);
}
}
@@ -1268,8 +1268,6 @@ function calcularPresupuesto_bn(input_data={}, updatedTipologias = false){
if(Object.keys(input_data).length == 0){
value.fields.check_papel_total = $('#lp_bn' + '_checkPapel').is(":checked")?1:0
value.fields.check_impresion_total = $('#lp_bn' + '_checkClicks').is(":checked")?1:0
- // Por defecto en plana: en contra de fibra
- value.fields.a_favor_fibra = false
}
else{
@@ -1524,7 +1522,7 @@ function change_lp_color_tipologia(){
}
-function por_defecto_lp_bn(){
+function por_defecto_lp_color(){
if( parseInt($('#lp_color_paginas').val())>0 &&
parseInt($('#lp_color_papel option:selected').val())>0 &&
@@ -1536,6 +1534,24 @@ function por_defecto_lp_bn(){
}
}
+
+function change_lp_color_aFavorFibra(){
+
+ if( parseInt($('#lp_color_paginas').val())>0 &&
+ parseInt($('#lp_color_papel option:selected').val())>0 &&
+ $('#lp_color_gramaje option:selected').text().length>0 &&
+ parseInt($('#lp_color_papelImpresion option:selected').val())>0
+ ){
+ var rowData = tableLineasPresupuesto.row('#lp_color').data()
+ rowData.aFavorFibra = $('#lp_color_aFavorFibra').prop('checked')
+ tableLineasPresupuesto.row('#lp_color').data(rowData).draw(false)
+
+ calcularPresupuesto_color(false, true);
+ }
+}
+
+
+
function calcularPresupuesto_color(input_data={}, updatedTipologias = false){
const dimension = getDimensionLibro();
@@ -1578,6 +1594,11 @@ function calcularPresupuesto_color(input_data={}, updatedTipologias = false){
datos.amarillo= $('#lp_color_cobAmarillo').val()
}
+ // Si es inkjet, existe este check
+ if ($('#lp_color_aFavorFibra').length){
+ datos.a_favor_fibra = $('#lp_color_aFavorFibra').prop('checked')
+ }
+
$.ajax({
type: "POST",
url: "/cosidotapablanda/datatable",
@@ -1676,6 +1697,7 @@ function eventos_lp_color(isInkjet = false){
if(isInkjet){
$('.lp-color-tipologia').bind("change", change_lp_color_tipologia);
$('#lp_color_defecto').bind("click", por_defecto_lp_color);
+ $('#lp_color_aFavorFibra').bind("change", change_lp_color_aFavorFibra);
}
$('#lp_color_checkPapel').bind("change", {id_linea: 'lp_color'}, update_total_linea);
@@ -1834,17 +1856,17 @@ function por_defecto_lp_bnhq(){
function change_lp_bnhq_aFavorFibra(){
-if( parseInt($('#lp_bnhq_paginas').val())>0 &&
- parseInt($('#lp_bnhq_papel option:selected').val())>0 &&
- $('#lp_bnhq_gramaje option:selected').text().length>0 &&
- parseInt($('#lp_bnhq_papelImpresion option:selected').val())>0
- ){
- var rowData = tableLineasPresupuesto.row('#lp_bnhq').data()
- rowData.aFavorFibra = $('#lp_bnhq_aFavorFibra').prop('checked')
- tableLineasPresupuesto.row('#lp_bnhq').data(rowData).draw(false)
-
- calcularPresupuesto_bnhq(false, true);
-}
+ if( parseInt($('#lp_bnhq_paginas').val())>0 &&
+ parseInt($('#lp_bnhq_papel option:selected').val())>0 &&
+ $('#lp_bnhq_gramaje option:selected').text().length>0 &&
+ parseInt($('#lp_bnhq_papelImpresion option:selected').val())>0
+ ){
+ var rowData = tableLineasPresupuesto.row('#lp_bnhq').data()
+ rowData.aFavorFibra = $('#lp_bnhq_aFavorFibra').prop('checked')
+ tableLineasPresupuesto.row('#lp_bnhq').data(rowData).draw(false)
+
+ calcularPresupuesto_bnhq(false, true);
+ }
}
@@ -1892,7 +1914,7 @@ function calcularPresupuesto_bnhq(input_data={}, updatedTipologias = false){
// Si es inkjet, existe este check
if ($('#lp_bnhq_aFavorFibra').length){
- datos.a_favor_fibra = $('#lp_bnhq_aFavorFibra').prop('checked')
+ datos.a_favor_fibra = $('#lp_bnhq_aFavorFibra').prop('checked')?1:0
}
$.ajax({
@@ -1911,8 +1933,6 @@ function calcularPresupuesto_bnhq(input_data={}, updatedTipologias = false){
if(Object.keys(input_data).length == 0){
value.fields.check_papel_total = $('#lp_bnhq' + '_checkPapel').is(":checked")?1:0
value.fields.check_impresion_total = $('#lp_bnhq' + '_checkClicks').is(":checked")?1:0
- // Por defecto en plana: en contra de fibra
- value.fields.a_favor_fibra = false
}
else{
value.fields.check_papel_total = 1
@@ -2155,6 +2175,21 @@ function por_defecto_lp_colorhq(){
}
+function change_lp_colorhq_aFavorFibra(){
+
+ if( parseInt($('#lp_colorhq_paginas').val())>0 &&
+ parseInt($('#lp_colorhq_papel option:selected').val())>0 &&
+ $('#lp_colorhq_gramaje option:selected').text().length>0 &&
+ parseInt($('#lp_colorhq_papelImpresion option:selected').val())>0
+ ){
+ var rowData = tableLineasPresupuesto.row('#lp_colorhq').data()
+ rowData.aFavorFibra = $('#lp_colorhq_aFavorFibra').prop('checked')
+ tableLineasPresupuesto.row('#lp_colorhq').data(rowData).draw(false)
+
+ calcularPresupuesto_colorhq(false, true);
+ }
+}
+
function calcularPresupuesto_colorhq(input_data={}, updatedTipologias = false){
@@ -2198,6 +2233,11 @@ function calcularPresupuesto_colorhq(input_data={}, updatedTipologias = false){
datos.amarillo= $('#lp_colorhq_cobAmarillo').val()
}
+ // Si es inkjet, existe este check
+ if ($('#lp_colorhq_aFavorFibra').length){
+ datos.a_favor_fibra = $('#lp_colorhq_aFavorFibra').prop('checked')?1:0
+ }
+
$.ajax({
type: "POST",
url: "/cosidotapablanda/datatable",
@@ -2295,6 +2335,7 @@ function eventos_lp_colorhq(isInkjet = false){
if(isInkjet){
$('.lp-colorhq-tipologia').bind("change", change_lp_colorhq_tipologia);
$('#lp_colorhq_defecto').bind("click", por_defecto_lp_colorhq);
+ $('#lp_colorhq_aFavorFibra').bind("change", change_lp_colorhq_aFavorFibra);
}
$('#lp_colorhq_checkPapel').bind("change", {id_linea: 'lp_colorhq'}, update_total_linea);
| |