fix(server): avoid display total row if no tax rates on sales tax report

This commit is contained in:
Ahmed Bouhuolia
2023-09-01 20:48:23 +02:00
parent 54dcde657f
commit 0852feecbf

View File

@@ -7,15 +7,21 @@ import {
} from '@/interfaces/SalesTaxLiabilitySummary'; } from '@/interfaces/SalesTaxLiabilitySummary';
import { tableRowMapper } from '@/utils'; import { tableRowMapper } from '@/utils';
import { ITableColumn, ITableColumnAccessor, ITableRow } from '@/interfaces'; import { ITableColumn, ITableColumnAccessor, ITableRow } from '@/interfaces';
import { FinancialSheetStructure } from '../FinancialSheetStructure';
import { FinancialTable } from '../FinancialTable';
import AgingReport from '../AgingSummary/AgingReport';
enum IROW_TYPE { enum IROW_TYPE {
TaxRate = 'TaxRate', TaxRate = 'TaxRate',
Total = 'Total', Total = 'Total',
} }
export class SalesTaxLiabilitySummaryTable { export class SalesTaxLiabilitySummaryTable extends R.compose(
data: SalesTaxLiabilitySummaryReportData; FinancialSheetStructure,
query: SalesTaxLiabilitySummaryQuery; FinancialTable
)(AgingReport) {
private data: SalesTaxLiabilitySummaryReportData;
private query: SalesTaxLiabilitySummaryQuery;
/** /**
* Sales tax liability summary table constructor. * Sales tax liability summary table constructor.
@@ -26,6 +32,8 @@ export class SalesTaxLiabilitySummaryTable {
data: SalesTaxLiabilitySummaryReportData, data: SalesTaxLiabilitySummaryReportData,
query: SalesTaxLiabilitySummaryQuery query: SalesTaxLiabilitySummaryQuery
) { ) {
super();
this.data = data; this.data = data;
this.query = query; this.query = query;
} }
@@ -119,8 +127,8 @@ export class SalesTaxLiabilitySummaryTable {
*/ */
public tableRows(): ITableRow[] { public tableRows(): ITableRow[] {
return R.compose( return R.compose(
R.concat(this.taxRatesRows), R.unless(R.isEmpty, R.append(this.taxRateTotalRow)),
R.prepend(this.taxRateTotalRow) R.concat(this.taxRatesRows)
)([]); )([]);
} }
@@ -129,7 +137,7 @@ export class SalesTaxLiabilitySummaryTable {
* @returns {ITableColumn[]} * @returns {ITableColumn[]}
*/ */
public tableColumns(): ITableColumn[] { public tableColumns(): ITableColumn[] {
return [ return R.compose(this.tableColumnsCellIndexing)([
{ {
label: 'Tax Name', label: 'Tax Name',
key: 'taxName', key: 'taxName',
@@ -146,6 +154,6 @@ export class SalesTaxLiabilitySummaryTable {
label: 'Tax Rate', label: 'Tax Rate',
key: 'taxRate', key: 'taxRate',
}, },
]; ]);
} }
} }