From abffdd10298995f9c7b79730f208b814d59fe7a2 Mon Sep 17 00:00:00 2001 From: Ahmed Bouhuolia Date: Sun, 21 Jan 2024 14:34:36 +0200 Subject: [PATCH] fix(server): hotbug retireving empty results of inventory valuation and sales by items sheets --- .../InventoryValuationSheet/InventoryValuationSheet.ts | 2 +- .../InventoryValuationSheetTable.ts | 4 +++- .../FinancialStatements/SalesByItems/SalesByItems.ts | 10 +++++----- .../SalesByItems/SalesByItemsTable.ts | 4 +++- 4 files changed, 12 insertions(+), 8 deletions(-) diff --git a/packages/server/src/services/FinancialStatements/InventoryValuationSheet/InventoryValuationSheet.ts b/packages/server/src/services/FinancialStatements/InventoryValuationSheet/InventoryValuationSheet.ts index ab6e410e6..fa27707e1 100644 --- a/packages/server/src/services/FinancialStatements/InventoryValuationSheet/InventoryValuationSheet.ts +++ b/packages/server/src/services/FinancialStatements/InventoryValuationSheet/InventoryValuationSheet.ts @@ -259,6 +259,6 @@ export class InventoryValuationSheet extends FinancialSheet { const items = this.itemsSection(); const total = this.totalSection(items); - return items.length > 0 ? { items, total } : {}; + return { items, total }; } } diff --git a/packages/server/src/services/FinancialStatements/InventoryValuationSheet/InventoryValuationSheetTable.ts b/packages/server/src/services/FinancialStatements/InventoryValuationSheet/InventoryValuationSheetTable.ts index dd675d3e3..7e792f6f9 100644 --- a/packages/server/src/services/FinancialStatements/InventoryValuationSheet/InventoryValuationSheetTable.ts +++ b/packages/server/src/services/FinancialStatements/InventoryValuationSheet/InventoryValuationSheetTable.ts @@ -84,7 +84,9 @@ export class InventoryValuationSheetTable extends R.compose( const itemsRows = this.itemsRowsMapper(this.data.items); const totalRow = this.totalRowMapper(this.data.total); - return [...itemsRows, totalRow]; + return R.compose( + R.when(R.always(R.not(R.isEmpty(itemsRows))), R.append(totalRow)) + )([...itemsRows]) as ITableRow[]; } /** diff --git a/packages/server/src/services/FinancialStatements/SalesByItems/SalesByItems.ts b/packages/server/src/services/FinancialStatements/SalesByItems/SalesByItems.ts index 1cb7f0074..8c7e11256 100644 --- a/packages/server/src/services/FinancialStatements/SalesByItems/SalesByItems.ts +++ b/packages/server/src/services/FinancialStatements/SalesByItems/SalesByItems.ts @@ -7,7 +7,7 @@ import { IAccountTransaction, ISalesByItemsItem, ISalesByItemsTotal, - ISalesByItemsSheetStatement, + ISalesByItemsSheetData, IItem, } from '@/interfaces'; @@ -146,7 +146,7 @@ export default class SalesByItemsReport extends FinancialSheet { * @param {IInventoryValuationItem[]} items * @returns {IInventoryValuationTotal} */ - totalSection(items: ISalesByItemsItem[]): ISalesByItemsTotal { + private totalSection(items: ISalesByItemsItem[]): ISalesByItemsTotal { const quantitySold = sumBy(items, (item) => item.quantitySold); const soldCost = sumBy(items, (item) => item.soldCost); @@ -163,12 +163,12 @@ export default class SalesByItemsReport extends FinancialSheet { /** * Retrieve the sheet data. - * @returns {ISalesByItemsSheetStatement} + * @returns {ISalesByItemsSheetData} */ - reportData(): ISalesByItemsSheetStatement { + public reportData(): ISalesByItemsSheetData { const items = this.itemsSection(); const total = this.totalSection(items); - return items.length > 0 ? { items, total } : {}; + return { items, total }; } } diff --git a/packages/server/src/services/FinancialStatements/SalesByItems/SalesByItemsTable.ts b/packages/server/src/services/FinancialStatements/SalesByItems/SalesByItemsTable.ts index f876e9a02..f06c7bd14 100644 --- a/packages/server/src/services/FinancialStatements/SalesByItems/SalesByItemsTable.ts +++ b/packages/server/src/services/FinancialStatements/SalesByItems/SalesByItemsTable.ts @@ -83,7 +83,9 @@ export class SalesByItemsTable extends R.compose( const itemsRows = this.itemsMap(this.data.items); const totalRow = this.totalMap(this.data.total); - return [...itemsRows, totalRow]; + return R.compose( + R.when(R.always(R.not(R.isEmpty(itemsRows))), R.append(totalRow)) + )([...itemsRows]) as ITableRow[]; } /**