From b027f126e8735c060c127d4dc164c9882b3a3684 Mon Sep 17 00:00:00 2001 From: Oliver Date: Thu, 27 Jan 2022 13:59:13 +1100 Subject: [PATCH 1/2] Expand available stock information when exporting Bill of Materials --- InvenTree/part/bom.py | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/InvenTree/part/bom.py b/InvenTree/part/bom.py index c60b9a7a77..4010d542bb 100644 --- a/InvenTree/part/bom.py +++ b/InvenTree/part/bom.py @@ -123,16 +123,22 @@ def ExportBom(part, fmt='csv', cascade=False, max_levels=None, parameter_data=Fa stock_headers = [ _('Default Location'), + _('Total Stock'), _('Available Stock'), + _('On Order'), ] stock_cols = {} for b_idx, bom_item in enumerate(bom_items): + stock_data = [] + + sub_part = bom_item.sub_part + # Get part default location try: - loc = bom_item.sub_part.get_default_location() + loc = sub_part.get_default_location() if loc is not None: stock_data.append(str(loc.name)) @@ -141,8 +147,20 @@ def ExportBom(part, fmt='csv', cascade=False, max_levels=None, parameter_data=Fa except AttributeError: stock_data.append('') - # Get part current stock - stock_data.append(str(normalize(bom_item.sub_part.available_stock))) + # Total "in stock" quantity for this part + stock_data.append( + str(normalize(sub_part.total_stock)) + ) + + # Total "available stock" quantity for this part + stock_data.append( + str(normalize(sub_part.available_stock)) + ) + + # Total "on order" quantity for this part + stock_data.append( + str(normalize(sub_part.on_order)) + ) for s_idx, header in enumerate(stock_headers): try: From 11125e9f608794984841ca1aefe9da73b49d955a Mon Sep 17 00:00:00 2001 From: Oliver Date: Thu, 27 Jan 2022 14:19:42 +1100 Subject: [PATCH 2/2] Fixes for unit tests --- InvenTree/part/test_bom_export.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/InvenTree/part/test_bom_export.py b/InvenTree/part/test_bom_export.py index f8ed5ee305..e6b2a7c255 100644 --- a/InvenTree/part/test_bom_export.py +++ b/InvenTree/part/test_bom_export.py @@ -154,7 +154,9 @@ class BomExportTest(TestCase): 'inherited', 'allow_variants', 'Default Location', + 'Total Stock', 'Available Stock', + 'On Order', ] for header in expected: