trabajando con las lineas del resumen para la tabla

This commit is contained in:
2025-09-23 20:28:33 +02:00
parent c1df92b840
commit 0d205f9488
9 changed files with 131 additions and 88 deletions

View File

@ -3,6 +3,7 @@ package com.imprimelibros.erp.presupuesto;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import java.math.BigDecimal;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;
@ -21,6 +22,7 @@ import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.http.MediaType;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.imprimelibros.erp.externalApi.skApiClient;
import com.imprimelibros.erp.presupuesto.classes.ImagenPresupuesto;
import com.imprimelibros.erp.presupuesto.classes.PresupuestoMaquetacion;
@ -42,6 +44,12 @@ public class PresupuestoController {
@Autowired
protected MessageSource messageSource;
private final ObjectMapper objectMapper;
public PresupuestoController(ObjectMapper objectMapper){
this.objectMapper = objectMapper;
}
@PostMapping("/public/validar/datos-generales")
public ResponseEntity<?> validarDatosGenerales(
@Validated(PresupuestoValidationGroups.DatosGenerales.class) Presupuesto presupuesto,
@ -368,30 +376,13 @@ public class PresupuestoController {
// Se hace un post para no tener problemas con la longitud de la URL
@PostMapping("/public/resumen")
public ResponseEntity<?> getResumen(@RequestBody PresupuestoRequest req, Locale locale) {
Presupuesto p = req.getPresupuesto();
String[] servicios = req.getServicios() != null ? req.getServicios() : new String[0];
return ResponseEntity.ok(presupuestoService.getResumen(p, servicios, locale));
public ResponseEntity<?> getResumen(@RequestBody Map<String, Object> body, Locale locale) {
Presupuesto p = objectMapper.convertValue(body.get("presupuesto"), Presupuesto.class);
@SuppressWarnings("unchecked")
List<Map<String, Object>> serviciosList = (List<Map<String, Object>>) body.getOrDefault("servicios", List.of());
return ResponseEntity.ok(presupuestoService.getResumen(p, serviciosList, locale));
}
public static class PresupuestoRequest {
private Presupuesto presupuesto;
private String[] servicios;
public Presupuesto getPresupuesto() {
return presupuesto;
}
public void setPresupuesto(Presupuesto p) {
this.presupuesto = p;
}
public String[] getServicios() {
return servicios;
}
public void setServicios(String[] servicios) {
this.servicios = servicios;
}
}
}