refactor: inventory transfers to nestjs

This commit is contained in:
Ahmed Bouhuolia
2025-03-13 00:44:11 +02:00
parent 67ae7ad037
commit cf496909a5
48 changed files with 2334 additions and 135 deletions

View File

@@ -17,6 +17,8 @@ import { WriteInvoiceTaxTransactionsSubscriber } from './subscribers/WriteInvoic
import { BillTaxRateValidateSubscriber } from './subscribers/BillTaxRateValidateSubscriber';
import { SaleInvoiceTaxRateValidateSubscriber } from './subscribers/SaleInvoiceTaxRateValidateSubscriber';
import { SyncItemTaxRateOnEditTaxSubscriber } from './subscribers/SyncItemTaxRateOnEditTaxSubscriber';
import { WriteTaxTransactionsItemEntries } from './WriteTaxTransactionsItemEntries';
import { SyncItemTaxRateOnEditTaxRate } from './SyncItemTaxRateOnEditTaxRate';
@Module({
imports: [],
@@ -39,6 +41,8 @@ import { SyncItemTaxRateOnEditTaxSubscriber } from './subscribers/SyncItemTaxRat
BillTaxRateValidateSubscriber,
SaleInvoiceTaxRateValidateSubscriber,
SyncItemTaxRateOnEditTaxSubscriber,
WriteTaxTransactionsItemEntries,
SyncItemTaxRateOnEditTaxRate
],
exports: [ItemEntriesTaxTransactions],
})

View File

@@ -6,6 +6,7 @@ import { TaxRateModel } from './models/TaxRate.model';
import { Inject, Injectable } from '@nestjs/common';
import { ModelObject } from 'objection';
import { ItemEntry } from '../TransactionItemEntry/models/ItemEntry';
import { TaxRateTransaction } from './models/TaxRateTransaction.model';
@Injectable()
export class WriteTaxTransactionsItemEntries {
@@ -40,11 +41,11 @@ export class WriteTaxTransactionsItemEntries {
taxRateId: entry.taxRateId,
referenceType: entry.referenceType,
referenceId: entry.referenceId,
rate: entry.taxRate || taxRatesById[entry.taxRateId]?.rate,
rate: entry.taxRate || (taxRatesById[entry.taxRateId]?.rate as number),
}));
await this.taxRateTransactionModel()
.query(trx)
.upsertGraph(taxTransactions);
.upsertGraph(taxTransactions as ModelObject<TaxRateTransaction>[]);
}
/**

View File

@@ -4,12 +4,12 @@ import { mixin, Model, raw } from 'objection';
import { BaseModel } from '@/models/Model';
export class TaxRateTransaction extends BaseModel {
id: number;
taxRateId: number;
referenceType: string;
referenceId: number;
rate: number;
taxAccountId: number;
public id: number;
public taxRateId: number;
public referenceType: string;
public referenceId: string;
public rate: number;
public taxAccountId?: number;
/**
* Table name