refactor: simplify sr no fetching

This commit is contained in:
Ankush Menat 2021-10-29 14:56:54 +05:30 committed by Ankush Menat
parent 2aa019ae4c
commit f4b60a48f5

View File

@ -113,12 +113,12 @@ def get_stock_balance(item_code, warehouse, posting_date=None, posting_time=None
def get_serial_nos_data_after_transactions(args): def get_serial_nos_data_after_transactions(args):
from pypika import CustomFunction from pypika import CustomFunction
serial_nos = [] serial_nos = set()
args = frappe._dict(args) args = frappe._dict(args)
sle = frappe.qb.DocType('Stock Ledger Entry') sle = frappe.qb.DocType('Stock Ledger Entry')
Timestamp = CustomFunction('timestamp', ['date', 'time']) Timestamp = CustomFunction('timestamp', ['date', 'time'])
data = frappe.qb.from_( stock_ledger_entries = frappe.qb.from_(
sle sle
).select( ).select(
'serial_no','actual_qty' 'serial_no','actual_qty'
@ -131,11 +131,12 @@ def get_serial_nos_data_after_transactions(args):
sle.posting_date, sle.posting_time sle.posting_date, sle.posting_time
).run(as_dict=1) ).run(as_dict=1)
for d in data: for stock_ledger_entry in stock_ledger_entries:
if d.actual_qty > 0: changed_serial_no = get_serial_nos_data(stock_ledger_entry.serial_no)
serial_nos.extend(get_serial_nos_data(d.serial_no)) if stock_ledger_entry.actual_qty > 0:
serial_nos.update(changed_serial_no)
else: else:
serial_nos = list(set(serial_nos) - set(get_serial_nos_data(d.serial_no))) serial_nos.difference_update(changed_serial_no)
return '\n'.join(serial_nos) return '\n'.join(serial_nos)