mrp_subcontracting_purchase/report/mrp_report_bom_structure.py

24 lines
1.0 KiB
Python
Raw Normal View History

# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo import api, models
class ReportBomStructure(models.AbstractModel):
_inherit = 'report.mrp.report_bom_structure'
@api.model
def _is_buy_route(self, rules, product, bom):
return super()._is_buy_route(rules, product, bom) and (not bom or bom.type != 'subcontract')
@api.model
def _get_resupply_availability(self, route_info, components):
resupply_state, resupply_delay = super()._get_resupply_availability(route_info, components)
if route_info.get('route_type') == 'subcontract':
# always add `Purchase security lead days` and `Days to Purchase`
extra_delay = route_info['bom'].company_id.po_lead + route_info['bom'].company_id.days_to_purchase
route_info['lead_time'] += extra_delay
subcontract_delay = (resupply_delay if resupply_delay else 0) + extra_delay
return ('estimated', subcontract_delay)
return (resupply_state, resupply_delay)