From 3f3c494f7f3efcaffb4a57b5861407ee6de21f0c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=83=A1=E5=B0=A7?= Date: Thu, 21 Nov 2024 17:43:50 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=BF=BD=E8=B8=AA?= =?UTF-8?q?=E5=8F=82=E8=80=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sf_manufacturing/models/stock.py | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/sf_manufacturing/models/stock.py b/sf_manufacturing/models/stock.py index 5fa12979..2eb71aa4 100644 --- a/sf_manufacturing/models/stock.py +++ b/sf_manufacturing/models/stock.py @@ -955,23 +955,29 @@ class ReStockMove(models.Model): 合并制造订单的完成move单据 """ res = super(ReStockMove, self)._merge_moves_fields() - res = self._single_manufactuing_mo_generate_origin(res) + if self[0].origin and self.picking_type_id.name in ['生产发料', '内部调拨']: + production = self.env['mrp.production'].search([('name', '=', self[0].origin)], limit=1, order='id asc') + productions = self.env['mrp.production'].search([('origin', '=', production.origin), ('product_id', '=', production.product_id.id)]) + res['origin'] = ','.join(productions.mapped('name')) return res def _get_new_picking_values(self): res = super(ReStockMove, self)._get_new_picking_values() - res = self._single_manufactuing_mo_generate_origin(res) + if self[0].origin and self.picking_type_id.name in ['生产发料', '内部调拨']: + production = self.env['mrp.production'].search([('name', '=', self[0].origin)], limit=1, order='id asc') + productions = self.env['mrp.production'].search([('origin', '=', production.origin), ('product_id', '=', production.product_id.id)]) + res['origin'] = ','.join(productions.mapped('name')) + res['carrier_tracking_ref'] = production.product_id.name + return res + # 增加追踪参考 + res['carrier_tracking_ref'] = self.carrier_tracking_ref return res def _single_manufactuing_mo_generate_origin(self, res): """ 单个制造订单的完成move单据修改来源为该制造订单关联的销售订单下所有成品相同的制造订单 """ - if self[0].origin and self.picking_type_id.name in ['生产发料', '内部调拨']: - production = self.env['mrp.production'].search([('name', '=', self[0].origin)], limit=1, order='id asc') - productions = self.env['mrp.production'].search([('origin', '=', production.origin), ('product_id', '=', production.product_id.id)]) - res['origin'] = ','.join(productions.mapped('name')) - return res + class ReStockQuant(models.Model): From 113d0abb4b8d68c68ebfb9566952bcfc4f5be5f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=83=A1=E5=B0=A7?= Date: Thu, 21 Nov 2024 17:44:55 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=BF=BD=E8=B8=AA?= =?UTF-8?q?=E5=8F=82=E8=80=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sf_manufacturing/models/stock.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sf_manufacturing/models/stock.py b/sf_manufacturing/models/stock.py index 2eb71aa4..07ff7ee5 100644 --- a/sf_manufacturing/models/stock.py +++ b/sf_manufacturing/models/stock.py @@ -962,6 +962,9 @@ class ReStockMove(models.Model): return res def _get_new_picking_values(self): + """ + 创建调拨单时,在此新增或修改调拨单的数据 + """ res = super(ReStockMove, self)._get_new_picking_values() if self[0].origin and self.picking_type_id.name in ['生产发料', '内部调拨']: production = self.env['mrp.production'].search([('name', '=', self[0].origin)], limit=1, order='id asc') From d80f3c4d5c909d4f025f9ad68863a763d0d7403f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=83=A1=E5=B0=A7?= Date: Thu, 21 Nov 2024 17:56:57 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=B0=83=E6=8B=A8?= =?UTF-8?q?=E5=8D=95=E7=9A=84=E8=BF=BD=E6=BA=AF=E5=8F=82=E8=80=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sf_manufacturing/models/stock.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/sf_manufacturing/models/stock.py b/sf_manufacturing/models/stock.py index 07ff7ee5..df47b933 100644 --- a/sf_manufacturing/models/stock.py +++ b/sf_manufacturing/models/stock.py @@ -970,10 +970,7 @@ class ReStockMove(models.Model): production = self.env['mrp.production'].search([('name', '=', self[0].origin)], limit=1, order='id asc') productions = self.env['mrp.production'].search([('origin', '=', production.origin), ('product_id', '=', production.product_id.id)]) res['origin'] = ','.join(productions.mapped('name')) - res['carrier_tracking_ref'] = production.product_id.name - return res - # 增加追踪参考 - res['carrier_tracking_ref'] = self.carrier_tracking_ref + res['retrospect_ref'] = production.product_id.name return res def _single_manufactuing_mo_generate_origin(self, res):