parent
bedda8594d
commit
32e3e5783e
|
@ -27,17 +27,17 @@ class Production(metaclass=PoolMeta):
|
||||||
digits = self.on_change_with_unit_digits()
|
digits = self.on_change_with_unit_digits()
|
||||||
quantity = 0.0
|
quantity = 0.0
|
||||||
for move in getattr(self, 'outputs' if direction == 'backward' else 'inputs'):
|
for move in getattr(self, 'outputs' if direction == 'backward' else 'inputs'):
|
||||||
if move.product == requested_product:
|
if move.product == requested_product:
|
||||||
# skip moves that same product but different lot
|
# skip moves that same product but different lot
|
||||||
if lot and lot != move.lot:
|
if lot and lot != move.lot:
|
||||||
continue
|
continue
|
||||||
quantity += Uom.compute_qty(move.uom, move.quantity, move.product.default_uom, True)
|
quantity += Uom.compute_qty(move.uom, move.quantity, move.product.default_uom, False)
|
||||||
|
|
||||||
moves = {}
|
moves = {}
|
||||||
for move in getattr(self, 'inputs' if direction == 'backward' else 'outputs'):
|
for move in getattr(self, 'inputs' if direction == 'backward' else 'outputs'):
|
||||||
product = move.product
|
product = move.product
|
||||||
mqty = Uom.compute_qty(
|
mqty = Uom.compute_qty(
|
||||||
move.uom, move.quantity, move.product.default_uom, True)
|
move.uom, move.quantity, move.product.default_uom, False)
|
||||||
if moves.get(product):
|
if moves.get(product):
|
||||||
moves[product] += mqty
|
moves[product] += mqty
|
||||||
else:
|
else:
|
||||||
|
@ -62,14 +62,14 @@ class Production(metaclass=PoolMeta):
|
||||||
if bm.product == product:
|
if bm.product == product:
|
||||||
default_uom = self.product.default_uom
|
default_uom = self.product.default_uom
|
||||||
bqty = Uom.compute_qty(
|
bqty = Uom.compute_qty(
|
||||||
bm.uom, bm.quantity, bm.product.default_uom, True)
|
bm.uom, bm.quantity, bm.product.default_uom, False)
|
||||||
factor = bom.compute_factor(self.product, bqty, default_uom)
|
factor = bom.compute_factor(self.product, bqty, default_uom)
|
||||||
balance_plan_consumption = default_uom.ceil(self.quantity * factor)
|
balance_plan_consumption = default_uom.ceil(self.quantity * factor)
|
||||||
break
|
break
|
||||||
|
|
||||||
balance_difference = round(qty - balance_plan_consumption, digits)
|
balance_difference = round(qty - balance_plan_consumption, digits)
|
||||||
if balance_difference and balance_consumption:
|
if balance_consumption and balance_plan_consumption:
|
||||||
balance_difference_percent = ((balance_consumption - balance_plan_consumption) / balance_consumption) * 100
|
balance_difference_percent = ((balance_consumption - balance_plan_consumption) / balance_plan_consumption) * 100
|
||||||
item['balance_quantity'] = balance_quantity
|
item['balance_quantity'] = balance_quantity
|
||||||
item['balance_consumption'] += balance_consumption
|
item['balance_consumption'] += balance_consumption
|
||||||
item['balance_plan_consumption'] += balance_plan_consumption
|
item['balance_plan_consumption'] += balance_plan_consumption
|
||||||
|
@ -88,14 +88,14 @@ class Production(metaclass=PoolMeta):
|
||||||
if bm.product == requested_product:
|
if bm.product == requested_product:
|
||||||
default_uom = self.product.default_uom
|
default_uom = self.product.default_uom
|
||||||
bqty = Uom.compute_qty(
|
bqty = Uom.compute_qty(
|
||||||
bm.uom, bm.quantity, bm.product.default_uom, True)
|
bm.uom, bm.quantity, bm.product.default_uom, False)
|
||||||
factor = bom.compute_factor(self.product, bqty, default_uom)
|
factor = bom.compute_factor(self.product, bqty, default_uom)
|
||||||
balance_plan_consumption = default_uom.ceil(self.quantity * factor)
|
balance_plan_consumption = default_uom.ceil(self.quantity * factor)
|
||||||
break
|
break
|
||||||
|
|
||||||
balance_difference = round(quantity - balance_plan_consumption, digits)
|
balance_difference = round(quantity - balance_plan_consumption, digits)
|
||||||
if balance_difference and balance_consumption:
|
if balance_consumption and balance_plan_consumption:
|
||||||
balance_difference_percent = ((balance_consumption - balance_plan_consumption) / balance_consumption) * 100
|
balance_difference_percent = ((balance_consumption - balance_plan_consumption) / balance_plan_consumption) * 100
|
||||||
item['balance_quantity'] = balance_quantity
|
item['balance_quantity'] = balance_quantity
|
||||||
item['balance_consumption'] += balance_consumption
|
item['balance_consumption'] += balance_consumption
|
||||||
item['balance_plan_consumption'] += balance_plan_consumption
|
item['balance_plan_consumption'] += balance_plan_consumption
|
||||||
|
|
Loading…
Reference in New Issue