Merge pull request #49945 from frappe/mergify/bp/version-15-hotfix/pr-49935

refactor: old serial nos filter (backport #49935)
This commit is contained in:
rohitwaghchaure
2025-10-07 16:29:16 +05:30
committed by GitHub
2 changed files with 5 additions and 28 deletions

View File

@@ -13,10 +13,10 @@ from pypika.functions import Coalesce
class DeprecatedSerialNoValuation:
@deprecated
def calculate_stock_value_from_deprecarated_ledgers(self):
if not has_sle_for_serial_nos(self.sle.item_code):
return
serial_nos = []
if hasattr(self, "old_serial_nos"):
serial_nos = self.old_serial_nos
serial_nos = self.get_filterd_serial_nos()
if not serial_nos:
return
@@ -26,17 +26,6 @@ class DeprecatedSerialNoValuation:
self.stock_value_change += flt(stock_value_change)
def get_filterd_serial_nos(self):
serial_nos = []
non_filtered_serial_nos = self.get_serial_nos()
# If the serial no inwarded using the Serial and Batch Bundle, then the serial no should not be considered
for serial_no in non_filtered_serial_nos:
if serial_no and serial_no not in self.serial_no_incoming_rate:
serial_nos.append(serial_no)
return serial_nos
@deprecated
def get_incoming_value_for_serial_nos(self, serial_nos):
from erpnext.stock.utils import get_combine_datetime
@@ -82,20 +71,6 @@ class DeprecatedSerialNoValuation:
return incoming_values
@frappe.request_cache
def has_sle_for_serial_nos(item_code):
serial_nos = frappe.db.get_all(
"Stock Ledger Entry",
fields=["name"],
filters={"serial_no": ("is", "set"), "is_cancelled": 0, "item_code": item_code},
limit=1,
)
if serial_nos:
return True
return False
class DeprecatedBatchNoValuation:
@deprecated
def calculate_avg_rate_from_deprecarated_ledgers(self):

View File

@@ -580,11 +580,13 @@ class SerialNoValuation(DeprecatedSerialNoValuation):
else:
self.serial_no_incoming_rate = defaultdict(float)
self.stock_value_change = 0.0
self.old_serial_nos = []
serial_nos = self.get_serial_nos()
for serial_no in serial_nos:
incoming_rate = self.get_incoming_rate_from_bundle(serial_no)
if incoming_rate is None:
self.old_serial_nos.append(serial_no)
continue
self.stock_value_change += incoming_rate