mirror of
https://git.imnavajas.es/jjimenez/erp-imprimelibros.git
synced 2026-01-13 08:58:48 +00:00
trbajando en las funciones de leer los estados
This commit is contained in:
@ -229,7 +229,7 @@ public class skApiClient {
|
||||
Long id = ((Integer) responseBody.get("id")).longValue();
|
||||
|
||||
if (success != null && id != null && success) {
|
||||
|
||||
|
||||
return Map.of("data", id);
|
||||
} else {
|
||||
// Tu lógica actual: si success es true u otra cosa → error 2
|
||||
@ -307,7 +307,7 @@ public class skApiClient {
|
||||
else {
|
||||
int ancho = (int) tamanio.get("ancho");
|
||||
return Map.of(
|
||||
"maxSolapas", (int) (ancho * 0.8 ),
|
||||
"maxSolapas", (int) (ancho * 0.8),
|
||||
"lomo", 0.0);
|
||||
}
|
||||
}
|
||||
@ -395,18 +395,46 @@ public class skApiClient {
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
public Map<String, Object> checkPedidoEstado(Long presupuestoId){
|
||||
public Map<String, Object> checkPedidoEstado(Long presupuestoId, Locale locale) {
|
||||
|
||||
try{
|
||||
try {
|
||||
|
||||
}
|
||||
catch(Exception e){
|
||||
e.printStackTrace();
|
||||
return Map.of("error", "Internal Server Error: 1"); // Fallback en caso de error
|
||||
String jsonResponse = performWithRetry(() -> {
|
||||
String url = this.skApiUrl + "api/estado-pedido/" + presupuestoId;
|
||||
|
||||
HttpHeaders headers = new HttpHeaders();
|
||||
headers.setContentType(MediaType.APPLICATION_JSON);
|
||||
headers.setBearerAuth(authService.getToken()); // token actualizado
|
||||
|
||||
HttpEntity<Void> entity = new HttpEntity<>(headers);
|
||||
|
||||
ResponseEntity<String> response = restTemplate.exchange(
|
||||
url,
|
||||
HttpMethod.GET,
|
||||
entity,
|
||||
String.class);
|
||||
|
||||
return response.getBody();
|
||||
});
|
||||
|
||||
ObjectMapper mapper = new ObjectMapper();
|
||||
JsonNode root = mapper.readTree(jsonResponse);
|
||||
|
||||
if (root.get("data") == null || !root.get("data").isInt()) {
|
||||
throw new RuntimeException(
|
||||
"Sin respuesta desde el servidor del proveedor");
|
||||
}
|
||||
|
||||
String estado = root.get("estado").asText();
|
||||
return Map.of(
|
||||
"estado", estado);
|
||||
|
||||
} catch (JsonProcessingException e) {
|
||||
// Fallback al 80% del ancho
|
||||
return Map.of(
|
||||
"estado", null);
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
/******************
|
||||
* PRIVATE METHODS
|
||||
|
||||
@ -16,9 +16,10 @@ public class PedidoLinea {
|
||||
aprobado("pedido.estado.aprobado", 4),
|
||||
maquetacion("pedido.estado.maquetacion", 5),
|
||||
haciendo_ferro("pedido.estado.haciendo_ferro", 6),
|
||||
ferro_cliente("pedido.estado.ferro_cliente", 7),
|
||||
produccion("pedido.estado.produccion", 8),
|
||||
cancelado("pedido.estado.cancelado", 9);
|
||||
esperando_aceptacion_ferro("pedido.estado.esperando_aceptacion_ferro", 7),
|
||||
ferro_cliente("pedido.estado.ferro_cliente", 8),
|
||||
produccion("pedido.estado.produccion", 9),
|
||||
cancelado("pedido.estado.cancelado", 10);
|
||||
|
||||
private final String messageKey;
|
||||
private final int priority;
|
||||
|
||||
@ -154,7 +154,6 @@ public class PedidoService {
|
||||
return pedidoRepository.findById(pedidoId).orElse(null);
|
||||
}
|
||||
|
||||
|
||||
/** Lista de los items del pedido preparados para la vista */
|
||||
@Transactional
|
||||
public List<Map<String, Object>> getLineas(Long pedidoId, Locale locale) {
|
||||
@ -216,7 +215,7 @@ public class PedidoService {
|
||||
if (referenciasProveedor.isEmpty()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
// Save pedido in SK
|
||||
ArrayList<Long> presupuestoSkIds = new ArrayList<>();
|
||||
for (Map<String, Object> presData : referenciasProveedor) {
|
||||
@ -237,12 +236,39 @@ public class PedidoService {
|
||||
return true;
|
||||
}
|
||||
|
||||
public Boolean actualizarEstado(Long pedidoId) {
|
||||
Pedido pedido = pedidoRepository.findById(pedidoId).orElse(null);
|
||||
if (pedido == null) {
|
||||
return false;
|
||||
}
|
||||
|
||||
pedidoRepository.save(pedido);
|
||||
return true;
|
||||
}
|
||||
|
||||
public Boolean markPedidoAsMaquetacionDone(Long pedidoId) {
|
||||
Pedido pedido = pedidoRepository.findById(pedidoId).orElse(null);
|
||||
if (pedido == null) {
|
||||
return false;
|
||||
}
|
||||
List<PedidoLinea> lineas = pedidoLineaRepository.findByPedidoId(pedidoId);
|
||||
for (PedidoLinea linea : lineas) {
|
||||
if (linea.getEstado() == Estado.maquetacion) {
|
||||
linea.setEstado(Estado.haciendo_ferro);
|
||||
pedidoLineaRepository.save(linea);
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/***************************
|
||||
* MÉTODOS PRIVADOS
|
||||
***************************/
|
||||
@Transactional
|
||||
private Map<String, Object> savePresupuestoSK(Long pedidoLineaId, Presupuesto presupuesto, Integer counter, Integer total) {
|
||||
private Map<String, Object> savePresupuestoSK(Long pedidoLineaId, Presupuesto presupuesto, Integer counter,
|
||||
Integer total) {
|
||||
|
||||
Map<String, Object> data_to_send = presupuestoService.toSkApiRequest(presupuesto, true);
|
||||
data_to_send.put("createPedido", 0);
|
||||
@ -476,6 +502,7 @@ public class PedidoService {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private PedidoDireccion saveDireccion(
|
||||
String email,
|
||||
Boolean palets,
|
||||
|
||||
@ -0,0 +1,37 @@
|
||||
databaseChangeLog:
|
||||
- changeSet:
|
||||
id: 0022-add-estados-pago-to-pedidos-lineas-3
|
||||
author: jjo
|
||||
changes:
|
||||
- modifyDataType:
|
||||
tableName: pedidos_lineas
|
||||
columnName: estado
|
||||
newDataType: >
|
||||
enum(
|
||||
'pendiente_pago',
|
||||
'procesando_pago',
|
||||
'denegado_pago',
|
||||
'aprobado',
|
||||
'maquetacion',
|
||||
'haciendo_ferro',
|
||||
'esperando_aceptacion_ferro',
|
||||
'produccion',
|
||||
'terminado',
|
||||
'cancelado'
|
||||
)
|
||||
rollback:
|
||||
- modifyDataType:
|
||||
tableName: pedidos_lineas
|
||||
columnName: estado
|
||||
newDataType: >
|
||||
enum(
|
||||
'pendiente_pago',
|
||||
'procesando_pago',
|
||||
'denegado_pago',
|
||||
'aprobado',
|
||||
'maquetacion',
|
||||
'haciendo_ferro',
|
||||
'produccion',
|
||||
'terminado',
|
||||
'cancelado'
|
||||
)
|
||||
@ -24,6 +24,7 @@ pedido.estado.denegado_pago=Pago denegado
|
||||
pedido.estado.aprobado=Aprobado
|
||||
pedido.estado.maquetacion=Maquetación
|
||||
pedido.estado.haciendo_ferro=Haciendo ferro
|
||||
pedido.estado.esperando_aceptacion_ferro=Esperando aceptación de ferro
|
||||
pedido.estado.ferro_cliente=Esperando aprobación de ferro
|
||||
pedido.estado.produccion=Producción
|
||||
pedido.estado.terminado=Terminado
|
||||
@ -34,6 +35,11 @@ pedido.pedido=Pedido
|
||||
pedido.fecha-entrega=Fecha de entrega
|
||||
pedido.cancelar=Cancelar pedido
|
||||
pedido.update-estado=Actualizar estado
|
||||
pedido.maquetacion_finalizada=Maquetación finalizada
|
||||
pedido.ferro=Ferro
|
||||
pedido.cubierta=Cubierta
|
||||
pedido.tapa=Tapa
|
||||
pedido.aceptar_ferro=Aceptar ferro
|
||||
pedido.shipping-addresses=Direcciones de envío
|
||||
pedido.prueba=Prueba
|
||||
|
||||
|
||||
@ -121,6 +121,13 @@
|
||||
th:text="#{pedido.update-estado}">Cancelar Pedido</span></i>
|
||||
</a>
|
||||
</div>
|
||||
<div th:if="${item.estado == 'maquetacion'}">
|
||||
<a href="javascript:void(0);" class="d-block text-body p-1 px-2 maquetacion-ok"
|
||||
th:attr="data-linea-id=${item.lineaId}">
|
||||
<i class="ri-check-double-line text-muted align-bottom me-1"><span
|
||||
th:text="#{pedido.maquetacion_finalizada}"> Maquetación finalizada</span></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user