añadido grapado al validados para tipos de paginas distintas

This commit is contained in:
2025-10-15 11:13:45 +02:00
parent 9f33db4055
commit 70856edc12
4 changed files with 9 additions and 9 deletions

View File

@ -4,7 +4,7 @@ import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import com.imprimelibros.erp.presupuesto.validation.ConsistentTiradas;
import com.imprimelibros.erp.presupuesto.validation.PaginasCosido;
import com.imprimelibros.erp.presupuesto.validation.PaginasCosidoGrapado;
import com.imprimelibros.erp.presupuesto.validation.Par;
import com.imprimelibros.erp.presupuesto.validation.PresupuestoValidationGroups;
import com.imprimelibros.erp.presupuesto.validation.Tamanio;
@ -23,7 +23,7 @@ import java.math.BigDecimal;
import com.imprimelibros.erp.users.User;
@ConsistentTiradas(groups = PresupuestoValidationGroups.DatosGenerales.class)
@PaginasCosido(groups = PresupuestoValidationGroups.DatosGenerales.class)
@PaginasCosidoGrapado(groups = PresupuestoValidationGroups.DatosGenerales.class)
@Tamanio(groups = PresupuestoValidationGroups.DatosGenerales.class)
@EntityListeners(AuditingEntityListener.class)
@Entity

View File

@ -6,10 +6,10 @@ import jakarta.validation.Payload;
import java.lang.annotation.*;
@Documented
@Constraint(validatedBy = PaginasCosidoValidator.class)
@Constraint(validatedBy = PaginasCosidoGrapadoValidator.class)
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
public @interface PaginasCosido {
public @interface PaginasCosidoGrapado {
String message() default "Las tiradas deben ser todas mayores o todas menores al valor POD";
Class<?>[] groups() default {};
Class<? extends Payload>[] payload() default {};

View File

@ -1,6 +1,5 @@
package com.imprimelibros.erp.presupuesto.validation;
import com.imprimelibros.erp.configurationERP.VariableService;
import com.imprimelibros.erp.presupuesto.dto.Presupuesto;
import jakarta.validation.ConstraintValidator;
@ -9,7 +8,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.MessageSource;
import org.springframework.context.i18n.LocaleContextHolder;
public class PaginasCosidoValidator implements ConstraintValidator<PaginasCosido, Presupuesto> {
public class PaginasCosidoGrapadoValidator implements ConstraintValidator<PaginasCosidoGrapado, Presupuesto> {
@Autowired
private MessageSource messageSource;
@ -20,10 +19,11 @@ public class PaginasCosidoValidator implements ConstraintValidator<PaginasCosido
return true;
if (presupuesto.getTipoEncuadernacion() != null &&
presupuesto.getTipoEncuadernacion() == Presupuesto.TipoEncuadernacion.cosido) {
(presupuesto.getTipoEncuadernacion() == Presupuesto.TipoEncuadernacion.cosido ||
presupuesto.getTipoEncuadernacion() == Presupuesto.TipoEncuadernacion.grapado)) {
if (presupuesto.getPaginasColor() > 0 && presupuesto.getPaginasNegro() > 0) {
String mensajeInterpolado = messageSource.getMessage(
"presupuesto.errores.tipo-paginas-cosido",
"presupuesto.errores.tipo-paginas-cosido-grapado",
null,
LocaleContextHolder.getLocale() // respeta el idioma actual
);

View File

@ -314,7 +314,7 @@ presupuesto.errores.paginasNegro.required=El número de páginas en negro es obl
presupuesto.errores.paginasNegro.par=El número de páginas en negro debe ser par
presupuesto.errores.paginasColor.required=El número de páginas en color es obligatorio
presupuesto.errores.paginasColor.par=El número de páginas en color debe ser par
presupuesto.errores.tipo-paginas-cosido=Para encuadernación cosido, sólo se pueden seleccionar o bien páginas a color o páginas en blanco y negro. No se pueden mezclar.
presupuesto.errores.tipo-paginas-cosido-grapado=Para encuadernación cosido o grapado, sólo se pueden seleccionar o bien páginas a color o páginas en blanco y negro. No se pueden mezclar.
presupuesto.errores.tipo-encuadernacion=Seleccione el tipo de libro
presupuesto.errores.ancho=El ancho no puede estar vacío
presupuesto.errores.ancho.min_max=El ancho tiene que estar en el rango [{0}, {1}] mm;