From 28a16ca08eb10bdf623e54c986373f5b17a8d617 Mon Sep 17 00:00:00 2001 From: mgw <1392924357@qq.com> Date: Mon, 24 Feb 2025 15:29:02 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E5=B7=A5=E5=8D=95=E5=90=8D?= =?UTF-8?q?=E7=A7=B0=E3=80=81=E7=BC=96=E7=A8=8B=E5=8D=95=E5=8E=BB=E9=87=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sf_manufacturing/wizard/sale_order_cancel.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/sf_manufacturing/wizard/sale_order_cancel.py b/sf_manufacturing/wizard/sale_order_cancel.py index fc641945..6a76f687 100644 --- a/sf_manufacturing/wizard/sale_order_cancel.py +++ b/sf_manufacturing/wizard/sale_order_cancel.py @@ -211,6 +211,7 @@ class SFSaleOrderCancelLine(models.TransientModel): d = 0 # 在领料单处只进行一次 flag = True + program_list = [] for mo in manufacturing_orders: # 添加制造订单本身 d += 1 @@ -288,7 +289,7 @@ class SFSaleOrderCancelLine(models.TransientModel): 'sequence': sequence, 'category': '制造', 'doc_name': '工单', - 'doc_number': workorder.name, + 'doc_number': f'{mo.name}-{workorder.name}', 'line_number': g, 'operation_type': '', 'product_name': f'[{mo.product_id.default_code}] {mo.product_id.name}', @@ -387,9 +388,14 @@ class SFSaleOrderCancelLine(models.TransientModel): 'doc_state': cloud_programming['programming_state'], 'cancel_reason': '' } - lines.append(self.create(vals)) - sequence += 1 - return lines + program_list.append(self.create(vals)) + unique_lines = {} + for line in program_list: + doc_number = line.doc_number + if doc_number not in unique_lines: + unique_lines[doc_number] = line + + return lines + list(unique_lines.values()) # unique_lines = {} # for line in lines: