mirror of
https://github.com/OCA/manufacture.git
synced 2025-01-28 16:37:15 +02:00
[IMP] mrp_subcontracting_purchase_link: add post init hook to populate the PO line on previous manufacturing orders
This commit is contained in:
@@ -1 +1,2 @@
|
||||
from . import models
|
||||
from .hooks import post_init_hook
|
||||
|
||||
@@ -5,9 +5,10 @@
|
||||
"version": "14.0.2.0.0",
|
||||
"category": "Manufacturing",
|
||||
"license": "LGPL-3",
|
||||
"author": "Quartile Limited, Odoo Community Association (OCA)",
|
||||
"author": "Quartile Limited, ForgeFlow, Odoo Community Association (OCA)",
|
||||
"website": "https://github.com/OCA/manufacture",
|
||||
"depends": ["purchase", "mrp_subcontracting"],
|
||||
"data": ["views/purchase_order_views.xml", "views/mrp_production_views.xml"],
|
||||
"post_init_hook": "post_init_hook",
|
||||
"installable": True,
|
||||
}
|
||||
|
||||
39
mrp_subcontracting_purchase_link/hooks.py
Normal file
39
mrp_subcontracting_purchase_link/hooks.py
Normal file
@@ -0,0 +1,39 @@
|
||||
# Copyright 2023 ForgeFlow, S.L.
|
||||
# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl).
|
||||
|
||||
import logging
|
||||
|
||||
_logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
def update_po_line_in_mrp_production(cr):
|
||||
""" """
|
||||
_logger.info("Updating PO line in MRP production")
|
||||
cr.execute(
|
||||
"""
|
||||
UPDATE mrp_production
|
||||
SET
|
||||
purchase_line_id = Q.purchase_line_id,
|
||||
purchase_order_id = Q.purchase_id
|
||||
FROM (
|
||||
SELECT po_sm.purchase_line_id, mo_sm.production_id, po.id as purchase_id
|
||||
FROM stock_move as po_sm
|
||||
INNER JOIN stock_move_move_rel as rel
|
||||
ON rel.move_dest_id = po_sm.id
|
||||
INNER JOIN stock_move as mo_sm
|
||||
ON mo_sm.id = rel.move_orig_id
|
||||
INNER JOIN purchase_order_line as pol
|
||||
ON pol.id = po_sm.purchase_line_id
|
||||
INNER JOIN purchase_order as po
|
||||
ON po.id = pol.order_id
|
||||
where po_sm.is_subcontract = true
|
||||
AND po_sm.purchase_line_id is not null
|
||||
AND mo_sm.production_id is not null
|
||||
) AS Q
|
||||
WHERE mrp_production.id = Q.production_id
|
||||
"""
|
||||
)
|
||||
|
||||
|
||||
def post_init_hook(cr, registry):
|
||||
update_po_line_in_mrp_production(cr)
|
||||
@@ -1,3 +1,5 @@
|
||||
# Copyright 2023 ForgeFlow, S.L.
|
||||
# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl).
|
||||
import logging
|
||||
|
||||
_logger = logging.getLogger(__name__)
|
||||
|
||||
@@ -2,3 +2,8 @@
|
||||
|
||||
* Yoshi Tashiro <tashiro@quartile.co>
|
||||
* Tim Lai <tl@quartile.com>
|
||||
|
||||
* `ForgeFlow <https://www.forgeflow.com>`__:
|
||||
|
||||
* Thiago Mulero <thuago.mulero@forgeflow.com>
|
||||
* Jordi Ballester <jordi.ballester@forgeflow.com>
|
||||
|
||||
Reference in New Issue
Block a user