trabajando en el resumen

This commit is contained in:
2025-10-16 15:22:50 +02:00
parent 060b435388
commit ff9c04afb6
4 changed files with 81 additions and 19 deletions

View File

@ -10,23 +10,61 @@ import jakarta.validation.constraints.Min;
public class Marcapaginas {
public enum Acabado{
ninguno,
plastificado_brillo_1c,
plastificado_brillo_2c,
plastificado_mate_1c,
plastificado_mate_2c
ninguno("presupuesto.marcapaginas.acabado.ninguno"),
plastificado_brillo_1c("presupuesto.marcapaginas.acabado.plastificado-brillo-1c"),
plastificado_brillo_2c("presupuesto.marcapaginas.acabado.plastificado-brillo-2c"),
plastificado_mate_1c("presupuesto.marcapaginas.acabado.plastificado-mate-1c"),
plastificado_mate_2c("presupuesto.marcapaginas.acabado.plastificado-mate-2c");
private final String messageKey;
Acabado(String messageKey) {
this.messageKey = messageKey;
}
public String getMessageKey() {
return messageKey;
}
};
public enum Tamanios{
_50x140_, _50x170_, _50x210_
_50x140_,
_50x170_,
_50x210_;
private final String label;
Tamanios() {
this.label = this.name().replace("_", "") + " mm";
}
public String getLabel() {
return label;
}
};
public enum Papeles{
cartulina_grafica, estucado_mate
cartulina_grafica,
estucado_mate;
private final String messageKey;
Papeles() {
this.messageKey = "presupuesto.marcapaginas.papel." + this.name().replace("_", "-");
}
public String getMessageKey() {
return messageKey;
}
};
public enum Caras_Impresion{
una_cara, dos_caras
una_cara("presupuesto.marcapaginas.caras-impresion-1"),
dos_caras("presupuesto.marcapaginas.caras-impresion-2");
private final String messageKey;
Caras_Impresion(String messageKey) {
this.messageKey = messageKey;
}
public String getMessageKey() {
return messageKey;
}
};
@Id

View File

@ -100,11 +100,11 @@ public class PresupuestoFormDataMapper {
public static class DatosMarcapaginas {
public Integer marcapaginas_tirada = 100;
public String tamanio_marcapaginas = "_50x140_";
public String caras_impresion = "una_cara";
public String papel_marcapaginas = "cartulina_grafica";
public Integer gramaje_marcapaginas = 300;
public String acabado_marcapaginas = "ninguno";
public String tamanio = "_50x140_";
public String carasImpresion = "una_cara";
public String papel = "cartulina_grafica";
public Integer gramaje = 300;
public String acabado = "ninguno";
public Resultado resultado = new Resultado();
}

View File

@ -750,7 +750,7 @@ public class PresupuestoService {
* Mantiene firma para no romper llamadas existentes.
*/
public Map<String, Object> getTextosResumen(Presupuesto presupuesto, List<Map<String, Object>> servicios,
Locale locale) {
Map<String, Object> datosMaquetacion, Map<String, Object> datosMarcapaginas, Locale locale) {
Map<String, Object> resumen = new HashMap<>();
resumen.put("titulo", presupuesto.getTitulo());
@ -814,11 +814,34 @@ public class PresupuestoService {
HashMap<String, Object> servicioData = new HashMap<>();
servicioData.put("id", servicio.get("id"));
if (servicio.get("id").equals("marcapaginas")) {
String descripcion = servicio.get("label").toString();
/*String papel_marcapaginas = datosMarcapaginas != null
? ((Map<String, Object>) datosMarcapaginas).get("papel").toString()
: "";
if (papel_marcapaginas.equals("cartulina_grafica")) {
papel_marcapaginas = messageSource.getMessage("presupuesto.marcapaginas.papel.cartulina-grafica", null, locale);
} else if (papel_marcapaginas.equals("estucado_mate")) {
papel_marcapaginas = messageSource.getMessage("presupuesto.marcapaginas.papel.estucado-mate", null, locale);
} else {
papel_marcapaginas = "";
}*/
descripcion += "<br><ul><li>";
descripcion += Marcapaginas.Tamanios.valueOf(datosMarcapaginas.get("tamanio").toString()).getLabel() + ", ";
descripcion += Marcapaginas.Caras_Impresion.valueOf(datosMarcapaginas.get("carasImpresion").toString()).getMessageKey() + ", ";
descripcion += messageSource.getMessage(Marcapaginas.Papeles.valueOf(datosMarcapaginas.get("papel").toString()).getMessageKey(), null, locale) + " - " +
datosMarcapaginas.get("gramaje").toString() + " gr, ";
descripcion += messageSource.getMessage(Marcapaginas.Acabado.valueOf(datosMarcapaginas.get("acabado").toString()).getMessageKey(), null, locale);
descripcion += "</li></ul>";
servicioData.put("descripcion", descripcion);
} else {
} else if(servicio.get("id").equals("maquetacion")) {
String descripcion = servicio.get("label").toString();
servicioData.put("descripcion", descripcion);
}
servicioData.put("descripcion", servicio.get("label"));
else{
servicioData.put("descripcion", servicio.get("label"));
}
servicioData.put("precio", servicio.get("id").equals("marcapaginas")
? Double.parseDouble(servicio.get("price").toString())
/ Double.parseDouble(servicio.get("units").toString())
@ -858,7 +881,7 @@ public class PresupuestoService {
System.out.println("Error guardando datos adicionales: " + e.getMessage());
}
Map<String, Object> resumen = getTextosResumen(presupuesto, servicios, locale);
Map<String, Object> resumen = getTextosResumen(presupuesto, servicios, datosMaquetacion, datosMarcapaginas, locale);
if (resumen.containsKey("error"))
return resumen;
@ -1123,7 +1146,7 @@ public class PresupuestoService {
datosMaquetacion != null ? new ObjectMapper().writeValueAsString(datosMaquetacion) : null);
presupuesto.setDatosMarcapaginasJson(
datosMarcapaginas != null ? new ObjectMapper().writeValueAsString(datosMarcapaginas) : null);
var resumen = this.getTextosResumen(presupuesto, serviciosList, locale);
var resumen = this.getTextosResumen(presupuesto, serviciosList, datosMaquetacion, datosMarcapaginas, locale);
Object serviciosObj = resumen.get("servicios");

View File

@ -203,6 +203,7 @@ presupuesto.calcular-presupuesto=Calcular presupuesto
presupuesto.consultar-soporte=Consultar con soporte
# Pestaña resumen del presupuesto
presupuesto.resumen.tamanio=Tamaño
presupuesto.resumen.tabla.descripcion=Descripción
presupuesto.resumen.tabla.cantidad=Cantidad
presupuesto.resumen.tabla.precio-unidad=Precio/unidad