diff --git a/ci4/app/Controllers/Presupuestos/Presupuestoadmin.php b/ci4/app/Controllers/Presupuestos/Presupuestoadmin.php
index 473253b8..cc676379 100644
--- a/ci4/app/Controllers/Presupuestos/Presupuestoadmin.php
+++ b/ci4/app/Controllers/Presupuestos/Presupuestoadmin.php
@@ -662,6 +662,7 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
}
}
+
public function obtenerComparadorExteriores()
{
@@ -1721,7 +1722,7 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
$input_data = [];
$input_data['presupuesto'] = $presupuestoEntity;
- return PresupuestoService::checkLineasPresupuesto($input_data, $lineas);
+ return [false, $lineas];
}
protected function getLineasServicios($presupuestoEntity)
diff --git a/ci4/app/Controllers/Presupuestos/Presupuestocliente.php b/ci4/app/Controllers/Presupuestos/Presupuestocliente.php
index 253ce34d..51618a82 100755
--- a/ci4/app/Controllers/Presupuestos/Presupuestocliente.php
+++ b/ci4/app/Controllers/Presupuestos/Presupuestocliente.php
@@ -308,7 +308,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
$datosPedido = (object) array(
'paginas' => $paginas,
'tirada' => $tirada[0],
- 'merma' => $tirada[0] > $POD ? $this->calcular_merma($tirada[0], $POD) : 0,
+ 'merma' => $this->calcular_merma($tirada[0], $POD),
'ancho' => intval($tamanio['ancho']) ?? 100000,
'alto' => intval($tamanio['alto']) ?? 100000,
'isCosido' => $is_cosido,
@@ -1057,6 +1057,8 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
$datos_presupuesto['retractilado5'] = $retractilado5;
$datos_presupuesto['entrega_taller'] = $reqData['entrega_taller'] ?? 0;
+ $resultado_presupuesto['info']['merma'] = $this->calcular_merma($selected_tirada, $POD);
+
$id = $model_presupuesto->insertarPresupuestoCliente(
$id,
$selected_tirada,
@@ -1074,17 +1076,17 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
$this->borrarRelacionesPresupuesto($id);
}
- foreach ($resultado_presupuesto['info']['interior'] as $linea) {
+ foreach ($resultado_presupuesto['values']['interior'] as $linea) {
if (count($linea) > 0)
$this->guardarLineaPresupuesto($id, $linea);
}
- if (count($resultado_presupuesto['info']['cubierta']) > 0)
- $this->guardarLineaPresupuesto($id, $resultado_presupuesto['info']['cubierta']);
- if (count($resultado_presupuesto['info']['sobrecubierta']) > 0)
- $this->guardarLineaPresupuesto($id, $resultado_presupuesto['info']['sobrecubierta']);
- if (count($resultado_presupuesto['info']['guardas']) > 0)
- $this->guardarLineaPresupuesto($id, $resultado_presupuesto['info']['guardas']);
+ if (count($resultado_presupuesto['values']['cubierta']) > 0)
+ $this->guardarLineaPresupuesto($id, $resultado_presupuesto['values']['cubierta']);
+ if (count($resultado_presupuesto['values']['sobrecubierta']) > 0)
+ $this->guardarLineaPresupuesto($id, $resultado_presupuesto['values']['sobrecubierta']);
+ if (count($resultado_presupuesto['values']['guardas']) > 0)
+ $this->guardarLineaPresupuesto($id, $resultado_presupuesto['values']['guardas']);
// Servicios
if ($sobrecubierta) {
@@ -1110,13 +1112,13 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
}
}
- foreach ($resultado_presupuesto['info']['serviciosDefecto']['encuadernacion'] as $servicio) {
+ foreach ($resultado_presupuesto['values']['serviciosDefecto']['encuadernacion'] as $servicio) {
$this->guardarServicio($id, $servicio, 'encuadernacion');
}
- foreach ($resultado_presupuesto['info']['serviciosDefecto']['manipulado'] as $servicio) {
+ foreach ($resultado_presupuesto['values']['serviciosDefecto']['manipulado'] as $servicio) {
$this->guardarServicio($id, $servicio, 'manipulado');
}
- foreach ($resultado_presupuesto['info']['servicios_automaticos'] as $servicio) {
+ foreach ($resultado_presupuesto['values']['servicios_automaticos'] as $servicio) {
if ($servicio->tarifa_id == 3 || $servicio->tarifa_id == 5 || $servicio->tarifa_id == 16) {
// Servicios acabado
$this->guardarServicio($id, $servicio, 'acabado');
@@ -1638,7 +1640,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
$datosPedido = (object) array(
'paginas' => $paginas,
'tirada' => $tirada[$t],
- 'merma' => $tirada[$t] > $POD ? $this->calcular_merma($tirada[$t], $POD) : 0,
+ 'merma' => $this->calcular_merma($tirada[$t], $POD),
'ancho' => intval($tamanio['ancho']) ?? 100000,
'alto' => intval($tamanio['alto']) ?? 100000,
'isCosido' => $is_cosido,
@@ -2269,15 +2271,15 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
$return_data['info'] = $info;
- if ($extra_info) { // && $tirada[$t] == $selected_tirada) {
+ if ($extra_info && ($tirada[$t] == $selected_tirada)) {
- $return_data['info']['interior'] = $interior;
- $return_data['info']['cubierta'] = $cubierta;
- $return_data['info']['sobrecubierta'] = $linea_sobrecubierta;
- $return_data['info']['guardas'] = $guardas;
- $return_data['info']['serviciosDefecto']['encuadernacion'] = $servDefectoEnc;
- $return_data['info']['serviciosDefecto']['manipulado'] = $servDefectoMan;
- $return_data['info']['servicios_automaticos'] = $serviciosAutomaticos;
+ $return_data['values']['interior'] = $interior;
+ $return_data['values']['cubierta'] = $cubierta;
+ $return_data['values']['sobrecubierta'] = $linea_sobrecubierta;
+ $return_data['values']['guardas'] = $guardas;
+ $return_data['values']['serviciosDefecto']['encuadernacion'] = $servDefectoEnc;
+ $return_data['values']['serviciosDefecto']['manipulado'] = $servDefectoMan;
+ $return_data['values']['servicios_automaticos'] = $serviciosAutomaticos;
}
}
@@ -2392,7 +2394,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
$merma = 0;
if ($tirada > $POD) {
- $merma = $tirada * 0.1 <= 30 ? $tirada * 0.1 : 30;
+ $merma = $tirada * 0.1;
} else {
$merma_lineas = [];
foreach ($formas_lineas_interior as $formas_linea) {
diff --git a/ci4/app/Language/es/Presupuestos.php b/ci4/app/Language/es/Presupuestos.php
index b48b477b..92e9a9a3 100755
--- a/ci4/app/Language/es/Presupuestos.php
+++ b/ci4/app/Language/es/Presupuestos.php
@@ -196,6 +196,7 @@ return [
'totalLinea' => 'TOTAL LÍNEA',
'verCalculos' => 'Cálculos',
'metrosMinuto' => 'Metros x min.',
+ 'clicksMinuto' => 'Clicks x min.',
'resolucion' => 'Resolución (dpi)',
'areaPaginas' => 'Área páginas (in)',
'gotasNegro' => 'Nº gotas negro',
diff --git a/ci4/app/Models/Presupuestos/PresupuestoModel.php b/ci4/app/Models/Presupuestos/PresupuestoModel.php
index 135efbc2..99e01b99 100755
--- a/ci4/app/Models/Presupuestos/PresupuestoModel.php
+++ b/ci4/app/Models/Presupuestos/PresupuestoModel.php
@@ -557,7 +557,7 @@ class PresupuestoModel extends \App\Models\BaseModel
// -- SOBRECUBIERTA --
if ($data['sobrecubierta']) {
$values['sobrecubierta'] = array(
- 'papel_id' => intval($data['sobrecubierta']['papel']),
+ 'papel_id' => intval($data['sobrecubierta']['papel']['id']),
'gramaje' => intval($data['sobrecubierta']['gramaje']),
'imprimir' => 1,
);
diff --git a/ci4/app/Services/PresupuestoService.php b/ci4/app/Services/PresupuestoService.php
index 39120a3b..66ea0f2c 100755
--- a/ci4/app/Services/PresupuestoService.php
+++ b/ci4/app/Services/PresupuestoService.php
@@ -462,21 +462,21 @@ class PresupuestoService extends BaseService
[$data['ancho'], $data['alto']] = PresupuestoService::calculoDimForma($datosPedido, $parametrosRotativa);
// 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);
+ $factor_anchura = floor($maquina->ancho_impresion / $datosPedido->ancho);
+ $factor_altura = round($maquina->alto_impresion / ($datosPedido->alto + self::MARGEN_PAGINAS_ROTATIVA), 2);
+ $factor_altura_click = round($maquina->alto_click / ($datosPedido->alto + self::MARGEN_PAGINAS_ROTATIVA), 2);
if (floor($factor_anchura) == 0) {
return [];
}
- $multiplicador_pliego = $datosPedido->isCosido ? 4 : 2;
- $paginas_por_pliego = round(floor($factor_anchura) * $factor_altura * $multiplicador_pliego, 2);
+ //$multiplicador_pliego = $datosPedido->isCosido ? 4 : 2;
+ $paginas_por_pliego = round($factor_anchura * $factor_altura * 2 /** $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);
+ $paginas_por_pliego_click = round($factor_anchura * $factor_altura_click * 2/** $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);
@@ -843,7 +843,7 @@ class PresupuestoService extends BaseService
$ancho_total = 0;
$sangre_cubierta = self::SANGRE_FORMAS_CUBIERTA;
if ($datosPedido->ancho >= 210) {
- $sangre_cubierta = 15;
+ $sangre_cubierta = 10;
}
if ($datosPedido) {
@@ -925,7 +925,7 @@ class PresupuestoService extends BaseService
$alto_total = floatval($datosPedido->alto);
$sangre_cubierta = self::SANGRE_FORMAS_CUBIERTA;
if ($datosPedido->alto >= 297) {
- $sangre_cubierta = 15;
+ $sangre_cubierta = 10;
}
// Tapa dura (cosido y fresado)
if ($tipo_impresion_id == 1 || $tipo_impresion_id == 3) {
diff --git a/ci4/app/Views/themes/vuexy/form/presupuestos/admin/_lineasPresupuestoItems.js b/ci4/app/Views/themes/vuexy/form/presupuestos/admin/_lineasPresupuestoItems.js
deleted file mode 100644
index dc99b9d2..00000000
--- a/ci4/app/Views/themes/vuexy/form/presupuestos/admin/_lineasPresupuestoItems.js
+++ /dev/null
@@ -1,370 +0,0 @@
-/***********************
- * Funcionamiento general de la página
- ************************/
-function fill_lp_from_bbdd(){
-
- window.lineasPresupuestoList.forEach(function(lp) {
-
- const formas = JSON.parse(lp.formas)
- lp.dimensiones_maquina = [formas.maquina_ancho, formas.maquina_alto]
- lp.dimensiones_maquina_impresion = [formas.maquina_impresion_ancho, formas.maquina_impresion_alto]
- lp.num_formas = {
- value : formas.formas,
- num_formas_verticales : formas.formas_v,
- num_formas_horizontales : formas.formas_h,
- posicion_formas : formas.formas_orientacion
- }
- lp['tipo_maquina'] = lp['maquina_tipo']
- lp['precio_impresion_horas'] = lp['precio_impresion']
- lp['margen_impresion_horas'] = lp['margen_impresion']
- lp['precio_libro'] = lp['libro']
- lp['precio_pedido'] = lp['total_papel_pedido']
- lp['total_impresion'] = lp['total_linea']
- lp['precios_pliegos'] = lp['pliegos_precio']
- lp['papel_generico_id'] = lp['papel_id']
-
- dateObj = new Date(lp['tiempo_maquina'] * 1000);
- hours = dateObj.getUTCHours();
- minutes = dateObj.getUTCMinutes();
- seconds = dateObj.getSeconds();
- lp['tiempo_maquina'] = hours.toString().padStart(2, '0') + ':' +
- minutes.toString().padStart(2, '0') + ':' +
- seconds.toString().padStart(2, '0');
-
- if(lp.maquina_tipo=='inkjet'){
-
- lp.datosTipologias = {
- negro: lp.rotativa_negro,
- cyan: lp.rotativa_cyan,
- magenta: lp.rotativa_magenta,
- amarillo: lp.rotativa_amarillo,
- cg: lp.rotativa_cg,
- gota_negro: lp.rotativa_gota_negro,
- gota_color: lp.rotativa_gota_color,
- }
-
- lp['paginas_color'] = lp['rotativa_pag_color']
-
- lp['totalImpresion'] = lp['rotativa_total_impresion']
- lp['a_favor_fibra'] = lp['rotativa_a_favor_fibra']
-
- lp['resolucion'] = lp['rotativa_resolucion']
- lp['superficie'] = lp['rotativa_area_paginas']
-
- lp['num_gotas_negro'] = lp['rotativa_num_gotas_negro']
- lp['num_gotas_cyan'] = lp['rotativa_num_gotas_cyan']
- lp['num_gotas_magenta'] = lp['rotativa_num_gotas_magenta']
- lp['num_gotas_amarillo'] = lp['rotativa_num_gotas_amarillo']
- lp['num_gotas_cg'] = lp['rotativa_num_gotas_cg']
-
- lp['precio_pagina_negro'] = lp['rotativa_precio_pag_negro']
- lp['precio_pagina_color'] = lp['rotativa_precio_pag_color']
- lp['factor_altura'] = lp['rotativa_factor_altura']
- lp['factor_anchura'] = lp['rotativa_factor_anchura']
- lp['paginas_por_pliego'] = lp['rotativa_pag_por_pliego']
-
- lp['clicks_libro'] = lp['rotativa_clicks_libro']
- lp['peso_gotas_negro'] = lp['rotativa_peso_gotas_negro']
- lp['peso_gotas_cyan'] = lp['rotativa_peso_gotas_cyan']
- lp['peso_gotas_magenta'] = lp['rotativa_peso_gotas_magenta']
- lp['peso_gotas_amarillo'] = lp['rotativa_peso_gotas_amarillo']
- lp['peso_gotas_cg'] = lp['rotativa_peso_gotas_cg']
- lp['clicks_pedido'] = lp['rotativa_clicks_total']
- lp['precio_click_pedido'] = lp['precio_click_pedido']
- lp['margen_click_pedido'] = lp['margen_click_pedido']
- lp['precio_tinta'] = lp['rotativa_precio_tinta']
-
-
- lp['peso_gotas_negro_pedido'] = lp['rotativa_peso_gotas_negro_pedido']
- lp['peso_gotas_cyan_pedido'] = lp['rotativa_peso_gotas_cyan_pedido']
- lp['peso_gotas_magenta_pedido'] = lp['rotativa_peso_gotas_magenta_pedido']
- lp['peso_gotas_amarillo_pedido'] = lp['rotativa_peso_gotas_amarillo_pedido']
- lp['peso_gotas_cg_pedido'] = lp['rotativa_peso_gotas_cg_pedido']
-
- }
- if(lp.tipo.includes('rot')){
-
- lp['maquina_velocidad'] = lp['rotativa_mxm']
- lp['metros_papel_libro'] = lp['rotativa_metros_libro']
- lp['metros_papel_total'] = lp['rotativa_metros_total']
- lp['velocidad_corte'] = lp['rotativa_velocidad_corte']
- lp['precio_hora_corte'] = lp['rotativa_precio_hora_corte']
- lp['tiempo_corte'] = lp['rotativa_tiempo_corte']
- lp['total_corte'] = lp['rotativa_total_corte']
- }
-
- lp['areaPaginas'] = lp['rotativa_superficie']
-
-
- data = processRowData(lp, lp.tipo, lp.tipo.replace(/_/g, '-'));
-
- var row = tableLineasPresupuesto.row("#" + lp.tipo);
-
- tableLineasPresupuesto.row.add(data).draw()
- row = tableLineasPresupuesto.row("#" + lp.tipo);
-
- row.child(format(row.data())).show();
-
- switch(lp.tipo){
- case 'lp_bn':
- eventos_lp_bn(lp.maquina_tipo=='inkjet'?true:false)
- break
- case 'lp_bnhq':
- eventos_lp_bnhq(lp.maquina_tipo=='inkjet'?true:false)
- break
- case 'lp_color':
- eventos_lp_color(lp.maquina_tipo=='inkjet'?true:false)
- break
- case 'lp_colorhq':
- eventos_lp_colorhq(lp.maquina_tipo=='inkjet'?true:false)
- break
- case 'lp_rot_bn':
- eventos_lp_rot_bn()
- break
- case 'lp_rot_color':
- eventos_lp_rot_color()
- break
- case 'lp_cubierta':
- eventos_lp_cubierta()
- break
- case 'lp_sobrecubierta':
- eventos_lp_sobrecubierta()
- break
- case 'lp_guardas':
- eventos_lp_guardas()
- lp['paginas_impresion'] = lp.paginas_impresion
- break
- }
-
- })
-
-}
-
-
-async function fill_bbdd_from_lp(presupuesto_id){
-
- data=[];
-
- tableLineasPresupuesto.rows().every( function ( rowIdx, tableLoop, rowLoop ) {
- var rowData = this.data();
- const formas = {
- maquina_ancho: rowData.maquina_ancho,
- maquina_alto: rowData.maquina_alto,
- maquina_impresion_ancho: rowData.maquina_impresion_ancho,
- maquina_impresion_alto: rowData.maquina_impresion_alto,
- formas: rowData.formas,
- formas_v: rowData.formas_v,
- formas_h: rowData.formas_h,
- formas_orientacion: rowData.formas_orientacion,
- }
-
- var t_maq_str = rowData.tiempo.split(':'); // split it at the colons
- var t_maq = 0
-
- if(t_maq_str.length == 3)
- t_maq = (+t_maq_str[0]) * 3600 + (+t_maq_str[1]) * 60 + (+t_maq_str[2]);
-
- linea_data = {
- presupuesto_id: presupuesto_id,
- tipo: rowData.row_id,
- paginas: (rowData.row_id=='lp_guardas')?(($('#tipo_impresion_id').val() == 1 || $('#tipo_impresion_id').val() == 3)?8:4):rowData.paginas,
- papel_id: rowData.papel,
- gramaje: rowData.gramaje,
- papel_impresion_id: rowData.papel_impresion_id,
- papel_impresion: rowData.papel_impresion,
- maquina_id: rowData.maquina_id,
- maquina: rowData.maquina,
- maquina_tipo: rowData.maquinaTipo,
- tiempo_maquina: t_maq,
- pliegos_libro: rowData.numeroPliegos,
- pliegos_pedido: rowData.pliegosPedido,
- pliegos_precio: rowData.precioPliego,
- libro: rowData.libro,
- total_papel_pedido: rowData.totalPapelPedido,
- margen_papel_pedido: rowData.margenPapelPedido,
- mano: rowData.lomo,
- peso: rowData.peso,
- precio_click: rowData.click,
- precio_click_pedido: rowData.totalClicks,
- margen_click_pedido: rowData.margenClicks,
- check_papel_total: $('#' + rowData.row_id + '_checkPapel').is(":checked")?1:0,
- check_impresion_total: $('#' + rowData.row_id + '_checkClicks').is(":checked")?1:0,
- tarifa_impresion_id: rowData.tarifa_impresion_id,
- formas: JSON.stringify(formas),
-
- horas_maquina: rowData.horasMaquina,
- precio_hora: rowData.precioHora,
- precio_impresion: rowData.precioImpresion,
- margen_impresion: rowData.margenImpresion,
- total_linea: rowData.total_linea,
- }
-
- if(rowData.row_id=='lp_guardas')
- linea_data.paginas_impresion = rowData.paginas_impresion
-
- // maquina rotativa o inkjet
- if(linea_data.maquina_tipo=='inkjet'){
-
- linea_data.rotativa_pag_color = rowData.numPagColor
-
- linea_data.rotativa_total_impresion = rowData.totalImpresion
- linea_data.rotativa_a_favor_fibra = rowData.aFavorFibra,
- linea_data.rotativa_negro = rowData.cobNegro
- linea_data.rotativa_cyan = rowData.cobCyan
- linea_data.rotativa_magenta = rowData.cobMagenta
- linea_data.rotativa_amarillo = rowData.cobAmarillo
- linea_data.rotativa_cg = rowData.cobCG
- linea_data.rotativa_gota_negro = rowData.gotaNegro
- linea_data.rotativa_gota_color = rowData.gotaColor
-
-
- linea_data.rotativa_resolucion = rowData.resolucion
- linea_data.rotativa_area_paginas = rowData.areaPaginas
-
- linea_data.rotativa_num_gotas_negro = rowData.gotaNegro
- linea_data.rotativa_num_gotas_cyan = rowData.gotasCyan
- linea_data.rotativa_num_gotas_magenta = rowData.gotasMagenta
- linea_data.rotativa_num_gotas_amarillo = rowData.gotasAmarillo
- linea_data.rotativa_num_gotas_cg = rowData.gotasCG
-
- linea_data.rotativa_precio_pag_negro = rowData.precioPagNegro
- linea_data.rotativa_precio_pag_color = rowData.precioPagColor
- linea_data.rotativa_factor_altura = rowData.factorAltura
- linea_data.rotativa_factor_anchura = rowData.factorAnchura
- linea_data.rotativa_pag_por_pliego = rowData.paginasPliego
-
- linea_data.rotativa_clicks_libro = rowData.clicksLibro
- linea_data.rotativa_peso_gotas_negro = rowData.gTintaNegro
- linea_data.rotativa_peso_gotas_cyan = rowData.gTintaCyan
- linea_data.rotativa_peso_gotas_magenta = rowData.gTintaMagenta
- linea_data.rotativa_peso_gotas_amarillo = rowData.gTintaAmarillo
- linea_data.rotativa_peso_gotas_cg = rowData.gTintaCG
- linea_data.rotativa_clicks_total = rowData.clicksPedido
- linea_data.precio_click_pedido = rowData.totalClicksPedido
- linea_data.rotativa_precio_tinta = rowData.totalTinta
-
-
- linea_data.rotativa_peso_gotas_negro_pedido = rowData.gTintaNegroPed
- linea_data.rotativa_peso_gotas_cyan_pedido = rowData.gTintaCyanPed
- linea_data.rotativa_peso_gotas_magenta_pedido = rowData.gTintaMagentaPed
- linea_data.rotativa_peso_gotas_amarillo_pedido = rowData.gTintaAmarilloPed
- linea_data.rotativa_peso_gotas_cg_pedido = rowData.gTintaCGPed
-
- }
- if(linea_data.tipo.includes('rot')){
-
- linea_data.rotativa_mxm = rowData.metrosMinuto
- linea_data.rotativa_metros_libro = rowData.metrosPapelLibro
- linea_data.rotativa_metros_total = rowData.metrosPapelTotal
- linea_data.rotativa_velocidad_corte = rowData.velocidadCorte
- linea_data.rotativa_precio_hora_corte = rowData.precioHoraCorte
- linea_data.rotativa_tiempo_corte = rowData.tiempoCorte
- linea_data.rotativa_total_corte = rowData.totalCorte
- linea_data.rotativa_a_favor_fibra = rowData.aFavorFibra==true?1:0
- }
-
- data.push(linea_data)
- } );
-
- var datos = {
- tipo: 'lineasPresupuesto',
- datos: data,
- presupuesto_id: presupuesto_id,
- }
- datos = Object.assign(datos, window.token_ajax);
-
- await $.ajax({
- type: 'post',
- url: window.routes_lp.updateDataOfPresupuestoAdmin,
-
- data: datos,
- dataType: 'json',
- success:function(response){
-
- token=response[window.csrf_token];
- yeniden(token);
- }
- }).fail(function (jqXHR, textStatus, error) {
- // Handle error here
- console.log(jqXHR)
- });
-
-}
-
-function checkPaginasPresupuesto(){
-
- cantidad_total = 0
-
- tableLineasPresupuesto.rows().every( function ( rowIdx, tableLoop, rowLoop ) {
- var rowData = this.data();
- if(rowData.row_id != 'lp_cubierta' && rowData.row_id != 'lp_sobrecubierta' && rowData.row_id != 'lp_guardas')
- cantidad_total += parseInt(rowData.paginas)
- })
- htmlString = ''
-
- if(cantidad_total != parseInt($('#paginas').val())){
- htmlString = `
-
-
-
-
-
-
` +
- window.Presupuestos.errores.paginasLP +
- `
-
-
`;
- }
- $('#divAlarmasLineasPresupuesto').html(htmlString)
-}
-
-// variable para controlar el foco en los inputs
-let focused = 0;
-
-function change_focus(){
- // se comprueba que el elemento es un input
- if($('#'+focused).is('input')){
- if(focused){
- $('#'+focused).focus();
- $('#'+focused).select();
- focused = 0;
- }
- }
-}
-
-
-
-
-
-tableLineasPresupuesto.on( 'draw.dt', function () {
- checkPaginasPresupuesto()
- getVisibleTabs()
-} );
-
-
-$(document).on('click', '.btn-delete-lp', function(e) {
-
- const row = $(this).closest('tr');
- data = tableLineasPresupuesto.row( row ).data()
- tableLineasPresupuesto.row( row )
- .remove()
- .draw();
-
- //updateTablaEnvios()
- updatePresupuesto({
- update_lineas: false,
- update_servicios: true,
- update_envios: true,
- update_resumen: true,
- update_tiradas_alternativas: true
- })
-
- if(data.row_id == 'lp_guardas')
- servicioGuardas(false)
-
- // Si existe cubierta, hay que actualizar con el valor del lomo
- check_update_cubierta()
-})
-
-
-
diff --git a/ci4/app/Views/themes/vuexy/form/presupuestos/admin/viewPresupuestoadminForm.php b/ci4/app/Views/themes/vuexy/form/presupuestos/admin/viewPresupuestoadminForm.php
index 016f4cac..6ff810f6 100644
--- a/ci4/app/Views/themes/vuexy/form/presupuestos/admin/viewPresupuestoadminForm.php
+++ b/ci4/app/Views/themes/vuexy/form/presupuestos/admin/viewPresupuestoadminForm.php
@@ -21,8 +21,7 @@
value="= $tipo_impresion_id ?>">
-
+
diff --git a/httpdocs/assets/js/safekat/components/preview.js b/httpdocs/assets/js/safekat/components/preview.js
index e7eada9d..c8153d4a 100644
--- a/httpdocs/assets/js/safekat/components/preview.js
+++ b/httpdocs/assets/js/safekat/components/preview.js
@@ -1,5 +1,6 @@
class previewFormas {
+
constructor(container, tipoLibro, tipoTapa, size, datos) {
this.container = container;
@@ -19,10 +20,211 @@ class previewFormas {
this.solapa = datos.solapas;
this.offsetSolapa = 3.0;
}
+ if (datos.solapas_sobrecubierta == undefined || datos.solapas_sobrecubierta == null || datos.solapas_sobrecubierta == false) {
+ this.solapas_sobrecubierta = 0;
+ this.offsetSolapa_sobrecubierta = 0.0;
+ }
+ else {
+ this.solapa_sobrecubierta = datos.solapas_sobrecubierta;
+ this.offsetSolapa_sobrecubierta = 3.0;
+ }
this.lomoRedondo = datos.lomoRedondo;
}
+ setContainer(container) {
+ this.container = container;
+ }
+
+ setData(datos) {
+
+ this.ancho = datos.ancho;
+ this.alto = datos.alto;
+ this.lomo = datos.lomo;
+
+ if (datos.solapas == undefined || datos.solapas == null || datos.solapas == false) {
+ this.solapa = 0;
+ this.offsetSolapa = 0.0;
+ }
+ else {
+ this.solapa = datos.solapas;
+ this.offsetSolapa = 3.0;
+ }
+ this.lomoRedondo = datos.lomoRedondo;
+ }
+
+ previewInteriorPlana(lpTagName, isCosido, isTapaDura) {
+
+ // Local parameters
+ let guardaV = 0;
+ let guardaH = 0;
+ let styleText = {size: 12, family: 'Public Sans'};
+
+ // Get the preview Object parameters
+ getObjetoLP(lpTagName, isCosido, isTapaDura);
+
+ // Configuracion de las guardas
+ // Guarda vertical
+ if (pvObj.nFormasV > 1) {
+ guardaV = 3;
+ }
+ // Guarda horizontal
+ if (pvObj.nFormasH > 1) {
+ guardaH = 3;
+ }
+ // Constantes relativas a las dimnesiones de la forma
+ let LVo = pvObj.altoForma / 2;
+ let LHo = pvObj.anchoForma / 2;
+
+ // Clear the canvas element
+ $('#pv_' + pvObj.idIndex + '_shape').empty();
+ // Get the element for placing the graphical elements
+ var divPlana = document.getElementById('pv_' + pvObj.idIndex + '_shape');
+ var _pvPlana = new Two({fitted: true}).appendTo(divPlana);
+ // Calculate the center of the canvas element
+ var origenPlana = new Two.Vector(_pvPlana.width / 2, _pvPlana.height / 2);
+
+ var areaMaquinaPlana = _pvPlana.makeRectangle(
+ origenPlana.x,
+ origenPlana.y,
+ pvObj.anchoMaquina,
+ pvObj.altoMaquina);
+ areaMaquinaPlana.stroke = 'black';
+ areaMaquinaPlana.fill = '#E69F6E';
+ areaMaquinaPlana.linewidth = 1;
+
+ var areaImpresionPlana = _pvPlana.makeRectangle(
+ origenPlana.x,
+ origenPlana.y,
+ pvObj.anchoImpresion,
+ pvObj.altoImpresion);
+ areaImpresionPlana.stroke = 'red';
+ areaImpresionPlana.fill = '#FCEAF1';
+ areaImpresionPlana.linewidth = 1;
+
+ var formas = [];
+
+ for (let iV = 0; iV < pvObj.nFormasV; iV++) {
+
+ for (let iH = 0; iH < pvObj.nFormasH; iH++) {
+
+ let _offsetX = ((((pvObj.nFormasH - 1) - 2 * iH) * LHo) + (((pvObj.nFormasH - 1) / 2 - iH) * guardaH));
+ let _offsetY = ((((pvObj.nFormasV - 1) - 2 * iV) * LVo) + (((pvObj.nFormasV - 1) / 2 - iV) * guardaV));
+
+ formas[iV + iH] = _pvPlana.makeRectangle(
+ origenPlana.x + _offsetX,
+ origenPlana.y + _offsetY,
+ pvObj.anchoForma,
+ pvObj.altoForma);
+ formas[iV + iH].stroke = 'grey';
+ formas[iV + iH].fill = '#F4F8F2';
+ formas[iV + iH].linewidth = 1;
+
+ // Texts
+ _pvPlana.makeText(pvObj.altoForma, (origenPlana.x + _offsetX) + (pvObj.anchoForma / 2 - 25), (origenPlana.y + _offsetY), styleText);
+ _pvPlana.makeText(pvObj.anchoForma, (origenPlana.x + _offsetX), (origenPlana.y + _offsetY) + (pvObj.altoForma / 2 - 15), styleText);
+
+ }
+ }
+ _pvPlana.update();
+ }
+
+ previewRotativa(lpTagName, isCosido, isTapaDura) {
+
+ // Local parameters
+ let styleText = {size: 12, family: 'Public Sans'};
+ let margenTop = 3;
+ let guardaV = 0;
+ let guardaH = 0;
+
+ // Get the preview Object parameters
+ getObjetoLP(lpTagName, isCosido, isTapaDura);
+
+ // Calculos
+ // Configuracion de las guardas
+ // Guarda vertical
+ if (pvObj.nFormasV > 1) {
+ guardaV = 3;
+ }
+ // Guarda horizontal
+ if (pvObj.nFormasH > 1) {
+ guardaH = 3;
+ }
+ // Constantes relativas al libro
+ let LVo = pvObj.altoForma / 2;
+ let LHo = pvObj.anchoForma / 2;
+
+ // offset Y
+ let nTopForms = (pvObj.altoImpresion / 2.0 - margenTop) / (LVo + guardaV);
+ let yOffset = LVo * getDecimalPart(nTopForms);
+
+ //console.log(yOffset);
+
+ // Clear the canvas element
+ $('#pv_' + pvObj.idIndex + '_shape').empty();
+ // Get the element for placing the graphical elements
+ var divRotativa = document.getElementById('pv_' + pvObj.idIndex + '_shape');
+ var _pvRotativa = new Two({fitted: true}).appendTo(divRotativa);
+ // Calculate the center of the canvas element
+ var origenRotativa = new Two.Vector(_pvRotativa.width / 2, _pvRotativa.height / 2);
+
+ var areaMaquinaRotativa = _pvRotativa.makeRectangle(
+ origenRotativa.x,
+ origenRotativa.y,
+ pvObj.anchoMaquina,
+ pvObj.altoMaquina);
+ areaMaquinaRotativa.stroke = 'black';
+ areaMaquinaRotativa.fill = '#E69F6E';
+ areaMaquinaRotativa.linewidth = 1;
+
+ var areaImpresionRotativa = _pvRotativa.makeRectangle(
+ origenRotativa.x,
+ origenRotativa.y,
+ pvObj.anchoImpresion,
+ pvObj.altoImpresion);
+ areaImpresionRotativa.stroke = 'red';
+ areaImpresionRotativa.fill = '#FCEAF1';
+ areaImpresionRotativa.linewidth = 1;
+
+ var areaClickRotativa = _pvRotativa.makeRectangle(
+ origenRotativa.x,
+ origenRotativa.y - (pvObj.altoImpresion / 2 - pvObj.altoClick / 2),
+ pvObj.anchoImpresion - 10,
+ pvObj.altoClick);
+ areaClickRotativa.stroke = 'blue';
+ //areaClickRotativa.fill = '#FCEAF1';
+ areaClickRotativa.linewidth = 2;
+
+ var formas = [];
+
+ for (let iV = 0; iV < pvObj.nFormasV; iV++) {
+
+ for (let iH = 0; iH < pvObj.nFormasH; iH++) {
+
+ let _offsetX = ((((pvObj.nFormasH - 1) - 2 * iH) * LHo) + (((pvObj.nFormasH - 1) / 2 - iH) * guardaH));
+ let _offsetY = ((((pvObj.nFormasV - 1) - 2 * iV) * LVo) + (((pvObj.nFormasV - 1) / 2 - iV) * guardaV));
+
+ formas[iV + iH] = _pvRotativa.makeRectangle(
+ origenRotativa.x + _offsetX,
+ (origenRotativa.y - yOffset) + _offsetY,
+ pvObj.anchoForma,
+ pvObj.altoForma);
+ formas[iV + iH].stroke = 'grey';
+ formas[iV + iH].fill = '#F4F8F2';
+ formas[iV + iH].linewidth = 1;
+
+ // Texts
+ _pvRotativa.makeText(pvObj.altoForma, (origenRotativa.x + _offsetX) + (pvObj.anchoForma / 2 - 25), ((origenRotativa.y - yOffset) + _offsetY), styleText);
+ _pvRotativa.makeText(pvObj.anchoForma, (origenRotativa.x + _offsetX), ((origenRotativa.y - yOffset) + _offsetY) + (pvObj.altoForma / 2 - 15), styleText);
+
+ }
+
+ }
+
+ _pvRotativa.update();
+
+ }
+
previewEsquemaCubierta() {
if (this.tipoLibro.includes("cosido") || this.tipoLibro.includes("fresado")) {
@@ -242,8 +444,8 @@ class previewFormas {
let sangradoTexto = "Sangrado 20 mm";
let sangradoValor = parseFloat(20); // mm
if (this.ancho >= 210 || this.alto >= 297) {
- sangradoValor = parseFloat(15); // mm
- sangradoTexto = "Sangrado 15 mm";
+ sangradoValor = parseFloat(10); // mm
+ sangradoTexto = "Sangrado 10 mm";
}
let anchoPliegue = parseFloat(7); // mm cajo
let altoPliegue = parseFloat(7); // mm
diff --git a/httpdocs/assets/js/safekat/pages/presupuestoAdmin/presupuestoAdminEdit.js b/httpdocs/assets/js/safekat/pages/presupuestoAdmin/presupuestoAdminEdit.js
index 56d2c448..28fd3c4e 100644
--- a/httpdocs/assets/js/safekat/pages/presupuestoAdmin/presupuestoAdminEdit.js
+++ b/httpdocs/assets/js/safekat/pages/presupuestoAdmin/presupuestoAdminEdit.js
@@ -5,6 +5,7 @@ import DatosGenerales from './sections/datosGenerales.js';
import DatosLibro from './sections/datosLibro.js';
import Comparador from './sections/comparador.js';
import LineasPresupuesto from './sections/lineasPresupuesto.js';
+import PreviewFormasAdmin from './sections/previewFormasAdmin.js';
class PresupuestoAdminEdit {
@@ -19,7 +20,6 @@ class PresupuestoAdminEdit {
this.lsc = $("#lomo_sobrecubierta");
this.cosido = $("#isCosido");
this.tipo_impresion = $("#tipo_impresion_id");
- this.cosido = $("#isCosido");
this.POD = $("#POD");
this.datosGenerales = new DatosGenerales(this.domItem.find('#accordionDatosPresupuestoTip'));
@@ -34,7 +34,8 @@ class PresupuestoAdminEdit {
{
getDimensionLibro: this.getDimensionLibro,
});
-
+
+ this.previewFormasAdmin = null;
this.calcularPresupuesto = false;
}
@@ -45,11 +46,43 @@ class PresupuestoAdminEdit {
document.querySelector('.select2-search__field').focus();
});
+ const impresion_id = $('#tipo_impresion_id').val();
+ let tipoLibro = '';
+ if (impresion_id == 1 || impresion_id == 2) {
+ tipoLibro = 'fresado';
+ } else if (impresion_id == 3 || impresion_id == 4) {
+ tipoLibro ='cosido';
+ } else if (impresion_id == 5 || impresion_id == 6) {
+ tipoLibro ='espiral';
+ } else if (impresion_id == 7 || impresion_id == 8) {
+ tipoLibro = 'wireo';
+ } else if (impresion_id == 21) {
+ tipoLibro = 'grapado';
+ }
+
+
this.datosGenerales.init();
this.datosLibro.init();
this.comparador.init();
this.lineasPresupuesto.init();
+ this.previewFormasAdmin = new PreviewFormasAdmin(tipoLibro, this.tipoTapa,
+ {
+ ancho: ()=>{return this.getDimensionLibro().ancho},
+ alto: ()=>{return this.getDimensionLibro().alto},
+ lomo: ()=>{$('#lc').val() === '' ? parseFloat('0.0') : parseFloat($('#lc').val())},
+ solapas: ()=>{
+ $('#solapas').prop('checked')?parseFloat($('#solapas_ancho').val()):0
+ },
+ solapas_sobrecubierta: ()=>{
+ $('#solapas_sobrecubierta').prop('checked')?parseFloat($('#solapas_ancho_sobrecubierta').val()):0
+ },
+ lomoRedondo: ()=>{
+ (self.tipo_impresion == 1 || $self.tipo_impresion == 3)?parseFloat($('#compLomoRedondo').val()):0
+ },
+ }
+ );
+
if (window.location.href.includes("edit")) {
setTimeout(() => {
@@ -88,7 +121,7 @@ class PresupuestoAdminEdit {
self.datosGenerales.cargarDatos(response.data.datosGenerales);
self.datosLibro.cargarDatos(response.data.datosLibro);
self.comparador.cargarDatos(response.data.comparador);
-
+ self.lineasPresupuesto.cargarDatos(response.data.lineasPresupuesto);
/*self.direcciones.handleChangeCliente();
self.direcciones.cargarDatos(response.data.direcciones, response.data.datosGenerales);
diff --git a/httpdocs/assets/js/safekat/pages/presupuestoAdmin/sections/comparador.js b/httpdocs/assets/js/safekat/pages/presupuestoAdmin/sections/comparador.js
index 720b9fa2..e88cb73f 100644
--- a/httpdocs/assets/js/safekat/pages/presupuestoAdmin/sections/comparador.js
+++ b/httpdocs/assets/js/safekat/pages/presupuestoAdmin/sections/comparador.js
@@ -162,7 +162,7 @@ class Comparador {
this.btnInsertarGuardas = $('#insertarGuardasBtn');
}
- if (this.tipo_impresion_id == 1 || this.tipo_impresion_id == 3){
+ if (this.tipo_impresion_id == 1 || this.tipo_impresion_id == 3) {
this.lomoRedondo = $('#compLomoRedondo');
this.cabezada = $('#cabezada');
}
@@ -221,7 +221,7 @@ class Comparador {
this.papelCubierta.init();
this.gramajeCubierta.init();
- if (this.tipo_impresion_id == 1 || this.tipo_impresion_id == 3){
+ if (this.tipo_impresion_id == 1 || this.tipo_impresion_id == 3) {
this.lomoRedondo.select2({
allowClear: false,
minimumResultsForSearch: Infinity,
@@ -355,21 +355,33 @@ class Comparador {
this.papelNegro.setOption(datos.json_data.bn.papel_id, datos.json_data.bn.papel_nombre);
this.gramajeNegro.setOption(datos.json_data.bn.gramaje, datos.json_data.bn.gramaje);
}
+ else {
+ this.paginasNegro.val(0);
+ }
if (datos.json_data.bnhq) {
this.paginasNegrohq.val(datos.json_data.bnhq.paginas);
this.papelNegrohq.setOption(datos.json_data.bnhq.papel_id, datos.json_data.bnhq.papel_nombre);
this.gramajeNegrohq.setOption(datos.json_data.bnhq.gramaje, datos.json_data.bnhq.gramaje);
}
+ else {
+ this.paginasNegrohq.val(0);
+ }
if (datos.json_data.color) {
this.paginasColor.val(datos.json_data.color.paginas);
this.papelColor.setOption(datos.json_data.color.papel_id, datos.json_data.color.papel_nombre);
this.gramajeColor.setOption(datos.json_data.color.gramaje, datos.json_data.color.gramaje);
}
+ else {
+ this.paginasColor.val(0);
+ }
if (datos.json_data.colorhq) {
this.paginasColorhq.val(datos.json_data.colorhq.paginas);
this.papelColorhq.setOption(datos.json_data.colorhq.papel_id, datos.json_data.colorhq.papel_nombre);
this.gramajeColorhq.setOption(datos.json_data.colorhq.gramaje, datos.json_data.colorhq.gramaje);
}
+ else {
+ this.paginasColorhq.val(0);
+ }
if (datos.json_data.cubierta) {
this.paginasCubierta.val(datos.json_data.cubierta.paginas);
this.papelCubierta.setOption(datos.json_data.cubierta.papel_id, datos.json_data.cubierta.papel_nombre);
@@ -386,8 +398,8 @@ class Comparador {
this.gramajeGuardas.setOption(datos.json_data.guardas.gramaje, datos.json_data.guardas.gramaje);
}
- if (this.tipo_impresion_id == 1 || this.tipo_impresion_id == 3){
- this.lomoRedondo.val(datos.lomoRedondo?1:0).trigger('change');
+ if (this.tipo_impresion_id == 1 || this.tipo_impresion_id == 3) {
+ this.lomoRedondo.val(datos.lomoRedondo ? 1 : 0).trigger('change');
this.cabezada.val(datos.cabezada).trigger('change');
}
@@ -397,7 +409,18 @@ class Comparador {
}
this.cargando = false;
- this.paginasNegro.trigger('change');
+ if (this.paginasNegro.val() > 0) {
+ this.paginasNegro.trigger('change');
+ }
+ else if (this.paginasNegrohq.val() > 0) {
+ this.paginasNegrohq.trigger('change');
+ }
+ else if (this.paginasColor.val() > 0) {
+ this.paginasColor.trigger('change');
+ }
+ else if (this.paginasColorhq.val() > 0) {
+ this.paginasColorhq.trigger('change');
+ }
this.paginasCubierta.trigger('change');
if (this.tipo_impresion_id == 1 || this.tipo_impresion_id == 3 || this.tipo_impresion_id == 5 || this.tipo_impresion_id == 7) {
this.carasGuardas.trigger('change');
@@ -789,7 +812,7 @@ class Comparador {
}
}
- if(!this.cargando)
+ if (!this.cargando)
$('#paginas').trigger('change');
}
@@ -854,15 +877,21 @@ class Comparador {
}
for (let element of papeles) {
if (element.getVal() == 0 || element.getVal() == null) {
- popErrorAlert(window.language.Presupuestos.errores.seleccionePapel, 'divAlarmasComparador');
- return { error: true, data: {} };
+ const tipo = element.item.attr('id').split('Papel')[1];
+ if ($('#compPaginas' + tipo).val() > 0) {
+ popErrorAlert(window.language.Presupuestos.errores.seleccionePapel, 'divAlarmasComparador');
+ return { error: true, data: {} };
+ }
}
};
for (let element of gramajes) {
if (element.getVal() == 0 || element.getVal() == null) {
- popErrorAlert(window.language.Presupuestos.errores.seleccioneGramaje, 'divAlarmasComparador');
- return { error: true, data: {} };
+ const tipo = element.item.attr('id').split('Papel')[1];
+ if ($('#compPaginas' + tipo).val() > 0) {
+ popErrorAlert(window.language.Presupuestos.errores.seleccioneGramaje, 'divAlarmasComparador');
+ return { error: true, data: {} };
+ }
}
};
@@ -961,8 +990,8 @@ class Comparador {
cliente_id: $('#clienteId').select2('data')[0].id,
papel_generico: papel_generico,
gramaje: gramaje,
- isColor: this.tipo_impresion.val().includes('color')?1:0,
- isHq: this.tipo_impresion.val().includes('hq')?1:0,
+ isColor: this.tipo_impresion.val().includes('color') ? 1 : 0,
+ isHq: this.tipo_impresion.val().includes('hq') ? 1 : 0,
paginas_color: paginasColor
}
@@ -970,12 +999,12 @@ class Comparador {
datos.datosPedido.lomo = $("#lomo_cubierta").val();
datos.datosPedido.solapas = $('#solapas').prop('checked') ? 1 : 0;
datos.datosPedido.solapas_ancho = $('#solapas').prop('checked') ? parseInt($('#solapas_ancho').val()) : 0;
- if (this.tipo_impresion_id == 1 || this.tipo_impresion_id == 3){
+ if (this.tipo_impresion_id == 1 || this.tipo_impresion_id == 3) {
datos.lomoRedondo = this.lomoRedondo.val();
}
}
else if (uso == 'sobrecubierta') {
- datos.datosPedido.lomo = $("#lomo_sobrecubierta");
+ datos.datosPedido.lomo = $("#lomo_sobrecubierta").val();
datos.datosPedido.solapas = $('#solapas_sobrecubierta').prop('checked') ? 1 : 0;
datos.datosPedido.solapas_ancho = $('#solapas_sobrecubierta').prop('checked') ? parseInt($('#solapas_ancho_sobrecubierta').val()) : 0;
}
@@ -1041,8 +1070,8 @@ class Comparador {
}
else {
- const isHq = this.tipo_impresion.val().includes('hq')?1:0;
- const isColor = this.tipo_impresion.val().includes('color')?1:0;
+ const isHq = this.tipo_impresion.val().includes('hq') ? 1 : 0;
+ const isColor = this.tipo_impresion.val().includes('color') ? 1 : 0;
datosComp.data['tipo_maquina'] = 'plana';
datosComp.data[this.csrf_token] = this.csrf_hash;
@@ -1085,13 +1114,24 @@ class Comparador {
// Rotativa
if (!isHq) {
- if (!isColor || (isColor && datosComp.data.papel_generico.negro.id == datosComp.data.papel_generico.color.id &&
- datosComp.data.gramaje.negro == datosComp.data.gramaje.color)) {
+ if (!isColor ||
+ (isColor && datosComp.data.papel_generico.negro.id == datosComp.data.papel_generico.color.id &&
+ datosComp.data.gramaje.negro == datosComp.data.gramaje.color) ||
+ (isColor && datosComp.data.datosPedido.paginas == parseInt(datosComp.data.paginas_color))) {
datosComp.data['tipo_maquina'] = 'rotativa';
- datosComp.data.papel_generico.id = datosComp.data.papel_generico.negro.id;
- datosComp.data.papel_generico.nombre = datosComp.data.papel_generico.negro.nombre;
- datosComp.data.gramaje = datosComp.data.gramaje.negro;
+ if (isColor && datosComp.data.datosPedido.paginas == parseInt(datosComp.data.paginas_color)) {
+ datosComp.data.papel_generico.id = datosComp.data.papel_generico.color.id;
+ datosComp.data.papel_generico.nombre = datosComp.data.papel_generico.color.nombre;
+ datosComp.data.gramaje = datosComp.data.gramaje.color;
+ }
+ else {
+ datosComp.data.papel_generico.id = datosComp.data.papel_generico.negro.id;
+ datosComp.data.papel_generico.nombre = datosComp.data.papel_generico.negro.nombre;
+ datosComp.data.gramaje = datosComp.data.gramaje.negro;
+ }
+
+
new Ajax('/presupuestoadmin/comparadorinterior',
datosComp.data,
{},
@@ -1252,9 +1292,9 @@ class Comparador {
if (datosComp.error) {
return;
}
-
+
datosComp.data[this.csrf_token] = this.csrf_hash;
-
+
new Ajax('/presupuestoadmin/comparadorguardas',
datosComp.data,
{},
@@ -1271,7 +1311,7 @@ class Comparador {
.draw();
});
}
-
+
self.selectLineas('guardas');
if (self.tableCompGuardas.rows().count() > 0) {
$('#title_guardas').html(window.language.Presupuestos.Guardas +
@@ -1543,7 +1583,7 @@ class Comparador {
data_str = JSON.stringify(data)
$('#comparador_json_data').val(data_str)
}
-}
+}
export default Comparador;
\ No newline at end of file
diff --git a/httpdocs/assets/js/safekat/pages/presupuestoAdmin/sections/lineasPresupuesto.js b/httpdocs/assets/js/safekat/pages/presupuestoAdmin/sections/lineasPresupuesto.js
index 62737f2a..a7b3393d 100644
--- a/httpdocs/assets/js/safekat/pages/presupuestoAdmin/sections/lineasPresupuesto.js
+++ b/httpdocs/assets/js/safekat/pages/presupuestoAdmin/sections/lineasPresupuesto.js
@@ -461,12 +461,166 @@ class LineasPresupuesto {
row.child(self.formatRow(row.data())).show();
self.#addEventosLineas(lp.tipo, lp.maquina_tipo == 'inkjet' ? true : false);
- if (lp.tipo=='lp_guardas')
- lp['paginas_impresion'] = lp.paginas_impresion;
-
+ if (lp.tipo == 'lp_guardas')
+ lp['paginas_impresion'] = lp.paginas_impresion;
+
});
}
+ guardarLineasPresupuesto() {
+
+ data = [];
+
+ this.table.rows().every(function (rowIdx, tableLoop, rowLoop) {
+
+ var rowData = this.data();
+
+ const formas = {
+ maquina_ancho: rowData.maquina_ancho,
+ maquina_alto: rowData.maquina_alto,
+ maquina_impresion_ancho: rowData.maquina_impresion_ancho,
+ maquina_impresion_alto: rowData.maquina_impresion_alto,
+ formas: rowData.formas,
+ formas_v: rowData.formas_v,
+ formas_h: rowData.formas_h,
+ formas_orientacion: rowData.formas_orientacion,
+ }
+
+ var t_maq_str = rowData.tiempo.split(':'); // split it at the colons
+ var t_maq = 0
+
+ if (t_maq_str.length == 3)
+ t_maq = (+t_maq_str[0]) * 3600 + (+t_maq_str[1]) * 60 + (+t_maq_str[2]);
+
+ linea_data = {
+ presupuesto_id: presupuesto_id,
+ tipo: rowData.row_id,
+ paginas: (rowData.row_id == 'lp_guardas') ? (($('#tipo_impresion_id').val() == 1 || $('#tipo_impresion_id').val() == 3) ? 8 : 4) : rowData.paginas,
+ papel_id: rowData.papel,
+ gramaje: rowData.gramaje,
+ papel_impresion_id: rowData.papel_impresion_id,
+ papel_impresion: rowData.papel_impresion,
+ maquina_id: rowData.maquina_id,
+ maquina: rowData.maquina,
+ maquina_tipo: rowData.maquinaTipo,
+ tiempo_maquina: t_maq,
+ pliegos_libro: rowData.numeroPliegos,
+ pliegos_pedido: rowData.pliegosPedido,
+ pliegos_precio: rowData.precioPliego,
+ libro: rowData.libro,
+ total_papel_pedido: rowData.totalPapelPedido,
+ margen_papel_pedido: rowData.margenPapelPedido,
+ mano: rowData.lomo,
+ peso: rowData.peso,
+ precio_click: rowData.click,
+ precio_click_pedido: rowData.totalClicks,
+ margen_click_pedido: rowData.margenClicks,
+ check_papel_total: $('#' + rowData.row_id + '_checkPapel').is(":checked") ? 1 : 0,
+ check_impresion_total: $('#' + rowData.row_id + '_checkClicks').is(":checked") ? 1 : 0,
+ tarifa_impresion_id: rowData.tarifa_impresion_id,
+ formas: JSON.stringify(formas),
+
+ horas_maquina: rowData.horasMaquina,
+ precio_hora: rowData.precioHora,
+ precio_impresion: rowData.precioImpresion,
+ margen_impresion: rowData.margenImpresion,
+ total_linea: rowData.total_linea,
+ }
+
+ if (rowData.row_id == 'lp_guardas')
+ linea_data.paginas_impresion = rowData.paginas_impresion
+
+ // maquina rotativa o inkjet
+ if (linea_data.maquina_tipo == 'inkjet') {
+
+ linea_data.rotativa_pag_color = rowData.numPagColor
+
+ linea_data.rotativa_total_impresion = rowData.totalImpresion
+ linea_data.rotativa_a_favor_fibra = rowData.aFavorFibra,
+ linea_data.rotativa_negro = rowData.cobNegro
+ linea_data.rotativa_cyan = rowData.cobCyan
+ linea_data.rotativa_magenta = rowData.cobMagenta
+ linea_data.rotativa_amarillo = rowData.cobAmarillo
+ linea_data.rotativa_cg = rowData.cobCG
+ linea_data.rotativa_gota_negro = rowData.gotaNegro
+ linea_data.rotativa_gota_color = rowData.gotaColor
+
+
+ linea_data.rotativa_resolucion = rowData.resolucion
+ linea_data.rotativa_area_paginas = rowData.areaPaginas
+
+ linea_data.rotativa_num_gotas_negro = rowData.gotaNegro
+ linea_data.rotativa_num_gotas_cyan = rowData.gotasCyan
+ linea_data.rotativa_num_gotas_magenta = rowData.gotasMagenta
+ linea_data.rotativa_num_gotas_amarillo = rowData.gotasAmarillo
+ linea_data.rotativa_num_gotas_cg = rowData.gotasCG
+
+ linea_data.rotativa_precio_pag_negro = rowData.precioPagNegro
+ linea_data.rotativa_precio_pag_color = rowData.precioPagColor
+ linea_data.rotativa_factor_altura = rowData.factorAltura
+ linea_data.rotativa_factor_anchura = rowData.factorAnchura
+ linea_data.rotativa_pag_por_pliego = rowData.paginasPliego
+
+ linea_data.rotativa_clicks_libro = rowData.clicksLibro
+ linea_data.rotativa_peso_gotas_negro = rowData.gTintaNegro
+ linea_data.rotativa_peso_gotas_cyan = rowData.gTintaCyan
+ linea_data.rotativa_peso_gotas_magenta = rowData.gTintaMagenta
+ linea_data.rotativa_peso_gotas_amarillo = rowData.gTintaAmarillo
+ linea_data.rotativa_peso_gotas_cg = rowData.gTintaCG
+ linea_data.rotativa_clicks_total = rowData.clicksPedido
+ linea_data.precio_click_pedido = rowData.totalClicksPedido
+ linea_data.rotativa_precio_tinta = rowData.totalTinta
+
+
+ linea_data.rotativa_peso_gotas_negro_pedido = rowData.gTintaNegroPed
+ linea_data.rotativa_peso_gotas_cyan_pedido = rowData.gTintaCyanPed
+ linea_data.rotativa_peso_gotas_magenta_pedido = rowData.gTintaMagentaPed
+ linea_data.rotativa_peso_gotas_amarillo_pedido = rowData.gTintaAmarilloPed
+ linea_data.rotativa_peso_gotas_cg_pedido = rowData.gTintaCGPed
+
+ }
+ if (linea_data.tipo.includes('rot')) {
+
+ linea_data.rotativa_mxm = rowData.metrosMinuto
+ linea_data.rotativa_metros_libro = rowData.metrosPapelLibro
+ linea_data.rotativa_metros_total = rowData.metrosPapelTotal
+ linea_data.rotativa_velocidad_corte = rowData.velocidadCorte
+ linea_data.rotativa_precio_hora_corte = rowData.precioHoraCorte
+ linea_data.rotativa_tiempo_corte = rowData.tiempoCorte
+ linea_data.rotativa_total_corte = rowData.totalCorte
+ linea_data.rotativa_a_favor_fibra = rowData.aFavorFibra == true ? 1 : 0
+ }
+
+ data.push(linea_data)
+ });
+
+ /*
+ var datos = {
+ tipo: 'lineasPresupuesto',
+ datos: data,
+ presupuesto_id: presupuesto_id,
+ }
+ datos = Object.assign(datos, window.token_ajax);
+
+ await $.ajax({
+ type: 'post',
+ url: window.routes_lp.updateDataOfPresupuestoAdmin,
+
+ data: datos,
+ dataType: 'json',
+ success: function (response) {
+
+ token = response[window.csrf_token];
+ yeniden(token);
+ }
+ }).fail(function (jqXHR, textStatus, error) {
+ // Handle error here
+ console.log(jqXHR)
+ });*/
+
+
+ }
+
mostrarTabsPreview() {
@@ -1009,7 +1163,7 @@ class LineasPresupuesto {
'' +
'' : '') +
(d.row_id.includes('rot') ? '' : '
') +
- window.language.Presupuestos.metrosMinuto +
+ window.language.Presupuestos.clicksMinuto +
'' +
'
' +
diff --git a/httpdocs/assets/js/safekat/pages/presupuestoAdmin/sections/previewFormasAdmin.js b/httpdocs/assets/js/safekat/pages/presupuestoAdmin/sections/previewFormasAdmin.js
new file mode 100644
index 00000000..9e382c00
--- /dev/null
+++ b/httpdocs/assets/js/safekat/pages/presupuestoAdmin/sections/previewFormasAdmin.js
@@ -0,0 +1,85 @@
+import previewFormas from '../../../components/preview.js';
+import preview from '../../../components/preview.js';
+
+class PreviewFormasAdmin{
+
+ constructor(tipoLibro, tipoTapa, data){
+
+ this.data = data;
+ this.isCosido = $("#isCosido").val();
+ this.tipoTapa = tipoTapa;
+
+ this.preview = new previewFormas(null, tipoLibro, tipoTapa, "thumbnail", data);
+ }
+
+ setData(data){
+ this.data = data;
+ }
+
+ init(){
+
+ const self = this;
+
+ $('#tab-pv-bn').on( "click", function() {
+
+ self.preview.setData(data);
+ self.preview.previewInteriorPlana('bn', self.isCosido, self.tipoTapa.constains("dura")?1:0);
+ } );
+ /*
+ $('#tab-pv-bnhq').on( "click", function() {
+
+ previewInteriorPlana('bnhq', , );
+
+ } );
+
+ $('#tab-pv-color').on( "click", function() {
+
+ previewInteriorPlana('color', , );
+
+ } );
+
+ $('#tab-pv-colorhq').on( "click", function() {
+
+
+ previewInteriorPlana('colorhq', , );
+
+ } );
+
+ $('#tab-pv-rot-bn').on( "click", function() {
+
+ previewRotativa('rot_bn', , );
+
+ } );*/
+
+ $('#tab-pv-rot-color').on( "click", function() {
+
+ self.preview.setData(data);
+ self.preview.previewRotativa('rot_color', self.isCosido, self.tipoTapa.constains("dura")?1:0);
+
+ } );
+ /*
+ $('#tab-pv-guardas').on( "click", function() {
+
+ previewInteriorPlana('guardas', , );
+
+ } );
+
+ $('#tab-pv-cubierta').on( "click", function() {
+
+ previewInteriorPlana('cubierta', , );
+
+ } );
+
+ $('#tab-pv-esquema-cubierta').on( "click", function() {
+
+ previewEsquemaCubierta('ec', , );
+
+ } );
+
+ $('#tab-pv-sobrecubierta').on( "click", function() {
+
+ previewInteriorPlana('sobrecubierta', , );
+
+ } );*/
+ }
+}
\ No newline at end of file
diff --git a/httpdocs/assets/js/safekat/pages/presupuestoCliente/presupuestoCliente.js b/httpdocs/assets/js/safekat/pages/presupuestoCliente/presupuestoCliente.js
index b096a520..4c016641 100644
--- a/httpdocs/assets/js/safekat/pages/presupuestoCliente/presupuestoCliente.js
+++ b/httpdocs/assets/js/safekat/pages/presupuestoCliente/presupuestoCliente.js
@@ -561,17 +561,17 @@ class PresupuestoCliente {
popAlert2Hide();
- for (let i = 0; i < tiradas.length; i++) {
+ for (let i = 0; i < response.tiradas.length; i++) {
new tarjetaTiradasPrecio(
this.divTiradasPrecios,
('precio-tiradas-' + response.tiradas[i]),
- tiradas[i],
- (parseFloat(response.precio_u[i]) * parseInt(tiradas[i])).toFixed(2),
+ response.tiradas[i],
+ (parseFloat(response.precio_u[i]) * parseInt(response.tiradas[i])).toFixed(2),
response.precio_u[i]
);
if (this.actualizarTiradasEnvio) {
- this.direcciones.insertTirada(tiradas[i]);
+ this.direcciones.insertTirada(response.tiradas[i]);
}
}