diff --git a/ci4/app/Controllers/Configuracion/Papelesimpresion.php b/ci4/app/Controllers/Configuracion/Papelesimpresion.php index 9f051a44..82025dc4 100755 --- a/ci4/app/Controllers/Configuracion/Papelesimpresion.php +++ b/ci4/app/Controllers/Configuracion/Papelesimpresion.php @@ -196,12 +196,15 @@ class Papelesimpresion extends \App\Controllers\GoBaseResourceController if ($this->request->getPost('color') == null) { $sanitizedData['color'] = false; } - if ($this->request->getPost('portada') == null) { - $sanitizedData['portada'] = false; - } if ($this->request->getPost('cubierta') == null) { $sanitizedData['cubierta'] = false; } + if ($this->request->getPost('sobrecubierta') == null) { + $sanitizedData['sobrecubierta'] = false; + } + if ($this->request->getPost('guardas') == null) { + $sanitizedData['guardas'] = false; + } if ($this->request->getPost('rotativa') == null) { $sanitizedData['rotativa'] = false; } diff --git a/ci4/app/Controllers/Presupuestos/Cosidotapablanda.php b/ci4/app/Controllers/Presupuestos/Cosidotapablanda.php index e607eebb..44c46df6 100755 --- a/ci4/app/Controllers/Presupuestos/Cosidotapablanda.php +++ b/ci4/app/Controllers/Presupuestos/Cosidotapablanda.php @@ -322,6 +322,7 @@ class Cosidotapablanda extends \App\Controllers\GoBaseResourceController $this->viewData['papelGenericoColorList'] = $this->getPapelGenericoColor(); $this->viewData['papelGenericoColorHQList'] = $this->getPapelGenericoColorHQ(); $this->viewData['papelGenericoCubiertaList'] = $this->getPapelGenericoCubierta(); + $this->viewData['papelGenericoGuardasList'] = $this->getPapelGenericoGuardas(); $this->viewData['papelGenericoSobrecubiertaList'] = $this->getPapelGenericoSobreCubierta(); $this->viewData['papelGenericoRotativaNegroList'] = $this->getPapelGenericoRotativaNegro(); $this->viewData['papelGenericoRotativaColorList'] = $this->getPapelGenericoRotativaColor(); @@ -344,13 +345,14 @@ class Cosidotapablanda extends \App\Controllers\GoBaseResourceController $this->viewData['POD'] = $this->getPOD(); - $this->viewData['serviciosCheckboxes'] = [ + $this->viewData['serviciosAutomaticos'] = [ 'retractilado' => 3, 'retractilado5' => 5, 'ferro' => 24, 'prototipo' => 9, 'fajaColor' => 16, - ]; + 'plegadoGuardas' => 62, + ]; $this->viewData['tipo_impresion_id'] = $presupuestoEntity->tipo_impresion_id; // Cosido tapa blanda JJO @@ -467,7 +469,7 @@ class Cosidotapablanda extends \App\Controllers\GoBaseResourceController - if ($type=='interior') { + if ($type=='interior' || $type=='guardas') { $datosTipolog = $reqData['negro'] ?? null; if(!is_null($datosTipolog)){ @@ -484,6 +486,19 @@ class Cosidotapablanda extends \App\Controllers\GoBaseResourceController array_push($datosTipolog, $data); } + if ($type=='guardas') { + $datosPedido->paginas_impresion = intval($reqData['paginas_impresion']) ?? 0; + // Para el caso de Fresado y Cosido tapa dura, las guardas son un diptico + // y hay que imprimirlas como "cosido" (dos hojas pegadas). En el caso de espiral + // o wire-o tapa dura, las guardas se imprimen como hojas sueltas + if($tipo_impresion_id == 1 || $tipo_impresion_id == 3){ + $datosPedido->isCosido = true; + }else if ($tipo_impresion_id == 5 || $tipo_impresion_id == 7){ + $datosPedido->isCosido = false; + } + + } + $a_favor_fibra = $reqData['a_favor_fibra'] ?? false; $resourceData = $this->getCompIntData($type, $datosPedido, $papel_generico, $gramaje, $isColor, $isHq, $cliente_id, $datosTipolog, $a_favor_fibra); @@ -538,7 +553,8 @@ class Cosidotapablanda extends \App\Controllers\GoBaseResourceController if($type=='sobrecubierta') $datosPedido->lomo_cubierta = $reqData['lomo_cubierta']; - $datosPedido->anchoExteriores = PresupuestoService::getAnchoTotalExteriores($datosPedido); + $datosPedido->anchoExteriores = PresupuestoService::getAnchoTotalExteriores($tipo_impresion_id, $datosPedido); + $datosPedido->altoExteriores = PresupuestoService::getAltoTotalExteriores($tipo_impresion_id, $datosPedido); // Cubierta y sobrecubierta siempre color HQ $resourceData = $this->getCompIntData($type, $datosPedido, $papel_generico, $gramaje, $isColor, 1, $cliente_id); @@ -675,6 +691,13 @@ class Cosidotapablanda extends \App\Controllers\GoBaseResourceController 'rotativa' => 0, ); } + else if ( $uso == 'guardas' ){ + $opciones_papel = array( + 'guardas' => 1, + //'color' => 1, + 'rotativa' => 0, + ); + } else if( $isColor ){ $opciones_papel = array( 'color' => 1, @@ -704,7 +727,7 @@ class Cosidotapablanda extends \App\Controllers\GoBaseResourceController $maquinas = $maquinamodel->getMaquinaImpresionForPresupuesto( is_rotativa: 0, tarifa_tipo: $tipo, - uso_tarifa: $uso, + uso_tarifa: ($uso=='guardas')?'interior':$uso, tirada: $datosPedido->tirada + $datosPedido->merma, papel_impresion_id: $papel->id, ); @@ -717,7 +740,7 @@ class Cosidotapablanda extends \App\Controllers\GoBaseResourceController '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, + 'colorPages' => ($uso == 'guardas')?$datosPedido->paginas_impresion:($isColor?$datosPedido->paginas:0), 'rotativa_gota_negro' => 0, 'rotativa_gota_color' => 0, ); @@ -746,7 +769,7 @@ class Cosidotapablanda extends \App\Controllers\GoBaseResourceController } $tarifamodel = new MaquinasTarifasImpresionModel(); - [$tarifaId, $tarifa] = $tarifamodel->getTarifa($maquina->maquina_id, $uso, $tipo); + [$tarifaId, $tarifa] = $tarifamodel->getTarifa($maquina->maquina_id, ($uso=='guardas')?'interior':$uso, $tipo); if(!is_float($tarifa)){ continue; } @@ -784,7 +807,7 @@ class Cosidotapablanda extends \App\Controllers\GoBaseResourceController $clientePreciosModel = new ClientePreciosModel(); $config = (object)[ - "tipo" => $uso, + "tipo" => ($uso=='guardas')?'interior':$uso, "tipo_maquina" => $maquina->is_inkjet?'inkjet':'toner', "tipo_impresion" => $tipo ]; @@ -805,11 +828,26 @@ class Cosidotapablanda extends \App\Controllers\GoBaseResourceController $linea['fields']['precio_impresion_horas'] = $precio_hora*(1+$margen_precio_hora/100.0)*$tiempo; $linea['fields']['margen_impresion_horas'] = $precio_hora*($margen_precio_hora/100.0)*$tiempo; + // para guardas + if(\property_exists($datosPedido, 'paginas_impresion')){ + $linea['fields']['paginas_impresion'] = $datosPedido->paginas_impresion; + } + if($maquina->is_inkjet){ $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); + if( $uso != 'guardas' ){ + $linea['fields']['clicks_libro'] = round(ceil($linea['fields']['pliegos_libro']) * 2, 2); + } + else{ + if($datosPedido->paginas_impresion == 4) + $linea['fields']['clicks_libro'] = round(ceil($linea['fields']['pliegos_libro']), 2); + else if($datosPedido->paginas_impresion == 8) + $linea['fields']['clicks_libro'] = round(ceil($linea['fields']['pliegos_libro'])*2, 2); + else + $linea['fields']['clicks_libro'] = 0; + } $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); @@ -1247,6 +1285,17 @@ class Cosidotapablanda extends \App\Controllers\GoBaseResourceController return $data; } + protected function getPapelGenericoGuardas() + { + $model = model('App\Models\Configuracion\PapelGenericoModel'); + $data = $model->getPapelForComparador('colorhq', false, false, false, true); + array_unshift($data, (object)array( + "id" => 0, + "nombre" => lang('Basic.global.pleaseSelectA', [mb_strtolower(lang('Presupuestos.papel'))]) + )); + return $data; + } + protected function getPapelGenericoSobreCubierta() { $model = model('App\Models\Configuracion\PapelGenericoModel'); diff --git a/ci4/app/Controllers/Test.php b/ci4/app/Controllers/Test.php index 45e4a6e6..596c27cd 100755 --- a/ci4/app/Controllers/Test.php +++ b/ci4/app/Controllers/Test.php @@ -18,15 +18,7 @@ class Test extends BaseController public function index() { echo '
';
-        $papelImpresionTipologiaModel = new \App\Models\Configuracion\PapelImpresionTipologiaModel();
-        $datosTipologias = $papelImpresionTipologiaModel
-                ->findTipologiasForPapelImpresion(17, 'color')
-                ->get()->getResultObject();
-        
-        
-        var_dump($datosTipologias);
-        var_dump($datosTipologias[0]->cg);
-
+        $this->getPapelesGuardas();
         echo '
