diff --git a/sf_manufacturing/models/stock.py b/sf_manufacturing/models/stock.py index 2dcab4be..fa723283 100644 --- a/sf_manufacturing/models/stock.py +++ b/sf_manufacturing/models/stock.py @@ -654,7 +654,10 @@ class StockPicking(models.Model): if self.location_id.name == '成品存货区' and self.location_dest_id.name == '客户': sale_id = self.env['sale.order'].sudo().search( [('name', '=', self.origin)]) - if sale_id and res: + stock_picking_list = self.env['stock.picking'].sudo().search( + [('id', 'in', sale_id.picking_ids.ids)]) + stock_picking = stock_picking_list.filtered(lambda p: p.state not in ("done", "cancel")) + if sale_id and not stock_picking: sale_id.write({'state': 'delivered'}) return res @@ -678,7 +681,7 @@ class StockPicking(models.Model): # 从sorted_workorders中找到上一工单的move if len(sorted_workorders) > 1: move_dest_id = \ - sorted_workorders[sorted_workorders.index(workorder) + 1].move_subcontract_workorder_ids[1].id + sorted_workorders[sorted_workorders.index(workorder) + 1].move_subcontract_workorder_ids[1].id new_picking = True outcontract_picking_type_in = self.env.ref( 'sf_manufacturing.outcontract_picking_in').id,