diff --git a/org.adempiere.base.callout/src/org/adempiere/model/CalloutRMA.java b/org.adempiere.base.callout/src/org/adempiere/model/CalloutRMA.java index c14c3bb203..a0816e4e72 100644 --- a/org.adempiere.base.callout/src/org/adempiere/model/CalloutRMA.java +++ b/org.adempiere.base.callout/src/org/adempiere/model/CalloutRMA.java @@ -18,6 +18,7 @@ package org.adempiere.model; import java.math.BigDecimal; +import java.math.RoundingMode; import java.util.Properties; import org.adempiere.base.Core; @@ -101,7 +102,7 @@ public class CalloutRMA extends CalloutEngine { BigDecimal lineNetAmt = invoiceLine.getQtyEntered().multiply(invoiceLine.getPriceEntered()); int precision = invoiceLine.getPrecision(); if (lineNetAmt.scale() > precision) - lineNetAmt = lineNetAmt.setScale(precision, BigDecimal.ROUND_HALF_UP); + lineNetAmt = lineNetAmt.setScale(precision, RoundingMode.HALF_UP); mTab.setValue(MRMALine.COLUMNNAME_LineNetAmt, lineNetAmt); } else if (iol.getC_OrderLine_ID() != 0) @@ -122,7 +123,7 @@ public class CalloutRMA extends CalloutEngine { BigDecimal lineNetAmt = orderLine.getQtyEntered().multiply(orderLine.getPriceEntered()); int precision = orderLine.getPrecision(); if (lineNetAmt.scale() > precision) - lineNetAmt = lineNetAmt.setScale(precision, BigDecimal.ROUND_HALF_UP); + lineNetAmt = lineNetAmt.setScale(precision, RoundingMode.HALF_UP); mTab.setValue(MRMALine.COLUMNNAME_LineNetAmt, lineNetAmt); } @@ -193,7 +194,7 @@ public class CalloutRMA extends CalloutEngine { BigDecimal lineNetAmt = Env.ONE.multiply(pp.getPriceStd()); if (lineNetAmt.scale() > precision) - lineNetAmt = lineNetAmt.setScale(precision, BigDecimal.ROUND_HALF_UP); + lineNetAmt = lineNetAmt.setScale(precision, RoundingMode.HALF_UP); mTab.setValue(MRMALine.COLUMNNAME_LineNetAmt, lineNetAmt); return ""; @@ -246,7 +247,7 @@ public class CalloutRMA extends CalloutEngine { BigDecimal lineNetAmt = Env.ONE.multiply(charge.getChargeAmt()); if (lineNetAmt.scale() > precision) - lineNetAmt = lineNetAmt.setScale(precision, BigDecimal.ROUND_HALF_UP); + lineNetAmt = lineNetAmt.setScale(precision, RoundingMode.HALF_UP); mTab.setValue(MRMALine.COLUMNNAME_LineNetAmt, lineNetAmt); return ""; diff --git a/org.adempiere.base.callout/src/org/compiere/model/CalloutGLJournal.java b/org.adempiere.base.callout/src/org/compiere/model/CalloutGLJournal.java index 8078c98c17..171ba28e47 100644 --- a/org.adempiere.base.callout/src/org/compiere/model/CalloutGLJournal.java +++ b/org.adempiere.base.callout/src/org/compiere/model/CalloutGLJournal.java @@ -17,6 +17,7 @@ package org.compiere.model; import java.math.BigDecimal; +import java.math.RoundingMode; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; @@ -222,10 +223,10 @@ public class CalloutGLJournal extends CalloutEngine AmtSourceCr = Env.ZERO; BigDecimal AmtAcctDr = AmtSourceDr.multiply(CurrencyRate); - AmtAcctDr = AmtAcctDr.setScale(Precision, BigDecimal.ROUND_HALF_UP); + AmtAcctDr = AmtAcctDr.setScale(Precision, RoundingMode.HALF_UP); mTab.setValue("AmtAcctDr", AmtAcctDr); BigDecimal AmtAcctCr = AmtSourceCr.multiply(CurrencyRate); - AmtAcctCr = AmtAcctCr.setScale(Precision, BigDecimal.ROUND_HALF_UP); + AmtAcctCr = AmtAcctCr.setScale(Precision, RoundingMode.HALF_UP); mTab.setValue("AmtAcctCr", AmtAcctCr); return ""; diff --git a/org.adempiere.base.callout/src/org/compiere/model/CalloutInOut.java b/org.adempiere.base.callout/src/org/compiere/model/CalloutInOut.java index 66e4dae9a4..bf9544d7b6 100644 --- a/org.adempiere.base.callout/src/org/compiere/model/CalloutInOut.java +++ b/org.adempiere.base.callout/src/org/compiere/model/CalloutInOut.java @@ -17,6 +17,7 @@ package org.compiere.model; import java.math.BigDecimal; +import java.math.RoundingMode; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; @@ -439,7 +440,7 @@ public class CalloutInOut extends CalloutEngine BigDecimal QtyEntered = MovementQty; if (ol.getQtyEntered().compareTo(ol.getQtyOrdered()) != 0) QtyEntered = QtyEntered.multiply(ol.getQtyEntered()) - .divide(ol.getQtyOrdered(), 12, BigDecimal.ROUND_HALF_UP); + .divide(ol.getQtyOrdered(), 12, RoundingMode.HALF_UP); mTab.setValue("QtyEntered", QtyEntered); // mTab.setValue("C_Activity_ID", Integer.valueOf(ol.getC_Activity_ID())); @@ -591,7 +592,7 @@ public class CalloutInOut extends CalloutEngine { int C_UOM_To_ID = ((Integer)value).intValue(); QtyEntered = (BigDecimal)mTab.getValue("QtyEntered"); - BigDecimal QtyEntered1 = QtyEntered.setScale(MUOM.getPrecision(ctx, C_UOM_To_ID), BigDecimal.ROUND_HALF_UP); + BigDecimal QtyEntered1 = QtyEntered.setScale(MUOM.getPrecision(ctx, C_UOM_To_ID), RoundingMode.HALF_UP); if (QtyEntered.compareTo(QtyEntered1) != 0) { if (log.isLoggable(Level.FINE)) log.fine("Corrected QtyEntered Scale UOM=" + C_UOM_To_ID @@ -622,7 +623,7 @@ public class CalloutInOut extends CalloutEngine { int C_UOM_To_ID = Env.getContextAsInt(ctx, WindowNo, mTab.getTabNo(), "C_UOM_ID"); QtyEntered = (BigDecimal)value; - BigDecimal QtyEntered1 = QtyEntered.setScale(MUOM.getPrecision(ctx, C_UOM_To_ID), BigDecimal.ROUND_HALF_UP); + BigDecimal QtyEntered1 = QtyEntered.setScale(MUOM.getPrecision(ctx, C_UOM_To_ID), RoundingMode.HALF_UP); if (QtyEntered.compareTo(QtyEntered1) != 0) { if (log.isLoggable(Level.FINE)) log.fine("Corrected QtyEntered Scale UOM=" + C_UOM_To_ID @@ -648,7 +649,7 @@ public class CalloutInOut extends CalloutEngine int C_UOM_To_ID = Env.getContextAsInt(ctx, WindowNo, mTab.getTabNo(), "C_UOM_ID"); MovementQty = (BigDecimal)value; int precision = MProduct.get(ctx, M_Product_ID).getUOMPrecision(); - BigDecimal MovementQty1 = MovementQty.setScale(precision, BigDecimal.ROUND_HALF_UP); + BigDecimal MovementQty1 = MovementQty.setScale(precision, RoundingMode.HALF_UP); if (MovementQty.compareTo(MovementQty1) != 0) { if (log.isLoggable(Level.FINE)) log.fine("Corrected MovementQty " diff --git a/org.adempiere.base.callout/src/org/compiere/model/CalloutInvoice.java b/org.adempiere.base.callout/src/org/compiere/model/CalloutInvoice.java index 677bc3b709..99429d11a7 100644 --- a/org.adempiere.base.callout/src/org/compiere/model/CalloutInvoice.java +++ b/org.adempiere.base.callout/src/org/compiere/model/CalloutInvoice.java @@ -17,6 +17,7 @@ package org.compiere.model; import java.math.BigDecimal; +import java.math.RoundingMode; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; @@ -618,7 +619,7 @@ public class CalloutInvoice extends CalloutEngine { PriceActual = new BigDecimal ((100.0 - Discount.doubleValue()) / 100.0 * PriceList.doubleValue()); if (PriceActual.scale() > StdPrecision) - PriceActual = PriceActual.setScale(StdPrecision, BigDecimal.ROUND_HALF_UP); + PriceActual = PriceActual.setScale(StdPrecision, RoundingMode.HALF_UP); PriceEntered = MUOMConversion.convertProductFrom (ctx, M_Product_ID, C_UOM_To_ID, PriceActual); if (PriceEntered == null) @@ -634,7 +635,7 @@ public class CalloutInvoice extends CalloutEngine else Discount = new BigDecimal ((PriceList.doubleValue() - PriceActual.doubleValue()) / PriceList.doubleValue() * 100.0); if (Discount.scale() > 2) - Discount = Discount.setScale(2, BigDecimal.ROUND_HALF_UP); + Discount = Discount.setScale(2, RoundingMode.HALF_UP); mTab.setValue("Discount", Discount); } log.fine("amt = PriceEntered=" + PriceEntered + ", Actual" + PriceActual + ", Discount=" + Discount); @@ -663,7 +664,7 @@ public class CalloutInvoice extends CalloutEngine { Discount = BigDecimal.valueOf((PriceList.doubleValue () - PriceActual.doubleValue ()) / PriceList.doubleValue () * 100.0); if (Discount.scale () > 2) - Discount = Discount.setScale (2, BigDecimal.ROUND_HALF_UP); + Discount = Discount.setScale (2, RoundingMode.HALF_UP); // mTab.setValue ("Discount", Discount); } } @@ -671,7 +672,7 @@ public class CalloutInvoice extends CalloutEngine // Line Net Amt BigDecimal LineNetAmt = QtyInvoiced.multiply(PriceActual); if (LineNetAmt.scale() > StdPrecision) - LineNetAmt = LineNetAmt.setScale(StdPrecision, BigDecimal.ROUND_HALF_UP); + LineNetAmt = LineNetAmt.setScale(StdPrecision, RoundingMode.HALF_UP); if (log.isLoggable(Level.INFO)) log.info("amt = LineNetAmt=" + LineNetAmt); mTab.setValue("LineNetAmt", LineNetAmt); @@ -757,7 +758,7 @@ public class CalloutInvoice extends CalloutEngine { int C_UOM_To_ID = ((Integer)value).intValue(); QtyEntered = (BigDecimal)mTab.getValue("QtyEntered"); - BigDecimal QtyEntered1 = QtyEntered.setScale(MUOM.getPrecision(ctx, C_UOM_To_ID), BigDecimal.ROUND_HALF_UP); + BigDecimal QtyEntered1 = QtyEntered.setScale(MUOM.getPrecision(ctx, C_UOM_To_ID), RoundingMode.HALF_UP); if (QtyEntered.compareTo(QtyEntered1) != 0) { if (log.isLoggable(Level.FINE)) log.fine("Corrected QtyEntered Scale UOM=" + C_UOM_To_ID @@ -788,7 +789,7 @@ public class CalloutInvoice extends CalloutEngine { int C_UOM_To_ID = Env.getContextAsInt(ctx, WindowNo, mTab.getTabNo(), "C_UOM_ID"); QtyEntered = (BigDecimal)value; - BigDecimal QtyEntered1 = QtyEntered.setScale(MUOM.getPrecision(ctx, C_UOM_To_ID), BigDecimal.ROUND_HALF_UP); + BigDecimal QtyEntered1 = QtyEntered.setScale(MUOM.getPrecision(ctx, C_UOM_To_ID), RoundingMode.HALF_UP); if (QtyEntered.compareTo(QtyEntered1) != 0) { if (log.isLoggable(Level.FINE)) log.fine("Corrected QtyEntered Scale UOM=" + C_UOM_To_ID @@ -814,7 +815,7 @@ public class CalloutInvoice extends CalloutEngine int C_UOM_To_ID = Env.getContextAsInt(ctx, WindowNo, mTab.getTabNo(), "C_UOM_ID"); QtyInvoiced = (BigDecimal)value; int precision = MProduct.get(ctx, M_Product_ID).getUOMPrecision(); - BigDecimal QtyInvoiced1 = QtyInvoiced.setScale(precision, BigDecimal.ROUND_HALF_UP); + BigDecimal QtyInvoiced1 = QtyInvoiced.setScale(precision, RoundingMode.HALF_UP); if (QtyInvoiced.compareTo(QtyInvoiced1) != 0) { if (log.isLoggable(Level.FINE)) log.fine("Corrected QtyInvoiced Scale " diff --git a/org.adempiere.base.callout/src/org/compiere/model/CalloutInvoiceBatch.java b/org.adempiere.base.callout/src/org/compiere/model/CalloutInvoiceBatch.java index 73b9c46135..b346c68442 100644 --- a/org.adempiere.base.callout/src/org/compiere/model/CalloutInvoiceBatch.java +++ b/org.adempiere.base.callout/src/org/compiere/model/CalloutInvoiceBatch.java @@ -17,6 +17,7 @@ package org.compiere.model; import java.math.BigDecimal; +import java.math.RoundingMode; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; @@ -360,7 +361,7 @@ public class CalloutInvoiceBatch extends CalloutEngine // Line Net Amt BigDecimal LineNetAmt = QtyEntered.multiply(PriceEntered); if (LineNetAmt.scale() > StdPrecision) - LineNetAmt = LineNetAmt.setScale(StdPrecision, BigDecimal.ROUND_HALF_UP); + LineNetAmt = LineNetAmt.setScale(StdPrecision, RoundingMode.HALF_UP); // Calculate Tax Amount boolean IsTaxIncluded = "Y".equals(Env.getContext(Env.getCtx(), WindowNo, "IsTaxIncluded")); diff --git a/org.adempiere.base.callout/src/org/compiere/model/CalloutOrder.java b/org.adempiere.base.callout/src/org/compiere/model/CalloutOrder.java index 1c0a51d36a..749c83e269 100644 --- a/org.adempiere.base.callout/src/org/compiere/model/CalloutOrder.java +++ b/org.adempiere.base.callout/src/org/compiere/model/CalloutOrder.java @@ -17,6 +17,7 @@ package org.compiere.model; import java.math.BigDecimal; +import java.math.RoundingMode; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; @@ -1119,7 +1120,7 @@ public class CalloutOrder extends CalloutEngine if ( PriceList.doubleValue() != 0 ) PriceActual = BigDecimal.valueOf((100.0 - Discount.doubleValue()) / 100.0 * PriceList.doubleValue()); if (PriceActual.scale() > StdPrecision) - PriceActual = PriceActual.setScale(StdPrecision, BigDecimal.ROUND_HALF_UP); + PriceActual = PriceActual.setScale(StdPrecision, RoundingMode.HALF_UP); PriceEntered = MUOMConversion.convertProductFrom (ctx, M_Product_ID, C_UOM_To_ID, PriceActual); if (PriceEntered == null) @@ -1135,7 +1136,7 @@ public class CalloutOrder extends CalloutEngine else Discount = BigDecimal.valueOf((PriceList.doubleValue() - PriceActual.doubleValue()) / PriceList.doubleValue() * 100.0); if (Discount.scale() > 2) - Discount = Discount.setScale(2, BigDecimal.ROUND_HALF_UP); + Discount = Discount.setScale(2, RoundingMode.HALF_UP); mTab.setValue("Discount", Discount); } if (log.isLoggable(Level.FINE)) log.fine("PriceEntered=" + PriceEntered + ", Actual=" + PriceActual + ", Discount=" + Discount); @@ -1163,7 +1164,7 @@ public class CalloutOrder extends CalloutEngine { Discount = BigDecimal.valueOf((PriceList.doubleValue () - PriceActual.doubleValue ()) / PriceList.doubleValue () * 100.0); if (Discount.scale () > 2) - Discount = Discount.setScale (2, BigDecimal.ROUND_HALF_UP); + Discount = Discount.setScale (2, RoundingMode.HALF_UP); mTab.setValue ("Discount", Discount); } } @@ -1171,7 +1172,7 @@ public class CalloutOrder extends CalloutEngine // Line Net Amt BigDecimal LineNetAmt = QtyOrdered.multiply(PriceActual); if (LineNetAmt.scale() > StdPrecision) - LineNetAmt = LineNetAmt.setScale(StdPrecision, BigDecimal.ROUND_HALF_UP); + LineNetAmt = LineNetAmt.setScale(StdPrecision, RoundingMode.HALF_UP); if (log.isLoggable(Level.INFO)) log.info("LineNetAmt=" + LineNetAmt); mTab.setValue("LineNetAmt", LineNetAmt); // @@ -1210,7 +1211,7 @@ public class CalloutOrder extends CalloutEngine { int C_UOM_To_ID = ((Integer)value).intValue(); QtyEntered = (BigDecimal)mTab.getValue("QtyEntered"); - BigDecimal QtyEntered1 = QtyEntered.setScale(MUOM.getPrecision(ctx, C_UOM_To_ID), BigDecimal.ROUND_HALF_UP); + BigDecimal QtyEntered1 = QtyEntered.setScale(MUOM.getPrecision(ctx, C_UOM_To_ID), RoundingMode.HALF_UP); if (QtyEntered.compareTo(QtyEntered1) != 0) { if (log.isLoggable(Level.FINE)) log.fine("Corrected QtyEntered Scale UOM=" + C_UOM_To_ID @@ -1241,7 +1242,7 @@ public class CalloutOrder extends CalloutEngine { int C_UOM_To_ID = Env.getContextAsInt(ctx, WindowNo, mTab.getTabNo(), "C_UOM_ID"); QtyEntered = (BigDecimal)value; - BigDecimal QtyEntered1 = QtyEntered.setScale(MUOM.getPrecision(ctx, C_UOM_To_ID), BigDecimal.ROUND_HALF_UP); + BigDecimal QtyEntered1 = QtyEntered.setScale(MUOM.getPrecision(ctx, C_UOM_To_ID), RoundingMode.HALF_UP); if (QtyEntered.compareTo(QtyEntered1) != 0) { if (log.isLoggable(Level.FINE)) log.fine("Corrected QtyEntered Scale UOM=" + C_UOM_To_ID @@ -1267,7 +1268,7 @@ public class CalloutOrder extends CalloutEngine int C_UOM_To_ID = Env.getContextAsInt(ctx, WindowNo, mTab.getTabNo(), "C_UOM_ID"); QtyOrdered = (BigDecimal)value; int precision = MProduct.get(ctx, M_Product_ID).getUOMPrecision(); - BigDecimal QtyOrdered1 = QtyOrdered.setScale(precision, BigDecimal.ROUND_HALF_UP); + BigDecimal QtyOrdered1 = QtyOrdered.setScale(precision, RoundingMode.HALF_UP); if (QtyOrdered.compareTo(QtyOrdered1) != 0) { if (log.isLoggable(Level.FINE)) log.fine("Corrected QtyOrdered Scale " diff --git a/org.adempiere.base.callout/src/org/compiere/model/CalloutPayment.java b/org.adempiere.base.callout/src/org/compiere/model/CalloutPayment.java index 746809fe8a..1ca3a98309 100644 --- a/org.adempiere.base.callout/src/org/compiere/model/CalloutPayment.java +++ b/org.adempiere.base.callout/src/org/compiere/model/CalloutPayment.java @@ -17,6 +17,7 @@ package org.compiere.model; import java.math.BigDecimal; +import java.math.RoundingMode; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; @@ -411,7 +412,7 @@ public class CalloutPayment extends CalloutEngine } // InvoiceOpenAmt = InvoiceOpenAmt.multiply (CurrencyRate).setScale ( - currency.getStdPrecision (), BigDecimal.ROUND_HALF_UP); + currency.getStdPrecision (), RoundingMode.HALF_UP); if (log.isLoggable(Level.FINE)) log.fine ("Rate=" + CurrencyRate + ", InvoiceOpenAmt=" + InvoiceOpenAmt); } @@ -420,16 +421,16 @@ public class CalloutPayment extends CalloutEngine || colName.equals ("C_ConversionType_ID")) { PayAmt = PayAmt.multiply (CurrencyRate).setScale ( - currency.getStdPrecision (), BigDecimal.ROUND_HALF_UP); + currency.getStdPrecision (), RoundingMode.HALF_UP); mTab.setValue ("PayAmt", PayAmt); DiscountAmt = DiscountAmt.multiply (CurrencyRate).setScale ( - currency.getStdPrecision (), BigDecimal.ROUND_HALF_UP); + currency.getStdPrecision (), RoundingMode.HALF_UP); mTab.setValue ("DiscountAmt", DiscountAmt); WriteOffAmt = WriteOffAmt.multiply (CurrencyRate).setScale ( - currency.getStdPrecision (), BigDecimal.ROUND_HALF_UP); + currency.getStdPrecision (), RoundingMode.HALF_UP); mTab.setValue ("WriteOffAmt", WriteOffAmt); OverUnderAmt = OverUnderAmt.multiply (CurrencyRate).setScale ( - currency.getStdPrecision (), BigDecimal.ROUND_HALF_UP); + currency.getStdPrecision (), RoundingMode.HALF_UP); mTab.setValue ("OverUnderAmt", OverUnderAmt); } // No Invoice - Set Discount, Witeoff, Under/Over to 0 diff --git a/org.adempiere.base.callout/src/org/compiere/model/CalloutProject.java b/org.adempiere.base.callout/src/org/compiere/model/CalloutProject.java index 0f23ed39ed..4288e69e80 100644 --- a/org.adempiere.base.callout/src/org/compiere/model/CalloutProject.java +++ b/org.adempiere.base.callout/src/org/compiere/model/CalloutProject.java @@ -17,6 +17,7 @@ package org.compiere.model; import java.math.BigDecimal; +import java.math.RoundingMode; import java.util.Properties; import java.util.logging.Level; @@ -61,7 +62,7 @@ public class CalloutProject extends CalloutEngine // BigDecimal PlannedAmt = PlannedQty.multiply(PlannedPrice); if (PlannedAmt.scale() > StdPrecision) - PlannedAmt = PlannedAmt.setScale(StdPrecision, BigDecimal.ROUND_HALF_UP); + PlannedAmt = PlannedAmt.setScale(StdPrecision, RoundingMode.HALF_UP); // if (log.isLoggable(Level.FINE)) log.fine("PlannedQty=" + PlannedQty + " * PlannedPrice=" + PlannedPrice + " -> PlannedAmt=" + PlannedAmt + " (Precision=" + StdPrecision+ ")"); mTab.setValue("PlannedAmt", PlannedAmt); diff --git a/org.adempiere.base.callout/src/org/compiere/model/CalloutRequisition.java b/org.adempiere.base.callout/src/org/compiere/model/CalloutRequisition.java index c219a54c8d..fbbd264ba6 100644 --- a/org.adempiere.base.callout/src/org/compiere/model/CalloutRequisition.java +++ b/org.adempiere.base.callout/src/org/compiere/model/CalloutRequisition.java @@ -17,6 +17,7 @@ package org.compiere.model; import java.math.BigDecimal; +import java.math.RoundingMode; import java.sql.Timestamp; import java.util.Properties; import java.util.logging.Level; @@ -89,7 +90,7 @@ public class CalloutRequisition extends CalloutEngine // Multiply BigDecimal LineNetAmt = Qty.multiply(PriceActual); if (LineNetAmt.scale() > StdPrecision) - LineNetAmt = LineNetAmt.setScale(StdPrecision, BigDecimal.ROUND_HALF_UP); + LineNetAmt = LineNetAmt.setScale(StdPrecision, RoundingMode.HALF_UP); line.setLineNetAmt(LineNetAmt); if (log.isLoggable(Level.INFO)) log.info("amt - LineNetAmt=" + LineNetAmt); // diff --git a/org.adempiere.base.process/src/org/compiere/process/DistributionCreate.java b/org.adempiere.base.process/src/org/compiere/process/DistributionCreate.java index dbc8cd4b84..872306c15c 100644 --- a/org.adempiere.base.process/src/org/compiere/process/DistributionCreate.java +++ b/org.adempiere.base.process/src/org/compiere/process/DistributionCreate.java @@ -17,6 +17,7 @@ package org.compiere.process; import java.math.BigDecimal; +import java.math.RoundingMode; import java.util.logging.Level; import org.compiere.model.MBPartner; @@ -191,7 +192,7 @@ public class DistributionCreate extends SvrProcess BigDecimal ratio = dll.getRatio(); BigDecimal qty = p_Qty.multiply(ratio); if (qty.compareTo(Env.ZERO) != 0) - qty = qty.divide(m_dl.getRatioTotal(), m_product.getUOMPrecision(), BigDecimal.ROUND_HALF_UP); + qty = qty.divide(m_dl.getRatioTotal(), m_product.getUOMPrecision(), RoundingMode.HALF_UP); BigDecimal minQty = dll.getMinQty(); if (qty.compareTo(minQty) < 0) qty = minQty; diff --git a/org.adempiere.base.process/src/org/compiere/process/DistributionRun.java b/org.adempiere.base.process/src/org/compiere/process/DistributionRun.java index 5a60a72a1e..757863c662 100644 --- a/org.adempiere.base.process/src/org/compiere/process/DistributionRun.java +++ b/org.adempiere.base.process/src/org/compiere/process/DistributionRun.java @@ -17,6 +17,7 @@ package org.compiere.process; import java.math.BigDecimal; +import java.math.RoundingMode; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.Timestamp; @@ -413,7 +414,7 @@ public class DistributionRun extends SvrProcess if (detail.isCanAdjust()) { BigDecimal diffRatio = detail.getRatio().multiply(difference) - .divide(ratioTotal, BigDecimal.ROUND_HALF_UP); // precision from total + .divide(ratioTotal, RoundingMode.HALF_UP); // precision from total if (log.isLoggable(Level.FINE)) log.fine("Detail=" + detail.toString() + ", Allocation=" + detail.getActualAllocation() + ", DiffRatio=" + diffRatio); @@ -646,7 +647,7 @@ public class DistributionRun extends SvrProcess log.info("Qty Total Available:" + drl.getTotalQty()); log.info("Qty Total Demand:" + totalration); } - BigDecimal factor = ration.divide(totalration, 12 , BigDecimal.ROUND_HALF_UP); + BigDecimal factor = ration.divide(totalration, 12 , RoundingMode.HALF_UP); record.setQty(drl.getTotalQty().multiply(factor)); record.saveEx(); } @@ -750,7 +751,7 @@ public class DistributionRun extends SvrProcess , p_M_DistributionRun_ID, record.getM_Product_ID()); MDistributionRunLine drl = (MDistributionRunLine) MTable.get(getCtx(), MDistributionRunLine.Table_ID).getPO(record.getM_DistributionRunLine_ID(), get_TrxName()); BigDecimal ration = record.getRatio(); - BigDecimal factor = ration.divide(total_ration,BigDecimal.ROUND_HALF_UP); + BigDecimal factor = ration.divide(total_ration,RoundingMode.HALF_UP); record.setQty(factor.multiply(drl.getTotalQty())); record.saveEx(); } diff --git a/org.adempiere.base.process/src/org/compiere/process/InOutCreateInvoice.java b/org.adempiere.base.process/src/org/compiere/process/InOutCreateInvoice.java index 9076dea73e..a4e371c8d8 100644 --- a/org.adempiere.base.process/src/org/compiere/process/InOutCreateInvoice.java +++ b/org.adempiere.base.process/src/org/compiere/process/InOutCreateInvoice.java @@ -17,6 +17,7 @@ package org.compiere.process; import java.math.BigDecimal; +import java.math.RoundingMode; import java.util.logging.Level; import org.compiere.model.MCurrency; @@ -122,7 +123,7 @@ public class InOutCreateInvoice extends SvrProcess BigDecimal igt = invoice.getGrandTotal(); BigDecimal percent = Env.ONE; if (ogt.compareTo(igt) != 0) - percent = igt.divide(ogt, 10, BigDecimal.ROUND_HALF_UP); + percent = igt.divide(ogt, 10, RoundingMode.HALF_UP); MCurrency cur = MCurrency.get(order.getCtx(), order.getC_Currency_ID()); int scale = cur.getStdPrecision(); @@ -132,7 +133,7 @@ public class InOutCreateInvoice extends SvrProcess if (percent != Env.ONE) { BigDecimal propDueAmt = ops.getDueAmt().multiply(percent); if (propDueAmt.scale() > scale) - propDueAmt = propDueAmt.setScale(scale, BigDecimal.ROUND_HALF_UP); + propDueAmt = propDueAmt.setScale(scale, RoundingMode.HALF_UP); ips.setDueAmt(propDueAmt); } ips.setC_Invoice_ID(invoice.getC_Invoice_ID()); diff --git a/org.adempiere.base.process/src/org/compiere/process/InOutGenerate.java b/org.adempiere.base.process/src/org/compiere/process/InOutGenerate.java index 62576172f1..2026d2bf27 100644 --- a/org.adempiere.base.process/src/org/compiere/process/InOutGenerate.java +++ b/org.adempiere.base.process/src/org/compiere/process/InOutGenerate.java @@ -17,6 +17,7 @@ package org.compiere.process; import java.math.BigDecimal; +import java.math.RoundingMode; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.Timestamp; @@ -448,7 +449,7 @@ public class InOutGenerate extends SvrProcess if (orderLine.getQtyEntered().compareTo(orderLine.getQtyOrdered()) != 0) line.setQtyEntered(qty .multiply(orderLine.getQtyEntered()) - .divide(orderLine.getQtyOrdered(), 12, BigDecimal.ROUND_HALF_UP)); + .divide(orderLine.getQtyOrdered(), 12, RoundingMode.HALF_UP)); line.setLine(m_line + orderLine.getLine()); if (!line.save()) throw new IllegalStateException("Could not create Shipment Line"); @@ -504,7 +505,7 @@ public class InOutGenerate extends SvrProcess line.setQty(line.getMovementQty().add(deliver)); if (orderLine.getQtyEntered().compareTo(orderLine.getQtyOrdered()) != 0) line.setQtyEntered(line.getMovementQty().multiply(orderLine.getQtyEntered()) - .divide(orderLine.getQtyOrdered(), 12, BigDecimal.ROUND_HALF_UP)); + .divide(orderLine.getQtyOrdered(), 12, RoundingMode.HALF_UP)); line.setLine(m_line + orderLine.getLine()); if (!line.save()) throw new IllegalStateException("Could not create Shipment Line"); @@ -530,7 +531,7 @@ public class InOutGenerate extends SvrProcess line.setQty(toDeliver); if (orderLine.getQtyEntered().compareTo(orderLine.getQtyOrdered()) != 0) line.setQtyEntered(line.getMovementQty().multiply(orderLine.getQtyEntered()) - .divide(orderLine.getQtyOrdered(), 12, BigDecimal.ROUND_HALF_UP)); + .divide(orderLine.getQtyOrdered(), 12, RoundingMode.HALF_UP)); line.setLine(m_line + orderLine.getLine()); if (!line.save()) throw new IllegalStateException("Could not create Shipment Line"); diff --git a/org.adempiere.base.process/src/org/compiere/process/InvoiceGenerate.java b/org.adempiere.base.process/src/org/compiere/process/InvoiceGenerate.java index 30407ce96b..e0e86158ea 100644 --- a/org.adempiere.base.process/src/org/compiere/process/InvoiceGenerate.java +++ b/org.adempiere.base.process/src/org/compiere/process/InvoiceGenerate.java @@ -17,6 +17,7 @@ package org.compiere.process; import java.math.BigDecimal; +import java.math.RoundingMode; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; @@ -300,7 +301,7 @@ public class InvoiceGenerate extends SvrProcess if (oLine.getQtyEntered().compareTo(oLine.getQtyOrdered()) != 0) qtyEntered = toInvoice .multiply(oLine.getQtyEntered()) - .divide(oLine.getQtyOrdered(), 12, BigDecimal.ROUND_HALF_UP); + .divide(oLine.getQtyOrdered(), 12, RoundingMode.HALF_UP); createLine (order, oLine, toInvoice, qtyEntered); } else if (!completeOrder) @@ -492,7 +493,7 @@ public class InvoiceGenerate extends SvrProcess BigDecimal igt = m_invoice.getGrandTotal(); BigDecimal percent = Env.ONE; if (ogt.compareTo(igt) != 0) - percent = igt.divide(ogt, 10, BigDecimal.ROUND_HALF_UP); + percent = igt.divide(ogt, 10, RoundingMode.HALF_UP); MCurrency cur = MCurrency.get(order.getCtx(), order.getC_Currency_ID()); int scale = cur.getStdPrecision(); @@ -502,7 +503,7 @@ public class InvoiceGenerate extends SvrProcess if (percent != Env.ONE) { BigDecimal propDueAmt = ops.getDueAmt().multiply(percent); if (propDueAmt.scale() > scale) - propDueAmt = propDueAmt.setScale(scale, BigDecimal.ROUND_HALF_UP); + propDueAmt = propDueAmt.setScale(scale, RoundingMode.HALF_UP); ips.setDueAmt(propDueAmt); } ips.setC_Invoice_ID(m_invoice.getC_Invoice_ID()); diff --git a/org.adempiere.base.process/src/org/compiere/process/M_PriceList_Create.java b/org.adempiere.base.process/src/org/compiere/process/M_PriceList_Create.java index 0365b78175..84bd0d325a 100644 --- a/org.adempiere.base.process/src/org/compiere/process/M_PriceList_Create.java +++ b/org.adempiere.base.process/src/org/compiere/process/M_PriceList_Create.java @@ -20,6 +20,7 @@ package org.compiere.process; import java.math.BigDecimal; +import java.math.RoundingMode; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; @@ -544,7 +545,7 @@ public class M_PriceList_Create extends SvrProcess { } if (conversion != null) { - price = price.divide(conversion.getDivideRate(), precision, BigDecimal.ROUND_HALF_DOWN); + price = price.divide(conversion.getDivideRate(), precision, RoundingMode.HALF_DOWN); StringBuilder sqlupdate = new StringBuilder(); sqlupdate.append("UPDATE M_ProductPrice SET PriceList=").append(price).append(" WHERE M_PriceList_Version_ID=").append(p_PriceList_Version_ID) .append(" AND M_Product_ID= ").append(product_id); diff --git a/org.adempiere.base.process/src/org/compiere/process/ProductUOMConvert.java b/org.adempiere.base.process/src/org/compiere/process/ProductUOMConvert.java index 014017760c..3a73aaf194 100644 --- a/org.adempiere.base.process/src/org/compiere/process/ProductUOMConvert.java +++ b/org.adempiere.base.process/src/org/compiere/process/ProductUOMConvert.java @@ -17,6 +17,7 @@ package org.compiere.process; import java.math.BigDecimal; +import java.math.RoundingMode; import java.util.logging.Level; import org.compiere.model.MProduct; @@ -95,8 +96,8 @@ public class ProductUOMConvert extends SvrProcess throw new AdempiereUserError("@NotFound@: @C_UOM_Conversion_ID@"); MUOM uomTo = MUOM.get(getCtx(), productTo.getC_UOM_ID()); - BigDecimal qtyTo = p_Qty.divide(conversion.getDivideRate(), uomTo.getStdPrecision(), BigDecimal.ROUND_HALF_UP); - BigDecimal qtyTo6 = p_Qty.divide(conversion.getDivideRate(), 6, BigDecimal.ROUND_HALF_UP); + BigDecimal qtyTo = p_Qty.divide(conversion.getDivideRate(), uomTo.getStdPrecision(), RoundingMode.HALF_UP); + BigDecimal qtyTo6 = p_Qty.divide(conversion.getDivideRate(), 6, RoundingMode.HALF_UP); if (qtyTo.compareTo(qtyTo6) != 0) throw new AdempiereUserError("@StdPrecision@: " + qtyTo + " <> " + qtyTo6 + " (" + p_Qty + "/" + conversion.getDivideRate() + ")"); diff --git a/org.adempiere.base.process/src/org/compiere/process/RfQCreateSO.java b/org.adempiere.base.process/src/org/compiere/process/RfQCreateSO.java index f7c9ff976b..c6942503aa 100644 --- a/org.adempiere.base.process/src/org/compiere/process/RfQCreateSO.java +++ b/org.adempiere.base.process/src/org/compiere/process/RfQCreateSO.java @@ -17,6 +17,7 @@ package org.compiere.process; import java.math.BigDecimal; +import java.math.RoundingMode; import java.util.logging.Level; import org.compiere.model.MBPartner; @@ -129,7 +130,7 @@ public class RfQCreateSO extends SvrProcess { margin = margin.add(Env.ONEHUNDRED); price = price.multiply(margin) - .divide(Env.ONEHUNDRED, 2, BigDecimal.ROUND_HALF_UP); + .divide(Env.ONEHUNDRED, 2, RoundingMode.HALF_UP); } } } // price diff --git a/org.adempiere.base/src/org/adempiere/model/PromotionRule.java b/org.adempiere.base/src/org/adempiere/model/PromotionRule.java index 498f9b8a53..6c059095f7 100644 --- a/org.adempiere.base/src/org/adempiere/model/PromotionRule.java +++ b/org.adempiere.base/src/org/adempiere/model/PromotionRule.java @@ -14,6 +14,7 @@ package org.adempiere.model; import java.math.BigDecimal; +import java.math.RoundingMode; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; @@ -295,7 +296,7 @@ public class PromotionRule { nol.setC_Charge_ID(C_Charge_ID); nol.setQty(qty); if (discount.scale() > 2) - discount = discount.setScale(2, BigDecimal.ROUND_HALF_UP); + discount = discount.setScale(2, RoundingMode.HALF_UP); nol.setPriceEntered(discount.negate()); nol.setPriceActual(discount.negate()); if (ol != null && Integer.toString(ol.getLine()).endsWith("0")) { diff --git a/org.adempiere.base/src/org/compiere/acct/Doc_AllocationHdr.java b/org.adempiere.base/src/org/compiere/acct/Doc_AllocationHdr.java index 6780f17807..8eaad8c421 100644 --- a/org.adempiere.base/src/org/compiere/acct/Doc_AllocationHdr.java +++ b/org.adempiere.base/src/org/compiere/acct/Doc_AllocationHdr.java @@ -17,6 +17,7 @@ package org.compiere.acct; import java.math.BigDecimal; +import java.math.RoundingMode; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; @@ -780,7 +781,7 @@ public class Doc_AllocationHdr extends Doc // Round int precision = as.getStdPrecision(); if (invoiceDifference.scale() > precision) - invoiceDifference = invoiceDifference.setScale(precision, BigDecimal.ROUND_HALF_UP); + invoiceDifference = invoiceDifference.setScale(precision, RoundingMode.HALF_UP); StringBuilder d2 = new StringBuilder("(partial) = ").append(invoiceDifference).append(" - Multiplier=").append(multiplier); if (log.isLoggable(Level.FINE)) log.fine(d2.toString()); descriptionInv.append(" - ").append(d2); @@ -847,7 +848,7 @@ public class Doc_AllocationHdr extends Doc // Round int precision = as.getStdPrecision(); if (paymentDifference.scale() > precision) - paymentDifference = paymentDifference.setScale(precision, BigDecimal.ROUND_HALF_UP); + paymentDifference = paymentDifference.setScale(precision, RoundingMode.HALF_UP); StringBuilder d2 = new StringBuilder("(partial) = ").append(paymentDifference).append(" - Multiplier=").append(multiplier); if (log.isLoggable(Level.FINE)) log.fine(d2.toString()); descriptionPay.append(" - ").append(d2); @@ -1193,10 +1194,10 @@ class Doc_AllocationTax || amt.signum() == 0) return Env.ZERO; // - BigDecimal multiplier = tax.divide(total, 10, BigDecimal.ROUND_HALF_UP); + BigDecimal multiplier = tax.divide(total, 10, RoundingMode.HALF_UP); BigDecimal retValue = multiplier.multiply(amt); if (retValue.scale() > precision) - retValue = retValue.setScale(precision, BigDecimal.ROUND_HALF_UP); + retValue = retValue.setScale(precision, RoundingMode.HALF_UP); if (log.isLoggable(Level.FINE)) log.fine(retValue + " (Mult=" + multiplier + "(Prec=" + precision + ")"); return retValue; } // calcAmount diff --git a/org.adempiere.base/src/org/compiere/acct/Doc_Invoice.java b/org.adempiere.base/src/org/compiere/acct/Doc_Invoice.java index d3a6498ba4..3bd709173a 100644 --- a/org.adempiere.base/src/org/compiere/acct/Doc_Invoice.java +++ b/org.adempiere.base/src/org/compiere/acct/Doc_Invoice.java @@ -17,6 +17,7 @@ package org.compiere.acct; import java.math.BigDecimal; +import java.math.RoundingMode; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; @@ -922,7 +923,7 @@ public class Doc_Invoice extends Doc BigDecimal qty = allocation.getQty(); if (qty.compareTo(iol.getMovementQty()) != 0) { - amt = amt.multiply(iol.getMovementQty()).divide(qty, 12, BigDecimal.ROUND_HALF_UP); + amt = amt.multiply(iol.getMovementQty()).divide(qty, 12, RoundingMode.HALF_UP); } estimatedAmt = estimatedAmt.add(amt); } @@ -931,7 +932,7 @@ public class Doc_Invoice extends Doc if (estimatedAmt.scale() > as.getCostingPrecision()) { - estimatedAmt = estimatedAmt.setScale(as.getCostingPrecision(), BigDecimal.ROUND_HALF_UP); + estimatedAmt = estimatedAmt.setScale(as.getCostingPrecision(), RoundingMode.HALF_UP); } BigDecimal costAdjustmentAmt = allocationAmt; if (estimatedAmt.signum() > 0) @@ -996,7 +997,7 @@ public class Doc_Invoice extends Doc getDateAcct(), getC_ConversionType_ID(), getAD_Client_ID(), getAD_Org_ID()); if (costDetailAmt.scale() > as.getCostingPrecision()) - costDetailAmt = costDetailAmt.setScale(as.getCostingPrecision(), BigDecimal.ROUND_HALF_UP); + costDetailAmt = costDetailAmt.setScale(as.getCostingPrecision(), RoundingMode.HALF_UP); String key = lca.getM_Product_ID()+"_"+lca.getM_AttributeSetInstance_ID(); BigDecimal prevAmt = costDetailAmtMap.remove(key); @@ -1041,11 +1042,11 @@ public class Doc_Invoice extends Doc { if (allocationAmt.scale() > as.getStdPrecision()) { - allocationAmt = allocationAmt.setScale(as.getStdPrecision(), BigDecimal.ROUND_HALF_UP); + allocationAmt = allocationAmt.setScale(as.getStdPrecision(), RoundingMode.HALF_UP); } if (estimatedAmt.scale() > as.getStdPrecision()) { - estimatedAmt = estimatedAmt.setScale(as.getStdPrecision(), BigDecimal.ROUND_HALF_UP); + estimatedAmt = estimatedAmt.setScale(as.getStdPrecision(), RoundingMode.HALF_UP); } int compare = allocationAmt.compareTo(estimatedAmt); if (compare > 0) diff --git a/org.adempiere.base/src/org/compiere/acct/Doc_MatchInv.java b/org.adempiere.base/src/org/compiere/acct/Doc_MatchInv.java index c4545b976f..d65d8ae04f 100644 --- a/org.adempiere.base/src/org/compiere/acct/Doc_MatchInv.java +++ b/org.adempiere.base/src/org/compiere/acct/Doc_MatchInv.java @@ -17,6 +17,7 @@ package org.compiere.acct; import java.math.BigDecimal; +import java.math.RoundingMode; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Savepoint; @@ -167,7 +168,7 @@ public class Doc_MatchInv extends Doc // NotInvoicedReceipt DR // From Receipt BigDecimal multiplier = getQty() - .divide(m_receiptLine.getMovementQty(), 12, BigDecimal.ROUND_HALF_UP) + .divide(m_receiptLine.getMovementQty(), 12, RoundingMode.HALF_UP) .abs(); FactLine dr = fact.createLine (null, getAccount(Doc.ACCTTYPE_NotInvoicedReceipts, as), @@ -212,7 +213,7 @@ public class Doc_MatchInv extends Doc expense = m_pc.getAccount(ProductCost.ACCTTYPE_P_Expense, as); BigDecimal LineNetAmt = m_invoiceLine.getLineNetAmt(); multiplier = getQty() - .divide(m_invoiceLine.getQtyInvoiced(), 12, BigDecimal.ROUND_HALF_UP) + .divide(m_invoiceLine.getQtyInvoiced(), 12, RoundingMode.HALF_UP) .abs(); if (multiplier.compareTo(Env.ONE) != 0) LineNetAmt = LineNetAmt.multiply(multiplier); @@ -453,7 +454,7 @@ public class Doc_MatchInv extends Doc BigDecimal LineNetAmt = m_invoiceLine.getLineNetAmt(); BigDecimal multiplier = getQty() - .divide(m_invoiceLine.getQtyInvoiced(), 12, BigDecimal.ROUND_HALF_UP) + .divide(m_invoiceLine.getQtyInvoiced(), 12, RoundingMode.HALF_UP) .abs(); if (multiplier.compareTo(Env.ONE) != 0) LineNetAmt = LineNetAmt.multiply(multiplier); @@ -469,7 +470,7 @@ public class Doc_MatchInv extends Doc { tQty = tQty.add(mInv[i].getQty()); multiplier = mInv[i].getQty() - .divide(m_invoiceLine.getQtyInvoiced(), 12, BigDecimal.ROUND_HALF_UP).abs(); + .divide(m_invoiceLine.getQtyInvoiced(), 12, RoundingMode.HALF_UP).abs(); tAmt = tAmt.add(m_invoiceLine.getLineNetAmt().multiply(multiplier)); } } @@ -516,7 +517,7 @@ public class Doc_MatchInv extends Doc { BigDecimal totalAmt = allocation.getAmt(); BigDecimal totalQty = allocation.getQty(); - BigDecimal amt = totalAmt.multiply(tQty).divide(totalQty, 12, BigDecimal.ROUND_HALF_UP); + BigDecimal amt = totalAmt.multiply(tQty).divide(totalQty, 12, RoundingMode.HALF_UP); if (orderLine.getC_Currency_ID() != as.getC_Currency_ID()) { I_C_Order order = orderLine.getC_Order(); @@ -532,7 +533,7 @@ public class Doc_MatchInv extends Doc } amt = amt.multiply(rate); if (amt.scale() > as.getCostingPrecision()) - amt = amt.setScale(as.getCostingPrecision(), BigDecimal.ROUND_HALF_UP); + amt = amt.setScale(as.getCostingPrecision(), RoundingMode.HALF_UP); } int elementId = allocation.getC_OrderLandedCost().getM_CostElement_ID(); BigDecimal elementAmt = landedCostMap.get(elementId); diff --git a/org.adempiere.base/src/org/compiere/acct/Doc_MatchPO.java b/org.adempiere.base/src/org/compiere/acct/Doc_MatchPO.java index 7580ec3e1c..72758107ca 100644 --- a/org.adempiere.base/src/org/compiere/acct/Doc_MatchPO.java +++ b/org.adempiere.base/src/org/compiere/acct/Doc_MatchPO.java @@ -233,7 +233,7 @@ public class Doc_MatchPO extends Doc amt = amt.divide(getQty(), 12, RoundingMode.HALF_UP); landedCost = landedCost.add(amt); if (landedCost.scale() > as.getCostingPrecision()) - landedCost = landedCost.setScale(as.getCostingPrecision(), BigDecimal.ROUND_HALF_UP); + landedCost = landedCost.setScale(as.getCostingPrecision(), RoundingMode.HALF_UP); int elementId = allocation.getC_OrderLandedCost().getM_CostElement_ID(); BigDecimal elementAmt = landedCostMap.get(elementId); if (elementAmt == null) @@ -263,7 +263,7 @@ public class Doc_MatchPO extends Doc } poCost = poCost.multiply(rate); if (poCost.scale() > as.getCostingPrecision()) - poCost = poCost.setScale(as.getCostingPrecision(), BigDecimal.ROUND_HALF_UP); + poCost = poCost.setScale(as.getCostingPrecision(), RoundingMode.HALF_UP); } String costingError = createMatchPOCostDetail(as, poCost, landedCostMap); @@ -492,7 +492,7 @@ public class Doc_MatchPO extends Doc } if (tAmt.scale() > as.getCostingPrecision()) - tAmt = tAmt.setScale(as.getCostingPrecision(), BigDecimal.ROUND_HALF_UP); + tAmt = tAmt.setScale(as.getCostingPrecision(), RoundingMode.HALF_UP); // Set Total Amount and Total Quantity from Matched PO if (!MCostDetail.createOrder(as, m_oLine.getAD_Org_ID(), getM_Product_ID(), mMatchPO.getM_AttributeSetInstance_ID(), @@ -523,7 +523,7 @@ public class Doc_MatchPO extends Doc BigDecimal amt = landedCostMap.get(elementId); amt = amt.multiply(tQty); if (amt.scale() > as.getCostingPrecision()) - amt = amt.setScale(as.getCostingPrecision(), BigDecimal.ROUND_HALF_UP); + amt = amt.setScale(as.getCostingPrecision(), RoundingMode.HALF_UP); if (!MCostDetail.createOrder(as, m_oLine.getAD_Org_ID(), getM_Product_ID(), mMatchPO.getM_AttributeSetInstance_ID(), m_oLine.getC_OrderLine_ID(), elementId, diff --git a/org.adempiere.base/src/org/compiere/acct/Doc_Production.java b/org.adempiere.base/src/org/compiere/acct/Doc_Production.java index 23eb0c210a..a5fa72ab84 100644 --- a/org.adempiere.base/src/org/compiere/acct/Doc_Production.java +++ b/org.adempiere.base/src/org/compiere/acct/Doc_Production.java @@ -17,6 +17,7 @@ package org.compiere.acct; import java.math.BigDecimal; +import java.math.RoundingMode; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; @@ -318,7 +319,7 @@ public class Doc_Production extends Doc costMap.put(line0.get_ID()+ "_"+ ma.getM_AttributeSetInstance_ID(),maCost); costs0 = costs0.add(maCost); } - bomCost = bomCost.add(costs0.setScale(2,BigDecimal.ROUND_HALF_UP)); + bomCost = bomCost.add(costs0.setScale(2,RoundingMode.HALF_UP)); } else p_Error = "Failed to post - No Attribute Set for line"; @@ -339,7 +340,7 @@ public class Doc_Production extends Doc costs0 = line0.getProductCosts(as, line0.getAD_Org_ID(), false); } costMap.put(line0.get_ID()+ "_"+ line0.getM_AttributeSetInstance_ID(),costs0); - bomCost = bomCost.add(costs0.setScale(2,BigDecimal.ROUND_HALF_UP)); + bomCost = bomCost.add(costs0.setScale(2,RoundingMode.HALF_UP)); } } @@ -358,7 +359,7 @@ public class Doc_Production extends Doc costs0 = line0.getProductCosts(as, line0.getAD_Org_ID(), false); } costMap.put(line0.get_ID()+ "_"+ line0.getM_AttributeSetInstance_ID(),costs0); - bomCost = bomCost.add(costs0.setScale(2,BigDecimal.ROUND_HALF_UP)); + bomCost = bomCost.add(costs0.setScale(2,RoundingMode.HALF_UP)); } } } @@ -366,8 +367,8 @@ public class Doc_Production extends Doc qtyProduced = manipulateQtyProduced (mQtyProduced, endProLine, prod.isUseProductionPlan(), null); if (line.getQty().compareTo(qtyProduced) != 0) { - BigDecimal factor = line.getQty().divide(qtyProduced, 12, BigDecimal.ROUND_HALF_UP); - bomCost = bomCost.multiply(factor).setScale(2,BigDecimal.ROUND_HALF_UP); + BigDecimal factor = line.getQty().divide(qtyProduced, 12, RoundingMode.HALF_UP); + bomCost = bomCost.multiply(factor).setScale(2,RoundingMode.HALF_UP); } if (MAcctSchema.COSTINGLEVEL_BatchLot.equals(CostingLevel)) @@ -386,7 +387,7 @@ public class Doc_Production extends Doc else { int precision = as.getStdPrecision(); - BigDecimal variance = (costs.setScale(precision, BigDecimal.ROUND_HALF_UP)).subtract(bomCost.negate()); + BigDecimal variance = (costs.setScale(precision, RoundingMode.HALF_UP)).subtract(bomCost.negate()); // only post variance if it's not zero if (variance.signum() != 0) { diff --git a/org.adempiere.base/src/org/compiere/acct/FactLine.java b/org.adempiere.base/src/org/compiere/acct/FactLine.java index 45b92d7a51..bfe93b328c 100644 --- a/org.adempiere.base/src/org/compiere/acct/FactLine.java +++ b/org.adempiere.base/src/org/compiere/acct/FactLine.java @@ -17,6 +17,7 @@ package org.compiere.acct; import java.math.BigDecimal; +import java.math.RoundingMode; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; @@ -252,14 +253,14 @@ public final class FactLine extends X_Fact_Acct int precision = MCurrency.getStdPrecision(getCtx(), C_Currency_ID); if (AmtSourceDr != null && AmtSourceDr.scale() > precision) { - BigDecimal AmtSourceDr1 = AmtSourceDr.setScale(precision, BigDecimal.ROUND_HALF_UP); + BigDecimal AmtSourceDr1 = AmtSourceDr.setScale(precision, RoundingMode.HALF_UP); if (AmtSourceDr1.compareTo(AmtSourceDr) != 0) log.warning("Source DR Precision " + AmtSourceDr + " -> " + AmtSourceDr1); setAmtSourceDr(AmtSourceDr1); } if (AmtSourceCr != null && AmtSourceCr.scale() > precision) { - BigDecimal AmtSourceCr1 = AmtSourceCr.setScale(precision, BigDecimal.ROUND_HALF_UP); + BigDecimal AmtSourceCr1 = AmtSourceCr.setScale(precision, RoundingMode.HALF_UP); if (AmtSourceCr1.compareTo(AmtSourceCr) != 0) log.warning("Source CR Precision " + AmtSourceCr + " -> " + AmtSourceCr1); setAmtSourceCr(AmtSourceCr1); @@ -326,14 +327,14 @@ public final class FactLine extends X_Fact_Acct int precision = MCurrency.getStdPrecision(getCtx(), C_Currency_ID); if (AmtAcctDr != null && AmtAcctDr.scale() > precision) { - BigDecimal AmtAcctDr1 = AmtAcctDr.setScale(precision, BigDecimal.ROUND_HALF_UP); + BigDecimal AmtAcctDr1 = AmtAcctDr.setScale(precision, RoundingMode.HALF_UP); if (AmtAcctDr1.compareTo(AmtAcctDr) != 0) log.warning("Accounted DR Precision " + AmtAcctDr + " -> " + AmtAcctDr1); setAmtAcctDr(AmtAcctDr1); } if (AmtAcctCr != null && AmtAcctCr.scale() > precision) { - BigDecimal AmtAcctCr1 = AmtAcctCr.setScale(precision, BigDecimal.ROUND_HALF_UP); + BigDecimal AmtAcctCr1 = AmtAcctCr.setScale(precision, RoundingMode.HALF_UP); if (AmtAcctCr1.compareTo(AmtAcctCr) != 0) log.warning("Accounted CR Precision " + AmtAcctCr + " -> " + AmtAcctCr1); setAmtAcctCr(AmtAcctCr1); diff --git a/org.adempiere.base/src/org/compiere/impexp/ImpFormatRow.java b/org.adempiere.base/src/org/compiere/impexp/ImpFormatRow.java index 4c007df795..2ef0270f69 100644 --- a/org.adempiere.base/src/org/compiere/impexp/ImpFormatRow.java +++ b/org.adempiere.base/src/org/compiere/impexp/ImpFormatRow.java @@ -18,6 +18,7 @@ package org.compiere.impexp; import java.math.BigDecimal; +import java.math.RoundingMode; import java.sql.Timestamp; import java.text.DateFormat; import java.text.ParseException; @@ -525,7 +526,7 @@ public final class ImpFormatRow bd = BigDecimal.ZERO; if (m_divideBy100) // assumed two decimal scale - bd = bd.divide(Env.ONEHUNDRED, 2, BigDecimal.ROUND_HALF_UP); + bd = bd.divide(Env.ONEHUNDRED, 2, RoundingMode.HALF_UP); return bd.toString(); } // parseNumber diff --git a/org.adempiere.base/src/org/compiere/model/CalloutEngine.java b/org.adempiere.base/src/org/compiere/model/CalloutEngine.java index c17bfae198..d0eaecce99 100644 --- a/org.adempiere.base/src/org/compiere/model/CalloutEngine.java +++ b/org.adempiere.base/src/org/compiere/model/CalloutEngine.java @@ -18,6 +18,7 @@ package org.compiere.model; import java.lang.reflect.Method; import java.math.BigDecimal; +import java.math.RoundingMode; import java.sql.Timestamp; import java.util.Properties; import java.util.logging.Level; @@ -303,7 +304,7 @@ public class CalloutEngine implements Callout BigDecimal rate2 = Env.ZERO; if (rate1.signum() != 0.0) // no divide by zero - rate2 = Env.ONE.divide(rate1, 12, BigDecimal.ROUND_HALF_UP); + rate2 = Env.ONE.divide(rate1, 12, RoundingMode.HALF_UP); // if (mField.getColumnName().equals("MultiplyRate")) mTab.setValue("DivideRate", rate2); diff --git a/org.adempiere.base/src/org/compiere/model/MAllocationHdr.java b/org.adempiere.base/src/org/compiere/model/MAllocationHdr.java index 6041a67c53..e6146929e8 100644 --- a/org.adempiere.base/src/org/compiere/model/MAllocationHdr.java +++ b/org.adempiere.base/src/org/compiere/model/MAllocationHdr.java @@ -18,6 +18,7 @@ package org.compiere.model; import java.io.File; import java.math.BigDecimal; +import java.math.RoundingMode; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.Timestamp; @@ -1066,7 +1067,7 @@ public class MAllocationHdr extends X_C_AllocationHdr implements DocAction // Round int precision = MCurrency.getStdPrecision(getCtx(), client.getC_Currency_ID()); if (openBalanceDiff.scale() > precision) - openBalanceDiff = openBalanceDiff.setScale(precision, BigDecimal.ROUND_HALF_UP); + openBalanceDiff = openBalanceDiff.setScale(precision, RoundingMode.HALF_UP); } } diff --git a/org.adempiere.base/src/org/compiere/model/MBPGroup.java b/org.adempiere.base/src/org/compiere/model/MBPGroup.java index 86813e92c9..74581087eb 100644 --- a/org.adempiere.base/src/org/compiere/model/MBPGroup.java +++ b/org.adempiere.base/src/org/compiere/model/MBPGroup.java @@ -17,6 +17,7 @@ package org.compiere.model; import java.math.BigDecimal; +import java.math.RoundingMode; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.Properties; @@ -220,7 +221,7 @@ public class MBPGroup extends X_C_BP_Group { BigDecimal bd = super.getCreditWatchPercent(); if (bd.compareTo(Env.ZERO) != 0) - return bd.divide(Env.ONEHUNDRED, 2, BigDecimal.ROUND_HALF_UP); + return bd.divide(Env.ONEHUNDRED, 2, RoundingMode.HALF_UP); return BigDecimal.valueOf(0.90); } // getCreditWatchRatio diff --git a/org.adempiere.base/src/org/compiere/model/MColorSchema.java b/org.adempiere.base/src/org/compiere/model/MColorSchema.java index efecf26977..79521528a1 100644 --- a/org.adempiere.base/src/org/compiere/model/MColorSchema.java +++ b/org.adempiere.base/src/org/compiere/model/MColorSchema.java @@ -18,6 +18,7 @@ package org.compiere.model; import java.awt.Color; import java.math.BigDecimal; +import java.math.RoundingMode; import java.sql.ResultSet; import java.util.Properties; @@ -54,7 +55,7 @@ public class MColorSchema extends X_PA_ColorSchema && target != null && target.signum() != 0) { BigDecimal pp = actual.multiply(Env.ONEHUNDRED) - .divide(target, 0, BigDecimal.ROUND_HALF_UP); + .divide(target, 0, RoundingMode.HALF_UP); percent = pp.intValue(); } return getColor(ctx, PA_ColorSchema_ID, percent); diff --git a/org.adempiere.base/src/org/compiere/model/MConversionRate.java b/org.adempiere.base/src/org/compiere/model/MConversionRate.java index 009cd24b82..74c8de8287 100644 --- a/org.adempiere.base/src/org/compiere/model/MConversionRate.java +++ b/org.adempiere.base/src/org/compiere/model/MConversionRate.java @@ -17,6 +17,7 @@ package org.compiere.model; import java.math.BigDecimal; +import java.math.RoundingMode; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.Timestamp; @@ -142,7 +143,7 @@ public class MConversionRate extends X_C_Conversion_Rate int stdPrecision = isCosting ? MCurrency.getCostingPrecision(ctx, CurTo_ID): MCurrency.getStdPrecision(ctx, CurTo_ID); if (retValue.scale() > stdPrecision) - retValue = retValue.setScale(stdPrecision, BigDecimal.ROUND_HALF_UP); + retValue = retValue.setScale(stdPrecision, RoundingMode.HALF_UP); return retValue; } // convert diff --git a/org.adempiere.base/src/org/compiere/model/MCost.java b/org.adempiere.base/src/org/compiere/model/MCost.java index 934e0900c9..f30b3845be 100644 --- a/org.adempiere.base/src/org/compiere/model/MCost.java +++ b/org.adempiere.base/src/org/compiere/model/MCost.java @@ -18,6 +18,7 @@ package org.compiere.model; import java.math.BigDecimal; +import java.math.RoundingMode; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; @@ -243,15 +244,15 @@ public class MCost extends X_M_Cost if (percentage.signum() == 0) // no percentages { if (costs.scale() > precision) - costs = costs.setScale(precision, BigDecimal.ROUND_HALF_UP); + costs = costs.setScale(precision, RoundingMode.HALF_UP); return costs; } // BigDecimal percentCost = costs.multiply(percentage); - percentCost = percentCost.divide(Env.ONEHUNDRED, precision, BigDecimal.ROUND_HALF_UP); + percentCost = percentCost.divide(Env.ONEHUNDRED, precision, RoundingMode.HALF_UP); costs = costs.add(percentCost); if (costs.scale() > precision) - costs = costs.setScale(precision, BigDecimal.ROUND_HALF_UP); + costs = costs.setScale(precision, RoundingMode.HALF_UP); if (s_log.isLoggable(Level.FINER)) s_log.finer("Sum Costs = " + costs + " (Add=" + percentCost + ")"); return costs; } // getCurrentCost @@ -921,8 +922,8 @@ public class MCost extends X_M_Cost BigDecimal averageCurrent = oldStockQty.multiply(oldAverageAmt); BigDecimal averageIncrease = matchQty.multiply(cost); BigDecimal newAmt = averageCurrent.add(averageIncrease); - newAmt = newAmt.setScale(as.getCostingPrecision(), BigDecimal.ROUND_HALF_UP); - newAverageAmt = newAmt.divide(newStockQty, as.getCostingPrecision(), BigDecimal.ROUND_HALF_UP); + newAmt = newAmt.setScale(as.getCostingPrecision(), RoundingMode.HALF_UP); + newAverageAmt = newAmt.divide(newStockQty, as.getCostingPrecision(), RoundingMode.HALF_UP); if (s_log.isLoggable(Level.FINER)) s_log.finer("Movement=" + movementQty + ", StockQty=" + newStockQty + ", Match=" + matchQty + ", Cost=" + cost + ", NewAvg=" + newAverageAmt); } @@ -1017,8 +1018,8 @@ public class MCost extends X_M_Cost BigDecimal averageCurrent = oldStockQty.multiply(oldAverageAmt); BigDecimal averageIncrease = matchQty.multiply(cost); BigDecimal newAmt = averageCurrent.add(averageIncrease); - newAmt = newAmt.setScale(as.getCostingPrecision(), BigDecimal.ROUND_HALF_UP); - newAverageAmt = newAmt.divide(newStockQty, as.getCostingPrecision(), BigDecimal.ROUND_HALF_UP); + newAmt = newAmt.setScale(as.getCostingPrecision(), RoundingMode.HALF_UP); + newAverageAmt = newAmt.divide(newStockQty, as.getCostingPrecision(), RoundingMode.HALF_UP); if (s_log.isLoggable(Level.FINER)) s_log.finer("Movement=" + movementQty + ", StockQty=" + newStockQty + ", Match=" + matchQty + ", Cost=" + cost + ", NewAvg=" + newAverageAmt); } @@ -1539,12 +1540,12 @@ public class MCost extends X_M_Cost if (sumQty.signum() != 0) { BigDecimal oldSum = getCurrentCostPrice().multiply(getCurrentQty()); - BigDecimal oldCost = oldSum.divide(sumQty, 12, BigDecimal.ROUND_HALF_UP); - BigDecimal newCost = amt.divide(sumQty, 12, BigDecimal.ROUND_HALF_UP); //amt is total already + BigDecimal oldCost = oldSum.divide(sumQty, 12, RoundingMode.HALF_UP); + BigDecimal newCost = amt.divide(sumQty, 12, RoundingMode.HALF_UP); //amt is total already BigDecimal cost = oldCost.add(newCost); if (cost.scale() > (getPrecision()*2)) { - cost = cost.setScale((getPrecision()*2), BigDecimal.ROUND_HALF_UP); + cost = cost.setScale((getPrecision()*2), RoundingMode.HALF_UP); } setCurrentCostPrice(cost); } @@ -1562,7 +1563,7 @@ public class MCost extends X_M_Cost BigDecimal cost = amtUnit; if (cost.scale() > (getPrecision()*2)) { - cost = cost.setScale((getPrecision()*2), BigDecimal.ROUND_HALF_UP); + cost = cost.setScale((getPrecision()*2), RoundingMode.HALF_UP); } setCurrentCostPrice(cost); } // setWeightedAverageInitial @@ -1601,7 +1602,7 @@ public class MCost extends X_M_Cost if (getCumulatedQty().signum() != 0 && getCumulatedAmt().signum() != 0) retValue = getCumulatedAmt() - .divide(getCumulatedQty(), getPrecision(), BigDecimal.ROUND_HALF_UP); + .divide(getCumulatedQty(), getPrecision(), RoundingMode.HALF_UP); return retValue; } // getHistoryAverage diff --git a/org.adempiere.base/src/org/compiere/model/MCostDetail.java b/org.adempiere.base/src/org/compiere/model/MCostDetail.java index c110089c44..14ac88cf36 100644 --- a/org.adempiere.base/src/org/compiere/model/MCostDetail.java +++ b/org.adempiere.base/src/org/compiere/model/MCostDetail.java @@ -17,6 +17,7 @@ package org.compiere.model; import java.math.BigDecimal; +import java.math.RoundingMode; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.List; @@ -1047,7 +1048,7 @@ public class MCostDetail extends X_M_CostDetail int precision = as.getCostingPrecision(); BigDecimal price = amt; if (qty.signum() != 0) - price = amt.divide(qty, precision, BigDecimal.ROUND_HALF_UP); + price = amt.divide(qty, precision, RoundingMode.HALF_UP); /** All Costing Methods if (ce.isAverageInvoice()) diff --git a/org.adempiere.base/src/org/compiere/model/MCostQueue.java b/org.adempiere.base/src/org/compiere/model/MCostQueue.java index 6f2aaa21aa..93972b1c01 100644 --- a/org.adempiere.base/src/org/compiere/model/MCostQueue.java +++ b/org.adempiere.base/src/org/compiere/model/MCostQueue.java @@ -17,6 +17,7 @@ package org.compiere.model; import java.math.BigDecimal; +import java.math.RoundingMode; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; @@ -381,7 +382,7 @@ public class MCostQueue extends X_M_CostQueue BigDecimal sumQty = getCurrentQty().add(qty); if (sumQty.signum() != 0) { - BigDecimal cost = sumAmt.divide(sumQty, precision, BigDecimal.ROUND_HALF_UP); + BigDecimal cost = sumAmt.divide(sumQty, precision, RoundingMode.HALF_UP); setCurrentCostPrice(cost); } // diff --git a/org.adempiere.base/src/org/compiere/model/MDiscountSchema.java b/org.adempiere.base/src/org/compiere/model/MDiscountSchema.java index b17dfc06f5..4342710982 100644 --- a/org.adempiere.base/src/org/compiere/model/MDiscountSchema.java +++ b/org.adempiere.base/src/org/compiere/model/MDiscountSchema.java @@ -17,6 +17,7 @@ package org.compiere.model; import java.math.BigDecimal; +import java.math.RoundingMode; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; @@ -203,7 +204,7 @@ public class MDiscountSchema extends X_M_DiscountSchema // BigDecimal onehundred = Env.ONEHUNDRED; BigDecimal multiplier = (onehundred).subtract(discount); - multiplier = multiplier.divide(onehundred, 6, BigDecimal.ROUND_HALF_UP); + multiplier = multiplier.divide(onehundred, 6, RoundingMode.HALF_UP); BigDecimal newPrice = Price.multiply(multiplier); if (log.isLoggable(Level.FINE)) log.fine("=>" + newPrice); return newPrice; diff --git a/org.adempiere.base/src/org/compiere/model/MDistributionLine.java b/org.adempiere.base/src/org/compiere/model/MDistributionLine.java index 637fe98f16..643ca8c73b 100644 --- a/org.adempiere.base/src/org/compiere/model/MDistributionLine.java +++ b/org.adempiere.base/src/org/compiere/model/MDistributionLine.java @@ -17,6 +17,7 @@ package org.compiere.model; import java.math.BigDecimal; +import java.math.RoundingMode; import java.sql.ResultSet; import java.util.Properties; @@ -193,7 +194,7 @@ public class MDistributionLine extends X_GL_DistributionLine public void calculateAmt (BigDecimal amt, int precision) { m_amt = amt.multiply(getPercent()); - m_amt = m_amt.divide(Env.ONEHUNDRED, precision, BigDecimal.ROUND_HALF_UP); + m_amt = m_amt.divide(Env.ONEHUNDRED, precision, RoundingMode.HALF_UP); } // setAmt /** @@ -203,7 +204,7 @@ public class MDistributionLine extends X_GL_DistributionLine public void calculateQty (BigDecimal qty) { m_qty = qty.multiply(getPercent()); - m_qty = m_qty.divide(Env.ONEHUNDRED, BigDecimal.ROUND_HALF_UP); + m_qty = m_qty.divide(Env.ONEHUNDRED, RoundingMode.HALF_UP); } // setAmt diff --git a/org.adempiere.base/src/org/compiere/model/MDistributionRunDetail.java b/org.adempiere.base/src/org/compiere/model/MDistributionRunDetail.java index c4c54a2292..9652fb934e 100644 --- a/org.adempiere.base/src/org/compiere/model/MDistributionRunDetail.java +++ b/org.adempiere.base/src/org/compiere/model/MDistributionRunDetail.java @@ -17,6 +17,7 @@ package org.compiere.model; import java.math.BigDecimal; +import java.math.RoundingMode; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; @@ -121,13 +122,13 @@ public class MDistributionRunDetail extends X_T_DistributionRunDetail BigDecimal min = getMinQty(); if (min.scale() > m_precision) { - setMinQty(min.setScale(m_precision, BigDecimal.ROUND_HALF_UP)); + setMinQty(min.setScale(m_precision, RoundingMode.HALF_UP)); dirty = true; } BigDecimal qty = getQty(); if (qty.scale() > m_precision) { - setQty(qty.setScale(m_precision, BigDecimal.ROUND_HALF_UP)); + setQty(qty.setScale(m_precision, RoundingMode.HALF_UP)); dirty = true; } if (dirty) @@ -162,7 +163,7 @@ public class MDistributionRunDetail extends X_T_DistributionRunDetail */ public BigDecimal adjustQty (BigDecimal difference) { - BigDecimal diff = difference.setScale(m_precision, BigDecimal.ROUND_HALF_UP); + BigDecimal diff = difference.setScale(m_precision, RoundingMode.HALF_UP); BigDecimal qty = getQty(); BigDecimal max = getMinQty().subtract(qty); BigDecimal remaining = Env.ZERO; diff --git a/org.adempiere.base/src/org/compiere/model/MGoal.java b/org.adempiere.base/src/org/compiere/model/MGoal.java index fbafd6b4b4..aa07f18e4c 100644 --- a/org.adempiere.base/src/org/compiere/model/MGoal.java +++ b/org.adempiere.base/src/org/compiere/model/MGoal.java @@ -18,6 +18,7 @@ package org.compiere.model; import java.awt.Color; import java.math.BigDecimal; +import java.math.RoundingMode; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.Timestamp; @@ -416,7 +417,7 @@ public class MGoal extends X_PA_Goal BigDecimal MeasureActual = getMeasureActual(); BigDecimal GoalPerformance = Env.ZERO; if (MeasureTarget.signum() != 0) - GoalPerformance = MeasureActual.divide(MeasureTarget, 6, BigDecimal.ROUND_HALF_UP); + GoalPerformance = MeasureActual.divide(MeasureTarget, 6, RoundingMode.HALF_UP); super.setGoalPerformance (GoalPerformance); m_color = null; } // setGoalPerformance diff --git a/org.adempiere.base/src/org/compiere/model/MInOut.java b/org.adempiere.base/src/org/compiere/model/MInOut.java index 3b6d4460f6..7691b08732 100644 --- a/org.adempiere.base/src/org/compiere/model/MInOut.java +++ b/org.adempiere.base/src/org/compiere/model/MInOut.java @@ -18,6 +18,7 @@ package org.compiere.model; import java.io.File; import java.math.BigDecimal; +import java.math.RoundingMode; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; @@ -151,7 +152,7 @@ public class MInOut extends X_M_InOut implements DocAction if (oLines[i].getQtyEntered().compareTo(oLines[i].getQtyOrdered()) != 0) line.setQtyEntered(lineQty .multiply(oLines[i].getQtyEntered()) - .divide(oLines[i].getQtyOrdered(), 12, BigDecimal.ROUND_HALF_UP)); + .divide(oLines[i].getQtyOrdered(), 12, RoundingMode.HALF_UP)); line.setC_Project_ID(oLines[i].getC_Project_ID()); line.saveEx(trxName); // Delivered everything ? diff --git a/org.adempiere.base/src/org/compiere/model/MInOutLine.java b/org.adempiere.base/src/org/compiere/model/MInOutLine.java index b43b326926..e4dc303c82 100644 --- a/org.adempiere.base/src/org/compiere/model/MInOutLine.java +++ b/org.adempiere.base/src/org/compiere/model/MInOutLine.java @@ -17,6 +17,7 @@ package org.compiere.model; import java.math.BigDecimal; +import java.math.RoundingMode; import java.sql.ResultSet; import java.util.List; import java.util.Properties; @@ -335,7 +336,7 @@ public class MInOutLine extends X_M_InOutLine if (QtyEntered != null && getC_UOM_ID() != 0) { int precision = MUOM.getPrecision(getCtx(), getC_UOM_ID()); - QtyEntered = QtyEntered.setScale(precision, BigDecimal.ROUND_HALF_UP); + QtyEntered = QtyEntered.setScale(precision, RoundingMode.HALF_UP); } super.setQtyEntered (QtyEntered); } // setQtyEntered @@ -350,7 +351,7 @@ public class MInOutLine extends X_M_InOutLine if (MovementQty != null && product != null) { int precision = product.getUOMPrecision(); - MovementQty = MovementQty.setScale(precision, BigDecimal.ROUND_HALF_UP); + MovementQty = MovementQty.setScale(precision, RoundingMode.HALF_UP); } super.setMovementQty(MovementQty); } // setMovementQty diff --git a/org.adempiere.base/src/org/compiere/model/MInventoryLine.java b/org.adempiere.base/src/org/compiere/model/MInventoryLine.java index bb7f4b60d3..c6ae8f53c8 100644 --- a/org.adempiere.base/src/org/compiere/model/MInventoryLine.java +++ b/org.adempiere.base/src/org/compiere/model/MInventoryLine.java @@ -17,6 +17,7 @@ package org.compiere.model; import java.math.BigDecimal; +import java.math.RoundingMode; import java.sql.ResultSet; import java.util.Properties; @@ -172,7 +173,7 @@ public class MInventoryLine extends X_M_InventoryLine if (product != null) { int precision = product.getUOMPrecision(); - QtyCount = QtyCount.setScale(precision, BigDecimal.ROUND_HALF_UP); + QtyCount = QtyCount.setScale(precision, RoundingMode.HALF_UP); } } super.setQtyCount(QtyCount); @@ -191,7 +192,7 @@ public class MInventoryLine extends X_M_InventoryLine if (product != null) { int precision = product.getUOMPrecision(); - QtyInternalUse = QtyInternalUse.setScale(precision, BigDecimal.ROUND_HALF_UP); + QtyInternalUse = QtyInternalUse.setScale(precision, RoundingMode.HALF_UP); } } super.setQtyInternalUse(QtyInternalUse); diff --git a/org.adempiere.base/src/org/compiere/model/MInvoiceLine.java b/org.adempiere.base/src/org/compiere/model/MInvoiceLine.java index 7793e8c437..140b9a4a81 100644 --- a/org.adempiere.base/src/org/compiere/model/MInvoiceLine.java +++ b/org.adempiere.base/src/org/compiere/model/MInvoiceLine.java @@ -17,6 +17,7 @@ package org.compiere.model; import java.math.BigDecimal; +import java.math.RoundingMode; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.Timestamp; @@ -387,7 +388,7 @@ public class MInvoiceLine extends X_C_InvoiceLine setPriceEntered(getPriceActual()); else setPriceEntered(getPriceActual().multiply(getQtyInvoiced() - .divide(getQtyEntered(), 6, BigDecimal.ROUND_HALF_UP))); // precision + .divide(getQtyEntered(), 6, RoundingMode.HALF_UP))); // precision // if (getC_UOM_ID() == 0) setC_UOM_ID(m_productPricing.getC_UOM_ID()); @@ -476,7 +477,7 @@ public class MInvoiceLine extends X_C_InvoiceLine BigDecimal bd = getPriceActual().multiply(getQtyInvoiced()); int precision = getPrecision(); if (bd.scale() > precision) - bd = bd.setScale(precision, BigDecimal.ROUND_HALF_UP); + bd = bd.setScale(precision, RoundingMode.HALF_UP); super.setLineNetAmt (bd); } // setLineNetAmt /** @@ -528,7 +529,7 @@ public class MInvoiceLine extends X_C_InvoiceLine if (QtyEntered != null && getC_UOM_ID() != 0) { int precision = MUOM.getPrecision(getCtx(), getC_UOM_ID()); - QtyEntered = QtyEntered.setScale(precision, BigDecimal.ROUND_HALF_UP); + QtyEntered = QtyEntered.setScale(precision, RoundingMode.HALF_UP); } super.setQtyEntered (QtyEntered); } // setQtyEntered @@ -543,7 +544,7 @@ public class MInvoiceLine extends X_C_InvoiceLine if (QtyInvoiced != null && product != null) { int precision = product.getUOMPrecision(); - QtyInvoiced = QtyInvoiced.setScale(precision, BigDecimal.ROUND_HALF_UP); + QtyInvoiced = QtyInvoiced.setScale(precision, RoundingMode.HALF_UP); } super.setQtyInvoiced(QtyInvoiced); } // setQtyInvoiced diff --git a/org.adempiere.base/src/org/compiere/model/MInvoicePaySchedule.java b/org.adempiere.base/src/org/compiere/model/MInvoicePaySchedule.java index 72d58110d5..988a668f63 100644 --- a/org.adempiere.base/src/org/compiere/model/MInvoicePaySchedule.java +++ b/org.adempiere.base/src/org/compiere/model/MInvoicePaySchedule.java @@ -17,6 +17,7 @@ package org.compiere.model; import java.math.BigDecimal; +import java.math.RoundingMode; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.Timestamp; @@ -152,10 +153,10 @@ public class MInvoicePaySchedule extends X_C_InvoicePaySchedule else { due = due.multiply(paySchedule.getPercentage()) - .divide(Env.ONEHUNDRED, scale, BigDecimal.ROUND_HALF_UP); + .divide(Env.ONEHUNDRED, scale, RoundingMode.HALF_UP); setDueAmt (due); BigDecimal discount = due.multiply(paySchedule.getDiscount()) - .divide(Env.ONEHUNDRED, scale, BigDecimal.ROUND_HALF_UP); + .divide(Env.ONEHUNDRED, scale, RoundingMode.HALF_UP); setDiscountAmt (discount); setIsValid(true); } diff --git a/org.adempiere.base/src/org/compiere/model/MJournalLine.java b/org.adempiere.base/src/org/compiere/model/MJournalLine.java index 8778b1e2a3..08dd1190de 100644 --- a/org.adempiere.base/src/org/compiere/model/MJournalLine.java +++ b/org.adempiere.base/src/org/compiere/model/MJournalLine.java @@ -17,6 +17,7 @@ package org.compiere.model; import java.math.BigDecimal; +import java.math.RoundingMode; import java.sql.ResultSet; import java.sql.Timestamp; import java.util.Properties; @@ -308,11 +309,11 @@ public class MJournalLine extends X_GL_JournalLine BigDecimal rate = getCurrencyRate(); BigDecimal amt = rate.multiply(getAmtSourceDr()); if (amt.scale() > getPrecision()) - amt = amt.setScale(getPrecision(), BigDecimal.ROUND_HALF_UP); + amt = amt.setScale(getPrecision(), RoundingMode.HALF_UP); setAmtAcctDr(amt); amt = rate.multiply(getAmtSourceCr()); if (amt.scale() > getPrecision()) - amt = amt.setScale(getPrecision(), BigDecimal.ROUND_HALF_UP); + amt = amt.setScale(getPrecision(), RoundingMode.HALF_UP); setAmtAcctCr(amt); // Set Line Org to Doc Org if still not set if(getAD_Org_ID() <= 0) diff --git a/org.adempiere.base/src/org/compiere/model/MLandedCostAllocation.java b/org.adempiere.base/src/org/compiere/model/MLandedCostAllocation.java index c882bc9f0e..4982a3b03e 100644 --- a/org.adempiere.base/src/org/compiere/model/MLandedCostAllocation.java +++ b/org.adempiere.base/src/org/compiere/model/MLandedCostAllocation.java @@ -17,6 +17,7 @@ package org.compiere.model; import java.math.BigDecimal; +import java.math.RoundingMode; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; @@ -133,7 +134,7 @@ public class MLandedCostAllocation extends X_C_LandedCostAllocation { BigDecimal bd = BigDecimal.valueOf(Amt); if (bd.scale() > precision) - bd = bd.setScale(precision, BigDecimal.ROUND_HALF_UP); + bd = bd.setScale(precision, RoundingMode.HALF_UP); super.setAmt(bd); } // setAmt diff --git a/org.adempiere.base/src/org/compiere/model/MMatchPO.java b/org.adempiere.base/src/org/compiere/model/MMatchPO.java index 81ca8b82b1..e6b2c17b8b 100644 --- a/org.adempiere.base/src/org/compiere/model/MMatchPO.java +++ b/org.adempiere.base/src/org/compiere/model/MMatchPO.java @@ -17,6 +17,7 @@ package org.compiere.model; import java.math.BigDecimal; +import java.math.RoundingMode; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.Savepoint; @@ -948,7 +949,7 @@ public class MMatchPO extends X_M_MatchPO BigDecimal poAmt = poPrice.multiply(getQty()); BigDecimal maxTolerance = poAmt.multiply(mt); maxTolerance = maxTolerance.abs() - .divide(Env.ONEHUNDRED, 2, BigDecimal.ROUND_HALF_UP); + .divide(Env.ONEHUNDRED, 2, RoundingMode.HALF_UP); difference = difference.abs(); boolean ok = difference.compareTo(maxTolerance) <= 0; if (log.isLoggable(Level.CONFIG)) log.config("Difference=" + getPriceMatchDifference() diff --git a/org.adempiere.base/src/org/compiere/model/MMovementLine.java b/org.adempiere.base/src/org/compiere/model/MMovementLine.java index b2eaad6e88..299ad40ff6 100644 --- a/org.adempiere.base/src/org/compiere/model/MMovementLine.java +++ b/org.adempiere.base/src/org/compiere/model/MMovementLine.java @@ -17,6 +17,7 @@ package org.compiere.model; import java.math.BigDecimal; +import java.math.RoundingMode; import java.sql.ResultSet; import java.util.List; import java.util.Properties; @@ -137,7 +138,7 @@ public class MMovementLine extends X_M_MovementLine if (product != null) { int precision = product.getUOMPrecision(); - MovementQty = MovementQty.setScale(precision, BigDecimal.ROUND_HALF_UP); + MovementQty = MovementQty.setScale(precision, RoundingMode.HALF_UP); } } super.setMovementQty(MovementQty); diff --git a/org.adempiere.base/src/org/compiere/model/MOrder.java b/org.adempiere.base/src/org/compiere/model/MOrder.java index cfa0507cae..2174f90b0a 100644 --- a/org.adempiere.base/src/org/compiere/model/MOrder.java +++ b/org.adempiere.base/src/org/compiere/model/MOrder.java @@ -18,6 +18,7 @@ package org.compiere.model; import java.io.File; import java.math.BigDecimal; +import java.math.RoundingMode; import java.sql.ResultSet; import java.sql.Timestamp; import java.util.Hashtable; @@ -2183,7 +2184,7 @@ public class MOrder extends X_C_Order implements DocAction if (oLine.getQtyEntered().compareTo(oLine.getQtyOrdered()) != 0) ioLine.setQtyEntered(MovementQty .multiply(oLine.getQtyEntered()) - .divide(oLine.getQtyOrdered(), 6, BigDecimal.ROUND_HALF_UP)); + .divide(oLine.getQtyOrdered(), 6, RoundingMode.HALF_UP)); if (!ioLine.save(get_TrxName())) { m_processMsg = "Could not create Shipment Line"; @@ -2270,7 +2271,7 @@ public class MOrder extends X_C_Order implements DocAction iLine.setQtyEntered(iLine.getQtyInvoiced()); else iLine.setQtyEntered(iLine.getQtyInvoiced().multiply(oLine.getQtyEntered()) - .divide(oLine.getQtyOrdered(), 12, BigDecimal.ROUND_HALF_UP)); + .divide(oLine.getQtyOrdered(), 12, RoundingMode.HALF_UP)); if (!iLine.save(get_TrxName())) { m_processMsg = "Could not create Invoice Line from Order Line"; diff --git a/org.adempiere.base/src/org/compiere/model/MOrderLandedCost.java b/org.adempiere.base/src/org/compiere/model/MOrderLandedCost.java index adb1b17bdd..2ce645be9c 100644 --- a/org.adempiere.base/src/org/compiere/model/MOrderLandedCost.java +++ b/org.adempiere.base/src/org/compiere/model/MOrderLandedCost.java @@ -17,6 +17,7 @@ package org.compiere.model; import java.math.BigDecimal; +import java.math.RoundingMode; import java.sql.ResultSet; import java.util.ArrayList; import java.util.List; @@ -146,7 +147,7 @@ public class MOrderLandedCost extends X_C_OrderLandedCost { if (base.signum() != 0) { BigDecimal result = getAmt().multiply(base); - result = result.divide(total, orderLine.getParent().getC_Currency().getCostingPrecision(), BigDecimal.ROUND_HALF_UP); + result = result.divide(total, orderLine.getParent().getC_Currency().getCostingPrecision(), RoundingMode.HALF_UP); allocation.setAmt(result.doubleValue(), orderLine.getParent().getC_Currency().getCostingPrecision()); } allocation.saveEx(); diff --git a/org.adempiere.base/src/org/compiere/model/MOrderLandedCostAllocation.java b/org.adempiere.base/src/org/compiere/model/MOrderLandedCostAllocation.java index b9b9ac0774..e7d1de00e6 100644 --- a/org.adempiere.base/src/org/compiere/model/MOrderLandedCostAllocation.java +++ b/org.adempiere.base/src/org/compiere/model/MOrderLandedCostAllocation.java @@ -17,6 +17,7 @@ package org.compiere.model; import java.math.BigDecimal; +import java.math.RoundingMode; import java.sql.ResultSet; import java.util.List; import java.util.Properties; @@ -63,7 +64,7 @@ public class MOrderLandedCostAllocation extends X_C_OrderLandedCostAllocation { { BigDecimal bd = BigDecimal.valueOf(Amt); if (bd.scale() > precision) - bd = bd.setScale(precision, BigDecimal.ROUND_HALF_UP); + bd = bd.setScale(precision, RoundingMode.HALF_UP); super.setAmt(bd); } // setAmt diff --git a/org.adempiere.base/src/org/compiere/model/MOrderLine.java b/org.adempiere.base/src/org/compiere/model/MOrderLine.java index 7b6c81498b..04841e5506 100644 --- a/org.adempiere.base/src/org/compiere/model/MOrderLine.java +++ b/org.adempiere.base/src/org/compiere/model/MOrderLine.java @@ -17,6 +17,7 @@ package org.compiere.model; import java.math.BigDecimal; +import java.math.RoundingMode; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.Properties; @@ -305,7 +306,7 @@ public class MOrderLine extends X_C_OrderLine setPriceEntered(getPriceActual()); else setPriceEntered(getPriceActual().multiply(getQtyOrdered() - .divide(getQtyEntered(), 12, BigDecimal.ROUND_HALF_UP))); // recision + .divide(getQtyEntered(), 12, RoundingMode.HALF_UP))); // recision // Calculate Discount setDiscount(m_productPrice.getDiscount()); @@ -356,7 +357,7 @@ public class MOrderLine extends X_C_OrderLine BigDecimal bd = getPriceActual().multiply(getQtyOrdered()); int precision = getPrecision(); if (bd.scale() > precision) - bd = bd.setScale(precision, BigDecimal.ROUND_HALF_UP); + bd = bd.setScale(precision, RoundingMode.HALF_UP); super.setLineNetAmt (bd); } // setLineNetAmt @@ -676,7 +677,7 @@ public class MOrderLine extends X_C_OrderLine return; BigDecimal discount = list.subtract(getPriceActual()) .multiply(Env.ONEHUNDRED) - .divide(list, getPrecision(), BigDecimal.ROUND_HALF_UP); + .divide(list, getPrecision(), RoundingMode.HALF_UP); setDiscount(discount); } // setDiscount @@ -717,7 +718,7 @@ public class MOrderLine extends X_C_OrderLine if (QtyEntered != null && getC_UOM_ID() != 0) { int precision = MUOM.getPrecision(getCtx(), getC_UOM_ID()); - QtyEntered = QtyEntered.setScale(precision, BigDecimal.ROUND_HALF_UP); + QtyEntered = QtyEntered.setScale(precision, RoundingMode.HALF_UP); } super.setQtyEntered (QtyEntered); } // setQtyEntered @@ -732,7 +733,7 @@ public class MOrderLine extends X_C_OrderLine if (QtyOrdered != null && product != null) { int precision = product.getUOMPrecision(); - QtyOrdered = QtyOrdered.setScale(precision, BigDecimal.ROUND_HALF_UP); + QtyOrdered = QtyOrdered.setScale(precision, RoundingMode.HALF_UP); } super.setQtyOrdered(QtyOrdered); } // setQtyOrdered diff --git a/org.adempiere.base/src/org/compiere/model/MOrderPaySchedule.java b/org.adempiere.base/src/org/compiere/model/MOrderPaySchedule.java index ad9d8c3bec..7f722ed9c3 100644 --- a/org.adempiere.base/src/org/compiere/model/MOrderPaySchedule.java +++ b/org.adempiere.base/src/org/compiere/model/MOrderPaySchedule.java @@ -17,6 +17,7 @@ package org.compiere.model; import java.math.BigDecimal; +import java.math.RoundingMode; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.Timestamp; @@ -152,10 +153,10 @@ public class MOrderPaySchedule extends X_C_OrderPaySchedule else { due = due.multiply(paySchedule.getPercentage()) - .divide(Env.ONEHUNDRED, scale, BigDecimal.ROUND_HALF_UP); + .divide(Env.ONEHUNDRED, scale, RoundingMode.HALF_UP); setDueAmt (due); BigDecimal discount = due.multiply(paySchedule.getDiscount()) - .divide(Env.ONEHUNDRED, scale, BigDecimal.ROUND_HALF_UP); + .divide(Env.ONEHUNDRED, scale, RoundingMode.HALF_UP); setDiscountAmt (discount); setIsValid(true); } diff --git a/org.adempiere.base/src/org/compiere/model/MProductPrice.java b/org.adempiere.base/src/org/compiere/model/MProductPrice.java index 510a975d8a..1c2d9f610c 100644 --- a/org.adempiere.base/src/org/compiere/model/MProductPrice.java +++ b/org.adempiere.base/src/org/compiere/model/MProductPrice.java @@ -17,6 +17,7 @@ package org.compiere.model; import java.math.BigDecimal; +import java.math.RoundingMode; import java.sql.ResultSet; import java.util.Properties; @@ -136,9 +137,9 @@ public class MProductPrice extends X_M_ProductPrice */ public void setPrices (BigDecimal PriceList, BigDecimal PriceStd, BigDecimal PriceLimit) { - setPriceLimit (PriceLimit.setScale(this.getM_PriceList_Version().getM_PriceList().getPricePrecision(), BigDecimal.ROUND_HALF_UP)); - setPriceList (PriceList.setScale(this.getM_PriceList_Version().getM_PriceList().getPricePrecision(), BigDecimal.ROUND_HALF_UP)); - setPriceStd (PriceStd.setScale(this.getM_PriceList_Version().getM_PriceList().getPricePrecision(), BigDecimal.ROUND_HALF_UP)); + setPriceLimit (PriceLimit.setScale(this.getM_PriceList_Version().getM_PriceList().getPricePrecision(), RoundingMode.HALF_UP)); + setPriceList (PriceList.setScale(this.getM_PriceList_Version().getM_PriceList().getPricePrecision(), RoundingMode.HALF_UP)); + setPriceStd (PriceStd.setScale(this.getM_PriceList_Version().getM_PriceList().getPricePrecision(), RoundingMode.HALF_UP)); } // setPrice /** diff --git a/org.adempiere.base/src/org/compiere/model/MProductPricing.java b/org.adempiere.base/src/org/compiere/model/MProductPricing.java index a84101d800..c658cc21ad 100644 --- a/org.adempiere.base/src/org/compiere/model/MProductPricing.java +++ b/org.adempiere.base/src/org/compiere/model/MProductPricing.java @@ -17,6 +17,7 @@ package org.compiere.model; import java.math.BigDecimal; +import java.math.RoundingMode; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.Timestamp; @@ -826,7 +827,7 @@ public class MProductPricing extends AbstractProductPricing Discount = BigDecimal.valueOf((m_PriceList.doubleValue() - m_PriceStd.doubleValue()) / m_PriceList.doubleValue() * 100.0); if (Discount.scale() > 2) - Discount = Discount.setScale(2, BigDecimal.ROUND_HALF_UP); + Discount = Discount.setScale(2, RoundingMode.HALF_UP); return Discount; } // getDiscount @@ -898,7 +899,7 @@ public class MProductPricing extends AbstractProductPricing { if (m_precision >= 0 // -1 = no rounding && bd.scale() > m_precision) - return bd.setScale(m_precision, BigDecimal.ROUND_HALF_UP); + return bd.setScale(m_precision, RoundingMode.HALF_UP); return bd; } // round diff --git a/org.adempiere.base/src/org/compiere/model/MRMALine.java b/org.adempiere.base/src/org/compiere/model/MRMALine.java index 58c5ebf791..d9ff2f2dd9 100644 --- a/org.adempiere.base/src/org/compiere/model/MRMALine.java +++ b/org.adempiere.base/src/org/compiere/model/MRMALine.java @@ -17,6 +17,7 @@ package org.compiere.model; import java.math.BigDecimal; +import java.math.RoundingMode; import java.sql.ResultSet; import java.util.Properties; @@ -249,7 +250,7 @@ public class MRMALine extends X_M_RMALine BigDecimal bd = getAmt().multiply(getQty()); int precision = getPrecision(); if (bd.scale() > precision) - bd = bd.setScale(precision, BigDecimal.ROUND_HALF_UP); + bd = bd.setScale(precision, RoundingMode.HALF_UP); return bd; } // getAmt diff --git a/org.adempiere.base/src/org/compiere/model/MRequisition.java b/org.adempiere.base/src/org/compiere/model/MRequisition.java index ee15a69020..c41cee9ca3 100644 --- a/org.adempiere.base/src/org/compiere/model/MRequisition.java +++ b/org.adempiere.base/src/org/compiere/model/MRequisition.java @@ -18,6 +18,7 @@ package org.compiere.model; import java.io.File; import java.math.BigDecimal; +import java.math.RoundingMode; import java.sql.ResultSet; import java.sql.Timestamp; import java.util.List; @@ -274,7 +275,7 @@ public class MRequisition extends X_M_Requisition implements DocAction { MRequisitionLine line = lines[i]; BigDecimal lineNet = line.getQty().multiply(line.getPriceActual()); - lineNet = lineNet.setScale(precision, BigDecimal.ROUND_HALF_UP); + lineNet = lineNet.setScale(precision, RoundingMode.HALF_UP); if (lineNet.compareTo(line.getLineNetAmt()) != 0) { line.setLineNetAmt(lineNet); diff --git a/org.adempiere.base/src/org/compiere/model/MRfQResponseLineQty.java b/org.adempiere.base/src/org/compiere/model/MRfQResponseLineQty.java index 57e1560c00..bc5b1638e3 100644 --- a/org.adempiere.base/src/org/compiere/model/MRfQResponseLineQty.java +++ b/org.adempiere.base/src/org/compiere/model/MRfQResponseLineQty.java @@ -17,6 +17,7 @@ package org.compiere.model; import java.math.BigDecimal; +import java.math.RoundingMode; import java.sql.ResultSet; import java.util.Comparator; import java.util.Properties; @@ -148,7 +149,7 @@ public class MRfQResponseLineQty extends X_C_RfQResponseLineQty implements Compa // Calculate // double result = price.doubleValue() * (100.0 - discount.doubleValue()) / 100.0; BigDecimal factor = Env.ONEHUNDRED.subtract(discount); - return price.multiply(factor).divide(Env.ONEHUNDRED, 2, BigDecimal.ROUND_HALF_UP); + return price.multiply(factor).divide(Env.ONEHUNDRED, 2, RoundingMode.HALF_UP); } // getNetAmt diff --git a/org.adempiere.base/src/org/compiere/model/MTax.java b/org.adempiere.base/src/org/compiere/model/MTax.java index 5527cf3374..5292933801 100644 --- a/org.adempiere.base/src/org/compiere/model/MTax.java +++ b/org.adempiere.base/src/org/compiere/model/MTax.java @@ -17,6 +17,7 @@ package org.compiere.model; import java.math.BigDecimal; +import java.math.RoundingMode; import java.sql.ResultSet; import java.util.List; import java.util.Properties; @@ -264,17 +265,17 @@ public class MTax extends X_C_Tax BigDecimal tax = Env.ZERO; for (MTax taxc : taxarray) { - BigDecimal multiplier = taxc.getRate().divide(Env.ONEHUNDRED, 12, BigDecimal.ROUND_HALF_UP); + BigDecimal multiplier = taxc.getRate().divide(Env.ONEHUNDRED, 12, RoundingMode.HALF_UP); if (!taxIncluded) // $100 * 6 / 100 == $6 == $100 * 0.06 { - BigDecimal itax = amount.multiply(multiplier).setScale(scale, BigDecimal.ROUND_HALF_UP); + BigDecimal itax = amount.multiply(multiplier).setScale(scale, RoundingMode.HALF_UP); tax = tax.add(itax); } else // $106 - ($106 / (100+6)/100) == $6 == $106 - ($106/1.06) { multiplier = multiplier.add(Env.ONE); - BigDecimal base = amount.divide(multiplier, 12, BigDecimal.ROUND_HALF_UP); - BigDecimal itax = amount.subtract(base).setScale(scale, BigDecimal.ROUND_HALF_UP); + BigDecimal base = amount.divide(multiplier, 12, RoundingMode.HALF_UP); + BigDecimal itax = amount.subtract(base).setScale(scale, RoundingMode.HALF_UP); tax = tax.add(itax); } } diff --git a/org.adempiere.base/src/org/compiere/model/MTest.java b/org.adempiere.base/src/org/compiere/model/MTest.java index c57b0f3cf8..ec6aa1296f 100644 --- a/org.adempiere.base/src/org/compiere/model/MTest.java +++ b/org.adempiere.base/src/org/compiere/model/MTest.java @@ -17,6 +17,7 @@ package org.compiere.model; import java.math.BigDecimal; +import java.math.RoundingMode; import java.sql.ResultSet; import java.sql.Timestamp; import java.util.Properties; @@ -78,7 +79,7 @@ public class MTest extends X_Test setT_DateTime(new Timestamp (System.currentTimeMillis())); setT_Integer(testNo); setT_Amount(new BigDecimal(testNo)); - setT_Number(Env.ONE.divide(new BigDecimal(testNo), BigDecimal.ROUND_HALF_UP)); + setT_Number(Env.ONE.divide(new BigDecimal(testNo), RoundingMode.HALF_UP)); // setC_Currency_ID(100); // USD setC_Location_ID(109); // Monroe diff --git a/org.adempiere.base/src/org/compiere/model/MUOM.java b/org.adempiere.base/src/org/compiere/model/MUOM.java index 7b321ec903..d9b4034b7e 100644 --- a/org.adempiere.base/src/org/compiere/model/MUOM.java +++ b/org.adempiere.base/src/org/compiere/model/MUOM.java @@ -17,6 +17,7 @@ package org.compiere.model; import java.math.BigDecimal; +import java.math.RoundingMode; import java.sql.ResultSet; import java.util.Iterator; import java.util.List; @@ -216,7 +217,7 @@ public class MUOM extends X_C_UOM if (!stdPrecision) precision = getCostingPrecision(); if (qty.scale() > precision) - return qty.setScale(getStdPrecision(), BigDecimal.ROUND_HALF_UP); + return qty.setScale(getStdPrecision(), RoundingMode.HALF_UP); return qty; } // round diff --git a/org.adempiere.base/src/org/compiere/model/MUOMConversion.java b/org.adempiere.base/src/org/compiere/model/MUOMConversion.java index 58f1dd48a2..58eaf42263 100644 --- a/org.adempiere.base/src/org/compiere/model/MUOMConversion.java +++ b/org.adempiere.base/src/org/compiere/model/MUOMConversion.java @@ -18,6 +18,7 @@ package org.compiere.model; import java.awt.Point; import java.math.BigDecimal; +import java.math.RoundingMode; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; @@ -191,7 +192,7 @@ public class MUOMConversion extends X_C_UOM_Conversion s_conversions.put(p, mr); // reverse if (dr == null && mr != null) - dr = Env.ONE.divide(mr, BigDecimal.ROUND_HALF_UP); + dr = Env.ONE.divide(mr, RoundingMode.HALF_UP); if (dr != null) s_conversions.put(new Point(p.y,p.x), dr); } @@ -445,7 +446,7 @@ public class MUOMConversion extends X_C_UOM_Conversion // Calculate & Scale retValue = retValue.multiply(qty); if (retValue.scale() > precision) - retValue = retValue.setScale(precision, BigDecimal.ROUND_HALF_UP); + retValue = retValue.setScale(precision, RoundingMode.HALF_UP); return retValue; } // convert diff --git a/org.adempiere.base/src/org/compiere/model/PaymentProcessor.java b/org.adempiere.base/src/org/compiere/model/PaymentProcessor.java index 7ffdaae862..fd57f8e6e2 100644 --- a/org.adempiere.base/src/org/compiere/model/PaymentProcessor.java +++ b/org.adempiere.base/src/org/compiere/model/PaymentProcessor.java @@ -21,6 +21,7 @@ import java.io.DataOutputStream; import java.io.InputStreamReader; import java.io.UnsupportedEncodingException; import java.math.BigDecimal; +import java.math.RoundingMode; import java.net.URL; import java.net.URLDecoder; import java.net.URLEncoder; @@ -191,7 +192,7 @@ public abstract class PaymentProcessor else { if (value.scale() < 2) - value = value.setScale(2, BigDecimal.ROUND_HALF_UP); + value = value.setScale(2, RoundingMode.HALF_UP); return createPair (name, String.valueOf(value), maxLength); } } // createPair diff --git a/org.adempiere.base/src/org/compiere/print/PrintDataFunction.java b/org.adempiere.base/src/org/compiere/print/PrintDataFunction.java index ddba97f545..86d2444c20 100644 --- a/org.adempiere.base/src/org/compiere/print/PrintDataFunction.java +++ b/org.adempiere.base/src/org/compiere/print/PrintDataFunction.java @@ -17,6 +17,7 @@ package org.compiere.print; import java.math.BigDecimal; +import java.math.RoundingMode; import org.compiere.util.DisplayType; import org.compiere.util.Env; @@ -132,25 +133,25 @@ public class PrintDataFunction // Mean = sum/count - round to 4 digits if (function == F_MEAN) { - BigDecimal mean = m_sum.divide(count, 4, BigDecimal.ROUND_HALF_UP); + BigDecimal mean = m_sum.divide(count, 4, RoundingMode.HALF_UP); if (mean.scale() > 4) - mean = mean.setScale(4, BigDecimal.ROUND_HALF_UP); + mean = mean.setScale(4, RoundingMode.HALF_UP); return mean; } // Variance = ( sum of squares - (square of sum / count) ) / count BigDecimal ss = m_sum.multiply(m_sum); - ss = ss.divide(count, 10, BigDecimal.ROUND_HALF_UP); - BigDecimal variance = m_sumSquare.subtract(ss).divide(count, 10, BigDecimal.ROUND_HALF_UP); + ss = ss.divide(count, 10, RoundingMode.HALF_UP); + BigDecimal variance = m_sumSquare.subtract(ss).divide(count, 10, RoundingMode.HALF_UP); if (function == F_VARIANCE) { if (variance.scale() > 4) - variance = variance.setScale(4, BigDecimal.ROUND_HALF_UP); + variance = variance.setScale(4, RoundingMode.HALF_UP); return variance; } // Standard Deviation BigDecimal deviation = BigDecimal.valueOf(Math.sqrt(variance.doubleValue())); if (deviation.scale() > 4) - deviation = deviation.setScale(4, BigDecimal.ROUND_HALF_UP); + deviation = deviation.setScale(4, RoundingMode.HALF_UP); return deviation; } // getValue diff --git a/org.adempiere.base/src/org/compiere/sla/DeliveryAccuracy.java b/org.adempiere.base/src/org/compiere/sla/DeliveryAccuracy.java index c4bbfee1f8..18b95b2114 100644 --- a/org.adempiere.base/src/org/compiere/sla/DeliveryAccuracy.java +++ b/org.adempiere.base/src/org/compiere/sla/DeliveryAccuracy.java @@ -17,6 +17,7 @@ package org.compiere.sla; import java.math.BigDecimal; +import java.math.RoundingMode; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.Timestamp; @@ -146,7 +147,7 @@ public class DeliveryAccuracy extends SLACriteria // Calculate with 2 digits precision if (count != 0) - retValue = total.divide(new BigDecimal(count), 2, BigDecimal.ROUND_HALF_UP); + retValue = total.divide(new BigDecimal(count), 2, RoundingMode.HALF_UP); return retValue; } // calculateMeasure diff --git a/org.adempiere.base/src/org/compiere/util/AmtInWords_HR.java b/org.adempiere.base/src/org/compiere/util/AmtInWords_HR.java index 76b5513bf9..11eee07493 100644 --- a/org.adempiere.base/src/org/compiere/util/AmtInWords_HR.java +++ b/org.adempiere.base/src/org/compiere/util/AmtInWords_HR.java @@ -2,6 +2,8 @@ package org.compiere.util; import java.math.BigDecimal; +import java.math.RoundingMode; + import static java.math.BigDecimal.valueOf; import java.util.HashMap; import java.util.Map; @@ -74,10 +76,10 @@ između StringBuilder rezultat = new StringBuilder(); // zaokruži na dvije decimale - broj = broj.setScale(2, BigDecimal.ROUND_HALF_EVEN); + broj = broj.setScale(2, RoundingMode.HALF_EVEN); // kune (dio bez decimala) - BigDecimal kune = broj.setScale(0, BigDecimal.ROUND_DOWN); + BigDecimal kune = broj.setScale(0, RoundingMode.DOWN); rezultat.append(slovima(kune, "kuna", false, false)); rezultat.append(RAZMAK + "i" + RAZMAK); diff --git a/org.adempiere.base/src/org/compiere/util/AmtInWords_PT.java b/org.adempiere.base/src/org/compiere/util/AmtInWords_PT.java index 46f8379ef2..9511337e6a 100644 --- a/org.adempiere.base/src/org/compiere/util/AmtInWords_PT.java +++ b/org.adempiere.base/src/org/compiere/util/AmtInWords_PT.java @@ -13,6 +13,7 @@ package org.compiere.util; import java.math.BigDecimal; +import java.math.RoundingMode; /** * Portuguese Amount in Words @@ -248,7 +249,7 @@ public class AmtInWords_PT implements AmtInWords public String getAmtInWords (BigDecimal amount) throws Exception { - amount = amount.setScale(2, BigDecimal.ROUND_HALF_UP); + amount = amount.setScale(2, RoundingMode.HALF_UP); String samount = amount.toString(); samount = samount.replaceAll("\\.", ","); diff --git a/org.adempiere.base/src/org/compiere/util/AmtInWords_ZH.java b/org.adempiere.base/src/org/compiere/util/AmtInWords_ZH.java index d273dd977a..a07f1c2bf6 100644 --- a/org.adempiere.base/src/org/compiere/util/AmtInWords_ZH.java +++ b/org.adempiere.base/src/org/compiere/util/AmtInWords_ZH.java @@ -16,6 +16,7 @@ *****************************************************************************/ package org.compiere.util; import java.math.BigDecimal; +import java.math.RoundingMode; /** * Amount in Words for Zh_CN (CNY in Simplified Chinese) @@ -139,7 +140,7 @@ public class AmtInWords_ZH implements AmtInWords } // round to 1/100, get long number ,eg -5432.135 = 543214 - long lnumber = number.movePointRight(2).setScale(0, BigDecimal.ROUND_HALF_UP).abs().longValue(); + long lnumber = number.movePointRight(2).setScale(0, RoundingMode.HALF_UP).abs().longValue(); // number must less 10000000000000 (10^13) if (lnumber >= 1000000000000000L) { diff --git a/org.adempiere.base/src/org/compiere/wf/MWFNode.java b/org.adempiere.base/src/org/compiere/wf/MWFNode.java index 4cae4961eb..69994490a7 100644 --- a/org.adempiere.base/src/org/compiere/wf/MWFNode.java +++ b/org.adempiere.base/src/org/compiere/wf/MWFNode.java @@ -18,6 +18,7 @@ package org.compiere.wf; import java.awt.Point; import java.math.BigDecimal; +import java.math.RoundingMode; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; @@ -496,7 +497,7 @@ public class MWFNode extends X_AD_WF_Node return 0; // BigDecimal change = new BigDecimal (seconds) - .divide(divide, BigDecimal.ROUND_DOWN) + .divide(divide, RoundingMode.DOWN) .multiply(getDynPriorityChange()); return change.intValue(); } // calculateDynamicPriority diff --git a/org.adempiere.base/src/org/eevolution/model/MDDOrderLine.java b/org.adempiere.base/src/org/eevolution/model/MDDOrderLine.java index 1846e021b9..e6a6b91d66 100644 --- a/org.adempiere.base/src/org/eevolution/model/MDDOrderLine.java +++ b/org.adempiere.base/src/org/eevolution/model/MDDOrderLine.java @@ -17,6 +17,7 @@ package org.eevolution.model; import java.math.BigDecimal; +import java.math.RoundingMode; import java.sql.ResultSet; import java.util.ArrayList; import java.util.Properties; @@ -485,7 +486,7 @@ public class MDDOrderLine extends X_DD_OrderLine if (QtyEntered != null && getC_UOM_ID() != 0) { int precision = MUOM.getPrecision(getCtx(), getC_UOM_ID()); - QtyEntered = QtyEntered.setScale(precision, BigDecimal.ROUND_HALF_UP); + QtyEntered = QtyEntered.setScale(precision, RoundingMode.HALF_UP); } super.setQtyEntered (QtyEntered); } // setQtyEntered @@ -500,7 +501,7 @@ public class MDDOrderLine extends X_DD_OrderLine if (QtyOrdered != null && product != null) { int precision = product.getUOMPrecision(); - QtyOrdered = QtyOrdered.setScale(precision, BigDecimal.ROUND_HALF_UP); + QtyOrdered = QtyOrdered.setScale(precision, RoundingMode.HALF_UP); } super.setQtyOrdered(QtyOrdered); } // setQtyOrdered diff --git a/org.adempiere.base/src/org/eevolution/model/MPPProductBOMLine.java b/org.adempiere.base/src/org/eevolution/model/MPPProductBOMLine.java index 96df7ec20e..241e744bee 100644 --- a/org.adempiere.base/src/org/eevolution/model/MPPProductBOMLine.java +++ b/org.adempiere.base/src/org/eevolution/model/MPPProductBOMLine.java @@ -227,7 +227,7 @@ public class MPPProductBOMLine extends X_PP_Product_BOMLine if (includeScrapQty) { BigDecimal scrapDec = getScrap().divide(Env.ONEHUNDRED, 12, BigDecimal.ROUND_UP); - qty = qty.divide(Env.ONE.subtract(scrapDec), precision, BigDecimal.ROUND_HALF_UP); + qty = qty.divide(Env.ONE.subtract(scrapDec), precision, RoundingMode.HALF_UP); } // if (qty.scale() > precision) diff --git a/org.adempiere.base/src/org/globalqss/process/CashFlow.java b/org.adempiere.base/src/org/globalqss/process/CashFlow.java index 3ff691291e..3fc4e72490 100644 --- a/org.adempiere.base/src/org/globalqss/process/CashFlow.java +++ b/org.adempiere.base/src/org/globalqss/process/CashFlow.java @@ -17,6 +17,7 @@ package org.globalqss.process; import java.math.BigDecimal; +import java.math.RoundingMode; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.Timestamp; @@ -229,7 +230,7 @@ public class CashFlow extends SvrProcess { open = open.subtract(paid); } if (open.scale() > curr.getStdPrecision()) - open = open.setScale(curr.getStdPrecision(), BigDecimal.ROUND_HALF_UP); + open = open.setScale(curr.getStdPrecision(), RoundingMode.HALF_UP); BigDecimal invoiced = order.getGrandTotal().subtract(open); if (isPaySchedule) { MOrderPaySchedule[] schedule = MOrderPaySchedule.getOrderPaySchedule(getCtx(), order_id, 0, get_TrxName()); diff --git a/org.adempiere.base/src/org/globalqss/process/GLJournalGenerate.java b/org.adempiere.base/src/org/globalqss/process/GLJournalGenerate.java index 62b08b662f..9d9487e753 100644 --- a/org.adempiere.base/src/org/globalqss/process/GLJournalGenerate.java +++ b/org.adempiere.base/src/org/globalqss/process/GLJournalGenerate.java @@ -26,6 +26,7 @@ package org.globalqss.process; import java.math.BigDecimal; import java.math.MathContext; +import java.math.RoundingMode; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; @@ -543,11 +544,11 @@ public class GLJournalGenerate extends SvrProcess if (roundFactor < 0) { BigDecimal divisor = BigDecimal.valueOf(Math.pow(10, -roundFactor)); sourceAmt = sourceAmt.divide(divisor, MathContext.UNLIMITED); - sourceAmt = sourceAmt.setScale(0, BigDecimal.ROUND_HALF_UP); + sourceAmt = sourceAmt.setScale(0, RoundingMode.HALF_UP); sourceAmt = sourceAmt.multiply(divisor, MathContext.UNLIMITED); - sourceAmt = sourceAmt.setScale(0, BigDecimal.ROUND_HALF_UP); + sourceAmt = sourceAmt.setScale(0, RoundingMode.HALF_UP); } else { - sourceAmt = sourceAmt.setScale(roundFactor, BigDecimal.ROUND_HALF_UP); + sourceAmt = sourceAmt.setScale(roundFactor, RoundingMode.HALF_UP); } return sourceAmt; } diff --git a/org.adempiere.extend/src/compiere/model/MyValidator.java b/org.adempiere.extend/src/compiere/model/MyValidator.java index bb4b768ffd..f81fb746a0 100644 --- a/org.adempiere.extend/src/compiere/model/MyValidator.java +++ b/org.adempiere.extend/src/compiere/model/MyValidator.java @@ -168,7 +168,7 @@ public class MyValidator implements ModelValidator // Calculate Discount BigDecimal discountPercent = new BigDecimal(3); // 3% example BigDecimal discountAmt = totalLines.multiply(discountPercent); - discountAmt = discountAmt.divide(Env.ONEHUNDRED, order.getPrecision(), BigDecimal.ROUND_HALF_UP); + discountAmt = discountAmt.divide(Env.ONEHUNDRED, order.getPrecision(), RoundingMode.HALF_UP); discountLine.setPrice(discountAmt.negate()); if (!discountLine.save()) return "Could not save discount line"; diff --git a/org.adempiere.extend/src/test/functional/MStorageTest.java b/org.adempiere.extend/src/test/functional/MStorageTest.java index 1fafe26782..9e80c2817b 100644 --- a/org.adempiere.extend/src/test/functional/MStorageTest.java +++ b/org.adempiere.extend/src/test/functional/MStorageTest.java @@ -14,6 +14,7 @@ package test.functional; import java.math.BigDecimal; +import java.math.RoundingMode; import org.compiere.model.MLocator; import org.compiere.model.MStorageOnHand; @@ -44,12 +45,12 @@ public class MStorageTest extends AdempiereTestCase loc.setXYZ("X"+locatorValue, "Y"+locatorValue, "Z"+locatorValue); loc.saveEx(); // - BigDecimal targetQty = BigDecimal.valueOf(qtyOnHand).setScale(12, BigDecimal.ROUND_HALF_UP); + BigDecimal targetQty = BigDecimal.valueOf(qtyOnHand).setScale(12, RoundingMode.HALF_UP); MStorageOnHand s1 = MStorageOnHand.getCreate(getCtx(), loc.get_ID(), product_id, 0,null, getTrxName()); s1.setQtyOnHand(targetQty); s1.saveEx(); // - BigDecimal qty = MStorageReservation.getQtyAvailable(wh.get_ID(), product_id, 0, getTrxName()).setScale(12, BigDecimal.ROUND_HALF_UP); + BigDecimal qty = MStorageReservation.getQtyAvailable(wh.get_ID(), product_id, 0, getTrxName()).setScale(12, RoundingMode.HALF_UP); assertEquals("Error on locator "+locatorValue, targetQty, qty); // return loc; @@ -57,8 +58,8 @@ public class MStorageTest extends AdempiereTestCase private void assertWarehouseQty(MWarehouse wh, BigDecimal targetQty) { BigDecimal qty = MStorageReservation.getQtyAvailable(wh.get_ID(), product_id, 0, getTrxName()); - qty = qty.setScale(12, BigDecimal.ROUND_HALF_UP); - targetQty = targetQty.setScale(12, BigDecimal.ROUND_HALF_UP); + qty = qty.setScale(12, RoundingMode.HALF_UP); + targetQty = targetQty.setScale(12, RoundingMode.HALF_UP); assertEquals(targetQty, qty); } diff --git a/org.adempiere.replication/src/org/adempiere/process/rpl/imp/ImportHelper.java b/org.adempiere.replication/src/org/adempiere/process/rpl/imp/ImportHelper.java index 4a75b62048..72a26f1a61 100755 --- a/org.adempiere.replication/src/org/adempiere/process/rpl/imp/ImportHelper.java +++ b/org.adempiere.replication/src/org/adempiere/process/rpl/imp/ImportHelper.java @@ -29,6 +29,7 @@ package org.adempiere.process.rpl.imp; import java.math.BigDecimal; +import java.math.RoundingMode; import java.sql.SQLException; import java.sql.Timestamp; import java.text.ParseException; @@ -696,7 +697,7 @@ public class ImportHelper { else if( DisplayType.isNumeric(column.getAD_Reference_ID())) { valuecol="Round("+valuecol+",2)"; - params[col] = new BigDecimal((String)cols[col]).setScale(2, BigDecimal.ROUND_HALF_UP); + params[col] = new BigDecimal((String)cols[col]).setScale(2, RoundingMode.HALF_UP); } else { diff --git a/org.adempiere.ui.swing/src/org/compiere/apps/form/VTreeBOM.java b/org.adempiere.ui.swing/src/org/compiere/apps/form/VTreeBOM.java index 508297235e..e361690041 100644 --- a/org.adempiere.ui.swing/src/org/compiere/apps/form/VTreeBOM.java +++ b/org.adempiere.ui.swing/src/org/compiere/apps/form/VTreeBOM.java @@ -28,6 +28,7 @@ import java.awt.event.KeyListener; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.math.BigDecimal; +import java.math.RoundingMode; import java.util.Enumeration; import java.util.List; import java.util.Properties; @@ -718,7 +719,7 @@ class myJTree extends JTree sb.append(" ["+((KeyNamePair) userObject.elementAt(3)).getName().trim()+"]"); //BOMQty BigDecimal BOMQty = (BigDecimal)(userObject.elementAt(4)); - sb.append("x"+BOMQty.setScale(2, BigDecimal.ROUND_HALF_UP).stripTrailingZeros()); + sb.append("x"+BOMQty.setScale(2, RoundingMode.HALF_UP).stripTrailingZeros()); return sb.toString(); } diff --git a/org.adempiere.ui.swing/src/org/compiere/grid/ed/Calculator.java b/org.adempiere.ui.swing/src/org/compiere/grid/ed/Calculator.java index 96484105c3..24f70113ea 100644 --- a/org.adempiere.ui.swing/src/org/compiere/grid/ed/Calculator.java +++ b/org.adempiere.ui.swing/src/org/compiere/grid/ed/Calculator.java @@ -28,6 +28,7 @@ import java.awt.event.ActionListener; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import java.math.BigDecimal; +import java.math.RoundingMode; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; @@ -485,7 +486,7 @@ public final class Calculator extends CDialog char op = token.charAt(0); if (op == '%') { - firstNo = firstNo.divide(Env.ONEHUNDRED, m_format.getMaximumFractionDigits(), BigDecimal.ROUND_HALF_UP); + firstNo = firstNo.divide(Env.ONEHUNDRED, m_format.getMaximumFractionDigits(), RoundingMode.HALF_UP); m_number = firstNo; } @@ -523,13 +524,13 @@ public final class Calculator extends CDialog // Percent operation if (op2 == '%') - secondNo = secondNo.divide(Env.ONEHUNDRED, m_format.getMaximumFractionDigits(), BigDecimal.ROUND_HALF_UP); + secondNo = secondNo.divide(Env.ONEHUNDRED, m_format.getMaximumFractionDigits(), RoundingMode.HALF_UP); switch (op) { case '/': m_number = firstNo - .divide(secondNo, m_format.getMaximumFractionDigits(), BigDecimal.ROUND_HALF_UP); + .divide(secondNo, m_format.getMaximumFractionDigits(), RoundingMode.HALF_UP); break; case '*': m_number = firstNo.multiply(secondNo); @@ -543,7 +544,7 @@ public final class Calculator extends CDialog default: break; } - return m_number.setScale(m_format.getMaximumFractionDigits(), BigDecimal.ROUND_HALF_UP); + return m_number.setScale(m_format.getMaximumFractionDigits(), RoundingMode.HALF_UP); } // evaluate diff --git a/org.adempiere.ui.swing/src/org/compiere/grid/ed/MDocNumber.java b/org.adempiere.ui.swing/src/org/compiere/grid/ed/MDocNumber.java index d3c567beb6..4416b9afac 100644 --- a/org.adempiere.ui.swing/src/org/compiere/grid/ed/MDocNumber.java +++ b/org.adempiere.ui.swing/src/org/compiere/grid/ed/MDocNumber.java @@ -17,6 +17,7 @@ package org.compiere.grid.ed; import java.math.BigDecimal; +import java.math.RoundingMode; import java.text.DecimalFormat; import java.text.DecimalFormatSymbols; import java.text.ParseException; @@ -228,7 +229,7 @@ public final class MDocNumber extends PlainDocument { Number number = m_format.parse(value); percentValue = new BigDecimal (number.toString()); - percentValue = percentValue.divide(Env.ONEHUNDRED, m_format.getMaximumFractionDigits(), BigDecimal.ROUND_HALF_UP); + percentValue = percentValue.divide(Env.ONEHUNDRED, m_format.getMaximumFractionDigits(), RoundingMode.HALF_UP); m_tc.setText(m_format.format(percentValue)); } } diff --git a/org.adempiere.ui.swing/src/org/compiere/grid/ed/VNumber.java b/org.adempiere.ui.swing/src/org/compiere/grid/ed/VNumber.java index 1acb21ec4c..5c1c2d33bb 100644 --- a/org.adempiere.ui.swing/src/org/compiere/grid/ed/VNumber.java +++ b/org.adempiere.ui.swing/src/org/compiere/grid/ed/VNumber.java @@ -37,6 +37,7 @@ import java.awt.event.MouseEvent; import java.beans.PropertyChangeEvent; import java.beans.PropertyVetoException; import java.math.BigDecimal; +import java.math.RoundingMode; import java.text.DecimalFormat; import java.text.ParseException; import java.util.logging.Level; @@ -462,7 +463,7 @@ public final class VNumber extends JComponent return Integer.valueOf(bd.intValue()); if (bd.signum() == 0) return bd; - return bd.setScale(m_format.getMaximumFractionDigits(), BigDecimal.ROUND_HALF_UP); + return bd.setScale(m_format.getMaximumFractionDigits(), RoundingMode.HALF_UP); } catch (Exception e) { diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/form/WTreeBOM.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/form/WTreeBOM.java index 98f6b3ff1a..433ae654a0 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/form/WTreeBOM.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/form/WTreeBOM.java @@ -16,6 +16,7 @@ package org.adempiere.webui.apps.form; import java.math.BigDecimal; +import java.math.RoundingMode; import java.util.ArrayList; import java.util.List; import java.util.Properties; @@ -327,7 +328,7 @@ public class WTreeBOM extends TreeBOM implements IFormController, EventListener< MUOM u = new MUOM(product.getCtx(), product.getC_UOM_ID(), product.get_TrxName()); KeyNamePair uom = new KeyNamePair(u.get_ID(),u.getUOMSymbol()); line.add(uom); // 3 C_UOM_ID - line.add((BigDecimal) (Env.ONE).setScale(4, BigDecimal.ROUND_HALF_UP).stripTrailingZeros()); // 4 QtyBOM + line.add((BigDecimal) (Env.ONE).setScale(4, RoundingMode.HALF_UP).stripTrailingZeros()); // 4 QtyBOM // dummy root node, as first node is not displayed in tree mySimpleTreeNode parent = new mySimpleTreeNode("Root",new ArrayList>()); @@ -449,7 +450,7 @@ public class WTreeBOM extends TreeBOM implements IFormController, EventListener< MUOM u = new MUOM(M_Product.getCtx(), M_Product.getC_UOM_ID(), M_Product.get_TrxName()); KeyNamePair uom = new KeyNamePair(u.get_ID(),u.getUOMSymbol()); line.add(uom); // 3 C_UOM_ID - line.add((BigDecimal) ((bomline.getBOMQty()!=null) ? bomline.getBOMQty() : Env.ZERO).setScale(4, BigDecimal.ROUND_HALF_UP).stripTrailingZeros()); // 4 QtyBOM + line.add((BigDecimal) ((bomline.getBOMQty()!=null) ? bomline.getBOMQty() : Env.ZERO).setScale(4, RoundingMode.HALF_UP).stripTrailingZeros()); // 4 QtyBOM mySimpleTreeNode child = new mySimpleTreeNode(line,new ArrayList>()); if (!reload) @@ -478,7 +479,7 @@ public class WTreeBOM extends TreeBOM implements IFormController, EventListener< MUOM u = new MUOM(M_Product.getCtx(), M_Product.getC_UOM_ID(), M_Product.get_TrxName()); KeyNamePair uom = new KeyNamePair(u.get_ID(),u.getUOMSymbol()); line.add(uom); // 3 C_UOM_ID - line.add((BigDecimal) ((bom.getBOMQty()!=null) ? bom.getBOMQty() : Env.ZERO).setScale(4, BigDecimal.ROUND_HALF_UP).stripTrailingZeros()); // 4 QtyBOM + line.add((BigDecimal) ((bom.getBOMQty()!=null) ? bom.getBOMQty() : Env.ZERO).setScale(4, RoundingMode.HALF_UP).stripTrailingZeros()); // 4 QtyBOM if(m_selected_id == bom.getM_ProductBOM_ID() || getM_Product_ID() == bom.getM_ProductBOM_ID()) dataBOM.add(line); @@ -563,7 +564,7 @@ class mySimpleTreeNode extends DefaultTreeNode sb.append(" ["+((KeyNamePair) userObject.elementAt(3)).getName().trim()+"]"); // BOMQty BigDecimal BOMQty = (BigDecimal)(userObject.elementAt(4)); - sb.append("x"+BOMQty.setScale(2, BigDecimal.ROUND_HALF_UP).stripTrailingZeros()); + sb.append("x"+BOMQty.setScale(2, RoundingMode.HALF_UP).stripTrailingZeros()); return sb.toString(); } diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/graph/WGraph.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/graph/WGraph.java index 7006a6000a..28f0b8d3b4 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/graph/WGraph.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/graph/WGraph.java @@ -15,6 +15,7 @@ package org.adempiere.webui.apps.graph; import java.awt.Point; import java.math.BigDecimal; +import java.math.RoundingMode; import java.text.DecimalFormat; import java.util.ArrayList; import java.util.Collections; @@ -417,7 +418,7 @@ public class WGraph extends Div implements IdSpace { td.setSclass("pa-tdcontent"); tr.appendChild(td); text = new Text(format.format(m_goal.getMeasureTarget().setScale(2, - BigDecimal.ROUND_HALF_UP))); + RoundingMode.HALF_UP))); td.appendChild(text); tr = new Tr(); @@ -432,7 +433,7 @@ public class WGraph extends Div implements IdSpace { td.setSclass("pa-tdcontent"); tr.appendChild(td); text = new Text(format.format(m_goal.getMeasureActual().setScale(2, - BigDecimal.ROUND_HALF_UP))); + RoundingMode.HALF_UP))); td.appendChild(text); GraphColumn[] bList = getGraphColumnList(); @@ -483,11 +484,11 @@ public class WGraph extends Div implements IdSpace { }); a.setDynamicProperty("href", "javascript:;"); - text = new Text(format.format(value.setScale(2, BigDecimal.ROUND_HALF_UP))); + text = new Text(format.format(value.setScale(2, RoundingMode.HALF_UP))); a.appendChild(text); } else { - text = new Text(format.format(value.setScale(2, BigDecimal.ROUND_HALF_UP))); + text = new Text(format.format(value.setScale(2, RoundingMode.HALF_UP))); } } tr = new Tr(); diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/WNumberEditor.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/WNumberEditor.java index 8454723018..6a68e7e154 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/WNumberEditor.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/WNumberEditor.java @@ -18,6 +18,7 @@ package org.adempiere.webui.editor; import java.math.BigDecimal; +import java.math.RoundingMode; import java.text.DecimalFormat; import org.adempiere.webui.ClientInfo; @@ -221,7 +222,7 @@ public class WNumberEditor extends WEditor implements ContextMenuListener divisor = BigDecimal.TEN; else divisor = BigDecimal.TEN.pow(decimalPlaces); - BigDecimal newValue = oldValue.divide(divisor, decimalPlaces, BigDecimal.ROUND_HALF_UP); + BigDecimal newValue = oldValue.divide(divisor, decimalPlaces, RoundingMode.HALF_UP); return newValue; } //getAddDecimalPlaces diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/WAttachment.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/WAttachment.java index 0c38b31066..21595d04ed 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/WAttachment.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/WAttachment.java @@ -20,6 +20,7 @@ import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import java.math.BigDecimal; +import java.math.RoundingMode; import java.util.ArrayList; import java.util.List; import java.util.logging.Level; @@ -416,7 +417,7 @@ public class WAttachment extends Window implements EventListener size = size.divide(new BigDecimal("1024")); unit = " MB"; } - size = size.setScale(2, BigDecimal.ROUND_HALF_EVEN); + size = size.setScale(2, RoundingMode.HALF_EVEN); sizeLabel.setText(size.toPlainString() + unit); bSave.setEnabled(true); diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/WPAttributeDialog.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/WPAttributeDialog.java index eeb220be64..f63a84c353 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/WPAttributeDialog.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/WPAttributeDialog.java @@ -19,6 +19,7 @@ package org.adempiere.webui.window; import static org.compiere.model.SystemIDs.COLUMN_M_MOVEMENTLINE_M_ATTRIBUTESETINSTANCE_ID; import java.math.BigDecimal; +import java.math.RoundingMode; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.Timestamp; @@ -1061,7 +1062,7 @@ public class WPAttributeDialog extends Window implements EventListener mandatory += " - " + attributes[i].getName(); //setMAttributeInstance doesn't work without decimal point if (value != null && value.scale() == 0) - value = value.setScale(1, BigDecimal.ROUND_HALF_UP); + value = value.setScale(1, RoundingMode.HALF_UP); attributes[i].setMAttributeInstance(m_M_AttributeSetInstance_ID, value); } else if (MAttribute.ATTRIBUTEVALUETYPE_Date.equals(attributes[i].getAttributeValueType())) diff --git a/org.adempiere.ui/src/org/compiere/grid/CreateFromInvoice.java b/org.adempiere.ui/src/org/compiere/grid/CreateFromInvoice.java index 3a4e673f80..3bb315cc9a 100644 --- a/org.adempiere.ui/src/org/compiere/grid/CreateFromInvoice.java +++ b/org.adempiere.ui/src/org/compiere/grid/CreateFromInvoice.java @@ -14,6 +14,7 @@ package org.compiere.grid; import java.math.BigDecimal; +import java.math.RoundingMode; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; @@ -448,7 +449,7 @@ public abstract class CreateFromInvoice extends CreateFrom product = MProduct.get(Env.getCtx(), M_Product_ID); precision = product.getUOMPrecision(); } - QtyEntered = QtyEntered.setScale(precision, BigDecimal.ROUND_HALF_DOWN); + QtyEntered = QtyEntered.setScale(precision, RoundingMode.HALF_DOWN); // if (log.isLoggable(Level.FINE)) log.fine("Line QtyEntered=" + QtyEntered + ", Product_ID=" + M_Product_ID @@ -586,7 +587,7 @@ public abstract class CreateFromInvoice extends CreateFrom BigDecimal igt = invoice.getGrandTotal(); BigDecimal percent = Env.ONE; if (ogt.compareTo(igt) != 0) - percent = igt.divide(ogt, 10, BigDecimal.ROUND_HALF_UP); + percent = igt.divide(ogt, 10, RoundingMode.HALF_UP); MCurrency cur = MCurrency.get(p_order.getCtx(), p_order.getC_Currency_ID()); int scale = cur.getStdPrecision(); @@ -596,7 +597,7 @@ public abstract class CreateFromInvoice extends CreateFrom if (percent != Env.ONE) { BigDecimal propDueAmt = ops.getDueAmt().multiply(percent); if (propDueAmt.scale() > scale) - propDueAmt = propDueAmt.setScale(scale, BigDecimal.ROUND_HALF_UP); + propDueAmt = propDueAmt.setScale(scale, RoundingMode.HALF_UP); ips.setDueAmt(propDueAmt); } ips.setC_Invoice_ID(invoice.getC_Invoice_ID()); diff --git a/org.adempiere.ui/src/org/compiere/grid/CreateFromShipment.java b/org.adempiere.ui/src/org/compiere/grid/CreateFromShipment.java index 262739c1c4..5a11dc9e6a 100644 --- a/org.adempiere.ui/src/org/compiere/grid/CreateFromShipment.java +++ b/org.adempiere.ui/src/org/compiere/grid/CreateFromShipment.java @@ -15,6 +15,7 @@ package org.compiere.grid; import java.math.BigDecimal; +import java.math.RoundingMode; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; @@ -595,7 +596,7 @@ public abstract class CreateFromShipment extends CreateFrom MProduct product = MProduct.get(Env.getCtx(), M_Product_ID); precision = product.getUOMPrecision(); } - QtyEntered = QtyEntered.setScale(precision, BigDecimal.ROUND_HALF_DOWN); + QtyEntered = QtyEntered.setScale(precision, RoundingMode.HALF_DOWN); // if (log.isLoggable(Level.FINE)) log.fine("Line QtyEntered=" + QtyEntered + ", Product=" + M_Product_ID @@ -620,7 +621,7 @@ public abstract class CreateFromShipment extends CreateFrom { iol.setMovementQty(QtyEntered .multiply(ol.getQtyOrdered()) - .divide(ol.getQtyEntered(), 12, BigDecimal.ROUND_HALF_UP)); + .divide(ol.getQtyEntered(), 12, RoundingMode.HALF_UP)); iol.setC_UOM_ID(ol.getC_UOM_ID()); } iol.setM_AttributeSetInstance_ID(ol.getM_AttributeSetInstance_ID()); @@ -641,7 +642,7 @@ public abstract class CreateFromShipment extends CreateFrom { iol.setQtyEntered(QtyEntered .multiply(il.getQtyInvoiced()) - .divide(il.getQtyEntered(), 12, BigDecimal.ROUND_HALF_UP)); + .divide(il.getQtyEntered(), 12, RoundingMode.HALF_UP)); iol.setC_UOM_ID(il.getC_UOM_ID()); } iol.setDescription(il.getDescription()); diff --git a/org.compiere.db.oracle.provider/src/org/compiere/db/DB_Oracle.java b/org.compiere.db.oracle.provider/src/org/compiere/db/DB_Oracle.java index b589e1ebb0..688f76b5a5 100644 --- a/org.compiere.db.oracle.provider/src/org/compiere/db/DB_Oracle.java +++ b/org.compiere.db.oracle.provider/src/org/compiere/db/DB_Oracle.java @@ -23,6 +23,7 @@ import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.math.BigDecimal; +import java.math.RoundingMode; import java.net.URL; import java.sql.Connection; import java.sql.DatabaseMetaData; @@ -514,7 +515,7 @@ public class DB_Oracle implements AdempiereDatabase { try { - result = number.setScale(scale, BigDecimal.ROUND_HALF_UP); + result = number.setScale(scale, RoundingMode.HALF_UP); } catch (Exception e) { diff --git a/org.compiere.db.postgresql.provider/src/org/compiere/db/DB_PostgreSQL.java b/org.compiere.db.postgresql.provider/src/org/compiere/db/DB_PostgreSQL.java index f4194b8527..e65fa74e81 100755 --- a/org.compiere.db.postgresql.provider/src/org/compiere/db/DB_PostgreSQL.java +++ b/org.compiere.db.postgresql.provider/src/org/compiere/db/DB_PostgreSQL.java @@ -25,6 +25,7 @@ import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.math.BigDecimal; +import java.math.RoundingMode; import java.net.URL; import java.sql.Connection; import java.sql.DriverManager; @@ -495,7 +496,7 @@ public class DB_PostgreSQL implements AdempiereDatabase { try { - result = number.setScale(scale, BigDecimal.ROUND_HALF_UP); + result = number.setScale(scale, RoundingMode.HALF_UP); } catch (Exception e) {