[FIX] mrp_operations_extension: update qty erases operations

This commit is contained in:
Oihane Crucelaegui
2019-07-18 14:12:55 +02:00
parent 52f338cd5c
commit e6cf13ad80
2 changed files with 39 additions and 0 deletions

View File

@@ -2,5 +2,6 @@
##############################################################################
# For copyright and license notices, see __openerp__.py file in root directory
##############################################################################
from . import change_production_qty
from . import mrp_work_order_produce
from . import workcenter_line_finish

View File

@@ -0,0 +1,38 @@
# -*- coding: utf-8 -*-
# Copyright 2019 Oihane Crucelaegui - AvanzOSC
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
from openerp import _, api, models
class ChangeProductionQty(models.TransientModel):
_inherit = 'change.production.qty'
@api.multi
def change_prod_qty(self):
"""
Changes the Quantity of Product.
"""
record_id = self.env.context.get('active_id', False)
assert record_id, _('Active Id not found')
prod_obj = self.env['mrp.production']
bom_line_obj = self.env['mrp.bom.line']
uom_obj = self.env['product.uom']
res = super(ChangeProductionQty, self).change_prod_qty()
for wiz_qty in self:
prod = prod_obj.browse(record_id)
for move in prod.move_lines:
bom_point = prod.bom_id
factor = uom_obj._compute_qty(prod.product_uom.id,
prod.product_qty,
bom_point.product_uom.id)
product_details, workcenter_details = (
bom_point._bom_explode(prod.product_id,
factor / bom_point.product_qty, []))
for r in product_details:
bom_line = bom_line_obj.browse(r['bom_line'])
workorder = prod.workcenter_lines.filtered(
lambda x: (x.routing_wc_line == bom_line.operation))
if workorder:
move.work_order = workorder
return res