13203: Erro na geração automático de trechos e linhas

fixed bug#13203
dev:daniel
qua:bruno

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@88599 d1611594-4594-4d17-8e1d-87c2c4800839
master
leonardo 2019-01-07 20:04:16 +00:00
parent ded32d630b
commit b76a42fef6
2 changed files with 25 additions and 11 deletions

View File

@ -83,6 +83,8 @@ public class Tramo implements Serializable {
private List<OrgaoTramo> 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<RutaSecuencia> getRutaSecuenciaList() {
List<RutaSecuencia> lsRutaSecuencia = new ArrayList<RutaSecuencia>();
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) {

View File

@ -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);