diff --git a/modules/axelor-open-suite/axelor-base/src/main/java/com/axelor/apps/base/service/PriceListService.java b/modules/axelor-open-suite/axelor-base/src/main/java/com/axelor/apps/base/service/PriceListService.java index 7612e997..eb4523d2 100644 --- a/modules/axelor-open-suite/axelor-base/src/main/java/com/axelor/apps/base/service/PriceListService.java +++ b/modules/axelor-open-suite/axelor-base/src/main/java/com/axelor/apps/base/service/PriceListService.java @@ -160,13 +160,13 @@ public class PriceListService { if (discountTypeSelect == PriceListLineRepository.AMOUNT_TYPE_FIXED) { return unitPrice .subtract(discountAmount) - .setScale(appBaseService.getNbDecimalDigitForUnitPrice(), RoundingMode.HALF_UP); + .setScale(5, RoundingMode.HALF_UP); } else if (discountTypeSelect == PriceListLineRepository.AMOUNT_TYPE_PERCENT) { return unitPrice .multiply(new BigDecimal(100).subtract(discountAmount)) .divide( new BigDecimal(100), - appBaseService.getNbDecimalDigitForUnitPrice(), + 5, RoundingMode.HALF_UP); } diff --git a/modules/axelor-open-suite/axelor-sale/src/main/java/com/axelor/apps/sale/service/saleorder/SaleOrderLineServiceImpl.java b/modules/axelor-open-suite/axelor-sale/src/main/java/com/axelor/apps/sale/service/saleorder/SaleOrderLineServiceImpl.java index fc869508..85baf101 100644 --- a/modules/axelor-open-suite/axelor-sale/src/main/java/com/axelor/apps/sale/service/saleorder/SaleOrderLineServiceImpl.java +++ b/modules/axelor-open-suite/axelor-sale/src/main/java/com/axelor/apps/sale/service/saleorder/SaleOrderLineServiceImpl.java @@ -381,7 +381,7 @@ public class SaleOrderLineServiceImpl implements SaleOrderLineService { return currencyService .getAmountCurrencyConvertedAtDate( product.getSaleCurrency(), saleOrder.getCurrency(), price, saleOrder.getCreationDate()) - .setScale(appSaleService.getNbDecimalDigitForUnitPrice(), RoundingMode.HALF_UP); + .setScale(5, RoundingMode.HALF_UP); } @Override @@ -450,7 +450,7 @@ public class SaleOrderLineServiceImpl implements SaleOrderLineService { } if (priceIsAti) { - price = price.divide(taxLine.getValue().add(BigDecimal.ONE), 2, BigDecimal.ROUND_HALF_UP); + price = price.divide(taxLine.getValue().add(BigDecimal.ONE), 5, BigDecimal.ROUND_HALF_UP); } else { price = price.add(price.multiply(taxLine.getValue())); } diff --git a/modules/axelor-open-suite/axelor-supplychain/src/main/java/com/axelor/apps/supplychain/service/SaleOrderStockServiceImpl.java b/modules/axelor-open-suite/axelor-supplychain/src/main/java/com/axelor/apps/supplychain/service/SaleOrderStockServiceImpl.java index 5a7d6dd9..174cf62a 100644 --- a/modules/axelor-open-suite/axelor-supplychain/src/main/java/com/axelor/apps/supplychain/service/SaleOrderStockServiceImpl.java +++ b/modules/axelor-open-suite/axelor-supplychain/src/main/java/com/axelor/apps/supplychain/service/SaleOrderStockServiceImpl.java @@ -376,7 +376,7 @@ public class SaleOrderStockServiceImpl implements SaleOrderStockService { unit, saleOrderLine.getUnit(), priceDiscounted, - appBaseService.getNbDecimalDigitForUnitPrice(), + 5, saleOrderLine.getProduct()); requestedReservedQty = unitConversionService.convert( @@ -398,7 +398,7 @@ public class SaleOrderStockServiceImpl implements SaleOrderStockService { .getCompanyExTaxTotal() .divide( saleOrderLine.getQty(), - Beans.get(AppBaseService.class).getNbDecimalDigitForUnitPrice(), + 5, RoundingMode.HALF_EVEN); }