fix: code refactor
diff --git a/erpnext/buying/report/subcontracted_raw_materials_to_be_transferred/subcontracted_raw_materials_to_be_transferred.py b/erpnext/buying/report/subcontracted_raw_materials_to_be_transferred/subcontracted_raw_materials_to_be_transferred.py
index e0bc7ad..de2ae8f 100644
--- a/erpnext/buying/report/subcontracted_raw_materials_to_be_transferred/subcontracted_raw_materials_to_be_transferred.py
+++ b/erpnext/buying/report/subcontracted_raw_materials_to_be_transferred/subcontracted_raw_materials_to_be_transferred.py
@@ -4,7 +4,6 @@
from __future__ import unicode_literals
import frappe
from frappe import _
-import itertools
def execute(filters=None):
if filters.from_date >= filters.to_date:
@@ -67,19 +66,23 @@
def get_data(data, filters):
po = get_po(filters)
po_transferred_qty_map = frappe._dict(get_transferred_quantity([v.name for v in po]))
+
sub_items = get_purchase_order_item_supplied([v.name for v in po])
for order in po:
for item in sub_items:
- if order.name == item.parent and item.required_qty != po_transferred_qty_map.get(order.name).get(item.rm_item_code):
+ if order.name == item.parent and order.name in po_transferred_qty_map and \
+ item.required_qty != po_transferred_qty_map.get(order.name).get(item.rm_item_code):
+ transferred_qty = po_transferred_qty_map.get(order.name).get(item.rm_item_code) \
+ if po_transferred_qty_map.get(order.name).get(item.rm_item_code) else 0
row ={
'purchase_order': item.parent,
'date': order.transaction_date,
'supplier': order.supplier,
'rm_item_code': item.rm_item_code,
'r_qty': item.required_qty,
- 't_qty':po_transferred_qty_map.get(order.name).get(item.rm_item_code),
- 'p_qty':item.required_qty - po_transferred_qty_map.get(order.name).get(item.rm_item_code)
+ 't_qty':transferred_qty,
+ 'p_qty':item.required_qty - transferred_qty
}
data.append(row)
@@ -100,8 +103,8 @@
stock_entries = get_stock_entry(po_name)
stock_entries_detail = get_stock_entry_detail([v.name for v in stock_entries])
po_transferred_qty_map = {}
- from pprint import pprint
- pprint(stock_entries)
+
+
for entry in stock_entries:
for details in stock_entries_detail:
if details.parent == entry.name:
@@ -116,7 +119,6 @@
def get_stock_entry(po):
- print(po)
return frappe.get_all("Stock Entry", filters=[
('purchase_order', 'IN', po),
('stock_entry_type', '=', 'Send to Subcontractor'),