From 50a066c23a9f76f0802eaa72c14a90add84b1d4a Mon Sep 17 00:00:00 2001 From: guanhuan Date: Thu, 26 Jun 2025 17:52:40 +0800 Subject: [PATCH] =?UTF-8?q?=E7=89=A9=E6=96=99=E9=9C=80=E6=B1=82=E8=AE=A1?= =?UTF-8?q?=E5=88=92=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jikimo_purchase_request/models/sale_order.py | 2 +- sf_demand_plan/models/sale_order.py | 9 +++++++++ sf_demand_plan/models/sf_production_demand_plan.py | 1 + 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/jikimo_purchase_request/models/sale_order.py b/jikimo_purchase_request/models/sale_order.py index 3dc88287..78f33133 100644 --- a/jikimo_purchase_request/models/sale_order.py +++ b/jikimo_purchase_request/models/sale_order.py @@ -44,7 +44,7 @@ class StatusChange(models.Model): else: action.update({ 'name': _("从 %s生成采购请求单", self.name), - 'domain': [('id', 'in', pr_ids)], + 'domain': [('id', 'in', pr_ids.ids)], 'view_mode': 'tree,form', }) return action diff --git a/sf_demand_plan/models/sale_order.py b/sf_demand_plan/models/sale_order.py index 0d0bbf1c..d5de7b9a 100644 --- a/sf_demand_plan/models/sale_order.py +++ b/sf_demand_plan/models/sale_order.py @@ -15,6 +15,15 @@ class ReSaleOrder(models.Model): compute='_compute_demand_plan_count', ) + @api.depends('procurement_group_id') + def _compute_purchase_request_count(self): + for so in self: + pr_ids = self.env['purchase.request'].sudo().search([('origin', 'like', so.name)]) + if pr_ids: + so.purchase_request_purchase_order_count = len(pr_ids) + else: + so.purchase_request_purchase_order_count = 0 + def _compute_demand_plan_count(self): for line in self: demand_plan = self.env['sf.production.demand.plan'].sudo().search([('sale_order_id', '=', line.id)]) diff --git a/sf_demand_plan/models/sf_production_demand_plan.py b/sf_demand_plan/models/sf_production_demand_plan.py index c53bf552..22d7304e 100644 --- a/sf_demand_plan/models/sf_production_demand_plan.py +++ b/sf_demand_plan/models/sf_production_demand_plan.py @@ -706,6 +706,7 @@ class SfProductionDemandPlan(models.Model): if not group_id: group_id = self.env['procurement.group'].create(self._prepare_procurement_group_vals()) self.demand_plan_id.procurement_group_id = group_id + self.sale_order_id.procurement_group_id = group_id else: updated_vals = {} if group_id.partner_id != self.sale_order_id.partner_shipping_id: