mirror of
https://git.imnavajas.es/jjimenez/erp-imprimelibros.git
synced 2026-02-08 11:59:13 +00:00
308 lines
7.9 KiB
Java
308 lines
7.9 KiB
Java
package com.imprimelibros.erp.pedidos;
|
|
|
|
import jakarta.persistence.*;
|
|
import org.hibernate.annotations.CreationTimestamp;
|
|
import com.imprimelibros.erp.direcciones.Direccion.TipoIdentificacionFiscal;
|
|
import com.imprimelibros.erp.paises.Paises;
|
|
|
|
import java.time.LocalDateTime;
|
|
import java.util.HashMap;
|
|
import java.util.Map;
|
|
|
|
@Entity
|
|
@Table(name = "pedidos_direcciones")
|
|
public class PedidoDireccion {
|
|
|
|
@Id
|
|
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
|
private Long id;
|
|
|
|
// FK a pedidos_lineas.id (nullable, on delete set null)
|
|
@ManyToOne(fetch = FetchType.LAZY)
|
|
@JoinColumn(name = "pedido_linea_id")
|
|
private PedidoLinea pedidoLinea;
|
|
|
|
@ManyToOne(fetch = FetchType.LAZY)
|
|
@JoinColumn(name = "pedido_id")
|
|
private Pedido pedido;
|
|
|
|
@Column(name = "unidades")
|
|
private Integer unidades;
|
|
|
|
@Column(name = "is_facturacion", nullable = false)
|
|
private boolean facturacion = false;
|
|
|
|
@Column(name = "is_ejemplar_prueba", nullable = false)
|
|
private boolean ejemplarPrueba = false;
|
|
|
|
@Column(name = "email", length = 255)
|
|
private String email;
|
|
|
|
@Column(name = "att", nullable = false, length = 150)
|
|
private String att;
|
|
|
|
@Column(name = "direccion", nullable = false, length = 255)
|
|
private String direccion;
|
|
|
|
@Column(name = "cp", nullable = false)
|
|
private Integer cp;
|
|
|
|
@Column(name = "ciudad", nullable = false, length = 100)
|
|
private String ciudad;
|
|
|
|
@Column(name = "provincia", nullable = false, length = 100)
|
|
private String provincia;
|
|
|
|
@Column(name = "pais_code3", nullable = false, length = 3)
|
|
private String paisCode3 = "esp";
|
|
|
|
@ManyToOne(fetch = FetchType.LAZY)
|
|
@JoinColumn(name = "pais_code3", referencedColumnName = "code3", insertable = false, updatable = false)
|
|
private Paises pais;
|
|
|
|
@Transient
|
|
private String paisNombre;
|
|
|
|
@Column(name = "telefono", nullable = false, length = 30)
|
|
private String telefono;
|
|
|
|
@Column(name = "instrucciones", length = 255)
|
|
private String instrucciones;
|
|
|
|
@Column(name = "razon_social", length = 150)
|
|
private String razonSocial;
|
|
|
|
@Enumerated(EnumType.STRING)
|
|
@Column(name = "tipo_identificacion_fiscal", nullable = false, length = 20)
|
|
private TipoIdentificacionFiscal tipoIdentificacionFiscal = TipoIdentificacionFiscal.DNI;
|
|
|
|
@Column(name = "identificacion_fiscal", length = 50)
|
|
private String identificacionFiscal;
|
|
|
|
@Column(name = "is_palets", nullable = false)
|
|
private boolean palets = false;
|
|
|
|
@CreationTimestamp
|
|
@Column(name = "created_at", nullable = false, updatable = false)
|
|
private LocalDateTime createdAt;
|
|
|
|
// ===== GETTERS & SETTERS =====
|
|
|
|
public Long getId() {
|
|
return id;
|
|
}
|
|
|
|
public PedidoLinea getPedidoLinea() {
|
|
return pedidoLinea;
|
|
}
|
|
|
|
public void setPedidoLinea(PedidoLinea pedidoLinea) {
|
|
this.pedidoLinea = pedidoLinea;
|
|
}
|
|
|
|
public Pedido getPedido() {
|
|
return pedido;
|
|
}
|
|
|
|
public void setPedido(Pedido pedido) {
|
|
this.pedido = pedido;
|
|
}
|
|
|
|
public Integer getUnidades() {
|
|
return unidades;
|
|
}
|
|
|
|
public void setUnidades(Integer unidades) {
|
|
this.unidades = unidades;
|
|
}
|
|
|
|
public boolean isFacturacion() {
|
|
return facturacion;
|
|
}
|
|
|
|
public void setFacturacion(boolean facturacion) {
|
|
this.facturacion = facturacion;
|
|
}
|
|
|
|
public boolean isEjemplarPrueba() {
|
|
return ejemplarPrueba;
|
|
}
|
|
|
|
public void setEjemplarPrueba(boolean ejemplarPrueba) {
|
|
this.ejemplarPrueba = ejemplarPrueba;
|
|
}
|
|
|
|
public String getEmail() {
|
|
return email;
|
|
}
|
|
|
|
public void setEmail(String email) {
|
|
this.email = email;
|
|
}
|
|
|
|
public String getAtt() {
|
|
return att;
|
|
}
|
|
|
|
public void setAtt(String att) {
|
|
this.att = att;
|
|
}
|
|
|
|
public String getDireccion() {
|
|
return direccion;
|
|
}
|
|
|
|
public void setDireccion(String direccion) {
|
|
this.direccion = direccion;
|
|
}
|
|
|
|
public Integer getCp() {
|
|
return cp;
|
|
}
|
|
|
|
public void setCp(Integer cp) {
|
|
this.cp = cp;
|
|
}
|
|
|
|
public String getCiudad() {
|
|
return ciudad;
|
|
}
|
|
|
|
public void setCiudad(String ciudad) {
|
|
this.ciudad = ciudad;
|
|
}
|
|
|
|
public String getProvincia() {
|
|
return provincia;
|
|
}
|
|
|
|
public void setProvincia(String provincia) {
|
|
this.provincia = provincia;
|
|
}
|
|
|
|
public String getPaisCode3() {
|
|
return paisCode3;
|
|
}
|
|
|
|
public void setPaisCode3(String paisCode3) {
|
|
this.paisCode3 = paisCode3;
|
|
}
|
|
|
|
public Paises getPais() {
|
|
return pais;
|
|
}
|
|
|
|
public void setPais(Paises pais) {
|
|
this.pais = pais;
|
|
}
|
|
|
|
public String getTelefono() {
|
|
return telefono;
|
|
}
|
|
|
|
public void setTelefono(String telefono) {
|
|
this.telefono = telefono;
|
|
}
|
|
|
|
public String getInstrucciones() {
|
|
return instrucciones;
|
|
}
|
|
|
|
public void setInstrucciones(String instrucciones) {
|
|
this.instrucciones = instrucciones;
|
|
}
|
|
|
|
public String getRazonSocial() {
|
|
return razonSocial;
|
|
}
|
|
|
|
public void setRazonSocial(String razonSocial) {
|
|
this.razonSocial = razonSocial;
|
|
}
|
|
|
|
public TipoIdentificacionFiscal getTipoIdentificacionFiscal() {
|
|
return tipoIdentificacionFiscal;
|
|
}
|
|
|
|
public void setTipoIdentificacionFiscal(TipoIdentificacionFiscal tipoIdentificacionFiscal) {
|
|
this.tipoIdentificacionFiscal = tipoIdentificacionFiscal;
|
|
}
|
|
|
|
public String getIdentificacionFiscal() {
|
|
return identificacionFiscal;
|
|
}
|
|
|
|
public void setIdentificacionFiscal(String identificacionFiscal) {
|
|
this.identificacionFiscal = identificacionFiscal;
|
|
}
|
|
|
|
public boolean isPalets() {
|
|
return palets;
|
|
}
|
|
|
|
public void setPalets(boolean palets) {
|
|
this.palets = palets;
|
|
}
|
|
|
|
public LocalDateTime getCreatedAt() {
|
|
return createdAt;
|
|
}
|
|
|
|
public String getPaisNombre() {
|
|
return paisNombre;
|
|
}
|
|
|
|
public void setPaisNombre(String paisNombre) {
|
|
this.paisNombre = paisNombre;
|
|
}
|
|
|
|
|
|
public Map<String, Object> toSkMap(Double pesoKg) {
|
|
|
|
Map<String, Object> direccion = new HashMap<>();
|
|
direccion.put("cantidad", this.getUnidades());
|
|
direccion.put("peso", pesoKg);
|
|
direccion.put("att", this.getAtt());
|
|
direccion.put("email", this.getEmail());
|
|
direccion.put("direccion", this.getDireccion());
|
|
direccion.put("pais_code3", this.getPaisCode3());
|
|
direccion.put("cp", this.getCp());
|
|
direccion.put("municipio", this.getCiudad());
|
|
direccion.put("provincia", this.getProvincia());
|
|
direccion.put("telefono", this.getTelefono());
|
|
direccion.put("entregaPieCalle", this.isPalets() ? 1 : 0);
|
|
direccion.put("is_ferro_prototipo", this.isEjemplarPrueba() ? 1 : 0);
|
|
direccion.put("num_ferro_prototipo", this.isEjemplarPrueba() ? 1 : 0);
|
|
|
|
Map<String, Object> map = new HashMap<>();
|
|
map.put("direccion", direccion);
|
|
map.put("unidades", this.getUnidades());
|
|
map.put("entregaPalets", this.isPalets() ? 1 : 0);
|
|
|
|
return map;
|
|
}
|
|
|
|
public static Map<String, Object> toSkMapDepositoLegal() {
|
|
Map<String, Object> direccion = new HashMap<>();
|
|
direccion.put("cantidad", 4);
|
|
direccion.put("peso", 0);
|
|
direccion.put("att", "Unidades para Depósito Legal (sin envío)");
|
|
direccion.put("email", "");
|
|
direccion.put("direccion", "");
|
|
direccion.put("pais_code3", "esp");
|
|
direccion.put("cp", "");
|
|
direccion.put("municipio", "");
|
|
direccion.put("provincia", "");
|
|
direccion.put("telefono", "");
|
|
direccion.put("entregaPieCalle", 0);
|
|
direccion.put("is_ferro_prototipo", 0);
|
|
direccion.put("num_ferro_prototipo", 0);
|
|
|
|
Map<String, Object> map = new HashMap<>();
|
|
map.put("direccion", direccion);
|
|
map.put("unidades", 4);
|
|
map.put("entregaPalets", 0);
|
|
|
|
return map;
|
|
}
|
|
} |