42 lines
2.3 KiB
Python
42 lines
2.3 KiB
Python
from odoo import models, fields, api
|
|
|
|
|
|
class FunctionalFixtureType(models.Model):
|
|
_name = 'sf.functional.fixture.type'
|
|
_description = "功能夹具类型"
|
|
|
|
code = fields.Char(string='编码', readonly=True)
|
|
name = fields.Char(string="名称", size=15)
|
|
remark = fields.Char(string="备注")
|
|
|
|
|
|
class FunctionalFixture(models.Model):
|
|
_name = 'sf.functional.fixture'
|
|
_description = "功能夹具"
|
|
|
|
code = fields.Char(string='编码', readonly=True)
|
|
name = fields.Char(string="名称", size=15, required=True)
|
|
type_id = fields.Many2one('sf.functional.fixture.type', string="功能夹具类型", required=True)
|
|
zero_chuck_model_ids = fields.Many2many('sf.fixture.model', 'rel_fixture_model_zero_chuck', string="零点卡盘型号",
|
|
required=True,
|
|
domain=[('fixture_material_type', '=', '零点卡盘')])
|
|
transfer_tray_model_ids = fields.Many2many('sf.fixture.model', 'rel_fixture_model_transfer_tray',
|
|
string="转接板(锁板)托盘型号",
|
|
domain=[('fixture_material_type', '=', '转接板(锁板)托盘')])
|
|
pneumatic_tray_model_ids = fields.Many2many('sf.fixture.model', 'rel_fixture_model_pneumatic_tray',
|
|
string="气动托盘型号",
|
|
domain=[('fixture_material_type', '=', '气动托盘')])
|
|
magnetic_tray_model_ids = fields.Many2many('sf.fixture.model', 'rel_fixture_model_magnetic_tray',
|
|
string="磁吸托盘型号",
|
|
domain=[('fixture_material_type', '=', '磁吸托盘')])
|
|
vice_tray_model_ids = fields.Many2many('sf.fixture.model', 'rel_fixture_model_vice_tray', string="虎钳托盘型号",
|
|
domain=[('fixture_material_type', '=', '虎钳托盘')])
|
|
|
|
def _get_fixture_model_ids(self, fixture_model_code):
|
|
fixture_model_ids = []
|
|
for item in fixture_model_code:
|
|
fixture_model = self.env['sf.fixture.model'].search([('code', '=', item)])
|
|
if fixture_model:
|
|
fixture_model_ids.append(fixture_model.id)
|
|
return [(6, 0, fixture_model_ids)]
|