refactor: simplify sr no fetching
This commit is contained in:
parent
2aa019ae4c
commit
f4b60a48f5
@ -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)
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user