From 6bf666ac18e5af3eb7db209039aab5f0bba81f91 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=83=A1=E5=B0=A7?= Date: Thu, 22 May 2025 11:04:12 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=AC=A0=E5=8D=95=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jikimo_purchase_request/models/purchase_order.py | 6 +++++- jikimo_purchase_request/models/stock_picking.py | 6 ++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/jikimo_purchase_request/models/purchase_order.py b/jikimo_purchase_request/models/purchase_order.py index e2c4687b..b5734b78 100644 --- a/jikimo_purchase_request/models/purchase_order.py +++ b/jikimo_purchase_request/models/purchase_order.py @@ -19,7 +19,11 @@ class PurchaseOrder(models.Model): def button_confirm(self): res = super(PurchaseOrder, self).button_confirm() # 取消反向调拨单 - reverse_move_ids = self.env['stock.move'].search([('origin', '=', self.name), ('purchase_line_id', '=', False)]) + reverse_move_ids = self.env['stock.move'].search([ + ('origin', '=', self.name), + ('purchase_line_id', '=', False), + ('state', '!=', 'done') + ]) if reverse_move_ids: reverse_move_ids.picking_id.action_cancel() return res diff --git a/jikimo_purchase_request/models/stock_picking.py b/jikimo_purchase_request/models/stock_picking.py index 85db247f..abac1b1b 100644 --- a/jikimo_purchase_request/models/stock_picking.py +++ b/jikimo_purchase_request/models/stock_picking.py @@ -36,10 +36,12 @@ class StockPicking(models.Model): def _action_done(self): res = super(StockPicking, self)._action_done() - # 将采购申请明细行的move_dest_ids设置为backorder_ids + # 将新产生的backorder对应上原来的采购申请明细行 backorder_ids = self.backorder_ids if backorder_ids: purchase_request_lines = self.move_ids.move_orig_ids.purchase_line_id.purchase_request_lines if purchase_request_lines: - purchase_request_lines.move_dest_ids = [(4, x.id) for x in backorder_ids.move_ids] + purchase_request_lines.move_dest_ids = [ + (4, x.id) for x in backorder_ids.move_ids if x.product_id.id == purchase_request_lines.product_id.id + ] return res \ No newline at end of file