From bf4d06e22b301bd8adec046c634a024fff629b34 Mon Sep 17 00:00:00 2001 From: liaodanlong Date: Mon, 13 Jan 2025 16:08:51 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E5=88=B6=E9=80=A0=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E8=B0=83=E6=8B=A8=E5=8D=95=E5=90=88=E5=B9=B6=E6=8E=92=E9=99=A4?= =?UTF-8?q?=E8=87=AA=E5=8A=A0=E5=B7=A5=E4=BA=A7=E5=93=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sf_manufacturing/models/mrp_production.py | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/sf_manufacturing/models/mrp_production.py b/sf_manufacturing/models/mrp_production.py index d3417c1f..c3175ade 100644 --- a/sf_manufacturing/models/mrp_production.py +++ b/sf_manufacturing/models/mrp_production.py @@ -1495,23 +1495,25 @@ class MrpProduction(models.Model): picking_type_id = self._get_default_picking_type_id(vals.get('company_id', self.env.company.id)) vals['picking_type_id'] = picking_type_id vals['name'] = self.env['stock.picking.type'].browse(picking_type_id).sequence_id.next_by_id() - if not is_first: + product_id = self.env['product.product'].browse(vals['product_id']) + is_self_process = product_id.materials_type_id and product_id.materials_type_id.gain_way and product_id.materials_type_id.gain_way != '自加工' + if not is_first and is_self_process: is_first = True group_id = self.env["procurement.group"].create({'name': vals.get('name')}).id if not vals.get('procurement_group_id'): - product_id = self.env['product.product'].browse(vals['product_id']) if product_id.product_tmpl_id.single_manufacturing: - if product_id.categ_id.name =='成品': + if product_id.categ_id.name == '成品' and is_self_process: vals['procurement_group_id'] = group_id continue if product_id.id not in product_group_id.keys(): procurement_group_vals = self._prepare_procurement_group_vals(vals) - group_id = self.env["procurement.group"].create(procurement_group_vals).id - vals['procurement_group_id'] = group_id - product_group_id[product_id.id] = group_id + procurement_group_id = self.env["procurement.group"].create(procurement_group_vals).id + vals['procurement_group_id'] = procurement_group_id + product_group_id[product_id.id] = procurement_group_id else: vals['procurement_group_id'] = product_group_id[product_id.id] - vals['procurement_group_id'] = group_id + else: + vals['procurement_group_id'] = group_id return super(MrpProduction, self).create(vals_list) @api.depends('procurement_group_id.stock_move_ids.created_purchase_line_id.order_id', From a8271d851df31e11a95ca281c50ea1db03d6050f Mon Sep 17 00:00:00 2001 From: liaodanlong Date: Mon, 13 Jan 2025 16:09:51 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E9=87=87=E8=B4=AD=E5=8D=95=E5=8F=82?= =?UTF-8?q?=E8=80=83=E9=94=80=E5=94=AE=E8=AE=A2=E5=8D=95=E5=8F=AF=E8=A7=81?= =?UTF-8?q?=E6=80=A7=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sf_manufacturing/views/purchase_order_view.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sf_manufacturing/views/purchase_order_view.xml b/sf_manufacturing/views/purchase_order_view.xml index 3b1518fb..2b008b56 100644 --- a/sf_manufacturing/views/purchase_order_view.xml +++ b/sf_manufacturing/views/purchase_order_view.xml @@ -25,9 +25,9 @@ + attrs="{'invisible': [('origin_sale_ids' , '!=', False)]}"/> + attrs="{'invisible': [('origin_sale_ids' , '=', False)]}"/>