mirror of
https://github.com/frappe/erpnext.git
synced 2026-05-07 07:20:26 +00:00
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:
@@ -13,10 +13,10 @@ from pypika.functions import Coalesce
|
|||||||
class DeprecatedSerialNoValuation:
|
class DeprecatedSerialNoValuation:
|
||||||
@deprecated
|
@deprecated
|
||||||
def calculate_stock_value_from_deprecarated_ledgers(self):
|
def calculate_stock_value_from_deprecarated_ledgers(self):
|
||||||
if not has_sle_for_serial_nos(self.sle.item_code):
|
serial_nos = []
|
||||||
return
|
if hasattr(self, "old_serial_nos"):
|
||||||
|
serial_nos = self.old_serial_nos
|
||||||
|
|
||||||
serial_nos = self.get_filterd_serial_nos()
|
|
||||||
if not serial_nos:
|
if not serial_nos:
|
||||||
return
|
return
|
||||||
|
|
||||||
@@ -26,17 +26,6 @@ class DeprecatedSerialNoValuation:
|
|||||||
|
|
||||||
self.stock_value_change += flt(stock_value_change)
|
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
|
@deprecated
|
||||||
def get_incoming_value_for_serial_nos(self, serial_nos):
|
def get_incoming_value_for_serial_nos(self, serial_nos):
|
||||||
from erpnext.stock.utils import get_combine_datetime
|
from erpnext.stock.utils import get_combine_datetime
|
||||||
@@ -82,20 +71,6 @@ class DeprecatedSerialNoValuation:
|
|||||||
return incoming_values
|
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:
|
class DeprecatedBatchNoValuation:
|
||||||
@deprecated
|
@deprecated
|
||||||
def calculate_avg_rate_from_deprecarated_ledgers(self):
|
def calculate_avg_rate_from_deprecarated_ledgers(self):
|
||||||
|
|||||||
@@ -580,11 +580,13 @@ class SerialNoValuation(DeprecatedSerialNoValuation):
|
|||||||
else:
|
else:
|
||||||
self.serial_no_incoming_rate = defaultdict(float)
|
self.serial_no_incoming_rate = defaultdict(float)
|
||||||
self.stock_value_change = 0.0
|
self.stock_value_change = 0.0
|
||||||
|
self.old_serial_nos = []
|
||||||
|
|
||||||
serial_nos = self.get_serial_nos()
|
serial_nos = self.get_serial_nos()
|
||||||
for serial_no in serial_nos:
|
for serial_no in serial_nos:
|
||||||
incoming_rate = self.get_incoming_rate_from_bundle(serial_no)
|
incoming_rate = self.get_incoming_rate_from_bundle(serial_no)
|
||||||
if incoming_rate is None:
|
if incoming_rate is None:
|
||||||
|
self.old_serial_nos.append(serial_no)
|
||||||
continue
|
continue
|
||||||
|
|
||||||
self.stock_value_change += incoming_rate
|
self.stock_value_change += incoming_rate
|
||||||
|
|||||||
Reference in New Issue
Block a user