From f10f595fa4fad30001113bce4c1088f6aca1b766 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=83=A1=E5=B0=A7?= Date: Thu, 8 May 2025 17:47:40 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E5=88=B6=E9=80=A0=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E4=B8=8D=E6=98=BE=E7=A4=BA=E9=87=87=E8=B4=AD=E7=94=B3?= =?UTF-8?q?=E8=AF=B7=E6=8C=89=E9=92=AE=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../models/mrp_production.py | 39 ++++++++++++------- 1 file changed, 24 insertions(+), 15 deletions(-) diff --git a/jikimo_purchase_request/models/mrp_production.py b/jikimo_purchase_request/models/mrp_production.py index 02bff9fb..58a94eba 100644 --- a/jikimo_purchase_request/models/mrp_production.py +++ b/jikimo_purchase_request/models/mrp_production.py @@ -9,15 +9,19 @@ class MrpProduction(models.Model): @api.depends('state') def _compute_pr_mp_count(self): for item in self: - if item.product_id.product_tmpl_id.single_manufacturing == True and not item.is_remanufacture: - first_order = self.env['mrp.production'].search( - [('origin', '=', item.origin), ('product_id', '=', item.product_id.id)], limit=1, order='id asc') - pr_ids = self.env['purchase.request'].sudo().search([('origin', 'like', first_order.name)]) - item.pr_mp_count = len(pr_ids) - else: - pr_ids = self.env['purchase.request'].sudo().search([('origin', 'like', item.name)]) - item.pr_mp_count = len(pr_ids) - + # if item.product_id.product_tmpl_id.single_manufacturing == True and not item.is_remanufacture: + # first_order = self.env['mrp.production'].search( + # [('origin', '=', item.origin), ('product_id', '=', item.product_id.id)], limit=1, order='id asc') + # pr_ids = self.env['purchase.request'].sudo().search([('origin', 'like', first_order.name)]) + # item.pr_mp_count = len(pr_ids) + # else: + # pr_ids = self.env['purchase.request'].sudo().search([('origin', 'like', item.name)]) + # item.pr_mp_count = len(pr_ids) + # 由于采购申请合并了所有销售订单行的采购,所以不区分产品 + first_mp = self.env['mrp.production'].search( + [('origin', '=', item.origin)], limit=1, order='id asc') + pr_ids = self.env['purchase.request'].sudo().search([('origin', 'like', first_mp.name)]) + item.pr_mp_count = len(pr_ids) # pr_ids = self.env['purchase.request'].sudo().search([('origin', 'like', item.name), ('is_subcontract', '!=', 'True')]) def action_view_pr_mp(self): @@ -26,12 +30,17 @@ class MrpProduction(models.Model): """ self.ensure_one() # pr_ids = self.env['purchase.request'].sudo().search([('origin', 'like', self.name),('is_subcontract', '!=', True)]) - if self.product_id.product_tmpl_id.single_manufacturing == True and not self.is_remanufacture: - first_order = self.env['mrp.production'].search( - [('origin', '=', self.origin), ('product_id', '=', self.product_id.id)], limit=1, order='id asc') - pr_ids = self.env['purchase.request'].sudo().search([('origin', 'like', first_order.name)]) - else: - pr_ids = self.env['purchase.request'].sudo().search([('origin', 'like', self.name)]) + # if self.product_id.product_tmpl_id.single_manufacturing == True and not self.is_remanufacture: + # first_order = self.env['mrp.production'].search( + # [('origin', '=', self.origin), ('product_id', '=', self.product_id.id)], limit=1, order='id asc') + # pr_ids = self.env['purchase.request'].sudo().search([('origin', 'like', first_order.name)]) + # else: + # pr_ids = self.env['purchase.request'].sudo().search([('origin', 'like', self.name)]) + # 由于采购申请合并了所有销售订单行的采购,所以不区分产品 + first_mp = self.env['mrp.production'].search( + [('origin', '=', self.origin)], limit=1, order='id asc') + pr_ids = self.env['purchase.request'].sudo().search([('origin', 'like', first_mp.name)]) + action = { 'res_model': 'purchase.request',