sf-制造-工艺外协的采购订单确认后,外协的调拨单的作业详情的预留数量跟完成数量不对

This commit is contained in:
liaodanlong
2025-05-14 16:46:29 +08:00
parent 238840b647
commit ea3d9e5375

View File

@@ -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 == '外协加工区')