feat: add Reserved Stock column in Stock Balance Report

This commit is contained in:
Sagar Sharma 2023-05-25 15:57:06 +05:30
parent 988db2eaf6
commit 82f0bd9ee9

View File

@ -100,6 +100,7 @@ class StockBalanceReport(object):
_func = itemgetter(1)
self.item_warehouse_map = self.get_item_warehouse_map()
sre_details = self.get_sre_reserved_qty_details()
variant_values = {}
if self.filters.get("show_variant_attributes"):
@ -133,6 +134,9 @@ class StockBalanceReport(object):
report_data.update(stock_ageing_data)
report_data.update(
{"reserved_stock": sre_details.get((report_data.item_code, report_data.warehouse), 0.0)}
)
self.data.append(report_data)
def get_item_warehouse_map(self):
@ -159,6 +163,18 @@ class StockBalanceReport(object):
return item_warehouse_map
def get_sre_reserved_qty_details(self) -> dict:
from erpnext.stock.doctype.stock_reservation_entry.stock_reservation_entry import (
get_sre_reserved_qty_details_for_item_and_warehouse as get_reserved_qty_details,
)
item_code_list, warehouse_list = [], []
for d in self.item_warehouse_map:
item_code_list.append(d[1])
warehouse_list.append(d[2])
return get_reserved_qty_details(item_code_list, warehouse_list)
def prepare_item_warehouse_map(self, item_warehouse_map, entry, group_by_key):
qty_dict = item_warehouse_map[group_by_key]
for field in self.inventory_dimensions:
@ -435,6 +451,13 @@ class StockBalanceReport(object):
"convertible": "rate",
"options": "currency",
},
{
"label": _("Reserved Stock"),
"fieldname": "reserved_stock",
"fieldtype": "Float",
"width": 80,
"convertible": "qty",
},
{
"label": _("Company"),
"fieldname": "company",