set sequences(not draft) for invoices and saleOrders

This commit is contained in:
2023-01-07 18:09:35 +01:00
parent 937d139f0c
commit 5e1519edae
2 changed files with 23 additions and 1 deletions

View File

@@ -23,6 +23,7 @@ import com.axelor.apps.sale.db.SaleOrder;
import com.axelor.apps.sale.db.SaleOrderLine; import com.axelor.apps.sale.db.SaleOrderLine;
import com.axelor.apps.sale.service.saleorder.SaleOrderLineService; import com.axelor.apps.sale.service.saleorder.SaleOrderLineService;
import com.axelor.apps.sale.service.saleorder.SaleOrderMarginService; import com.axelor.apps.sale.service.saleorder.SaleOrderMarginService;
import com.axelor.apps.sale.service.saleorder.SaleOrderWorkflowServiceImpl;
import com.axelor.exception.AxelorException; import com.axelor.exception.AxelorException;
import com.axelor.inject.Beans; import com.axelor.inject.Beans;
import com.google.common.base.Strings; import com.google.common.base.Strings;
@@ -89,7 +90,7 @@ public class SaleOrderManagementRepository extends SaleOrderRepository {
if (Strings.isNullOrEmpty(saleOrder.getSaleOrderSeq()) && !saleOrder.getTemplate()) { if (Strings.isNullOrEmpty(saleOrder.getSaleOrderSeq()) && !saleOrder.getTemplate()) {
if (saleOrder.getStatusSelect() == SaleOrderRepository.STATUS_DRAFT_QUOTATION) { if (saleOrder.getStatusSelect() == SaleOrderRepository.STATUS_DRAFT_QUOTATION) {
saleOrder.setSaleOrderSeq( saleOrder.setSaleOrderSeq(
Beans.get(SequenceService.class).getDraftSequenceNumber(saleOrder)); Beans.get(SaleOrderWorkflowServiceImpl.class).getSequence(saleOrder.getCompany()));
} }
} }

View File

@@ -17,14 +17,22 @@
*/ */
package com.axelor.apps.supplychain.service; 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.Invoice;
import com.axelor.apps.account.db.InvoiceLine; import com.axelor.apps.account.db.InvoiceLine;
import com.axelor.apps.account.db.repo.InvoiceRepository; 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.InvoiceService;
import com.axelor.apps.account.service.invoice.generator.InvoiceGenerator; 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.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.Product;
import com.axelor.apps.base.db.Sequence;
import com.axelor.apps.base.service.AddressService; 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.PurchaseOrder;
import com.axelor.apps.purchase.db.PurchaseOrderLine; import com.axelor.apps.purchase.db.PurchaseOrderLine;
import com.axelor.apps.purchase.db.repo.PurchaseOrderRepository; import com.axelor.apps.purchase.db.repo.PurchaseOrderRepository;
@@ -183,6 +191,9 @@ public class StockMoveInvoiceServiceImpl implements StockMoveInvoiceService {
invoice.setNote(saleOrder.getInvoiceComments()); invoice.setNote(saleOrder.getInvoiceComments());
invoice.setProformaComments(saleOrder.getProformaComments()); invoice.setProformaComments(saleOrder.getProformaComments());
//todo sophal
invoice.setInvoiceId(Beans.get(SequenceService.class).getSequenceNumber(getSequence(invoice), Beans.get(AppBaseService.class).getTodayDate()));
if (invoice != null) { if (invoice != null) {
Set<StockMove> stockMoveSet = invoice.getStockMoveSet(); Set<StockMove> stockMoveSet = invoice.getStockMoveSet();
if (stockMoveSet == null) { if (stockMoveSet == null) {
@@ -547,4 +558,14 @@ public class StockMoveInvoiceServiceImpl implements StockMoveInvoiceService {
} }
return invoiceStatus; 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);
}
} }