fixed bug #7579: Aumento de precisão do valor do pedágio
git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@59243 d1611594-4594-4d17-8e1d-87c2c4800839master
parent
dd8bfb2040
commit
d7e414bd79
|
@ -245,7 +245,6 @@ public class CalcularPeajeHibernateDAO extends GenericHibernateDAO<String, Strin
|
||||||
|
|
||||||
private static class PeajeVO {
|
private static class PeajeVO {
|
||||||
|
|
||||||
private static final int LOW_PRECISION = 2;
|
|
||||||
private static final int HIGH_PRECISION = 10;
|
private static final int HIGH_PRECISION = 10;
|
||||||
private static final BigDecimal A_HUNDRED = new BigDecimal(100);
|
private static final BigDecimal A_HUNDRED = new BigDecimal(100);
|
||||||
private static final SimpleDateFormat SDF = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
|
private static final SimpleDateFormat SDF = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
|
||||||
|
@ -307,8 +306,7 @@ public class CalcularPeajeHibernateDAO extends GenericHibernateDAO<String, Strin
|
||||||
BigDecimal indice, BigDecimal rutaCantEixos, BigDecimal rutaCantAsientos) {
|
BigDecimal indice, BigDecimal rutaCantEixos, BigDecimal rutaCantAsientos) {
|
||||||
return importe.multiply(rutaCantEixos)
|
return importe.multiply(rutaCantEixos)
|
||||||
.divide(indice.multiply(rutaCantAsientos), HIGH_PRECISION, RoundingMode.HALF_UP)
|
.divide(indice.multiply(rutaCantAsientos), HIGH_PRECISION, RoundingMode.HALF_UP)
|
||||||
.divide(BigDecimal.ONE.subtract(icms), HIGH_PRECISION, RoundingMode.HALF_UP)
|
.divide(BigDecimal.ONE.subtract(icms), HIGH_PRECISION, RoundingMode.HALF_UP);
|
||||||
.setScale(LOW_PRECISION, RoundingMode.HALF_UP);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// ((importe * rutaCantEixos) / (indice)) / ( 1 - icms)
|
// ((importe * rutaCantEixos) / (indice)) / ( 1 - icms)
|
||||||
|
@ -316,8 +314,7 @@ public class CalcularPeajeHibernateDAO extends GenericHibernateDAO<String, Strin
|
||||||
BigDecimal indice, BigDecimal rutaCantEixos) {
|
BigDecimal indice, BigDecimal rutaCantEixos) {
|
||||||
return importe.multiply(rutaCantEixos)
|
return importe.multiply(rutaCantEixos)
|
||||||
.divide(indice, HIGH_PRECISION, RoundingMode.HALF_UP)
|
.divide(indice, HIGH_PRECISION, RoundingMode.HALF_UP)
|
||||||
.divide(BigDecimal.ONE.subtract(icms), HIGH_PRECISION, RoundingMode.HALF_UP)
|
.divide(BigDecimal.ONE.subtract(icms), HIGH_PRECISION, RoundingMode.HALF_UP);
|
||||||
.setScale(LOW_PRECISION, RoundingMode.HALF_UP);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private static BigDecimal calculateImportePeaje(Ruta ruta, OrgaoConcedente orgao, Object[] obj) {
|
private static BigDecimal calculateImportePeaje(Ruta ruta, OrgaoConcedente orgao, Object[] obj) {
|
||||||
|
|
Loading…
Reference in New Issue