feat: auto-increment invoices.

This commit is contained in:
a.bouhuolia
2021-03-04 16:31:21 +02:00
parent 4f98db4c4b
commit 6d58767e9f
5 changed files with 183 additions and 32 deletions

View File

@@ -4,6 +4,7 @@ import events from 'subscribers/events';
import TenancyService from 'services/Tenancy/TenancyService';
import SettingsService from 'services/Settings/SettingsService';
import SaleEstimateService from 'services/Sales/SalesEstimate';
import SaleInvoicesService from 'services/Sales/SalesInvoices';
@EventSubscriber()
export default class SaleInvoiceSubscriber {
@@ -11,6 +12,7 @@ export default class SaleInvoiceSubscriber {
tenancy: TenancyService;
settingsService: SettingsService;
saleEstimatesService: SaleEstimateService;
saleInvoicesService: SaleInvoicesService;
/**
* Constructor method.
@@ -20,6 +22,7 @@ export default class SaleInvoiceSubscriber {
this.tenancy = Container.get(TenancyService);
this.settingsService = Container.get(SettingsService);
this.saleEstimatesService = Container.get(SaleEstimateService);
this.saleInvoicesService = Container.get(SaleInvoicesService);
}
/**
@@ -49,10 +52,15 @@ export default class SaleInvoiceSubscriber {
tenantId,
saleInvoiceId,
saleInvoice,
saleInvoiceDTO,
autoNextNumber,
}) {
await this.settingsService.incrementNextNumber(tenantId, {
key: 'next_number',
group: 'sales_invoices',
});
if (saleInvoiceDTO.invoiceNo || !autoNextNumber) return;
await this.saleInvoicesService.autoIncrementOrdersService.incrementSettingsNextNumber(
tenantId,
'sales_invoices',
autoNextNumber[1]
);
}
}