23.03.26
This commit is contained in:
@@ -1355,24 +1355,25 @@ class Line(metaclass=PoolMeta):
|
||||
if self.terms and self.update_pricing:
|
||||
Concentrate = Pool().get('concentrate.term')
|
||||
for t in self.terms:
|
||||
if t.component:
|
||||
grade = self.get_element_grade(self.assay_state,t.element)
|
||||
logger.info("GRADE:%s",grade)
|
||||
if grade:
|
||||
grade = self.get_element_grade(self.assay_state,t.element)
|
||||
logger.info("GRADE:%s",grade)
|
||||
if grade:
|
||||
payable_price = Decimal(0)
|
||||
penalty_price = Decimal(0)
|
||||
if t.penalty_rules:
|
||||
penalty_price = t.penalty_rules.compute_penalty(grade)
|
||||
if t.component:
|
||||
cp = [c for c in self.price_summary if c.price_component == t.component]
|
||||
if cp:
|
||||
cp = cp[0]
|
||||
price = Decimal(cp.get_last_price())
|
||||
logger.info("PRICE:%s",price)
|
||||
payable_price = Decimal(0)
|
||||
penalty_price = Decimal(0)
|
||||
if t.payable_rule:
|
||||
payable_price = t.payable_rule.compute_payable_quantity(grade) * price / Decimal(100)
|
||||
if t.penalty_rules:
|
||||
penalty_price = t.penalty_rules.compute_penalty(grade)
|
||||
t.manual_price = round(payable_price - penalty_price,2)
|
||||
t.currency = t.component.currency
|
||||
t.unit = self.unit
|
||||
|
||||
t.manual_price = round(payable_price - penalty_price,2)
|
||||
t.currency = self.purchase.currency
|
||||
t.unit = self.unit
|
||||
Concentrate.save([t])
|
||||
|
||||
if self.price_components:
|
||||
|
||||
Reference in New Issue
Block a user