fix: slow query
(cherry picked from commit f82c8ea5eb)
# Conflicts:
# erpnext/stock/deprecated_serial_batch.py
This commit is contained in:
committed by
Mergify
parent
c5710dcbe2
commit
23dc9d5872
@@ -195,6 +195,7 @@ class DeprecatedBatchNoValuation:
|
||||
|
||||
@deprecated
|
||||
def set_balance_value_for_non_batchwise_valuation_batches(self):
|
||||
self.last_sle = self.get_last_sle_for_non_batch()
|
||||
self.set_balance_value_from_sl_entries()
|
||||
self.set_balance_value_from_bundle()
|
||||
|
||||
@@ -242,11 +243,10 @@ class DeprecatedBatchNoValuation:
|
||||
for d in batch_data:
|
||||
self.available_qty[d.batch_no] += flt(d.batch_qty)
|
||||
|
||||
last_sle = self.get_last_sle_for_non_batch()
|
||||
for d in batch_data:
|
||||
if self.available_qty.get(d.batch_no):
|
||||
self.non_batchwise_balance_value[d.batch_no] += flt(last_sle.stock_value)
|
||||
self.non_batchwise_balance_qty[d.batch_no] += flt(last_sle.qty_after_transaction)
|
||||
self.non_batchwise_balance_value[d.batch_no] += flt(self.last_sle.stock_value)
|
||||
self.non_batchwise_balance_qty[d.batch_no] += flt(self.last_sle.qty_after_transaction)
|
||||
|
||||
def get_last_sle_for_non_batch(self):
|
||||
from erpnext.stock.utils import get_combine_datetime
|
||||
@@ -285,8 +285,8 @@ class DeprecatedBatchNoValuation:
|
||||
query = query.where(sle.name != self.sle.name)
|
||||
|
||||
data = query.run(as_dict=True)
|
||||
return data[0] if data else {}
|
||||
|
||||
<<<<<<< HEAD
|
||||
@deprecated
|
||||
def get_last_sle_for_sabb_no_batchwise_valuation(self):
|
||||
sabb = frappe.qb.DocType("Serial and Batch Bundle")
|
||||
@@ -339,6 +339,9 @@ class DeprecatedBatchNoValuation:
|
||||
)
|
||||
|
||||
return sle if sle else {}
|
||||
=======
|
||||
return data[0] if data else frappe._dict()
|
||||
>>>>>>> f82c8ea5eb (fix: slow query)
|
||||
|
||||
@deprecated
|
||||
def set_balance_value_from_bundle(self) -> None:
|
||||
@@ -389,10 +392,9 @@ class DeprecatedBatchNoValuation:
|
||||
for d in batch_data:
|
||||
self.available_qty[d.batch_no] += flt(d.batch_qty)
|
||||
|
||||
last_sle = self.get_last_sle_for_sabb_no_batchwise_valuation()
|
||||
if not last_sle:
|
||||
if not self.last_sle:
|
||||
return
|
||||
|
||||
for batch_no in self.available_qty:
|
||||
self.non_batchwise_balance_value[batch_no] = flt(last_sle.stock_value)
|
||||
self.non_batchwise_balance_qty[batch_no] = flt(last_sle.qty_after_transaction)
|
||||
self.non_batchwise_balance_value[batch_no] = flt(self.last_sle.stock_value)
|
||||
self.non_batchwise_balance_qty[batch_no] = flt(self.last_sle.qty_after_transaction)
|
||||
|
||||
@@ -2103,7 +2103,8 @@ def get_auto_batch_nos(kwargs):
|
||||
filter_zero_near_batches(available_batches, kwargs)
|
||||
|
||||
if not kwargs.consider_negative_batches:
|
||||
available_batches = list(filter(lambda x: x.qty > 0, available_batches))
|
||||
precision = frappe.get_precision("Stock Ledger Entry", "actual_qty")
|
||||
available_batches = [d for d in available_batches if flt(d.qty, precision) > 0]
|
||||
|
||||
if not qty:
|
||||
return available_batches
|
||||
|
||||
Reference in New Issue
Block a user