diff --git a/sf_manufacturing/models/mrp_workorder.py b/sf_manufacturing/models/mrp_workorder.py index e35e33cc..19323c21 100644 --- a/sf_manufacturing/models/mrp_workorder.py +++ b/sf_manufacturing/models/mrp_workorder.py @@ -1283,13 +1283,12 @@ class ResMrpWorkOrder(models.Model): workorder.state = 'waiting' continue purchase_orders_id = self._get_surface_technics_purchase_ids() - location_id = self.env['stock.location'].search([('name', '=', '制造前')]) - quants = self.env['stock.quant'].search([ - ('product_id', '=', workorder.production_id.bom_id.bom_line_ids.product_id.id), - ('location_id', '=', location_id.id) - ]) - total_qty = sum(quants.mapped('quantity')) # 计算该位置的总库存量 - if purchase_orders_id.state == 'purchase' and total_qty >= workorder.production_id.product_qty: + purchase_count = 0 + for purchase_order in purchase_orders_id: + for purchase_order_line in purchase_order.order_line: + if purchase_order_line.product_id.server_product_process_parameters_id.id == workorder.surface_technics_parameters_id.id: + purchase_count = purchase_order_line.product_qty + if purchase_orders_id.state == 'purchase' and purchase_count>=workorder.production_id.product_qty: workorder.state = 'ready' picking_id = workorder.production_id.picking_ids.filtered( lambda wk: wk.location_id.name == '制造前' and wk.location_dest_id.name == '外协加工区')