mirror of
https://git.imnavajas.es/jjimenez/erp-imprimelibros.git
synced 2026-01-13 08:58:48 +00:00
terminando pdf de facturas
This commit is contained in:
@ -24,6 +24,7 @@ import com.imprimelibros.erp.presupuesto.service.PresupuestoService;
|
||||
import com.imprimelibros.erp.users.UserService;
|
||||
import com.imprimelibros.erp.direcciones.DireccionService;
|
||||
import com.imprimelibros.erp.externalApi.skApiClient;
|
||||
import com.imprimelibros.erp.facturacion.dto.DireccionFacturacionDto;
|
||||
import com.imprimelibros.erp.pedidos.PedidoLinea.Estado;
|
||||
|
||||
@Service
|
||||
@ -59,11 +60,10 @@ public class PedidoService {
|
||||
this.messageSource = messageSource;
|
||||
}
|
||||
|
||||
|
||||
public Pedido getPedidoById(Long pedidoId) {
|
||||
return pedidoRepository.findById(pedidoId).orElse(null);
|
||||
}
|
||||
|
||||
|
||||
public PedidoDireccion getPedidoDireccionFacturacionByPedidoId(Long pedidoId) {
|
||||
return pedidoDireccionRepository.findByPedidoIdAndFacturacionTrue(pedidoId);
|
||||
}
|
||||
@ -95,10 +95,11 @@ public class PedidoService {
|
||||
}
|
||||
|
||||
// Auditoría mínima
|
||||
/*Long userId = cart.getUserId();
|
||||
pedido.setCreatedBy(userService.findById(userId));
|
||||
pedido.setUpdatedBy(userService.findById(userId));
|
||||
*/
|
||||
/*
|
||||
* Long userId = cart.getUserId();
|
||||
* pedido.setCreatedBy(userService.findById(userId));
|
||||
* pedido.setUpdatedBy(userService.findById(userId));
|
||||
*/
|
||||
// Se obtiene el usuario del primer presupuesto del carrito
|
||||
Long userId = null;
|
||||
List<CartItem> cartItems = cart.getItems();
|
||||
@ -108,7 +109,7 @@ public class PedidoService {
|
||||
userId = firstPresupuesto.getUser().getId();
|
||||
}
|
||||
}
|
||||
if(userId == null){
|
||||
if (userId == null) {
|
||||
userId = cart.getUserId();
|
||||
}
|
||||
pedido.setCreatedBy(userService.findById(userId));
|
||||
@ -116,7 +117,6 @@ public class PedidoService {
|
||||
pedido.setCreatedAt(Instant.now());
|
||||
pedido.setDeleted(false);
|
||||
pedido.setUpdatedAt(Instant.now());
|
||||
|
||||
|
||||
// Guardamos el pedido
|
||||
Pedido pedidoGuardado = pedidoRepository.save(pedido);
|
||||
@ -186,6 +186,36 @@ public class PedidoService {
|
||||
return pedidoRepository.findById(pedidoId).orElse(null);
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public Boolean upsertDireccionFacturacion(Long pedidoId, DireccionFacturacionDto direccionData) {
|
||||
|
||||
try {
|
||||
Pedido pedido = pedidoRepository.findById(pedidoId).orElse(null);
|
||||
if (pedido == null) {
|
||||
return false;
|
||||
}
|
||||
|
||||
PedidoDireccion direccionPedido = pedidoDireccionRepository.findByPedidoIdAndFacturacionTrue(pedidoId);
|
||||
|
||||
if (direccionPedido == null) {
|
||||
// crear
|
||||
direccionPedido = direccionData.toPedidoDireccion();
|
||||
direccionPedido.setPedido(pedido);
|
||||
|
||||
} else {
|
||||
// actualizar en la existente (NO crees una nueva, para conservar ID)
|
||||
direccionData.applyTo(direccionPedido); // si implementas applyTo()
|
||||
direccionPedido.setFacturacion(true); // por si acaso
|
||||
}
|
||||
|
||||
pedidoDireccionRepository.save(direccionPedido);
|
||||
return true;
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/** Lista de los items del pedido preparados para la vista */
|
||||
@Transactional
|
||||
public List<Map<String, Object>> getLineas(Long pedidoId, Locale locale) {
|
||||
@ -334,7 +364,6 @@ public class PedidoService {
|
||||
return files;
|
||||
}
|
||||
|
||||
|
||||
public byte[] getFerroFileContent(Long pedidoLineaId, Locale locale) {
|
||||
return downloadFile(pedidoLineaId, "ferro", locale);
|
||||
}
|
||||
@ -365,7 +394,6 @@ public class PedidoService {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
public Boolean cancelarPedido(Long pedidoId) {
|
||||
|
||||
Pedido pedido = pedidoRepository.findById(pedidoId).orElse(null);
|
||||
@ -387,8 +415,6 @@ public class PedidoService {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/***************************
|
||||
* MÉTODOS PRIVADOS
|
||||
***************************/
|
||||
|
||||
Reference in New Issue
Block a user