diff --git a/modules/axelor-open-suite/axelor-sale/src/main/java/com/axelor/apps/sale/db/repo/SaleOrderManagementRepository.java b/modules/axelor-open-suite/axelor-sale/src/main/java/com/axelor/apps/sale/db/repo/SaleOrderManagementRepository.java index 9235d074..802125f9 100644 --- a/modules/axelor-open-suite/axelor-sale/src/main/java/com/axelor/apps/sale/db/repo/SaleOrderManagementRepository.java +++ b/modules/axelor-open-suite/axelor-sale/src/main/java/com/axelor/apps/sale/db/repo/SaleOrderManagementRepository.java @@ -23,6 +23,7 @@ import com.axelor.apps.sale.db.SaleOrder; import com.axelor.apps.sale.db.SaleOrderLine; import com.axelor.apps.sale.service.saleorder.SaleOrderLineService; import com.axelor.apps.sale.service.saleorder.SaleOrderMarginService; +import com.axelor.apps.sale.service.saleorder.SaleOrderWorkflowServiceImpl; import com.axelor.exception.AxelorException; import com.axelor.inject.Beans; import com.google.common.base.Strings; @@ -89,7 +90,7 @@ public class SaleOrderManagementRepository extends SaleOrderRepository { if (Strings.isNullOrEmpty(saleOrder.getSaleOrderSeq()) && !saleOrder.getTemplate()) { if (saleOrder.getStatusSelect() == SaleOrderRepository.STATUS_DRAFT_QUOTATION) { saleOrder.setSaleOrderSeq( - Beans.get(SequenceService.class).getDraftSequenceNumber(saleOrder)); + Beans.get(SaleOrderWorkflowServiceImpl.class).getSequence(saleOrder.getCompany())); } } 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 0ce7c3c9..97fef708 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 @@ -17,14 +17,22 @@ */ package com.axelor.apps.supplychain.service; +import com.axelor.apps.account.db.AccountConfig; import com.axelor.apps.account.db.Invoice; import com.axelor.apps.account.db.InvoiceLine; import com.axelor.apps.account.db.repo.InvoiceRepository; +import com.axelor.apps.account.service.AccountService; +import com.axelor.apps.account.service.config.AccountConfigService; import com.axelor.apps.account.service.invoice.InvoiceService; import com.axelor.apps.account.service.invoice.generator.InvoiceGenerator; import com.axelor.apps.account.service.invoice.generator.InvoiceLineGenerator; +import com.axelor.apps.account.service.invoice.workflow.ventilate.VentilateState; import com.axelor.apps.base.db.Product; +import com.axelor.apps.base.db.Sequence; import com.axelor.apps.base.service.AddressService; +import com.axelor.apps.base.service.administration.SequenceService; +import com.axelor.apps.base.service.app.AppBaseService; +import com.axelor.apps.base.service.app.AppService; import com.axelor.apps.purchase.db.PurchaseOrder; import com.axelor.apps.purchase.db.PurchaseOrderLine; import com.axelor.apps.purchase.db.repo.PurchaseOrderRepository; @@ -183,6 +191,9 @@ public class StockMoveInvoiceServiceImpl implements StockMoveInvoiceService { invoice.setNote(saleOrder.getInvoiceComments()); invoice.setProformaComments(saleOrder.getProformaComments()); + //todo sophal + invoice.setInvoiceId(Beans.get(SequenceService.class).getSequenceNumber(getSequence(invoice), Beans.get(AppBaseService.class).getTodayDate())); + if (invoice != null) { Set stockMoveSet = invoice.getStockMoveSet(); if (stockMoveSet == null) { @@ -547,4 +558,14 @@ public class StockMoveInvoiceServiceImpl implements StockMoveInvoiceService { } return invoiceStatus; } + + protected Sequence getSequence(Invoice invoice) throws AxelorException { + + AccountConfigService accountConfigService = Beans.get(AccountConfigService.class); + + AccountConfig accountConfig = accountConfigService.getAccountConfig(invoice.getCompany()); + + return accountConfigService.getCustInvSequence(accountConfig); + + } }