40 lines
1.4 KiB
Python
40 lines
1.4 KiB
Python
from odoo import fields, models, api
|
|
|
|
|
|
class ModelType(models.Model):
|
|
_name = 'sf.model.type'
|
|
_description = '模型类型'
|
|
|
|
name = fields.Char('名称')
|
|
routing_tmpl_ids = fields.One2many('sf.model.type.routing.sort', 'model_type_id', '工序模板')
|
|
|
|
|
|
class ResMrpRoutingWorkcenter(models.Model):
|
|
_inherit = 'mrp.routing.workcenter'
|
|
|
|
is_repeat = fields.Boolean('重复', default=False)
|
|
workcenter_id = fields.Many2one('mrp.workcenter', required=False)
|
|
workcenter_ids = fields.Many2many('mrp.workcenter', 'rel_workcenter_route', required=True)
|
|
bom_id = fields.Many2one('mrp.bom', required=False)
|
|
|
|
# 获得当前登陆者公司
|
|
def get_company_id(self):
|
|
self.company_id = self.env.user.company_id.id
|
|
|
|
company_id = fields.Many2one('res.company', compute="get_company_id", related=False)
|
|
|
|
|
|
class ModelTypeRoutingSort(models.Model):
|
|
_name = 'sf.model.type.routing.sort'
|
|
_description = '工序排序'
|
|
|
|
sequence = fields.Integer('Sequence')
|
|
route_workcenter_id = fields.Many2one('mrp.routing.workcenter')
|
|
is_repeat = fields.Boolean('重复', related='route_workcenter_id.is_repeat')
|
|
workcenter_ids = fields.Many2many('mrp.workcenter', required=False, related='route_workcenter_id.workcenter_ids')
|
|
model_type_id = fields.Many2one('sf.model.type')
|
|
|
|
_sql_constraints = [
|
|
('route_model_type_uniq', 'unique (route_workcenter_id,model_type_id)', '工序不能重复!')
|
|
]
|