mirror of
https://github.com/guohuadeng/app-odoo.git
synced 2025-02-23 04:11:36 +02:00
upd 16 [app_mrp_production_zchart]
This commit is contained in:
@@ -23,7 +23,7 @@
|
|||||||
|
|
||||||
{
|
{
|
||||||
'name': 'MRP Production zChart Hierarchy, 多级BoM生产单多层级执行结构图,适用于多级BoM的生产工单,一棵树全览关联生产',
|
'name': 'MRP Production zChart Hierarchy, 多级BoM生产单多层级执行结构图,适用于多级BoM的生产工单,一棵树全览关联生产',
|
||||||
'version': '16.24.12.12',
|
'version': '16.24.12.19',
|
||||||
'author': 'odooai.cn',
|
'author': 'odooai.cn',
|
||||||
'category': 'Base',
|
'category': 'Base',
|
||||||
'website': 'https://www.odooai.cn',
|
'website': 'https://www.odooai.cn',
|
||||||
|
|||||||
@@ -18,24 +18,25 @@ class MrpProduction(models.Model):
|
|||||||
parent_id = fields.Many2one('mrp.production', 'Parent Manufacturing', index=True, ondelete='cascade',
|
parent_id = fields.Many2one('mrp.production', 'Parent Manufacturing', index=True, ondelete='cascade',
|
||||||
help="The parent manufacturing orders that generate this order. Follow the rule of multi level bom.")
|
help="The parent manufacturing orders that generate this order. Follow the rule of multi level bom.")
|
||||||
child_ids = fields.One2many('mrp.production', 'parent_id', string='Sub Manufacturing')
|
child_ids = fields.One2many('mrp.production', 'parent_id', string='Sub Manufacturing')
|
||||||
child_all_count = fields.Integer('Indirect Surbordinates Count', store=False,
|
child_all_count = fields.Integer('Indirect Surbordinates Count', store=False, recursive=True,
|
||||||
compute='_compute_child_all_count')
|
compute='_compute_child_all_count')
|
||||||
|
|
||||||
image_128 = fields.Image(related='product_id.image_128', readonly=True)
|
image_128 = fields.Image(related='product_id.image_128', readonly=True)
|
||||||
product_name = fields.Char(related='product_id.name', readonly=True)
|
product_name = fields.Char(related='product_id.name', readonly=True)
|
||||||
parent_path = fields.Char(index=True)
|
parent_path = fields.Char(index=True, unaccent=False)
|
||||||
|
|
||||||
@api.depends('child_ids.child_all_count')
|
@api.depends('child_ids.child_all_count')
|
||||||
def _compute_child_all_count(self):
|
def _compute_child_all_count(self):
|
||||||
for rec in self:
|
for rec in self:
|
||||||
rec.child_all_count = len(rec.child_ids) + sum(child.child_all_count for child in rec.child_ids)
|
rec.child_all_count = len(rec.child_ids) + sum(child.child_all_count for child in rec.child_ids)
|
||||||
|
|
||||||
@api.model
|
@api.model_create_multi
|
||||||
def create(self, values):
|
def create(self, vals_list):
|
||||||
# 配置层级关系
|
# 配置层级关系
|
||||||
if 'origin' in values and values['origin']:
|
for vals in vals_list:
|
||||||
mo = self.env['mrp.production'].search([('name', '=', values['origin'])], limit=1, order='id desc')
|
if 'origin' in vals and vals['origin']:
|
||||||
|
mo = self.env['mrp.production'].search([('name', '=', vals['origin'])], limit=1, order='id desc')
|
||||||
if len(mo) == 1:
|
if len(mo) == 1:
|
||||||
values['parent_id'] = mo[0].id
|
vals['parent_id'] = mo[0].id
|
||||||
res = super(MrpProduction, self).create(values)
|
res = super(MrpProduction, self).create(vals_list)
|
||||||
return res
|
return res
|
||||||
|
|||||||
Reference in New Issue
Block a user