pref: reduce count of db calls from n to 2
This commit is contained in:
parent
d7446fd3ae
commit
73ade04dcf
@ -30,26 +30,23 @@ def get(
|
||||
warehouse_filters.append(["company", "=", filters.get("company")])
|
||||
|
||||
warehouses = frappe.get_list(
|
||||
"Warehouse", fields=["name"], filters=warehouse_filters, order_by="name"
|
||||
"Warehouse", pluck="name", filters=warehouse_filters, order_by="name"
|
||||
)
|
||||
|
||||
for wh in warehouses:
|
||||
balance = get_stock_value_from_bin(warehouse=wh.name)
|
||||
wh["balance"] = balance[0][0]
|
||||
|
||||
warehouses = [x for x in warehouses if not (x.get("balance") == None)]
|
||||
warehouses = frappe.get_list(
|
||||
"Bin",
|
||||
fields=["warehouse", "stock_value"],
|
||||
filters={"warehouse": ["IN", warehouses], "stock_value": [">", 0]},
|
||||
order_by="stock_value DESC",
|
||||
limit_page_length=10
|
||||
)
|
||||
|
||||
if not warehouses:
|
||||
return []
|
||||
|
||||
sorted_warehouse_map = sorted(warehouses, key=lambda i: i["balance"], reverse=True)
|
||||
|
||||
if len(sorted_warehouse_map) > 10:
|
||||
sorted_warehouse_map = sorted_warehouse_map[:10]
|
||||
|
||||
for warehouse in sorted_warehouse_map:
|
||||
labels.append(_(warehouse.get("name")))
|
||||
datapoints.append(warehouse.get("balance"))
|
||||
for warehouse in warehouses:
|
||||
labels.append(_(warehouse.get("warehouse")))
|
||||
datapoints.append(warehouse.get("stock_value"))
|
||||
|
||||
return {
|
||||
"labels": labels,
|
||||
|
Loading…
x
Reference in New Issue
Block a user