diff --git a/modules/axelor-open-suite/axelor-supplychain/src/main/java/com/axelor/apps/supplychain/service/StockMoveInvoiceServiceImpl.java b/modules/axelor-open-suite/axelor-supplychain/src/main/java/com/axelor/apps/supplychain/service/StockMoveInvoiceServiceImpl.java index 2f07c9a..ef3fa7b 100644 --- a/modules/axelor-open-suite/axelor-supplychain/src/main/java/com/axelor/apps/supplychain/service/StockMoveInvoiceServiceImpl.java +++ b/modules/axelor-open-suite/axelor-supplychain/src/main/java/com/axelor/apps/supplychain/service/StockMoveInvoiceServiceImpl.java @@ -93,7 +93,7 @@ public class StockMoveInvoiceServiceImpl implements StockMoveInvoiceService { } @Override - @Transactional(rollbackOn = {Exception.class}) + @Transactional(rollbackOn = { Exception.class }) public Invoice createInvoice( StockMove stockMove, Integer operationSelect, @@ -130,9 +130,8 @@ public class StockMoveInvoiceServiceImpl implements StockMoveInvoiceService { if (StockMoveRepository.ORIGIN_SALE_ORDER.equals(stockMove.getOriginTypeSelect())) { invoice = createInvoiceFromSaleOrder(stockMove, saleOrderRepo.find(origin), qtyToInvoiceMap); } else if (StockMoveRepository.ORIGIN_PURCHASE_ORDER.equals(stockMove.getOriginTypeSelect())) { - invoice = - createInvoiceFromPurchaseOrder( - stockMove, purchaseOrderRepo.find(origin), qtyToInvoiceMap); + invoice = createInvoiceFromPurchaseOrder( + stockMove, purchaseOrderRepo.find(origin), qtyToInvoiceMap); } else { invoice = createInvoiceFromOrderlessStockMove(stockMove, qtyToInvoiceMap); } @@ -147,10 +146,9 @@ public class StockMoveInvoiceServiceImpl implements StockMoveInvoiceService { for (StockMoveLine subLine : stockMoveLine.getSubLineList()) { BigDecimal qty = BigDecimal.ZERO; if (stockMoveLine.getQty().compareTo(BigDecimal.ZERO) != 0) { - qty = - qtyToInvoiceItem - .multiply(subLine.getQty()) - .divide(stockMoveLine.getQty(), 2, RoundingMode.HALF_EVEN); + qty = qtyToInvoiceItem + .multiply(subLine.getQty()) + .divide(stockMoveLine.getQty(), 2, RoundingMode.HALF_EVEN); } qty = qty.setScale(2, RoundingMode.HALF_EVEN); qtyToInvoiceMap.put(subLine.getId(), qty); @@ -159,13 +157,13 @@ public class StockMoveInvoiceServiceImpl implements StockMoveInvoiceService { } @Override - @Transactional(rollbackOn = {Exception.class}) + @Transactional(rollbackOn = { Exception.class }) public Invoice createInvoiceFromSaleOrder( StockMove stockMove, SaleOrder saleOrder, Map qtyToInvoiceMap) throws AxelorException { - InvoiceGenerator invoiceGenerator = - saleOrderInvoiceService.createInvoiceGenerator(saleOrder, stockMove.getIsReversion()); + InvoiceGenerator invoiceGenerator = saleOrderInvoiceService.createInvoiceGenerator(saleOrder, + stockMove.getIsReversion()); Invoice invoice = invoiceGenerator.generate(); @@ -210,14 +208,13 @@ public class StockMoveInvoiceServiceImpl implements StockMoveInvoiceService { } @Override - @Transactional(rollbackOn = {Exception.class}) + @Transactional(rollbackOn = { Exception.class }) public Invoice createInvoiceFromPurchaseOrder( StockMove stockMove, PurchaseOrder purchaseOrder, Map qtyToInvoiceMap) throws AxelorException { - InvoiceGenerator invoiceGenerator = - purchaseOrderInvoiceService.createInvoiceGenerator( - purchaseOrder, stockMove.getIsReversion()); + InvoiceGenerator invoiceGenerator = purchaseOrderInvoiceService.createInvoiceGenerator( + purchaseOrder, stockMove.getIsReversion()); Invoice invoice = invoiceGenerator.generate(); @@ -249,7 +246,7 @@ public class StockMoveInvoiceServiceImpl implements StockMoveInvoiceService { } @Override - @Transactional(rollbackOn = {Exception.class}) + @Transactional(rollbackOn = { Exception.class }) public Invoice createInvoiceFromOrderlessStockMove( StockMove stockMove, Map qtyToInvoiceMap) throws AxelorException { @@ -274,15 +271,14 @@ public class StockMoveInvoiceServiceImpl implements StockMoveInvoiceService { } } - InvoiceGenerator invoiceGenerator = - new InvoiceGeneratorSupplyChain(stockMove, invoiceOperationType) { + InvoiceGenerator invoiceGenerator = new InvoiceGeneratorSupplyChain(stockMove, invoiceOperationType) { - @Override - public Invoice generate() throws AxelorException { + @Override + public Invoice generate() throws AxelorException { - return super.createInvoiceHeader(); - } - }; + return super.createInvoiceHeader(); + } + }; Invoice invoice = invoiceGenerator.generate(); @@ -340,15 +336,13 @@ public class StockMoveInvoiceServiceImpl implements StockMoveInvoiceService { Long id = stockMoveLine.getId(); if (qtyToInvoiceMap != null) { if (qtyToInvoiceMap.containsKey(id)) { - invoiceLineListCreated = - this.createInvoiceLine(invoice, stockMoveLine, qtyToInvoiceMap.get(id)); + invoiceLineListCreated = this.createInvoiceLine(invoice, stockMoveLine, qtyToInvoiceMap.get(id)); } } else { - invoiceLineListCreated = - this.createInvoiceLine( - invoice, - stockMoveLine, - stockMoveLine.getRealQty().subtract(stockMoveLine.getQtyInvoiced())); + invoiceLineListCreated = this.createInvoiceLine( + invoice, + stockMoveLine, + stockMoveLine.getRealQty().subtract(stockMoveLine.getQtyInvoiced())); } if (invoiceLineListCreated != null) { @@ -424,32 +418,31 @@ public class StockMoveInvoiceServiceImpl implements StockMoveInvoiceService { stockMoveLine.getStockMove().getStockMoveSeq()); } - InvoiceLineGenerator invoiceLineGenerator = - new InvoiceLineGeneratorSupplyChain( - invoice, - product, - stockMoveLine.getProductName(), - stockMoveLine.getDescription(), - qty, - stockMoveLine.getUnit(), - sequence, - false, - stockMoveLine.getSaleOrderLine(), - stockMoveLine.getPurchaseOrderLine(), - stockMoveLine, - stockMoveLine.getIsSubLine(), - stockMoveLine.getPackPriceSelect()) { - @Override - public List creates() throws AxelorException { + InvoiceLineGenerator invoiceLineGenerator = new InvoiceLineGeneratorSupplyChain( + invoice, + product, + stockMoveLine.getProductName(), + stockMoveLine.getDescription(), + qty, + stockMoveLine.getUnit(), + sequence, + false, + stockMoveLine.getSaleOrderLine(), + stockMoveLine.getPurchaseOrderLine(), + stockMoveLine, + stockMoveLine.getIsSubLine(), + stockMoveLine.getPackPriceSelect()) { + @Override + public List creates() throws AxelorException { - InvoiceLine invoiceLine = this.createInvoiceLine(); + InvoiceLine invoiceLine = this.createInvoiceLine(); - List invoiceLines = new ArrayList(); - invoiceLines.add(invoiceLine); + List invoiceLines = new ArrayList(); + invoiceLines.add(invoiceLine); - return invoiceLines; - } - }; + return invoiceLines; + } + }; List invoiceLines = invoiceLineGenerator.creates(); for (InvoiceLine invoiceLine : invoiceLines) { @@ -465,7 +458,8 @@ public class StockMoveInvoiceServiceImpl implements StockMoveInvoiceService { } /** - * Get a list of stock move lines consolidated by parent line (sale or purchase order). + * Get a list of stock move lines consolidated by parent line (sale or purchase + * order). * * @param stockMoveLineList * @return @@ -484,8 +478,8 @@ public class StockMoveInvoiceServiceImpl implements StockMoveInvoiceService { if (stockMoveLine.getSaleOrderLine() != null) { list = stockMoveLineSaleMap.get(stockMoveLine.getSaleOrderLine()); // if (list == null) { - // list = new ArrayList<>(); - // stockMoveLineSaleMap.put(stockMoveLine.getSaleOrderLine(), list); + // list = new ArrayList<>(); + // stockMoveLineSaleMap.put(stockMoveLine.getSaleOrderLine(), list); // } // list.add(stockMoveLine); resultList.add(stockMoveLine); @@ -496,7 +490,9 @@ public class StockMoveInvoiceServiceImpl implements StockMoveInvoiceService { stockMoveLinePurchaseMap.put(stockMoveLine.getPurchaseOrderLine(), list); } list.add(stockMoveLine); - } else { // if the stock move line does not have a parent line (sale or purchase order line) + resultList.add(stockMoveLine); + } else { // if the stock move line does not have a parent line (sale or purchase order + // line) resultList.add(stockMoveLine); } } @@ -544,18 +540,16 @@ public class StockMoveInvoiceServiceImpl implements StockMoveInvoiceService { stockMove = Beans.get(StockMoveRepository.class).find(stockMove.getId()); if (stockMove.getInvoiceSet() != null && !stockMove.getInvoiceSet().isEmpty()) { - Double totalInvoicedQty = - stockMove - .getStockMoveLineList() - .stream() - .mapToDouble(sml -> Double.parseDouble(sml.getQtyInvoiced().toString())) - .sum(); - Double totalRealQty = - stockMove - .getStockMoveLineList() - .stream() - .mapToDouble(sml -> Double.parseDouble(sml.getRealQty().toString())) - .sum(); + Double totalInvoicedQty = stockMove + .getStockMoveLineList() + .stream() + .mapToDouble(sml -> Double.parseDouble(sml.getQtyInvoiced().toString())) + .sum(); + Double totalRealQty = stockMove + .getStockMoveLineList() + .stream() + .mapToDouble(sml -> Double.parseDouble(sml.getRealQty().toString())) + .sum(); if (totalRealQty.compareTo(totalInvoicedQty) == 1) { invoiceStatus = 1; } else if (totalRealQty.compareTo(totalInvoicedQty) == 0) {