guardado faja datos libro

This commit is contained in:
2025-02-01 10:43:49 +01:00
parent 31f7f92448
commit a75ef4eae6
10 changed files with 96 additions and 39 deletions

View File

@ -478,6 +478,10 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
$data['datosLibro']['solapasSobrecubierta'] = $presupuesto->solapas_sobrecubierta;
$data['datosLibro']['solapasCubiertaAncho'] = $presupuesto->solapas_ancho;
$data['datosLibro']['solapasSobrecubiertaAncho'] = $presupuesto->solapas_ancho_sobrecubierta;
$data['datosLibro']['fajaColor'] = $presupuesto->faja_color;
$data['datosLibro']['fajaColorSolapasAncho'] = $presupuesto->solapas_ancho_faja_color;
$data['datosLibro']['fajaColorAlto'] = $presupuesto->alto_faja_color;
$modelAcabado = model("App\Models\Tarifas\Acabados\TarifaAcabadoModel");
$data['datosLibro']['acabadoCubierta']['id'] = $presupuesto->acabado_cubierta_id;
if ($presupuesto->acabado_cubierta_id == 0) {
@ -497,8 +501,7 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
$data['datosLibro']['marcapaginas'] = $presupuesto->marcapaginas;
$data['datosLibro']['retractilado'] = $presupuesto->retractilado;
$data['datosLibro']['retractilado5'] = $presupuesto->retractilado5;
$data['datosLibro']['fajaColor'] = $presupuesto->faja_color;
$data['comparador']['tipo_impresion'] = $presupuesto->comp_tipo_impresion;
$data['comparador']['json_data'] = json_decode($presupuesto->comparador_json_data, true);
if ($data['comparador']['json_data'] != null) {

View File

@ -31,7 +31,6 @@ class PresupuestoEntity extends \CodeIgniter\Entity\Entity
"retractilado" => false,
"retractilado5" => false,
"guardas" => false,
"faja_color" => false,
"recoger_en_taller" => false,
"ferro" => false,
"ferro_digital" => false,
@ -53,6 +52,9 @@ class PresupuestoEntity extends \CodeIgniter\Entity\Entity
"solapas_ancho" => 0.0,
"solapas_sobrecubierta" => false,
"solapas_ancho_sobrecubierta" => 0.0,
"faja_color" => false,
"solapas_ancho_faja_color" => 0.0,
"alto_faja_color" => 0.0,
"cosido" => false,
"sobrecubiertas" => false,
"sobrecubiertas_ancho" => 0.0,
@ -121,7 +123,6 @@ class PresupuestoEntity extends \CodeIgniter\Entity\Entity
"retractilado" => "boolean",
"retractilado5" => "boolean",
"guardas" => "boolean",
"faja_color" => "boolean",
"recoger_en_taller" => "boolean",
"ferro" => "boolean",
"ferro_digital" => "boolean",
@ -137,6 +138,9 @@ class PresupuestoEntity extends \CodeIgniter\Entity\Entity
"solapas_ancho" => "float",
"solapas_sobrecubierta" => "boolean",
"solapas_ancho_sobrecubierta" => "float",
"faja_color" => "boolean",
"solapas_ancho_faja_color" => "float",
"alto_faja_color" => "float",
"cosido" => "boolean",
"sobrecubiertas" => "boolean",
"sobrecubiertas_ancho" => "float",

View File

@ -54,7 +54,6 @@ class PresupuestoModel extends \App\Models\BaseModel
"retractilado",
"retractilado5",
"guardas",
"faja_color",
"recoger_en_taller",
"ferro",
"ferro_digital",
@ -76,6 +75,9 @@ class PresupuestoModel extends \App\Models\BaseModel
"solapas_ancho",
"solapas_sobrecubierta",
"solapas_ancho_sobrecubierta",
"solapas_ancho_faja_color",
"faja_color",
"alto_faja_color",
"cosido",
"sobrecubiertas",
"sobrecubiertas_ancho",

View File

@ -945,7 +945,7 @@ class PresupuestoService extends BaseService
$alto_total += (7 + 2 * self::SANGRE_FORMAS);
}
// Tapa dura (espiral y wire-0)
if ($tipo_impresion_id == 5 || $tipo_impresion_id == 7) {
else if ($tipo_impresion_id == 5 || $tipo_impresion_id == 7) {
// Sólo se le añade los 20mm de sangre por cada lado
$alto_total += (2 * self::SANGRE_FORMAS_CUBIERTA);
}

View File

@ -182,7 +182,7 @@
<?= lang('Presupuestos.altoFaja') ?>*
</label>
<input type="number" id="faja_alto" name="faja_alto" placeholder="0" maxLength="8"
step="1" class="form-control" value="50">
step="1" class="form-control" min="50" value="50">
<div class="form-text">
Entre 50 y 120 mm
</div>
@ -194,7 +194,7 @@
<?= lang('Presupuestos.tamanioSolapasFaja') ?>*
</label>
<input type="number" id="faja_solapas_ancho" name="faja_solapas_ancho" placeholder="0"
maxLength="8" step="1" class="form-control" value="60">
maxLength="8" step="1" min="60" class="form-control" value="60">
<div class="form-text">
Entre 60 y 120 mm
</div>

View File

@ -60,6 +60,7 @@
<option value="lp_cubierta"><?= lang('Presupuestos.cubierta') ?></option>
<option value="lp_sobrecubierta"><?= lang('Presupuestos.sobrecubierta') ?></option>
<option value="lp_guardas"><?= lang('Presupuestos.Guardas') ?></option>
<option value="lp_faja"><?= lang('Presupuestos.faja') ?></option>
</select>
</div>
</div>

View File

@ -34,6 +34,7 @@ class PresupuestoAdminEdit {
{
checkPaginasPresupuesto: this.checkPaginasPresupuesto,
getDimensionLibro: this.getDimensionLibro,
calcularSolapas: this.calcularSolapas.bind(this)
});
this.comparador = new Comparador(this.domItem.find('#accordionDatosPresupuestoClienteTip'),
{
@ -198,15 +199,15 @@ class PresupuestoAdminEdit {
...datos, ...{
paginas: this.datosLibro.paginas.val(),
tirada: this.datosLibro.tirada.val(),
papel_formato_id: this.datosLibro.tamanio.item.hasClass('d-none') ? 0 : this.datosLibro.tamanio.getVal(),
papel_formato_personalizado: this.datosLibro.tamanio.item.hasClass('d-none') ? 1 : 0,
papel_formato_id: this.datosLibro.tamanioPersonalizado.prop('checked') ? 0 : this.datosLibro.tamanio.getVal(),
papel_formato_personalizado: this.datosLibro.tamanioPersonalizado.prop('checked') ? 1 : 0,
merma: this.datosLibro.merma.val(),
merma_cubierta: this.datosLibro.mermaCubierta.val()
}
}
if (datos.papel_formato_personalizado) {
if (this.datosLibro.tamanioPersonalizado.prop('checked')) {
datos.papel_formato_ancho = this.datosLibro.anchoPersonalizado.val(),
datos.papel_formato_alto = this.datosLibro.altoPersonalizado.val()
datos.papel_formato_alto = this.datosLibro.altoPersonalizado.val()
}
datos.selectedTirada = this.datosLibro.tirada.val();
datos.acabado_cubierta_id = this.datosLibro.acabadoCubierta.getVal();
@ -244,6 +245,10 @@ class PresupuestoAdminEdit {
datos.solapas_sobrecubierta = this.datosLibro.solapasSobrecubierta.is(':checked') ? 1 : 0;
datos.solapas_ancho_sobrecubierta = this.datosLibro.anchoSolapasSobrecubierta.val();
datos.faja_color = this.datosLibro.faja.prop('checked') ? 1: 0;
datos.solapas_ancho_faja_color = this.datosLibro.fajaSolapasAncho.val();
datos.alto_faja_color = this.datosLibro.fajaAlto.val();
datos.entrega_taller = this.envios.recogerTaller.is(':checked') ? 1 : 0;
if (parseInt(this.cosido.val())) {
@ -377,6 +382,11 @@ class PresupuestoAdminEdit {
}, 0);
this.calcularSolapas();
if ($('#faja_alto').length > 0 && $('#faja_alto').attr('max') != this.getDimensionLibro().alto) {
$('#faja_alto').attr('max', this.getDimensionLibro().alto);
$('#faja_alto').trigger('change');
$('#faja_alto').closest('.mb-1').find('.form-text').text('Entre 50 y ' + this.getDimensionLibro().alto + ' mm');
}
// Funciones para detectar cambios en el formulario
this.#checkChangesPresupuesto();
@ -470,10 +480,10 @@ class PresupuestoAdminEdit {
$('#solapas_ancho_sobrecubierta').trigger('change');
$('#solapas_ancho_sobrecubierta').closest('.mb-1').find('.form-text').text('Entre 60 y ' + maxSolapas + ' mm');
}
if ($('#solapas_ancho_faja').length > 0 && $('#solapas_ancho_faja').attr('max') != maxSolapas) {
$('#solapas_ancho_faja').attr('max', maxSolapas);
$('#solapas_ancho_faja').trigger('change');
$('#solapas_ancho_faja').closest('.mb-1').find('.form-text').text('Entre 60 y ' + maxSolapas + ' mm');
if ($('#faja_solapas_ancho').length > 0 && $('#faja_solapas_ancho').attr('max') != maxSolapas) {
$('#faja_solapas_ancho').attr('max', maxSolapas);
$('#faja_solapas_ancho').trigger('change');
$('#faja_solapas_ancho').closest('.mb-1').find('.form-text').text('Entre 60 y ' + maxSolapas + ' mm');
}
}

View File

@ -9,6 +9,7 @@ class DatosLibro {
this.checkPaginasPresupuesto = functions.checkPaginasPresupuesto;
this.getDimensionLibro = functions.getDimensionLibro;
this.calcularSolapas = functions.calcularSolapas;
this.csrf_token = getToken();
this.csrf_hash = $('#mainContainer').find('input[name="' + this.csrf_token + '"]').val();
@ -101,8 +102,10 @@ class DatosLibro {
this.paginas.on('change', this.changePaginas.bind(this));
this.tirada.on('change', this.changeTirada.bind(this));
this.anchoSolapasCubierta.on('focusout', this.checkSolapaAncho.bind(this));
this.anchoSolapasSobrecubierta.on('focusout', this.checkSolapaAncho.bind(this));
this.anchoSolapasCubierta.on('focusout', this.checkMinMaxInput.bind(this));
this.anchoSolapasSobrecubierta.on('focusout', this.checkMinMaxInput.bind(this));
this.fajaSolapasAncho.on('focusout', this.checkMinMaxInput.bind(this));
this.fajaAlto.on('focusout', this.checkMinMaxInput.bind(this));
this.faja.on('change', this.changeFaja.bind(this));
}
@ -120,7 +123,7 @@ class DatosLibro {
}
}
checkSolapaAncho(event) {
checkMinMaxInput(event) {
const el = event.target;
if (el.value != "") {
@ -200,6 +203,13 @@ class DatosLibro {
this.checkPaginasPresupuesto();
this.calcularSolapas();
if ($('#faja_alto').length > 0 && $('#faja_alto').attr('max') != this.getDimensionLibro().alto) {
$('#faja_alto').attr('max', this.getDimensionLibro().alto);
$('#faja_alto').trigger('change');
$('#faja_alto').closest('.mb-1').find('.form-text').text('Entre 50 y ' + this.getDimensionLibro().alto + ' mm');
}
$(document).trigger('update-presupuesto', {
update_lineas: true,
update_servicios: true,
@ -500,6 +510,13 @@ class DatosLibro {
$('#div_solapas_ancho_sobrecubierta').addClass('d-none');
}
this.faja.prop('checked', datos.fajaColor);
if(datos.fajaColor){
this.div_faja.removeClass('d-none');
this.fajaAlto.val(datos.fajaColorAlto).trigger('change');
this.fajaSolapasAncho.val(datos.fajaColorSolapasAncho).trigger('change');
}
this.acabadoCubierta.setOption(datos.acabadoCubierta.id, datos.acabadoCubierta.text);

View File

@ -862,6 +862,25 @@ class LineasPresupuesto {
this.#addEventosLineas('lp_sobrecubierta', false);
break
case 'lp_faja':
var hayLinea = false
for (let number = 0; number < dataRows.length; number++) {
if (dataRows[number].row_id == 'lp_faja') {
hayLinea = true;
continue;
}
}
if (hayLinea) {
popErrorAlert(window.language.Presupuestos.errores.lineaDuplicada, 'divAlarmasLineasPresupuesto');
break;
}
var data = this.#processRowData({ tipo_maquina: 'toner' }, 'lp_faja', 'lp-faja');
this.table.row.add(data).draw();
this.#addEventosLineas('lp_faja', false);
break
case 'lp_guardas':
var hayLinea = false
for (let number = 0; number < dataRows.length; number++) {
@ -1408,15 +1427,15 @@ class LineasPresupuesto {
if (linea == 'lp_faja') {
if (Object.keys(input_data).length == 0) {
let altoSelected = parseInt($('#' + linea + '_altoFaja').val());
if(altoSelected == 0 || isNaN(altoSelected) || altoSelected == '' || altoSelected < 50){
if (altoSelected == 0 || isNaN(altoSelected) || altoSelected == '' || altoSelected < 50) {
altoSelected = 50;
}
else if(altoSelected > dimension.alto){
else if (altoSelected > dimension.alto) {
altoSelected = dimension.alto;
}
dimension.alto = altoSelected;
}
else{
else {
dimension.alto = parseInt($('#faja_alto').val());
}
}
@ -1644,7 +1663,7 @@ class LineasPresupuesto {
}
let datosLinea = currentRow.data();
if(linea == 'lp_faja') {
if (linea == 'lp_faja') {
datosLinea.alto_faja = row.alto_faja;
}
@ -1701,6 +1720,7 @@ class LineasPresupuesto {
case 'lp_guardas':
case 'lp_cubierta':
case 'lp_sobrecubierta':
case 'lp_faja':
tipo = 'colorhq';
break
default:
@ -1813,7 +1833,7 @@ class LineasPresupuesto {
$('#' + tipoLinea + '_aFavorFibra').on("change", () => { this.change_aFavorFibra(tipoLinea); });
}
if(tipoLinea == 'lp_faja') {
if (tipoLinea == 'lp_faja') {
$('#' + tipoLinea + '_altoFaja').on("change", function (event) {
self.obtenerLinea(tipoLinea, false, false, {}, event); // Pasamos explícitamente 'tipoLinea'
}.bind(this));

View File

@ -311,29 +311,29 @@ class Resumen {
getData(){
let data = {
'total_coste_papel': $('#totalCostePapel').attr('val').replace('€', ''),
'total_margen_papel': $('#margenPapel').attr('val').replace('€', ''),
'total_coste_papel': $('#totalCostePapel').text().replace('€', ''),
'total_margen_papel': $('#margenPapel').text().replace('€', ''),
'total_margenPercent_papel': $('#porcentajeMargenPapel').text().replace('%', ''),
'total_coste_impresion': $('#totalCosteImpresion').attr('val').replace('€', ''),
'total_margen_impresion': $('#margenImpresion').attr('val').replace('€', ''),
'total_coste_impresion': $('#totalCosteImpresion').text().replace('€', ''),
'total_margen_impresion': $('#margenImpresion').text().replace('€', ''),
'total_margenPercent_impresion': $('#porcentajeMargenImpresion').text().replace('%', ''),
'total_coste_servicios': $('#totalServicios').attr('val').replace('€', ''),
'total_margen_servicios': $('#margenServicios').attr('val').replace('€', ''),
'total_coste_servicios': $('#totalServicios').text().replace('€', ''),
'total_margen_servicios': $('#margenServicios').text().replace('€', ''),
'total_margenPercent_servicios': $('#porcentajeMargenServicios').text().replace('%', ''),
'total_coste_envios': $('#totalEnvios').attr('val').replace('€', ''),
'total_margen_envios': $('#margenEnvios').attr('val').replace('€', ''),
'total_coste_envios': $('#totalEnvios').text().replace('€', ''),
'total_margen_envios': $('#margenEnvios').text().replace('€', ''),
'total_costes': $('#totalCostes').attr('val').replace('€', ''),
'total_margenes': $('#totalMargenes').attr('val').replace('€', ''),
'total_costes': $('#totalCostes').text().replace('€', ''),
'total_margenes': $('#totalMargenes').text().replace('€', ''),
'total_antes_descuento': $('#totalAntesDescuento').attr('val').replace('€', ''),
'total_descuento': $('#descuentoTotal').attr('val').replace('€', ''),
'total_antes_descuento': $('#totalAntesDescuento').text().replace('€', ''),
'total_descuento': $('#descuentoTotal').text().replace('€', ''),
'total_descuentoPercent': $('#total_descuentoPercent').val().replace('€', ''),
'total_presupuesto': $('#totalDespuesDecuento').attr('val').replace('€', ''),
'total_precio_unidad': $('#precioUnidadPresupuesto').attr('val').replace('€', ''),
'total_presupuesto': $('#totalDespuesDecuento').text().replace('€', ''),
'total_precio_unidad': $('#precioUnidadPresupuesto').text().replace('€', ''),
'total_factor': $('#factor').text().replace(/,/g, '.'),
'total_factor_ponderado': $('#factor_ponderado').text().replace(/,/g, '.'),
@ -341,7 +341,7 @@ class Resumen {
if($('#confirmar_presupuesto').prop('checked')){
data.confirmar = '1';
data.total_aceptado = $('#totalDespuesDecuento').attr('val').replace('€', '');
data.total_aceptado = $('#totalDespuesDecuento').text().replace('€', '');
}
return data;