mirror of
https://git.imnavajas.es/jjimenez/erp-imprimelibros.git
synced 2026-01-24 09:40:21 +00:00
trbajando en las funciones de leer los estados
This commit is contained in:
3671
logs/erp.log
3671
logs/erp.log
File diff suppressed because it is too large
Load Diff
@ -229,7 +229,7 @@ public class skApiClient {
|
|||||||
Long id = ((Integer) responseBody.get("id")).longValue();
|
Long id = ((Integer) responseBody.get("id")).longValue();
|
||||||
|
|
||||||
if (success != null && id != null && success) {
|
if (success != null && id != null && success) {
|
||||||
|
|
||||||
return Map.of("data", id);
|
return Map.of("data", id);
|
||||||
} else {
|
} else {
|
||||||
// Tu lógica actual: si success es true u otra cosa → error 2
|
// Tu lógica actual: si success es true u otra cosa → error 2
|
||||||
@ -307,7 +307,7 @@ public class skApiClient {
|
|||||||
else {
|
else {
|
||||||
int ancho = (int) tamanio.get("ancho");
|
int ancho = (int) tamanio.get("ancho");
|
||||||
return Map.of(
|
return Map.of(
|
||||||
"maxSolapas", (int) (ancho * 0.8 ),
|
"maxSolapas", (int) (ancho * 0.8),
|
||||||
"lomo", 0.0);
|
"lomo", 0.0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -395,18 +395,46 @@ public class skApiClient {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
public Map<String, Object> checkPedidoEstado(Long presupuestoId, Locale locale) {
|
||||||
public Map<String, Object> checkPedidoEstado(Long presupuestoId){
|
|
||||||
|
|
||||||
try{
|
try {
|
||||||
|
|
||||||
}
|
String jsonResponse = performWithRetry(() -> {
|
||||||
catch(Exception e){
|
String url = this.skApiUrl + "api/estado-pedido/" + presupuestoId;
|
||||||
e.printStackTrace();
|
|
||||||
return Map.of("error", "Internal Server Error: 1"); // Fallback en caso de error
|
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
|
* PRIVATE METHODS
|
||||||
|
|||||||
@ -16,9 +16,10 @@ public class PedidoLinea {
|
|||||||
aprobado("pedido.estado.aprobado", 4),
|
aprobado("pedido.estado.aprobado", 4),
|
||||||
maquetacion("pedido.estado.maquetacion", 5),
|
maquetacion("pedido.estado.maquetacion", 5),
|
||||||
haciendo_ferro("pedido.estado.haciendo_ferro", 6),
|
haciendo_ferro("pedido.estado.haciendo_ferro", 6),
|
||||||
ferro_cliente("pedido.estado.ferro_cliente", 7),
|
esperando_aceptacion_ferro("pedido.estado.esperando_aceptacion_ferro", 7),
|
||||||
produccion("pedido.estado.produccion", 8),
|
ferro_cliente("pedido.estado.ferro_cliente", 8),
|
||||||
cancelado("pedido.estado.cancelado", 9);
|
produccion("pedido.estado.produccion", 9),
|
||||||
|
cancelado("pedido.estado.cancelado", 10);
|
||||||
|
|
||||||
private final String messageKey;
|
private final String messageKey;
|
||||||
private final int priority;
|
private final int priority;
|
||||||
|
|||||||
@ -154,7 +154,6 @@ public class PedidoService {
|
|||||||
return pedidoRepository.findById(pedidoId).orElse(null);
|
return pedidoRepository.findById(pedidoId).orElse(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/** Lista de los items del pedido preparados para la vista */
|
/** Lista de los items del pedido preparados para la vista */
|
||||||
@Transactional
|
@Transactional
|
||||||
public List<Map<String, Object>> getLineas(Long pedidoId, Locale locale) {
|
public List<Map<String, Object>> getLineas(Long pedidoId, Locale locale) {
|
||||||
@ -216,7 +215,7 @@ public class PedidoService {
|
|||||||
if (referenciasProveedor.isEmpty()) {
|
if (referenciasProveedor.isEmpty()) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Save pedido in SK
|
// Save pedido in SK
|
||||||
ArrayList<Long> presupuestoSkIds = new ArrayList<>();
|
ArrayList<Long> presupuestoSkIds = new ArrayList<>();
|
||||||
for (Map<String, Object> presData : referenciasProveedor) {
|
for (Map<String, Object> presData : referenciasProveedor) {
|
||||||
@ -237,12 +236,39 @@ public class PedidoService {
|
|||||||
return true;
|
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
|
* MÉTODOS PRIVADOS
|
||||||
***************************/
|
***************************/
|
||||||
@Transactional
|
@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);
|
Map<String, Object> data_to_send = presupuestoService.toSkApiRequest(presupuesto, true);
|
||||||
data_to_send.put("createPedido", 0);
|
data_to_send.put("createPedido", 0);
|
||||||
@ -476,6 +502,7 @@ public class PedidoService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private PedidoDireccion saveDireccion(
|
private PedidoDireccion saveDireccion(
|
||||||
String email,
|
String email,
|
||||||
Boolean palets,
|
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.aprobado=Aprobado
|
||||||
pedido.estado.maquetacion=Maquetación
|
pedido.estado.maquetacion=Maquetación
|
||||||
pedido.estado.haciendo_ferro=Haciendo ferro
|
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.ferro_cliente=Esperando aprobación de ferro
|
||||||
pedido.estado.produccion=Producción
|
pedido.estado.produccion=Producción
|
||||||
pedido.estado.terminado=Terminado
|
pedido.estado.terminado=Terminado
|
||||||
@ -34,6 +35,11 @@ pedido.pedido=Pedido
|
|||||||
pedido.fecha-entrega=Fecha de entrega
|
pedido.fecha-entrega=Fecha de entrega
|
||||||
pedido.cancelar=Cancelar pedido
|
pedido.cancelar=Cancelar pedido
|
||||||
pedido.update-estado=Actualizar estado
|
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.shipping-addresses=Direcciones de envío
|
||||||
pedido.prueba=Prueba
|
pedido.prueba=Prueba
|
||||||
|
|
||||||
|
|||||||
@ -121,6 +121,13 @@
|
|||||||
th:text="#{pedido.update-estado}">Cancelar Pedido</span></i>
|
th:text="#{pedido.update-estado}">Cancelar Pedido</span></i>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</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>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user