From 36025468a1d60accbb4e76bf7b4dfabb0f6b45a7 Mon Sep 17 00:00:00 2001 From: pawan <pawan@erpnext.com> Date: Mon, 17 Jul 2017 17:28:44 +0530 Subject: [PATCH 1/2] [fix] #9899 --- .../report/stock_balance/stock_balance.py | 25 ++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/erpnext/stock/report/stock_balance/stock_balance.py b/erpnext/stock/report/stock_balance/stock_balance.py index 5e373d6c5b..2ff7cf2d6e 100644 --- a/erpnext/stock/report/stock_balance/stock_balance.py +++ b/erpnext/stock/report/stock_balance/stock_balance.py @@ -13,11 +13,18 @@ def execute(filters=None): columns = get_columns() item_map = get_item_details(filters) + item_reorder_detail_map = get_item_reorder_details(filters) iwb_map = get_item_warehouse_map(filters) data = [] for (company, item, warehouse) in sorted(iwb_map): qty_dict = iwb_map[(company, item, warehouse)] + item_reorder_level = 0 + item_reorder_qty = 0 + if item + warehouse in item_reorder_detail_map: + item_reorder_level = item_reorder_detail_map[item + warehouse]["warehouse_reorder_level"] + item_reorder_qty = item_reorder_detail_map[item + warehouse]["warehouse_reorder_qty"] + data.append([item, item_map[item]["item_name"], item_map[item]["item_group"], item_map[item]["brand"], @@ -27,6 +34,8 @@ def execute(filters=None): qty_dict.in_val, qty_dict.out_qty, qty_dict.out_val, qty_dict.bal_qty, qty_dict.bal_val, qty_dict.val_rate, + item_reorder_level, + item_reorder_qty, company ]) @@ -52,6 +61,8 @@ def get_columns(): _("Balance Qty")+":Float:100", _("Balance Value")+":Float:100", _("Valuation Rate")+":Float:90", + _("Reorder Lvl")+":Float:80", + _("Reorder Qty")+":Float:80", _("Company")+":Link/Company:100" ] @@ -180,7 +191,19 @@ def get_item_details(filters): items = frappe.db.sql("""select name, item_name, stock_uom, item_group, brand, description from tabItem {condition}""".format(condition=condition), value, as_dict=1) - return dict((d.name, d) for d in items) + return dict((d.name , d) for d in items) + +def get_item_reorder_details(filters): + condition = '' + value = () + if filters.get("item_code"): + condition = "where parent=%s" + value = (filters.get("item_code"),) + + item_reorder_details = frappe.db.sql("""select parent,warehouse,warehouse_reorder_qty,warehouse_reorder_level + from `tabItem Reorder` {condition}""".format(condition=condition), value, as_dict=1) + + return dict((d.parent + d.warehouse, d) for d in item_reorder_details) def validate_filters(filters): if not (filters.get("item_code") or filters.get("warehouse")): From 3020c8086c3afdd561d568c71576330ba247a330 Mon Sep 17 00:00:00 2001 From: Nabin Hait <nabinhait@gmail.com> Date: Tue, 18 Jul 2017 11:17:32 +0530 Subject: [PATCH 2/2] Update stock_balance.py --- erpnext/stock/report/stock_balance/stock_balance.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/erpnext/stock/report/stock_balance/stock_balance.py b/erpnext/stock/report/stock_balance/stock_balance.py index 2ff7cf2d6e..c3e3cc5b17 100644 --- a/erpnext/stock/report/stock_balance/stock_balance.py +++ b/erpnext/stock/report/stock_balance/stock_balance.py @@ -61,7 +61,7 @@ def get_columns(): _("Balance Qty")+":Float:100", _("Balance Value")+":Float:100", _("Valuation Rate")+":Float:90", - _("Reorder Lvl")+":Float:80", + _("Reorder Level")+":Float:80", _("Reorder Qty")+":Float:80", _("Company")+":Link/Company:100" ]