[13.0][MIG] mrp_multi_level

This commit is contained in:
Lois Rilo
2019-12-18 09:46:15 +01:00
committed by joan
parent a6110eed2d
commit e00acc3ee6
25 changed files with 178 additions and 236 deletions

View File

@@ -1,5 +1,4 @@
# Copyright 2018-19 Eficent Business and IT Consulting Services S.L.
# (http://www.eficent.com)
# Copyright 2018-19 ForgeFlow S.L. (https://www.forgeflow.com)
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html).
from odoo import _, api, fields, models
@@ -64,30 +63,36 @@ class MrpInventoryProcure(models.TransientModel):
res["item_ids"] = [(6, 0, items.ids)]
return res
@api.multi
def make_procurement(self):
self.ensure_one()
errors = []
pg = self.env["procurement.group"]
procurements = []
for item in self.item_ids:
if not item.qty:
raise ValidationError(_("Quantity must be positive."))
values = item._prepare_procurement_values()
# Run procurement
try:
self.env["procurement.group"].run(
procurements.append(
pg.Procurement(
item.product_id,
item.qty,
item.uom_id,
item.location_id,
"INT: " + str(self.env.user.login), # name?
"INT: " + str(self.env.user.login), # origin?
"MRP: " + str(self.env.user.login), # name?
"MRP: " + str(self.env.user.login), # origin?
item.mrp_inventory_id.company_id,
values,
)
)
# Run procurements
try:
pg.run(procurements)
for item in self.item_ids:
item.planned_order_id.qty_released += item.qty
except UserError as error:
errors.append(error.name)
if errors:
raise UserError("\n".join(errors))
except UserError as error:
errors.append(error.name)
if errors:
raise UserError("\n".join(errors))
return {"type": "ir.actions.act_window_close"}
@@ -122,7 +127,6 @@ class MrpInventoryProcureItem(models.TransientModel):
"group_id": group,
}
@api.multi
@api.onchange("uom_id")
def onchange_uom_id(self):
for rec in self:

View File

@@ -1,7 +1,7 @@
# Copyright 2016 Ucamco - Wim Audenaert <wim.audenaert@ucamco.com>
# Copyright 2016-19 Eficent Business and IT Consulting Services S.L.
# - Jordi Ballester Alomar <jordi.ballester@eficent.com>
# - Lois Rilo <lois.rilo@eficent.com>
# Copyright 2016-19 ForgeFlow S.L. (https://www.forgeflow.com)
# - Jordi Ballester Alomar <jordi.ballester@forgeflow.com>
# - Lois Rilo <lois.rilo@forgeflow.com>
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html).
import logging
@@ -298,7 +298,9 @@ class MultiLevelMrp(models.TransientModel):
products.write({"llc": llc})
products = self.env["product.product"].search([("llc", "=", llc)])
counter = len(products)
log_msg = "Low level code {} finished - Nbr. products: {}".format(llc, counter)
log_msg = "Low level code {} finished - Nbr. products: {}".format(
llc, counter
)
logger.info(log_msg)
mrp_lowest_llc = llc
@@ -473,8 +475,7 @@ class MultiLevelMrp(models.TransientModel):
continue
init_counter += 1
log_msg = "MRP Init: {} - {} ".format(
init_counter,
product_mrp_area.display_name,
init_counter, product_mrp_area.display_name
)
logger.info(log_msg)
self._init_mrp_move(product_mrp_area)
@@ -603,8 +604,7 @@ class MultiLevelMrp(models.TransientModel):
counter += 1
log_msg = "MRP Calculation LLC {} Finished - Nbr. products: {}".format(
llc - 1,
counter,
llc - 1, counter
)
logger.info(log_msg)
@@ -723,7 +723,6 @@ class MultiLevelMrp(models.TransientModel):
self._init_mrp_inventory(product_mrp_area)
logger.info("End MRP final process")
@api.multi
def run_mrp_multi_level(self):
self._mrp_cleanup(self.mrp_area_ids)
mrp_lowest_llc = self._low_level_code_calculation()

View File

@@ -20,10 +20,9 @@
<act_window name="Run MRP"
res_model="mrp.multi.level"
src_model="mrp.multi.level"
binding_model="mrp.multi.level"
view_mode="form"
target="new"
key2="client_action_multi"
id="action_mrp_multi_level"/>
</odoo>