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; private List<OrgaoTramo> lsOrgaoTramo;
@Column(name = "CANTKMENTRADASAIDA") @Column(name = "CANTKMENTRADASAIDA")
private BigDecimal kmEntradaSaida; private BigDecimal kmEntradaSaida;
@Column(name = "CANTKMENTRADASAIDADESTINO")
private BigDecimal kmEntradaSaidaDestino;
@Column(name = "INDKMENTRADASAIDAORIGEM") @Column(name = "INDKMENTRADASAIDAORIGEM")
private Boolean indKMEntradaSaidaOrigem; private Boolean indKMEntradaSaidaOrigem;
@ -159,6 +161,14 @@ public class Tramo implements Serializable {
this.origem = origem; this.origem = origem;
} }
public BigDecimal getKmEntradaSaidaDestino() {
return kmEntradaSaidaDestino;
}
public void setKmEntradaSaidaDestino(BigDecimal kmEntradaSaidaDestino) {
this.kmEntradaSaidaDestino = kmEntradaSaidaDestino;
}
public List<RutaSecuencia> getRutaSecuenciaList() { public List<RutaSecuencia> getRutaSecuenciaList() {
List<RutaSecuencia> lsRutaSecuencia = new ArrayList<RutaSecuencia>(); List<RutaSecuencia> lsRutaSecuencia = new ArrayList<RutaSecuencia>();
if (this.rutaSecuenciaList != null) { if (this.rutaSecuenciaList != null) {
@ -250,7 +260,7 @@ public class Tramo implements Serializable {
} }
public BigDecimal getKmRealSemKmEntradaSaida(){ public BigDecimal getKmRealSemKmEntradaSaida(){
return kmReal.subtract(kmEntradaSaida); return kmReal.subtract(kmEntradaSaida).subtract(kmEntradaSaidaDestino);
} }
public void setKmReal(BigDecimal kmReal) { 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.setTramo(tramoService.obtenerTramotPorOrigemDestinoVia(s.getOrigen(), s.getDestino(), s.getVia()));
rutaSecuencia.setCantKmEntradaSaida(s.getKmEntradaSaida()); rutaSecuencia.setCantKmEntradaSaida(s.getKmEntradaSaida());
rutaSecuencia.setKmOriginal(s.getKmReal().subtract(s.getKmEntradaSaida())); rutaSecuencia.setKmOriginal(s.getKmReal().subtract(s.getKmEntradaSaida()));
BigDecimal KmES = BigDecimal.ZERO; BigDecimal KmESOrigem = BigDecimal.ZERO;
boolean isKMEntradaSaidaOrigem = false; BigDecimal KmESDestino = BigDecimal.ZERO;
if (kmEntradaSaida.containsKey(s.getOrigen())){ if (kmEntradaSaida.containsKey(s.getOrigen())){
KmES = kmEntradaSaida.get(s.getOrigen()); KmESOrigem = kmEntradaSaida.get(s.getOrigen());
isKMEntradaSaidaOrigem = true;
} }
if (kmEntradaSaida.containsKey(s.getDestino())){ if (kmEntradaSaida.containsKey(s.getDestino())){
KmES = kmEntradaSaida.get(s.getDestino()); KmESDestino = kmEntradaSaida.get(s.getDestino());
} }
if(rutaSecuencia.getTramo() == null ){ if(rutaSecuencia.getTramo() == null ){
@ -181,9 +181,13 @@ public class TramoRutaServiceImpl implements TramoRutaService {
tramo.setDesctramo(tramoService.gerarDescripcionTramo(s.getOrigen(), s.getDestino(), s.getVia())); tramo.setDesctramo(tramoService.gerarDescripcionTramo(s.getOrigen(), s.getDestino(), s.getVia()));
tramo.setOrigem(s.getOrigen()); tramo.setOrigem(s.getOrigen());
tramo.setDestino(s.getDestino()); tramo.setDestino(s.getDestino());
tramo.setKmReal(KmES != null || KmES != BigDecimal.ZERO ? s.getKmReal().add(KmES) : s.getKmReal()); tramo.setKmReal(s.getKmReal().add(KmESOrigem).add(KmESDestino));
tramo.setKmEntradaSaida(KmES); if (KmESOrigem.compareTo(BigDecimal.ZERO) == 1){
tramo.setIndKMEntradaSaidaOrigem(isKMEntradaSaidaOrigem); tramo.setKmEntradaSaida(KmESOrigem);
}
if (KmESDestino.compareTo(BigDecimal.ZERO) == 1){
tramo.setKmEntradaSaidaDestino(KmESDestino);
}
tramo.setVia(s.getVia()); tramo.setVia(s.getVia());
tramo.setActivo(Boolean.TRUE); tramo.setActivo(Boolean.TRUE);
tramo.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); tramo.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
@ -193,8 +197,8 @@ public class TramoRutaServiceImpl implements TramoRutaService {
rutaSecuencia.setTramo(tramo); rutaSecuencia.setTramo(tramo);
} else { } else {
Tramo tramo = rutaSecuencia.getTramo(); Tramo tramo = rutaSecuencia.getTramo();
tramo.setKmEntradaSaida(KmES); tramo.setKmEntradaSaida(KmESOrigem);
tramo.setIndKMEntradaSaidaOrigem(isKMEntradaSaidaOrigem); tramo.setKmEntradaSaidaDestino(KmESDestino);;
tramo = tramoDAO.actualizacion(tramo); tramo = tramoDAO.actualizacion(tramo);
} }
rutaSecuencia.setRuta(ruta); rutaSecuencia.setRuta(ruta);