From d13961ff5fa8c536b842a42bc6326455fc39fa33 Mon Sep 17 00:00:00 2001 From: "jinling.yang" Date: Thu, 22 Aug 2024 10:52:19 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=8A=A5=E5=BA=9F-=E6=8B=A3?= =?UTF-8?q?=E8=B4=A7=E5=8D=95=EF=BC=88sfp=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sf_manufacturing/models/mrp_production.py | 15 +++++++++++---- .../views/mrp_production_addional_change.xml | 2 +- sf_manufacturing/wizard/production_wizard.py | 5 +++++ 3 files changed, 17 insertions(+), 5 deletions(-) diff --git a/sf_manufacturing/models/mrp_production.py b/sf_manufacturing/models/mrp_production.py index 466e9a62..8e1f7199 100644 --- a/sf_manufacturing/models/mrp_production.py +++ b/sf_manufacturing/models/mrp_production.py @@ -797,7 +797,7 @@ class MrpProduction(models.Model): }) return action - # 返工 + # 报废 def button_scrap_new(self): cloud_programming = self._cron_get_programming_state() return { @@ -969,12 +969,12 @@ class MrpProduction(models.Model): 'location_dest_id', '=', self.env['stock.location'].search([('parent_path', '=', '2/5/')]).id), ('location_src_id', '=', self.env['stock.location'].search( [('barcode', '=', 'CP')]).id)]) - origin = move._prepare_procurement_origin() + # origin = move._prepare_procurement_origin() procurement_requests.append(self.env['procurement.group'].Procurement( move.product_id, 1.0, move.product_uom, self.env['stock.location'].search([('barcode', '=', 'CP')]), rule and rule.name or "/", - origin, move.company_id, move_values)) + sale_order.name, move.company_id, move_values)) self.env['procurement.group'].run(procurement_requests, raise_user_error=not self.env.context.get('from_orderpoint')) # self.env['stock.move'].sudo().create(productions._get_moves_finished_values()) @@ -986,7 +986,6 @@ class MrpProduction(models.Model): [('origin', '=', self.origin)], order='id desc', limit=1) move = self.env['stock.move'].search([('origin', '=', productions.name)], order='id desc') for mo in move: - print(mo.id) if mo.procure_method == 'make_to_order' and mo.name != productions.name: if mo.name == '/': domain = [('barcode', '=', 'WH-PC'), ('sequence_code', '=', 'PC')] @@ -1001,6 +1000,14 @@ class MrpProduction(models.Model): if mo.production_id: if mo.production_id != productions: mo.production_id = False + mo_move = self.env['stock.move'].search( + [('origin', '=', sale_order.name), ('reference', 'ilike', 'WH/MO/')]) + if mo_move: + sfp_move = self.env['stock.move'].search( + [('origin', '=', sale_order.name), ('reference', 'ilike', 'WH/SFP/')], limit=1) + mo_move.write({'reference': sfp_move.reference, 'partner_id': sfp_move.partner_id.id, + 'picking_id': sfp_move.picking_id.id, 'picking_type_id': sfp_move.picking_type_id.id, + 'production_id': False}) productions.write({'programming_no': self.programming_no, 'is_remanufacture': True}) productions.procurement_group_id.mrp_production_ids.move_dest_ids.write( {'group_id': self.env['procurement.group'].search([('name', '=', sale_order.name)])}) diff --git a/sf_manufacturing/views/mrp_production_addional_change.xml b/sf_manufacturing/views/mrp_production_addional_change.xml index b1c1ff1e..99d27576 100644 --- a/sf_manufacturing/views/mrp_production_addional_change.xml +++ b/sf_manufacturing/views/mrp_production_addional_change.xml @@ -130,7 +130,7 @@ attrs="{'invisible': ['|',('state', '!=', 'rework') ,('programming_state', '!=', '已编程')]}"/>