1.新增表面工艺外协路线初始化数据

This commit is contained in:
jinling.yang
2024-04-01 17:34:56 +08:00
parent 8d1e4a89c2
commit f4f1c9f839
5 changed files with 145 additions and 184 deletions

View File

@@ -67,5 +67,21 @@
search="[('barcode','=','WH-PREPRODUCTION')]"/>
<field name="default_location_dest_id" ref="stock_location_locations_virtual_outcontract"/>
</record>
<record id="route_surface_technology_outsourcing" model="stock.route">
<field name="name">表面工艺外协</field>
<!-- <field name="company_id"></field>-->
<field name="active">True</field>
<field name="sequence">11</field>
</record>
<!-- <record id="route_surface_technology_outsourcing" model="stock.rule">-->
<!-- <field name="name">外协出库单</field>-->
<!-- <field name="action">push</field>-->
<!-- <field name="pick_type_id" ref="outcontract_picking_out"></field>-->
<!-- <field name="location_src_id" ref=""/>-->
<!-- <field name="location_dest_id" ref="stock_location_locations_virtual_outcontract"/>-->
<!-- <field name="active">True</field>-->
<!-- <field name="sequence">11</field>-->
<!-- </record>-->
</data>
</odoo>

View File

@@ -17,6 +17,50 @@ from io import BytesIO
from odoo.exceptions import ValidationError
class stockWarehouse(models.Model):
_inherit = 'stock.warehouse'
subcontracting_surface_technology_pull_out_id = fields.Many2one(
'stock.rule', '表面工艺规则1')
subcontracting_surface_technology_pull_in_id = fields.Many2one(
'stock.rule', '表面工艺规则2'
)
def _get_global_route_rules_values(self):
rules = super(stockWarehouse, self)._get_global_route_rules_values()
location_virtual_id = self.env.ref(
'sf_manufacturing.stock_location_locations_virtual_outcontract').id,
location_pre_id = self.env['stock.location'].search(
[('barcode', 'ilike', 'WH-PREPRODUCTION')]).id,
rules.update({
'subcontracting_surface_technology_pull_in_id': {
'create_values': {
'action': 'pull',
'picking_type_id': self.env.ref('sf_manufacturing.outcontract_picking_in').id,
'group_propagation_option': 'none',
'company_id': self.company_id.id,
'location_src_id': location_virtual_id,
'location_dest_id': location_pre_id,
'route_id': self._find_global_route('sf_manufacturing.route_surface_technology_outsourcing',
_('表面工艺外协')).id,
}
},
'subcontracting_surface_technology_pull_out_id': {
'create_values': {
'action': 'pull',
'picking_type_id': self.env.ref('sf_manufacturing.outcontract_picking_out').id,
'group_propagation_option': 'none',
'company_id': self.company_id.id,
'location_src_id': location_pre_id,
'location_dest_id': location_virtual_id,
'route_id': self._find_global_route('sf_manufacturing.route_surface_technology_outsourcing',
_('表面工艺外协')).id,
}
}
})
return rules
class StockRule(models.Model):
_inherit = 'stock.rule'