91 lines
4.3 KiB
Python
91 lines
4.3 KiB
Python
from odoo import models, fields, api
|
|
|
|
|
|
class FixtureMaterial(models.Model):
|
|
_name = 'sf.fixture.material'
|
|
_description = "夹具物料"
|
|
|
|
code = fields.Char(string='编码')
|
|
name = fields.Char(string="名称", size=15)
|
|
category = fields.Selection([('零点夹具', '零点夹具')], string="类别")
|
|
remark = fields.Char(string="备注")
|
|
active = fields.Boolean(string="有效", default=True)
|
|
|
|
|
|
class Multi_MountingType(models.Model):
|
|
_name = 'sf.multi_mounting.type'
|
|
_description = "联装类型"
|
|
|
|
code = fields.Char(string='编码')
|
|
name = fields.Char(string="名称", size=15)
|
|
remark = fields.Char(string="备注")
|
|
active = fields.Boolean(string="有效", default=True)
|
|
|
|
|
|
class FixtureModel(models.Model):
|
|
_name = 'sf.fixture.model'
|
|
_description = "夹具型号"
|
|
|
|
name = fields.Char(string="名称", size=50)
|
|
fixture_material_id = fields.Many2one('sf.fixture.material', string="夹具物料")
|
|
fixture_material_type = fields.Char(string="夹具物料类型", related='fixture_material_id.name')
|
|
multi_mounting_type_id = fields.Many2one('sf.multi_mounting.type', string="联装类型")
|
|
brand_id = fields.Many2one('sf.machine.brand', string="品牌")
|
|
model_file = fields.Binary(string="图片")
|
|
status = fields.Boolean('状态')
|
|
active = fields.Boolean('有效', default=False)
|
|
|
|
zero_chuck_ids = fields.One2many('sf.fixture.materials.basic.parameters', 'fixture_model_id',
|
|
string='零点卡盘基本参数')
|
|
zero_tray_ids = fields.One2many('sf.fixture.materials.basic.parameters', 'fixture_model_id',
|
|
string='零点托盘基本参数')
|
|
pneumatic_fixture_ids = fields.One2many('sf.fixture.materials.basic.parameters', 'fixture_model_id',
|
|
string='气动夹具基本参数')
|
|
jaw_vice_fixture_ids = fields.One2many('sf.fixture.materials.basic.parameters', 'fixture_model_id',
|
|
string='虎钳夹具基本参数')
|
|
magnet_fixture_ids = fields.One2many('sf.fixture.materials.basic.parameters', 'fixture_model_id',
|
|
string='磁吸夹具基本参数')
|
|
adapter_board_fixture_ids = fields.One2many('sf.fixture.materials.basic.parameters', 'fixture_model_id',
|
|
string='转接板(锁板)夹具基本参数')
|
|
scroll_chuck_ids = fields.One2many('sf.fixture.materials.basic.parameters', 'fixture_model_id',
|
|
string='三爪卡盘基本参数')
|
|
code = fields.Char(string='编码', readonly=True)
|
|
|
|
# def _get_code(self, fixture_model_type_code):
|
|
# fixture_model = self.env['sf.fixture.model'].sudo().search(
|
|
# [('code', 'ilike', fixture_model_type_code)],
|
|
# limit=1,
|
|
# order="id desc")
|
|
# if not fixture_model:
|
|
# num = "%03d" % 1
|
|
# else:
|
|
# m = int(fixture_model.code[-3:]) + 1
|
|
# num = "%03d" % m
|
|
# return "%s%s" % (fixture_model_type_code, num)
|
|
#
|
|
# def _onchange_fixture_material_id(self, fixture_material_id):
|
|
# if fixture_material_id:
|
|
# if self.fixture_material_id.name == "气动夹具":
|
|
# code = self._get_code("JKM-C-JJWL-QDJJ-")
|
|
# elif self.fixture_material_id.name == "转接板(锁板)夹具":
|
|
# code = self._get_code("JKM-C-JJWL-ZJJJ-")
|
|
# elif self.fixture_material_id.name == "磁吸夹具":
|
|
# code = self._get_code("JKM-C-JJWL-CXJJ-")
|
|
# elif self.fixture_material_id.name == "虎钳夹具":
|
|
# code = self._get_code("JKM-C-JJWL-HQJJ-")
|
|
# elif self.fixture_material_id.name == "零点托盘":
|
|
# code = self._get_code("JKM-C-JJWL-LDTP-")
|
|
# elif self.fixture_material_id.name == "三爪卡盘":
|
|
# code = self._get_code("JKM-C-JJWL-SZKP-")
|
|
# else:
|
|
# code = self._get_code("JKM-C-JJWL-LDKP-")
|
|
# return code
|
|
#
|
|
# @api.model_create_multi
|
|
# def create(self, vals):
|
|
# obj = super(FixtureModel, self).create(vals)
|
|
# if obj.fixture_material_id:
|
|
# code = self._onchange_fixture_material_id(obj.fixture_material_id)
|
|
# obj.code = code
|
|
# return obj
|