añadidos acabados

This commit is contained in:
Jaime Jiménez
2025-08-06 13:28:59 +02:00
parent a1b8fb01fc
commit 185088f487
6 changed files with 155 additions and 17 deletions

View File

@ -131,6 +131,11 @@ public class Presupuesto {
@Column(name = "gramaje_cubierta")
private Integer gramajeCubierta = 240;
@NotNull(message = "{presupuesto.errores.acabado-cubierta}", groups = PresupuestoValidationGroups.Cubierta.class)
@Column(name = "acabado")
private Integer acabado = 1;
// Getters y Setters
public String getAutor() {
@ -369,4 +374,12 @@ public class Presupuesto {
this.gramajeCubierta = gramajeCubierta;
}
public Integer getAcabado() {
return acabado;
}
public void setAcabado(Integer acabado) {
this.acabado = acabado;
}
}

View File

@ -49,7 +49,7 @@ public class PresupuestoController {
// opciones color
Map<String, Object> resultado = presupuestoService.obtenerOpcionesColor(presupuesto, locale);
// opciones papel interior
resultado.putAll(presupuestoService.obtenerOpcionesPapelInterior(presupuesto, locale));
@ -76,6 +76,7 @@ public class PresupuestoController {
}
Map<String, Object> resultado = new HashMap<>();
resultado.put("solapas", apiClient.getMaxSolapas(presupuestoService.toSkApiRequest(presupuesto)));
resultado.putAll(presupuestoService.obtenerOpcionesAcabadosCubierta(presupuesto, locale));
return ResponseEntity.ok(resultado);
}
@ -201,4 +202,14 @@ public class PresupuestoController {
return ResponseEntity.ok(resultado);
}
@PostMapping("/public/get-acabados-cubierta")
public ResponseEntity<?> getAcabadosCubierta(
Presupuesto presupuesto,
BindingResult result, Locale locale) {
Map<String, Object> resultado = presupuestoService.obtenerOpcionesAcabadosCubierta(presupuesto, locale);
return ResponseEntity.ok(resultado);
}
}

View File

@ -10,6 +10,7 @@ import java.util.stream.Collectors;
import java.util.Locale;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.MessageSource;
import org.springframework.stereotype.Service;
import com.imprimelibros.erp.configurationERP.VariableService;
@ -23,6 +24,9 @@ public class PresupuestoService {
@Autowired
protected VariableService variableService;
@Autowired
protected MessageSource messageSource;
private final PresupuestadorItems presupuestadorItems;
public PresupuestoService(PresupuestadorItems presupuestadorItems) {
@ -60,16 +64,16 @@ public class PresupuestoService {
opciones.add(opcionColor);
}
ImagenPresupuesto opcionColorHq = this.presupuestadorItems.getImpresionColorPremium(locale);
if(Presupuesto.TipoImpresion.colorhq.equals(presupuesto.getTipoImpresion()))
if (Presupuesto.TipoImpresion.colorhq.equals(presupuesto.getTipoImpresion()))
opcionColorHq.setSelected(true);
opciones.add(opcionColorHq);
} else {
ImagenPresupuesto opcionNegro = this.presupuestadorItems.getImpresionNegro(locale);
if(Presupuesto.TipoImpresion.negro.equals(presupuesto.getTipoImpresion()))
if (Presupuesto.TipoImpresion.negro.equals(presupuesto.getTipoImpresion()))
opcionNegro.setSelected(true);
opciones.add(opcionNegro);
ImagenPresupuesto opcionNegroHq = this.presupuestadorItems.getImpresionNegroPremium(locale);
if(Presupuesto.TipoImpresion.negrohq.equals(presupuesto.getTipoImpresion()))
if (Presupuesto.TipoImpresion.negrohq.equals(presupuesto.getTipoImpresion()))
opcionNegroHq.setSelected(true);
opciones.add(opcionNegroHq);
}
@ -342,7 +346,63 @@ public class PresupuestoService {
} else {
return 0; // Default case, no valid type
}
}
public Map<String, Object> obtenerOpcionesAcabadosCubierta(Presupuesto presupuesto, Locale locale) {
Map<String, Object> resultado = new HashMap<>();
List<Object> opciones = new ArrayList<>();
opciones.add(new HashMap<>() {
{
put("name", messageSource.getMessage("presupuesto.acabado-ninguno", null, locale));
put("sk-id", 0);
}
});
opciones.add(new HashMap<>() {
{
put("name", messageSource.getMessage("presupuesto.acabado-plastificado-brillo-1c", null, locale));
put("sk-id", 1);
}
});
opciones.add(new HashMap<>() {
{
put("name", messageSource.getMessage("presupuesto.acabado-plastificado-mate-1c", null, locale));
put("sk-id", 5);
}
});
opciones.add(new HashMap<>() {
{
put("name", messageSource.getMessage("presupuesto.acabado-plastificado-mate-1c-antirrayado", null, locale));
put("sk-id", 8);
}
});
opciones.add(new HashMap<>() {
{
put("name", messageSource.getMessage("presupuesto.acabado-plastificado-mate-uvi", null, locale));
put("sk-id", 2);
}
});
opciones.add(new HashMap<>() {
{
put("name", messageSource.getMessage("presupuesto.acabado-plastificado-mate-uvi3d", null, locale));
put("sk-id", 3);
}
});
opciones.add(new HashMap<>() {
{
put("name", messageSource.getMessage("presupuesto.acabado-plastificado-mate-uvi-braile", null, locale));
put("sk-id", 4);
}
});
opciones.add(new HashMap<>() {
{
put("name", messageSource.getMessage("presupuesto.acabado-plastificado-sandy-1c", null, locale));
put("sk-id", 9);
}
});
resultado.put("opciones_acabados_cubierta", opciones);
return resultado;
}
}