'; /* @@ -187,6 +179,13 @@ class Test extends BaseController var_dump($data); } + public function getPapelesGuardas(){ + $model = model('App\Models\Configuracion\PapelGenericoModel'); + $data = $model->getPapelForComparador('color', false, false, false, true); + + var_dump($data); + } + public function getGramaje(){ $model = new PapelGenericoModel(); $data = $model->getGramajeComparador("AHUESADO OFFSET", "bnhq" ); diff --git a/ci4/app/Entities/Configuracion/PapelImpresion.php b/ci4/app/Entities/Configuracion/PapelImpresion.php index f8b796fa..b2ef88ce 100755 --- a/ci4/app/Entities/Configuracion/PapelImpresion.php +++ b/ci4/app/Entities/Configuracion/PapelImpresion.php @@ -19,6 +19,7 @@ class PapelImpresion extends \CodeIgniter\Entity\Entity "color" => true, "cubierta" => false, "sobrecubierta" => false, + "guardas" => false, "inkjet" => false, "rotativa" => false, "is_deleted" => 0, @@ -36,6 +37,7 @@ class PapelImpresion extends \CodeIgniter\Entity\Entity "color" => "boolean", "cubierta" => "boolean", "sobrecubierta" => "boolean", + "guardas" => "boolean", "rotativa" => "boolean", "is_deleted" => "int", ]; diff --git a/ci4/app/Entities/Presupuestos/PresupuestoLineaEntity.php b/ci4/app/Entities/Presupuestos/PresupuestoLineaEntity.php index af4b8b7a..d13afe12 100755 --- a/ci4/app/Entities/Presupuestos/PresupuestoLineaEntity.php +++ b/ci4/app/Entities/Presupuestos/PresupuestoLineaEntity.php @@ -10,6 +10,7 @@ class PresupuestoLineaEntity extends \CodeIgniter\Entity\Entity "presupuesto_id" => null, "tipo" => null, "paginas" => 0, + "paginas_impresion" => 0, //guardas "paginas_color_posicion" => null, "solapas_ancho" => 0.0, "papel_id" => null, @@ -79,6 +80,7 @@ class PresupuestoLineaEntity extends \CodeIgniter\Entity\Entity protected $casts = [ "presupuesto_id" => "int", "paginas" => "int", + "paginas_impresion" => "int", // guardas "solapas_ancho" => "float", "papel_id" => "?int", "papel_impresion_id" => "?int", @@ -140,3 +142,4 @@ class PresupuestoLineaEntity extends \CodeIgniter\Entity\Entity "total_linea" => "double", ]; } + \ No newline at end of file diff --git a/ci4/app/Language/es/PapelImpresion.php b/ci4/app/Language/es/PapelImpresion.php index b2fc1170..46cfe47b 100755 --- a/ci4/app/Language/es/PapelImpresion.php +++ b/ci4/app/Language/es/PapelImpresion.php @@ -10,6 +10,7 @@ return [ 'createdAt' => 'Creado en', 'cubierta' => 'Cubierta', 'sobrecubierta' => 'Sobrecubierta', + 'guardas' => 'Guardas', 'defecto' => 'Por defecto', 'deletedAt' => 'Borrado en', 'espesor' => 'Espesor', diff --git a/ci4/app/Language/es/Presupuestos.php b/ci4/app/Language/es/Presupuestos.php index 0d432cae..d8ac648c 100755 --- a/ci4/app/Language/es/Presupuestos.php +++ b/ci4/app/Language/es/Presupuestos.php @@ -64,6 +64,7 @@ return [ 'retractilado' => 'Retractilado individual', 'retractilado5' => 'Retractilado de 5', 'Guardas' => 'Guardas', + 'imprimir_guardas' => 'Imprimir guardas', 'fajaColor' => 'Imprimir faja a color', 'compInteriorPlana' => 'Interior en plana', 'compInteriorRotativa' => 'Interior en rotativa', @@ -95,6 +96,7 @@ return [ 'encuadernacion' => 'Encuadernación', 'solapasCubierta' => 'Solapas cubierta', 'solapasAnchoCubierta' => 'Ancho solapas cubierta', + 'sinImpresion' => 'Sin impresion', '1cara' => '1 cara', '2caras' => '2 caras', 'bn' => 'BN', diff --git a/ci4/app/Models/Configuracion/PapelGenericoModel.php b/ci4/app/Models/Configuracion/PapelGenericoModel.php index e8d1c99a..acff8639 100755 --- a/ci4/app/Models/Configuracion/PapelGenericoModel.php +++ b/ci4/app/Models/Configuracion/PapelGenericoModel.php @@ -93,7 +93,7 @@ class PapelGenericoModel extends \App\Models\GoBaseModel } - public function getPapelForComparador($tipo, $is_cubierta = false, $is_sobrecubierta = false, $rotativa = false) + public function getPapelForComparador($tipo, $is_cubierta = false, $is_sobrecubierta = false, $rotativa = false, $is_guardas = false) { /* 1.-> Tipo impresion @@ -128,8 +128,9 @@ class PapelGenericoModel extends \App\Models\GoBaseModel $builder->where("t5.uso", 'cubierta'); } else{ - $builder->where("t2.cubierta", 0); - $builder->where("t5.uso", 'interior'); + if(!$is_guardas){ + $builder->where("t2.cubierta", 0); + } } if($is_sobrecubierta==true){ @@ -137,13 +138,19 @@ class PapelGenericoModel extends \App\Models\GoBaseModel $builder->where("t5.uso", 'sobrecubierta'); } else{ - $builder->where("t2.sobrecubierta", 0); + if(!$is_guardas){ + $builder->where("t2.sobrecubierta", 0); + } } if($is_cubierta==false && $is_sobrecubierta==false){ $builder->where("t5.uso", 'interior'); } + if($is_guardas==true){ + $builder->where("t2.guardas", 1); + } + if($rotativa==true){ $builder->where("t2.rotativa", 1); } diff --git a/ci4/app/Models/Configuracion/PapelImpresionModel.php b/ci4/app/Models/Configuracion/PapelImpresionModel.php index 874ffa71..e7bf2116 100755 --- a/ci4/app/Models/Configuracion/PapelImpresionModel.php +++ b/ci4/app/Models/Configuracion/PapelImpresionModel.php @@ -20,9 +20,10 @@ class PapelImpresionModel extends \App\Models\GoBaseModel 4 => "t1.color", 5 => "t1.cubierta", 6 => "t1.sobrecubierta", - 7 => "t1.inkjet", - 8 => "t1.rotativa", - 9 => "t1.isActivo" + 7 => "t1.guardas", + 8 => "t1.inkjet", + 9 => "t1.rotativa", + 10 => "t1.isActivo" ]; @@ -39,6 +40,7 @@ class PapelImpresionModel extends \App\Models\GoBaseModel "color", "cubierta", "sobrecubierta", + "guardas", "inkjet", "rotativa", "isActivo", @@ -146,7 +148,7 @@ class PapelImpresionModel extends \App\Models\GoBaseModel ->select( "t1.id AS id, t1.nombre AS nombre, t1.defecto AS defecto, t1.referencia AS referencia, t1.mano AS mano, t1.espesor AS espesor, t1.gramaje AS gramaje, t1.precio_tonelada AS precio_tonelada, - t1.bn AS bn, t1.color AS color, t1.cubierta AS cubierta, t1.sobrecubierta AS sobrecubierta, + t1.bn AS bn, t1.color AS color, t1.cubierta AS cubierta, t1.sobrecubierta AS sobrecubierta, t1.guardas AS guardas, t1.inkjet AS inkjet, t1.rotativa AS rotativa, t1.isActivo AS isActivo, t2.nombre AS papel_generico_id" ); @@ -227,6 +229,7 @@ class PapelImpresionModel extends \App\Models\GoBaseModel $color = array_key_exists('color', $options)? $options['color'] : null; $cubierta = array_key_exists('cubierta', $options)? $options['cubierta'] : null; $sobrecubierta = array_key_exists('sobrecubierta', $options)? $options['sobrecubierta'] : null; + $guardas = array_key_exists('guardas', $options)? $options['guardas'] : null; $rotativa = array_key_exists('rotativa', $options)? $options['rotativa'] : null; $builder = $this->db @@ -254,6 +257,9 @@ class PapelImpresionModel extends \App\Models\GoBaseModel if(!is_null($sobrecubierta)){ $builder->where("t1.sobrecubierta", $sobrecubierta); } + if(!is_null($guardas)){ + $builder->where("t1.guardas", $guardas); + } if(!is_null($rotativa)){ $builder->where("t1.rotativa", $rotativa); } @@ -290,6 +296,8 @@ class PapelImpresionModel extends \App\Models\GoBaseModel $builder->where("t1.cubierta", 1); else if ($uso == 'sobrecubierta') $builder->where("t1.sobrecubierta", 1); + else if ($uso == 'guardas') + $builder->where("t1.guardas", 1); else{ if($tipo == 'negro' || $tipo == 'negrohq') $builder->where("t1.bn", 1); diff --git a/ci4/app/Models/Presupuestos/PresupuestoLineaModel.php b/ci4/app/Models/Presupuestos/PresupuestoLineaModel.php index b9071184..3f782d90 100755 --- a/ci4/app/Models/Presupuestos/PresupuestoLineaModel.php +++ b/ci4/app/Models/Presupuestos/PresupuestoLineaModel.php @@ -12,11 +12,12 @@ class PresupuestoLineaModel extends \App\Models\GoBaseModel * @var bool */ protected $useAutoIncrement = true; - + protected $allowedFields = [ "presupuesto_id", "tipo", "paginas", + "paginas_impresion", //guardas "paginas_color_posicion", "solapas_ancho", "papel_id", diff --git a/ci4/app/Services/PresupuestoService.php b/ci4/app/Services/PresupuestoService.php index 47cac273..9dc9ad75 100755 --- a/ci4/app/Services/PresupuestoService.php +++ b/ci4/app/Services/PresupuestoService.php @@ -45,7 +45,8 @@ 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, $forzar_a_favor_fibra); + $alto_calculo = ($uso=='cubierta' || $uso=='sobrecubierta') ? $datosPedido->altoExteriores : $datosPedido->ancho; + $formas = PresupuestoService::getNumFormasPlana($uso, $maquina, $ancho_calculo, $alto_calculo, $datosPedido->isCosido, $forzar_a_favor_fibra); $response['fields'] = $formas; } @@ -70,7 +71,9 @@ class PresupuestoService extends BaseService //interior (bn o color) if ($cubierta == 0 && $sobrecubierta == 0 && $rotativa == 0) { // precio papel - $pliegos_libro = ($datosPedido->paginas / 2.0) / $response['fields']['num_formas']['value']; + $pliegos_libro = ceil(($datosPedido->paginas / 2.0) / $response['fields']['num_formas']['value']); + if($pliegos_libro<1) + $pliegos_libro = 1; $pliegos_pedido = $pliegos_libro * ($datosPedido->tirada + $datosPedido->merma); $precio_libro = $pliegos_libro * ($precio_pliego_impresion+$margen_pliego_impresion); $margen_papel_pedido = $pliegos_libro * $margen_pliego_impresion * ($datosPedido->tirada + $datosPedido->merma); @@ -84,11 +87,18 @@ class PresupuestoService extends BaseService alto: $datosPedido->alto, gramaje: $papel_impresion->gramaje, paginas: $datosPedido->paginas - ); + ); // impresion $precio_click = $tarifa; - $precio_click_pedido = $pliegos_pedido * 2 * $precio_click; + if($uso=='guardas'){ + if(floatval($datosPedido->paginas_impresion)==0) + $precio_click_pedido = 0; + elseif (floatval($datosPedido->paginas_impresion)==4) // Una cara + $precio_click_pedido = $pliegos_pedido * $precio_click; + else // dos caras (impresion normal) + $precio_click_pedido = $pliegos_pedido * 2 * $precio_click; + } } // cubierta o sobrecubierta (siempre a color) @@ -375,13 +385,6 @@ class PresupuestoService extends BaseService else{ $anchoForCalculo = $ancho; } - - // Generates a message like: User 123 logged into the system from 127.0.0.1 - $info = [ - 'isCosido' => $forzar_a_favor_fibra, - ]; - - log_message('error', 'isCosido en formas planas: {isCosido}', $info); if($uso == 'cubierta' || $uso == 'sobrecubierta') { if(property_exists($maquina, 'forzar_num_formas_horizontales_cubierta') && @@ -521,23 +524,51 @@ class PresupuestoService extends BaseService /** * Devuelve el ancho de la cubierta/sobrecubierta, incluido el lomo. */ - public static function getAnchoTotalExteriores($datosPedido=null) + public static function getAnchoTotalExteriores($tipo_impresion_id, $datosPedido=null) { $ancho_total = 0; if ($datosPedido) { - $ancho_total = floatval($datosPedido->ancho)*2 + floatval($datosPedido->lomo); - $ancho_total += property_exists($datosPedido, 'lomo_cubierta')?$datosPedido->lomo_cubierta:0; + // Tapa blanda (cosido y fresado) + if($tipo_impresion_id == 2 || $tipo_impresion_id == 4){ + $ancho_total = floatval($datosPedido->ancho)*2 + floatval($datosPedido->lomo); + $ancho_total += property_exists($datosPedido, 'lomo_cubierta')?$datosPedido->lomo_cubierta:0; - // añadimos ancho de las solapas - // si se añaden solapas hay que sumar 3mm de los dobleces - if ($datosPedido->solapas) { - $ancho_total += (floatval($datosPedido->solapas_ancho) * 2) + 6; + // añadimos ancho de las solapas + // si se añaden solapas hay que sumar 3mm de los dobleces + if ($datosPedido->solapas) { + $ancho_total += (floatval($datosPedido->solapas_ancho) * 2) + 6; + } + } + // Tapa dura cosido y fresado + else if($tipo_impresion_id == 1 || $tipo_impresion_id == 3){ + $ancho_total = floatval($datosPedido->ancho)*2 + floatval($datosPedido->lomo); + $ancho_total += property_exists($datosPedido, 'lomo_cubierta')?$datosPedido->lomo_cubierta:0; + // Se añaden 20mm de sangre por cada lado + 2 * 0.6mm de portada y contraportada -> total 41.2 + $ancho_total += 41.2; } } return $ancho_total; } + /** + * Devuelve el ancho de la cubierta/sobrecubierta, incluido el lomo. + */ + public static function getAltoTotalExteriores($tipo_impresion_id, $datosPedido=null) + { + $alto_total = 0; + + if ($datosPedido) { + // Tapa blanda (cosido y fresado) + $alto_total = floatval($datosPedido->alto); + if($tipo_impresion_id == 1 || $tipo_impresion_id == 3){ + // Se añaden 20mm de sangre por cada lado + 0.7mm extra que sobresale -> total 40.7 + $alto_total += 40.7; + } + } + return $alto_total; + } + /** * Devuelve la dimensión del lomo interior. */ diff --git a/ci4/app/Views/themes/backend/vuexy/form/configuracion/papel/_papelImpresionFormItems.php b/ci4/app/Views/themes/backend/vuexy/form/configuracion/papel/_papelImpresionFormItems.php index f8439fd3..964e9916 100755 --- a/ci4/app/Views/themes/backend/vuexy/form/configuracion/papel/_papelImpresionFormItems.php +++ b/ci4/app/Views/themes/backend/vuexy/form/configuracion/papel/_papelImpresionFormItems.php @@ -90,6 +90,16 @@ +
+
+ + +
+
+
diff --git a/ci4/app/Views/themes/backend/vuexy/form/configuracion/papel/viewPapelImpresionList.php b/ci4/app/Views/themes/backend/vuexy/form/configuracion/papel/viewPapelImpresionList.php index ef34ffc5..4411ce24 100755 --- a/ci4/app/Views/themes/backend/vuexy/form/configuracion/papel/viewPapelImpresionList.php +++ b/ci4/app/Views/themes/backend/vuexy/form/configuracion/papel/viewPapelImpresionList.php @@ -25,6 +25,7 @@ + @@ -101,6 +102,7 @@ { 'data': 'color' }, { 'data': 'cubierta' }, { 'data': 'sobrecubierta' }, + { 'data': 'guardas' }, { 'data': 'inkjet' }, { 'data': 'rotativa' }, { 'data': 'isActivo' }, @@ -110,7 +112,7 @@ theTable.on( 'draw.dt', function () { - const boolCols = [3, 4, 5, 6, 7, 8, 9]; + const boolCols = [3, 4, 5, 6, 7, 8, 9, 10]; for (let coln of boolCols) { theTable.column(coln, { page: 'current' }).nodes().each( function (cell, i) { cell.innerHTML = cell.innerHTML == '1' ? '' : ''; diff --git a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosLibroItems.php b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosLibroItems.php index 0ac6cc15..00c3a6db 100755 --- a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosLibroItems.php +++ b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosLibroItems.php @@ -360,7 +360,7 @@ $('#papelFormatoPersonalizado').on("click",function(){ " x )*"; } else{ - document.getElementById("papelFormatoAncho").value= ""; + document.getElementById("papelFormatoAncho").value= ""; document.getElementById("papelFormatoAlto").value= ""; document.getElementById("papelFormatoAncho").style.display = "none"; document.getElementById("papelFormatoAlto").style.display = "none"; diff --git a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosPresupuestoClienteItems.php b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosPresupuestoClienteItems.php index dcc38897..5e04ad01 100755 --- a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosPresupuestoClienteItems.php +++ b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosPresupuestoClienteItems.php @@ -215,6 +215,44 @@
+ +
+
+

+
+
+ +
+
+ +
+
+ +
+
+
+
+
+ +
@@ -422,6 +460,66 @@
+ + +
+
+

+ +

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
: 0.00
+ +
+ + +
+ +
+
+
+
+ + + @@ -580,11 +678,22 @@ allowClear: false, }); + $('#compCarasCubierta').select2({ allowClear: false, minimumResultsForSearch: Infinity, }); + $('#compPapelGuardas').select2({ + allowClear: false, + }); + + $('#compCarasGuardas').select2({ + allowClear: false, + minimumResultsForSearch: Infinity, + }); + + updatePapelesComparador(); const paginasColor = document.getElementById('compCalPaginasColor'); if (paginasColor.value.length > 0) { @@ -592,7 +701,6 @@ } computarPaginasColor($('#compPosPaginasColor').val()); - } function init_lineas_comparador(){ @@ -643,7 +751,7 @@ }catch(e){} try{ - $("#compCarasCubierta").val(parseInt(comp_data.cubierta.paginas)).trigger('select2:select'); + $("#compCarasCubierta").val(parseInt(comp_data.cubierta.paginas)).change(); try{ $("#compPapelCubierta").val(parseInt(comp_data.cubierta.papel_id)).trigger('select2:select'); @@ -656,6 +764,11 @@ }catch(e){} }catch(e){} + try{ + $("#compCarasGuardas").val(parseInt(comp_data.guardas.paginas_impresion)).change(); + $("#compPapelGuardas").val(parseInt(comp_data.guardas.papel_id)).trigger('change'); + }catch(e){} + } var tableCompIntPlana = new DataTable('#tableCompIntPlana',{ @@ -827,6 +940,128 @@ ] }); + + var tableCompGuardas = new DataTable('#tableCompGuardas',{ + scrollX: true, + searching: false, + paging: false, + info: false, + ordering: false, + responsive: true, + select: false, + language: { + url: "//cdn.datatables.net/plug-ins/1.13.4/i18n/i18n ?>.json" + }, + columns: [ + { 'data': 'tipo', + 'render': function ( data, type, row, meta ) { + + return ''; + } + + }, + { 'data': 'paginas' }, + { 'data': 'papel' }, + { 'data': 'gramaje' }, + { 'data': 'marca' }, + { 'data': 'maquina' }, + { 'data': 'numeroPliegos' }, + { 'data': 'pliegosPedido' }, + { 'data': 'precioPliego' }, + { 'data': 'libro' }, + { 'data': 'totalPapelPedido' }, + { 'data': 'lomo' }, + { 'data': 'peso' }, + { 'data': 'horasMaquina' }, + { 'data': 'precioImpresion' }, + { 'data': 'total' }, + { 'data': 'maquinaId'}, + { 'data': 'maquinaVelocidad'}, + { 'data': 'tiempoMaquina'}, + { 'data': 'papelGenericoId'}, + { 'data': 'papelImpresionId'}, + { 'data': 'tarifa_impresion_id'}, + { 'data': 'paginas_impresion'}, + ], + columnDefs: [ + { + target: [16,17,18,19,20,21,22], + visible: false, + searchable: false + }, + ] + }); + + function checkComparadorGuardas(actualizarLinea = false){ + + if ($('#compPapelGuardas').select2('data')[0].id > 0 ){ + + const dimension = getDimensionLibro(); + + let datos = { + tipo_impresion_id: , + type: 'guardas', + paginas: 8, + paginas_impresion: parseInt($('#compCarasGuardas').select2('data')[0].id), + tirada: parseInt($('#tirada').val()), + merma: parseInt($('#mermacubierta').val()), + color: 1, + hq: 1, + ancho: dimension.ancho, + alto: dimension.alto, + papel_generico_id: $('#compPapelGuardas').select2('data')[0].id, + papel_generico: $('#compPapelGuardas').select2('data')[0].text.trim(), + gramaje: parseInt($('#compGramajeGuardas').val()), + cliente_id: $('#clienteId').find(":selected").val(), + : v + }; + + $.ajax({ + type: "POST", + url: "/cosidotapablanda/datatable", + data: datos, + success: function (data) { + + clearGuardas(); + + if(data.lineas.length >0){ + fillGuardas(data); + selectGuardasLineas(); + $('#title_guardas').html('' + ' (' + tableCompGuardas.rows().count() + ')'); + $('#insertarGuardasBtn').removeClass('d-none') + if(actualizarLinea){ + var rows = $("#tableCompCubierta").DataTable().rows( '.selected' ).data().toArray(); + for(row of rows){ + fill_lp_guardas(row, true); + } + } + } + else{ + $('#title_guardas').html(''); + $('#insertarGuardasBtn').addClass('d-none') + $('#total_comp_guardas').html('0.00') + + } + yeniden(data.); + return true; + }, + error: function(e){ + return false; + } + }) + } + + else{ + clearGuardas(); + } + } + + + $('.comp_guardas_items').on('change', function (e) { + + checkComparadorGuardas(false); + }); + async function getLineasIntPlana(is_color, is_hq, actualizarLinea){ @@ -983,7 +1218,7 @@ function checkComparadorCubierta(actualizarLinea = false){ - if ($('#compCarasCubierta').select2('data').length > 0 && + if ($('#compCarasCubierta option:selected').val().length > 0 && $('#compPapelCubierta').select2('data').length > 0 && $('#compGramajeCubierta').select2('data').length > 0 ){ @@ -992,7 +1227,7 @@ let datos = { tipo_impresion_id: , type: 'cubierta', - paginas: parseInt($('#compCarasCubierta').select2('data')[0].id), + paginas: parseInt($('#compCarasCubierta option:selected').val()), tirada: parseInt($('#tirada').val()), merma: parseInt($('#mermacubierta').val()), color: 1, @@ -1049,6 +1284,8 @@ } } + + $('.comp_negro_items').on('change', function (e) { checkComparadorInt(false,false); @@ -1422,6 +1659,6 @@ } init_comparador() - init_lineas_comparador() + init_lineas_comparador() endSection() ?> \ No newline at end of file diff --git a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosServiciosItems.php b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosServiciosItems.php index 3074eae3..2bcf665b 100755 --- a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosServiciosItems.php +++ b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosServiciosItems.php @@ -609,12 +609,12 @@ function servicioRetractilado(){ if($('#retractilado').prop('checked')){ - $('#add_servicio_acabado_list').val() + $('#add_servicio_acabado_list').val() $('#insertar_serv_acabado').click() } else{ var row_indexes = tableServiciosAcabado.rows().eq( 0 ).filter( function (rowIdx) { - return tableServiciosAcabado.cell( rowIdx, 0 ).data() == ? true : false; + return tableServiciosAcabado.cell( rowIdx, 0 ).data() == ? true : false; } ); if(row_indexes.length > 0){ tableServiciosAcabado.row(row_indexes[0]).remove().draw() @@ -625,12 +625,12 @@ function servicioRetractilado5(){ if($('#retractilado5').prop('checked')){ - $('#add_servicio_acabado_list').val() + $('#add_servicio_acabado_list').val() $('#insertar_serv_acabado').click() } else{ var row_indexes = tableServiciosAcabado.rows().eq( 0 ).filter( function (rowIdx) { - return tableServiciosAcabado.cell( rowIdx, 0 ).data() == ? true : false; + return tableServiciosAcabado.cell( rowIdx, 0 ).data() == ? true : false; } ); if(row_indexes.length > 0){ tableServiciosAcabado.row(row_indexes[0]).remove().draw() @@ -641,16 +641,16 @@ function servicioFajaColor(){ if($('#fajaColor').prop('checked')){ - $('#add_servicio_acabado_list').val() + $('#add_servicio_acabado_list').val() $('#insertar_serv_acabado').click() } else{ var row_indexes = tableServiciosAcabado.rows().eq( 0 ).filter( function (rowIdx) { - return tableServiciosAcabado.cell( rowIdx, 0 ).data() == ? true : false; + return tableServiciosAcabado.cell( rowIdx, 0 ).data() == ? true : false; } ); if(row_indexes.length > 0){ tableServiciosAcabado.row(row_indexes[0]).remove().draw() - check_serv_acabado_error() + check_serv_acabado_error() } } } @@ -1180,6 +1180,22 @@ return datosManipulado } + function servicioGuardas(add_service = false){ + if(add_service){ + $('#add_servicio_manipulado_list').val() + $('#insertar_serv_manipulado').click() + } + else{ + var row_indexes = tableServiciosManipulado.rows().eq( 0 ).filter( function (rowIdx) { + return tableServiciosManipulado.cell( rowIdx, 0 ).data() == ? true : false; + } ); + if(row_indexes.length > 0){ + tableServiciosManipulado.row(row_indexes[0]).remove().draw() + check_serv_manipulado_error() + } + } + } + init_servicio_manipulado() endSection() ?> @@ -1290,12 +1306,12 @@ function servicioPrototipo(){ if($('#prototipo').prop('checked')){ - $('#add_servicio_preimpresion_list').val() + $('#add_servicio_preimpresion_list').val() $('#insertar_serv_preimpresion').click() } else{ var row_indexes = tableServiciosPreimpresion.rows().eq( 0 ).filter( function (rowIdx) { - return tableServiciosPreimpresion.cell( rowIdx, 0 ).data() == ? true : false; + return tableServiciosPreimpresion.cell( rowIdx, 0 ).data() == ? true : false; } ); if(row_indexes.length > 0){ tableServiciosPreimpresion.row(row_indexes[0]).remove().draw() @@ -1306,11 +1322,11 @@ function servicioFerro(){ var row_indexes = tableServiciosPreimpresion.rows().eq( 0 ).filter( function (rowIdx) { - return tableServiciosPreimpresion.cell( rowIdx, 0 ).data() == ? true : false; + return tableServiciosPreimpresion.cell( rowIdx, 0 ).data() == ? true : false; } ); if($('#ferro').prop('checked')){ if(row_indexes.length == 0){ - $('#add_servicio_preimpresion_list').val() + $('#add_servicio_preimpresion_list').val() $('#insertar_serv_preimpresion').click() } } 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 67c871a9..790fff35 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 @@ -49,9 +49,8 @@
- +
@@ -81,6 +81,9 @@ const papelGenericoCubiertaList = ; const papelGenericoRotativaNegroList = ; const papelGenericoRotativaColorList = ; + + const papelGenericoGuardasList = ; + // Formatting function for row details - modify as you need @@ -409,7 +412,7 @@ const actionBtns_lp = function(data) { `; }; - var tableLineasPresupuesto = new DataTable('#tableLineasPresupuesto',{ +var tableLineasPresupuesto = new DataTable('#tableLineasPresupuesto',{ scrollX: true, searching: false, paging: false, @@ -475,6 +478,9 @@ const actionBtns_lp = function(data) { else if(row.row_id.includes('_sobrecubierta')){ return 3; } + else if(row.row_id.includes('_guardas')){ + return 4; + } } }, {data: 'icon', @@ -484,19 +490,60 @@ const actionBtns_lp = function(data) { }, {data: 'paginas', render: function ( data, type, row, meta ) { - if(row.row_id != "lp_cubierta" && row.row_id != "lp_sobrecubierta") + if(row.row_id != "lp_cubierta" && row.row_id != "lp_sobrecubierta" && row.row_id != "lp_guardas") return ''; else if(row.row_id == "lp_cubierta"){ - return ' \ - \ - '; + select = '' + + return select; + } + else if(row.row_id == "lp_guardas"){ + select = '' + + return select; + } } }, @@ -527,6 +574,9 @@ const actionBtns_lp = function(data) { else if (row.row_id == 'lp_sobrecubierta'){ papelList = papelGenericoSobrecubiertaList } + else if (row.row_id == 'lp_guardas'){ + papelList = papelGenericoGuardasList + } else if (row.row_id == 'lp_rot_bn'){ papelList = papelGenericoRotativaNegroList } @@ -625,12 +675,16 @@ tableLineasPresupuesto.on( 'draw.dt', function () { $(document).on('click', '.btn-delete-lp', function(e) { const row = $(this).closest('tr'); + data = tableLineasPresupuesto.row( row ).data() tableLineasPresupuesto.row( row ) .remove() .draw(); updateTotales(true, false, false) updateTablaEnvios() + if(data.row_id == 'lp_guardas') + servicioGuardas(false) + // Si existe cubierta, hay que actualizar con el valor del lomo check_update_cubierta() }) @@ -686,6 +740,8 @@ function processRowData(row, rowId, rowClass){ icon = '' else if(rowId=='lp_sobrecubierta') icon = '' + else if(rowId=='lp_guardas') + icon = '' else if(rowId=='lp_rot_bn') icon = '' else if(rowId=='lp_rot_color') @@ -708,6 +764,7 @@ function processRowData(row, rowId, rowClass){ 'icon': icon, 'paginas': blank_line?0:row.paginas, + 'paginas_impresion': rowId=='lp_guardas'?row.paginas_impresion:0, 'papel': blank_line?"":row.papel_generico_id, 'gramaje': blank_line?"":row.gramaje, 'papel_impresion': blank_line?"":row.papel_impresion, @@ -721,8 +778,8 @@ function processRowData(row, rowId, rowClass){ 'total_linea': isNaN(parseFloat(row.total_impresion)) ? "" : parseFloat(row.total_impresion).toFixed(2), - 'numeroPliegos':isNaN(parseFloat(row.pliegos_libro)) ? "" : parseFloat(row.pliegos_libro).toFixed(2), - 'pliegosPedido': isNaN(parseFloat(row.pliegos_pedido)) ? "" : parseFloat(row.pliegos_pedido).toFixed(2), + 'numeroPliegos':isNaN(parseFloat(row.pliegos_libro)) ? "" : parseFloat(row.pliegos_libro).toFixed(0), + 'pliegosPedido': isNaN(parseFloat(row.pliegos_pedido)) ? "" : parseFloat(row.pliegos_pedido).toFixed(0), 'precioPliego': isNaN(parseFloat(row.precios_pliegos)) ? "" : parseFloat(row.precios_pliegos).toFixed(6), 'libro': isNaN(parseFloat(row.precio_libro)) ? "" : parseFloat(row.precio_libro).toFixed(2), 'totalPapelPedido': isNaN(parseFloat(row.precio_pedido)) ? "" : parseFloat(row.precio_pedido).toFixed(2), @@ -806,7 +863,6 @@ function processRowData(row, rowId, rowClass){ } -$('#addLineasPresupuesto').val(''); $('.paginas-lp').on('change', function(){ checkPaginasPresupuesto() @@ -892,6 +948,7 @@ function clear_cubierta(){ } + $('.insertarLinea').on("click", function (e) { if(e.target.id.includes("Plana")){ @@ -941,11 +998,22 @@ $('.insertarLinea').on("click", function (e) { fill_lp_cubierta(row, true); } } + + if(e.target.id.includes("Guardas")){ + + clear_guardas(); + + var rows = $("#tableCompGuardas").DataTable().rows( '.selected' ).data().toArray(); + for(row of rows){ + fill_lp_guardas(row, true); + } + servicioGuardas(true) + } }); -$('#addLineasPresupuesto').on("change", function (e) { +$('#btn_addLinea').on("click", function (e) { var dataRows = tableLineasPresupuesto .rows() @@ -1099,6 +1167,29 @@ $('#addLineasPresupuesto').on("change", function (e) { tableLineasPresupuesto.row.add(data).draw() eventos_lp_cubierta() break + + case 'lp_guardas': + var hayLinea = false + for(let number=0;number', 'divAlarmasLineasPresupuesto'); + break + } + + var data = processRowData({tipo_maquina: 'toner'}, 'lp_guardas', 'lp-guardas'); + tableLineasPresupuesto.row.add(data).draw() + $('#lp_guardas_gramaje').empty() + var o = new Option("170", "170"); + $('#lp_guardas_gramaje').append(o) + eventos_lp_guardas() + servicioGuardas(true) + break default: break } @@ -3403,7 +3494,7 @@ function getLomoLineasPresupuesto(){ var rowData = this.data(); lomoTotal += parseFloat(rowData.lomo) }) - } + } catch(error){ lomoTotal = 0 } @@ -3411,10 +3502,280 @@ function getLomoLineasPresupuesto(){ } +/******************************** +***************************** */ + + + function clear_lp_guardas(clear_selectors){ + let pags = $("#lp_guardas_paginas option:selected" ).val() + $(".lp-guardas-input" ).val("0") + $("#lp_guardas_paginas" ).val(pags) + if(clear_selectors){ + $( "#lp_guardas_maquina").empty() + $( "#lp_guardas_papelImpresion").empty() + } + +} +function clear_guardas(){ + clear_lp_guardas(true); +} +function calcularPresupuesto_guardas(fromComparador=false, input_data={}){ + + const dimension = getDimensionLibro(); + + if(Object.keys(input_data).length == 0){ + + input_data = { + paginas: , + paginas_impresion: parseInt($('#lp_guardas_paginas option:selected').val()), + papel_generico_id: $('#lp_guardas_papel option:selected').val(), + papel_generico: $('#lp_guardas_papel option:selected').text().trim(), + gramaje: 170, + maquina_id: $('#lp_guardas_maquina option:selected').val(), + papel_impresion_id: $('#lp_guardas_papelImpresion option:selected').val() + } + } + + + var datos = { + tipo_impresion_id: , + type: 'guardas', + color: 1, + hq: 1, + paginas: , + paginas_impresion: input_data.paginas_impresion, + tirada: parseInt($('#tirada').val()), + merma: parseInt($('#merma').val()), + ancho: dimension.ancho, + alto: dimension.alto, + papel_generico_id: input_data.papel_generico_id, + papel_generico: input_data.papel_generico, + gramaje: input_data.gramaje, + cliente_id: $('#clienteId').find(":selected").val(), + : v + }; + + $.ajax({ + type: "POST", + url: "/cosidotapablanda/datatable", + data: datos, + success: function (data) { + + if(data.lineas.length >0){ + // Se cogen los valores de la linea con los datos correspondientes + $.each(data.lineas, function(key, value) { + if(value.fields.maquina_id === input_data.maquina_id && + value.fields.papel_generico_id === input_data.papel_generico_id && + value.fields.papel_impresion_id === input_data.papel_impresion_id) { + + if(Object.keys(input_data).length == 0){ + value.fields.check_papel_total = $('#lp_guardas' + '_checkPapel').is(":checked")?1:0 + value.fields.check_impresion_total = $('#lp_guardas' + '_checkClicks').is(":checked")?1:0 + } + else{ + value.fields.check_papel_total = 1 + value.fields.check_impresion_total = 1 + } + fill_lp_guardas(value.fields); + return false; + } + clear_lp_guardas(false); + }); + + } + else{ + + } + yeniden(data.); + + }, + error: function(e){ + + } + }) +} + +function fill_lp_guardas(row, fromComparador=false){ + + if(fromComparador){ + + var input_data = { + paginas: row.paginas, + paginas_impresion: row.paginas_impresion, + papel_generico_id: row.papelGenericoId, + gramaje: row.gramaje, + papel_impresion_id: row.papelImpresionId, + maquina_id: row.maquinaId, + } + + calcularPresupuesto_guardas(false, input_data); + + } + else{ + // Se guarda el estado de "ver calculos" + mostrar_calculos = ($( ".calculos_lp_guardas").css('display') == 'table-row') + + // Si viene de hacerlo a mano... + data = processRowData(row, 'lp_guardas', 'lp-guardas'); + + var row = tableLineasPresupuesto.row('#lp_guardas'); + if(row.length>0) + tableLineasPresupuesto.row('#lp_guardas').data(data).draw() + else{ + tableLineasPresupuesto.row.add(data).draw() + row = tableLineasPresupuesto.row('#lp_guardas'); + } + row.child(format(row.data())).show(); + + eventos_lp_guardas(data.maquinaTipo=='inkjet'?true:false) + + $('#lp_guardas_checkPapel').change() + + calcular_mermas() + updateTotales(true, false, false) + updateTablaEnvios() + + // Si existe cubierta, hay que actualizar con el valor del lomo + check_update_cubierta() + + if(mostrar_calculos){ + $( ".calculos_lp_guardas").css('display','table-row') + } + + } + $("#tableLineasPresupuesto").DataTable().columns.adjust(); +} + +function eventos_lp_guardas(isInkjet = false){ + + $('#lp_guardas_papel').bind("focus", {clear_selectors: true}, clear_lp_guardas); + $('#lp_guardas_papelImpresion').focus("focus", set_lp_guardas_papelImpresion); + $('#lp_guardas_maquina').bind("focus", set_lp_guardas_maquina); + $('#lp_guardas_maquina').bind("change", calcularPresupuesto_guardas); + $('#lp_guardas_paginas').bind("change", change_lp_guardas_paginas); + $('#lp_guardas_checkPapel').bind("change", {id_linea: 'lp_guardas'}, update_total_linea); + $('#lp_guardas_checkClicks').bind("change", {id_linea: 'lp_guardas'}, update_total_linea); + + if(isInkjet){ + $('#lp_guardas_vercalculos').bind("click", {rowId: 'lp_guardas'}, verCalculosInkjet); + $('.lp-guardas-tipologia').bind("change", change_lp_guardas_tipologia); + $('#lp_guardas_defecto').bind("click", por_defecto_lp_guardas); + $('#lp_guardas_aFavorFibra').bind("change", change_lp_guardas_aFavorFibra); + } +} + +function change_lp_guardas_tipologia(){ + + if( parseInt($('#lp_guardas_papel option:selected').val())>0 && + parseInt($('#lp_guardas_papelImpresion option:selected').val())>0 + ){ + + calcularPresupuesto_guardas({},true); + } +} + + +function por_defecto_lp_guardas(){ + + if( parseInt($('#lp_guardas_papel option:selected').val())>0 && + parseInt($('#lp_guardas_papelImpresion option:selected').val())>0 + ){ + + calcularPresupuesto_guardas(); + } +} + + +function change_lp_guardas_aFavorFibra(){ + + if( parseInt($('#lp_guardas_papel option:selected').val())>0 && + parseInt($('#lp_guardas_papelImpresion option:selected').val())>0 + ){ + var rowData = tableLineasPresupuesto.row('#lp_guardas').data() + rowData.aFavorFibra = $('#lp_guardas_aFavorFibra').prop('checked') + tableLineasPresupuesto.row('#lp_guardas').data(rowData).draw(false) + + calcularPresupuesto_guardas(false, true); + } +} + +function change_lp_guardas_paginas(){ + + if( parseInt($('#lp_guardas_papel option:selected').val())>0 && + parseInt($('#lp_guardas_papelImpresion option:selected').val())>0 + ){ + + calcularPresupuesto_guardas(); + } +} + +async function set_lp_guardas_maquina(){ + + await $.ajax({ + type: 'post', + url: '', + beforeSend: function() { + $('#lp_guardas_maquina').empty() + clear_lp_guardas(false) + }, + data: { + tipo: 'maquina', + uso: 'colorhq', + tipoLinea: "guardas", + is_rotativa: 0, + ancho: getDimensionLibro().ancho, + alto: getDimensionLibro().alto, + datos: parseInt($('#tirada').val()) + parseInt($('#merma').val()), + papel_impresion: $('#lp_guardas_papelImpresion option:selected').val() , + : v + }, + dataType: 'json', + success: function (data) { + yeniden(data.); + $.each(data.menu, function(item){ + var option = $('