Set dynamic decimal digits for Sale WorkFlow

This commit is contained in:
2023-01-07 18:04:40 +01:00
parent f716a7578a
commit 937d139f0c
10 changed files with 44 additions and 17 deletions

View File

@@ -358,6 +358,7 @@ public class SaleOrderStockServiceImpl implements SaleOrderStockService {
@Override
public StockMoveLine createStockMoveLine(
StockMove stockMove, SaleOrderLine saleOrderLine, BigDecimal qty) throws AxelorException {
int scale = Beans.get(AppBaseService.class).getNbDecimalDigitForSalePrice();
if (this.isStockMoveProduct(saleOrderLine)) {
@@ -376,7 +377,7 @@ public class SaleOrderStockServiceImpl implements SaleOrderStockService {
unit,
saleOrderLine.getUnit(),
priceDiscounted,
5,
scale,
saleOrderLine.getProduct());
requestedReservedQty =
unitConversionService.convert(
@@ -398,7 +399,7 @@ public class SaleOrderStockServiceImpl implements SaleOrderStockService {
.getCompanyExTaxTotal()
.divide(
saleOrderLine.getQty(),
5,
scale,
RoundingMode.HALF_EVEN);
}

View File

@@ -118,7 +118,7 @@ public class StockMoveLineServiceSupplychainImpl extends StockMoveLineServiceImp
stockMove,
taxed,
taxRate);
stockMoveLine.setRequestedReservedQty(requestedReservedQty);
stockMoveLine.setRequestedReservedQty(BigDecimal.ZERO);
stockMoveLine.setSaleOrderLine(saleOrderLine);
stockMoveLine.setPurchaseOrderLine(purchaseOrderLine);
TrackingNumberConfiguration trackingNumberConfiguration =
@@ -219,14 +219,14 @@ public class StockMoveLineServiceSupplychainImpl extends StockMoveLineServiceImp
fromUnit,
toUnit,
stockMoveLine.getUnitPriceUntaxed(),
appBaseService.getNbDecimalDigitForUnitPrice(),
appBaseService.getNbDecimalDigitForSalePrice(),
null);
BigDecimal unitPriceTaxed =
unitConversionService.convert(
fromUnit,
toUnit,
stockMoveLine.getUnitPriceTaxed(),
appBaseService.getNbDecimalDigitForUnitPrice(),
appBaseService.getNbDecimalDigitForSalePrice(),
null);
stockMoveLine.setUnitPriceUntaxed(unitPriceUntaxed);
stockMoveLine.setUnitPriceTaxed(unitPriceTaxed);

View File

@@ -183,7 +183,7 @@ public abstract class InvoiceLineGeneratorSupplyChain extends InvoiceLineGenerat
this.unit,
saleOrPurchaseUnit,
this.priceDiscounted,
appBaseService.getNbDecimalDigitForUnitPrice(),
appBaseService.getNbDecimalDigitForSalePrice(),
product);
this.unit = saleOrPurchaseUnit;
}
@@ -276,7 +276,9 @@ public abstract class InvoiceLineGeneratorSupplyChain extends InvoiceLineGenerat
invoiceLine.setPrice(price);
invoiceLine.setInTaxPrice(inTaxPrice);
// sophal
invoiceLine.setTrackingNumber(stockMoveLine.getTrackingNumber());
analyticMoveLineList =
invoiceLineService.getAndComputeAnalyticDistribution(invoiceLine, invoice);
analyticMoveLineList.stream().forEach(invoiceLine::addAnalyticMoveLineListItem);