This commit is contained in:
liaodanlong
2024-12-24 14:13:47 +08:00
parent fd9e028c5a
commit cbfa9d517a

View File

@@ -158,11 +158,18 @@ class SaleOrder(models.Model):
:param picking_ids: 需要合并的stock.picking记录ID列表
:return: 合并后的新的stock.picking对象
"""
picking_ids = self.env['stock.picking'].search([('retrospect_ref', '=', self.default_code)])
picking_idss = self.env['stock.picking'].search([('retrospect_ref', 'ilike','%'+ self.name +'%')])
for pick in picking_idss:
print('qfwowio',pick)
picking_ids = self.env['stock.picking'].search([('retrospect_ref', '=', self.default_code)])
if not picking_ids:
return
# 获取需要合并的 stock.picking 记录
# 创建一个新的 stock.picking 作为合并结果
group = self.env['procurement.group'].create({
'name': self.name,
'partner_id': self.partner_id.id,
})
new_picking = self.env['stock.picking'].create({
'partner_id': picking_ids[0].partner_id.id,
'location_id': picking_ids[0].location_id.id,
@@ -177,7 +184,6 @@ class SaleOrder(models.Model):
'address_of_delivery': picking_ids[0].address_of_delivery,
'group_id':picking_ids[0].group_id.id
})
# 合并所有 move_lines
for picking in picking_ids:
for move in picking.move_ids:
@@ -185,9 +191,12 @@ class SaleOrder(models.Model):
new_move_vals = move.copy_data()[0]
new_move_vals['picking_id']=new_picking.id
self.env['stock.move'].create(new_move_vals)
for pick in picking_idss:
print('qfwowio',pick)
# 处理合并后的配送单状态
new_picking.action_confirm() # 确认新的配送单
for pick in picking_idss:
print('qfwowio',pick)
new_picking.action_assign() # 分配新的配送单
# 删除原有的配送单