diff --git a/src/com/rjconsultores/ventaboletos/entidad/Tramo.java b/src/com/rjconsultores/ventaboletos/entidad/Tramo.java index 1a80265e4..d97b64bca 100644 --- a/src/com/rjconsultores/ventaboletos/entidad/Tramo.java +++ b/src/com/rjconsultores/ventaboletos/entidad/Tramo.java @@ -83,6 +83,8 @@ public class Tramo implements Serializable { private List lsOrgaoTramo; @Column(name = "CANTKMENTRADASAIDA") private BigDecimal kmEntradaSaida; + @Column(name = "CANTKMENTRADASAIDADESTINO") + private BigDecimal kmEntradaSaidaDestino; @Column(name = "INDKMENTRADASAIDAORIGEM") private Boolean indKMEntradaSaidaOrigem; @@ -159,6 +161,14 @@ public class Tramo implements Serializable { this.origem = origem; } + public BigDecimal getKmEntradaSaidaDestino() { + return kmEntradaSaidaDestino; + } + + public void setKmEntradaSaidaDestino(BigDecimal kmEntradaSaidaDestino) { + this.kmEntradaSaidaDestino = kmEntradaSaidaDestino; + } + public List getRutaSecuenciaList() { List lsRutaSecuencia = new ArrayList(); if (this.rutaSecuenciaList != null) { @@ -250,7 +260,7 @@ public class Tramo implements Serializable { } public BigDecimal getKmRealSemKmEntradaSaida(){ - return kmReal.subtract(kmEntradaSaida); + return kmReal.subtract(kmEntradaSaida).subtract(kmEntradaSaidaDestino); } public void setKmReal(BigDecimal kmReal) { diff --git a/src/com/rjconsultores/ventaboletos/service/impl/TramoRutaServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/TramoRutaServiceImpl.java index 0fa2f9c41..0ed7f8da5 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/TramoRutaServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/TramoRutaServiceImpl.java @@ -166,14 +166,14 @@ public class TramoRutaServiceImpl implements TramoRutaService { rutaSecuencia.setTramo(tramoService.obtenerTramotPorOrigemDestinoVia(s.getOrigen(), s.getDestino(), s.getVia())); rutaSecuencia.setCantKmEntradaSaida(s.getKmEntradaSaida()); rutaSecuencia.setKmOriginal(s.getKmReal().subtract(s.getKmEntradaSaida())); - BigDecimal KmES = BigDecimal.ZERO; - boolean isKMEntradaSaidaOrigem = false; + BigDecimal KmESOrigem = BigDecimal.ZERO; + BigDecimal KmESDestino = BigDecimal.ZERO; + if (kmEntradaSaida.containsKey(s.getOrigen())){ - KmES = kmEntradaSaida.get(s.getOrigen()); - isKMEntradaSaidaOrigem = true; + KmESOrigem = kmEntradaSaida.get(s.getOrigen()); } if (kmEntradaSaida.containsKey(s.getDestino())){ - KmES = kmEntradaSaida.get(s.getDestino()); + KmESDestino = kmEntradaSaida.get(s.getDestino()); } if(rutaSecuencia.getTramo() == null ){ @@ -181,9 +181,13 @@ public class TramoRutaServiceImpl implements TramoRutaService { tramo.setDesctramo(tramoService.gerarDescripcionTramo(s.getOrigen(), s.getDestino(), s.getVia())); tramo.setOrigem(s.getOrigen()); tramo.setDestino(s.getDestino()); - tramo.setKmReal(KmES != null || KmES != BigDecimal.ZERO ? s.getKmReal().add(KmES) : s.getKmReal()); - tramo.setKmEntradaSaida(KmES); - tramo.setIndKMEntradaSaidaOrigem(isKMEntradaSaidaOrigem); + tramo.setKmReal(s.getKmReal().add(KmESOrigem).add(KmESDestino)); + if (KmESOrigem.compareTo(BigDecimal.ZERO) == 1){ + tramo.setKmEntradaSaida(KmESOrigem); + } + if (KmESDestino.compareTo(BigDecimal.ZERO) == 1){ + tramo.setKmEntradaSaidaDestino(KmESDestino); + } tramo.setVia(s.getVia()); tramo.setActivo(Boolean.TRUE); tramo.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); @@ -193,8 +197,8 @@ public class TramoRutaServiceImpl implements TramoRutaService { rutaSecuencia.setTramo(tramo); } else { Tramo tramo = rutaSecuencia.getTramo(); - tramo.setKmEntradaSaida(KmES); - tramo.setIndKMEntradaSaidaOrigem(isKMEntradaSaidaOrigem); + tramo.setKmEntradaSaida(KmESOrigem); + tramo.setKmEntradaSaidaDestino(KmESDestino);; tramo = tramoDAO.actualizacion(tramo); } rutaSecuencia.setRuta(ruta);