客供料合并,坯料制造订单问题处理

This commit is contained in:
liaodanlong
2025-01-13 11:31:24 +08:00
parent 52bba95c93
commit d5c65fdc6c

View File

@@ -1485,10 +1485,9 @@ class MrpProduction(models.Model):
""" """
重载创建制造订单的方法,单个制造订单,同一成品只创建一个采购组,用于后续单据的创建 重载创建制造订单的方法,单个制造订单,同一成品只创建一个采购组,用于后续单据的创建
""" """
product_group_id = {}
group_id = False group_id = False
first_origin = next((obj['origin'] for obj in vals_list if 'origin' in obj), None) is_first = False
if first_origin:
group_id = self.env["procurement.group"].create({'name':first_origin}).id
for vals in vals_list: for vals in vals_list:
if not vals.get('name', False) or vals['name'] == _('New'): if not vals.get('name', False) or vals['name'] == _('New'):
picking_type_id = vals.get('picking_type_id') picking_type_id = vals.get('picking_type_id')
@@ -1496,7 +1495,22 @@ class MrpProduction(models.Model):
picking_type_id = self._get_default_picking_type_id(vals.get('company_id', self.env.company.id)) picking_type_id = self._get_default_picking_type_id(vals.get('company_id', self.env.company.id))
vals['picking_type_id'] = picking_type_id vals['picking_type_id'] = picking_type_id
vals['name'] = self.env['stock.picking.type'].browse(picking_type_id).sequence_id.next_by_id() vals['name'] = self.env['stock.picking.type'].browse(picking_type_id).sequence_id.next_by_id()
if not vals.get('procurement_group_id') and group_id: if not is_first:
is_first = True
group_id = self.env["procurement.group"].create({'name': vals.get('name')}).id
if not vals.get('procurement_group_id'):
product_id = self.env['product.product'].browse(vals['product_id'])
if product_id.product_tmpl_id.single_manufacturing:
if product_id.categ_id.name =='成品':
vals['procurement_group_id'] = group_id
continue
if product_id.id not in product_group_id.keys():
procurement_group_vals = self._prepare_procurement_group_vals(vals)
group_id = self.env["procurement.group"].create(procurement_group_vals).id
vals['procurement_group_id'] = group_id
product_group_id[product_id.id] = group_id
else:
vals['procurement_group_id'] = product_group_id[product_id.id]
vals['procurement_group_id'] = group_id vals['procurement_group_id'] = group_id
return super(MrpProduction, self).create(vals_list) return super(MrpProduction, self).create(vals_list)