Correção de Km na geração automática fix bug#AL-2496' (!61)

Reviewed-on: adm/ModelWeb#61
Reviewed-by: Valdir Cordeiro <valdir.cordeiro@totvs.com.br>
master
fabio 2023-05-31 11:41:26 +00:00
commit 1927b8b0e9
2 changed files with 10 additions and 13 deletions

View File

@ -3,7 +3,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>br.com.rjconsultores</groupId>
<artifactId>ModelWeb</artifactId>
<version>1.5.1</version>
<version>1.5.2</version>
<distributionManagement>
<repository>
<id>rj-releases</id>

View File

@ -73,7 +73,7 @@ public class TramoRutaServiceImpl implements TramoRutaService {
private TramoDAO tramoDAO;
/**
* Hace la validación de los datos del rutaTramoVO
* Hace la validación de los datos del rutaTramoVO
*
* @param rutaTramoVO
* @throws BusinessException
@ -149,7 +149,7 @@ public class TramoRutaServiceImpl implements TramoRutaService {
ruta.setFecmodif(new java.util.Date());
ruta.setPrefixo(rutaTramoVO.getPrefixo());
ruta.setNumRuta(rutaTramoVO.getNumRuta());
//valores de tributação para ecf
//valores de tributação para ecf
ruta.setIndTribPedagio(Boolean.FALSE);
ruta.setIndTribTarifa(Boolean.TRUE);
ruta.setIndTribTaxaEmbarque(Boolean.FALSE);
@ -346,19 +346,16 @@ public class TramoRutaServiceImpl implements TramoRutaService {
Via via = secuenciaInicial.getVia();
secuencia = criaSecuenciaRutaTramoCoeficienteVO(rutaTramoVO, lsSecuenciaCombinacionRutaTramoVO, secuencia, totalKmsReal, origen, destino, secuenciaInicial.getKmSaidaOrigen(), secuenciaInicial.getKmEntradaDestino(), totalTiempoRecorrido, via);
totalKmsReal = totalKmsReal.subtract(secuenciaInicial.getKmEntradaDestino());
for (SecuenciaRutaTramoVO secuenciaInterna : listSecuenciaCalculada) {
destino = secuenciaInterna.getDestino();
totalKmsReal = totalKmsReal.add(secuenciaInterna.getKmReal());
totalKmsReal = totalKmsReal.add(secuenciaInterna.getKmEntradaDestino());
totalKmsReal = totalKmsReal.add(secuenciaInterna.getKmSaidaOrigen());
totalTiempoRecorrido = totalTiempoRecorrido.sumar(secuenciaInterna.getTiempoRecorrido());
secuencia = criaSecuenciaRutaTramoCoeficienteVO(rutaTramoVO, lsSecuenciaCombinacionRutaTramoVO, secuencia, totalKmsReal, origen, destino, secuenciaInicial.getKmSaidaOrigen(), secuenciaInterna.getKmEntradaDestino(), totalTiempoRecorrido, via);
totalKmsReal = totalKmsReal.subtract(secuenciaInterna.getKmEntradaDestino());
}
}
return lsSecuenciaCombinacionRutaTramoVO;
@ -466,14 +463,14 @@ public class TramoRutaServiceImpl implements TramoRutaService {
for (ParadaSecuencia secuenciaDestino : secuenciasDestino) {
//O processo não é realizado na ordem inversa (em que a sequencia da origem é maior que a sequencia de seus destinos), considerando que esse é o processo inversa a ida ou a volta.
//O processo não é realizado na ordem inversa (em que a sequencia da origem é maior que a sequencia de seus destinos), considerando que esse é o processo inversa a ida ou a volta.
if (secuencia.getOrigem().getSecuencia() >= secuenciaDestino.getSecuencia()){
continue;
}
Parada destino = secuenciaDestino.getParada();
//A primeira seguencia sempre será a origem
//A primeira seguencia sempre será a origem
//A segunda sequencia sempre recebe a km e o tempo da origem
if (secuenciaDestino.getSecuencia() > 2) {
tempoTotalOrigemDestino = calcularTempoTotalDestino(secuencia, secuenciaDestino.getSecuencia());
@ -645,12 +642,12 @@ public class TramoRutaServiceImpl implements TramoRutaService {
HoraSistema horaSistemaDestino = destino.getTempoReal().isEmpty() ? new HoraSistema() :
new HoraSistema(DateUtil.getDataTempoDecorrido(destino.getTempoReal()));
//desconsidera o tempo para os destinos com sequencia inferior a origem, já que estes já foram calculados
//desconsidera o tempo para os destinos com sequencia inferior a origem, já que estes já foram calculados
if (sequenciaOrigem.getOrigem().getSecuencia() > destino.getSecuencia()) {
continue;
}
//faz o calculo para a sequencia do destino para qual o tempo está sendo calculado
//faz o calculo para a sequencia do destino para qual o tempo está sendo calculado
if (destino.getSecuencia() == numSeqAtual){
break;
}
@ -669,12 +666,12 @@ public class TramoRutaServiceImpl implements TramoRutaService {
new BigDecimal(sequenciaOrigem.getKmReal());
for (ParadaSecuencia destino: sequenciaOrigem.getDestinos()) {
//desconsidera a km para os destinos com sequencia inferior a origem, já que estes já foram calculados
//desconsidera a km para os destinos com sequencia inferior a origem, já que estes já foram calculados
if (sequenciaOrigem.getOrigem().getSecuencia() > destino.getSecuencia()) {
continue;
}
//faz o calculo para a sequencia do destino para qual a km está sendo calculada
//faz o calculo para a sequencia do destino para qual a km está sendo calculada
if (destino.getSecuencia() == numSeqAtual){
break;
}