IDEMPIERE-3798:Move iDempiere default branch to openjdk 10 (warning deprecated of constructer)
constance of BigDecimal move to RoundingMode
This commit is contained in:
parent
cfa2705b25
commit
61a5fd1c21
|
@ -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 "";
|
||||
|
|
|
@ -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 "";
|
||||
|
|
|
@ -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 "
|
||||
|
|
|
@ -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 "
|
||||
|
|
|
@ -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"));
|
||||
|
|
|
@ -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 "
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
//
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
|
|
@ -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());
|
||||
|
|
|
@ -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");
|
||||
|
|
|
@ -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());
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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() + ")");
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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")) {
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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())
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
//
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 ?
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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()
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
||||
/**
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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
|
||||
|
||||
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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("\\.", ",");
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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());
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
{
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
||||
|
||||
|
|
|
@ -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));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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<TreeNode<Object>>());
|
||||
|
@ -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<TreeNode<Object>>());
|
||||
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<Object>
|
|||
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();
|
||||
}
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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<Event>
|
|||
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);
|
||||
|
|
|
@ -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<Event>
|
|||
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()))
|
||||
|
|
|
@ -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());
|
||||
|
|
|
@ -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());
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue