From 722a044707015538d17357ba236d723d8afc8e98 Mon Sep 17 00:00:00 2001 From: liaodanlong Date: Fri, 15 Nov 2024 11:37:14 +0800 Subject: [PATCH 1/7] =?UTF-8?q?=E7=A7=BB=E5=8A=A8deadline=5Fof=5Fdelivery?= =?UTF-8?q?=20=E6=96=B9=E6=B3=95=E4=BD=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sf_manufacturing/models/mrp_production.py | 43 ++++++++++++----------- 1 file changed, 22 insertions(+), 21 deletions(-) diff --git a/sf_manufacturing/models/mrp_production.py b/sf_manufacturing/models/mrp_production.py index d042db55..1145679c 100644 --- a/sf_manufacturing/models/mrp_production.py +++ b/sf_manufacturing/models/mrp_production.py @@ -34,6 +34,28 @@ class MrpProduction(models.Model): tool_state_remark = fields.Text(string='功能刀具状态备注(缺刀)', compute='_compute_tool_state_remark', store=True) tool_state_remark2 = fields.Text(string='功能刀具状态备注(无效刀)', readonly=True) + @api.depends('procurement_group_id.mrp_production_ids.move_dest_ids.group_id.sale_id') + def _compute_deadline_of_delivery(self): + for production in self: + # 确保 procurement_group_id 和相关字段存在 + if production.procurement_group_id: + # 获取相关的 sale_id + sale_order_id = production.procurement_group_id.mrp_production_ids.mapped( + 'move_dest_ids.group_id.sale_id') + + # 确保 sale_order_id 是有效的 ID 列表 + if sale_order_id: + # 获取 sale.order 记录 + sale_id = self.env['sale.order'].sudo().browse(sale_order_id.ids) # 使用 mapped 返回的 ID 列表 + + # 处理 sale_id + if sale_id: + # 假设我们只需要第一个 sale_id + production.deadline_of_delivery = sale_id[0].deadline_of_delivery if sale_id else False + else: + production.deadline_of_delivery = False + else: + production.deadline_of_delivery = False def _compute_default_delivery_status(self): try: if self.state == 'cancel': @@ -123,28 +145,7 @@ class MrpProduction(models.Model): else: return 0.0 - @api.depends('procurement_group_id.mrp_production_ids.move_dest_ids.group_id.sale_id') - def _compute_deadline_of_delivery(self): - for production in self: - # 确保 procurement_group_id 和相关字段存在 - if production.procurement_group_id: - # 获取相关的 sale_id - sale_order_id = production.procurement_group_id.mrp_production_ids.mapped( - 'move_dest_ids.group_id.sale_id') - # 确保 sale_order_id 是有效的 ID 列表 - if sale_order_id: - # 获取 sale.order 记录 - sale_id = self.env['sale.order'].sudo().browse(sale_order_id.ids) # 使用 mapped 返回的 ID 列表 - - # 处理 sale_id - if sale_id: - # 假设我们只需要第一个 sale_id - production.deadline_of_delivery = sale_id[0].deadline_of_delivery if sale_id else False - else: - production.deadline_of_delivery = False - else: - production.deadline_of_delivery = False @api.depends('workorder_ids.tool_state_remark') def _compute_tool_state_remark(self): From d53f3837c3cd4c9e30a55388ff274a3559eb946b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=83=A1=E5=B0=A7?= Date: Tue, 19 Nov 2024 08:59:52 +0800 Subject: [PATCH 2/7] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=9D=AF=E6=96=99?= =?UTF-8?q?=E5=86=97=E4=BD=99=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../views/sale_order_views.xml | 2 +- sf_base/models/base.py | 7 +++--- sf_base/views/base_view.xml | 22 +++++++++++++++++++ sf_base/views/menu_view.xml | 11 ++++++++-- sf_manufacturing/__manifest__.py | 2 +- .../migrations/1.1/pre-migrate.py | 6 +++++ sf_manufacturing/models/model_type.py | 2 +- sf_manufacturing/models/product_template.py | 12 +++++----- sf_manufacturing/models/stock.py | 14 +++++++----- sf_mrs_connect/models/sync_common.py | 2 ++ 10 files changed, 60 insertions(+), 20 deletions(-) create mode 100644 sf_manufacturing/migrations/1.1/pre-migrate.py diff --git a/jikimo_sale_multiple_supply_methods/views/sale_order_views.xml b/jikimo_sale_multiple_supply_methods/views/sale_order_views.xml index 1cf6eb3f..8b1a85d0 100644 --- a/jikimo_sale_multiple_supply_methods/views/sale_order_views.xml +++ b/jikimo_sale_multiple_supply_methods/views/sale_order_views.xml @@ -22,7 +22,7 @@ confirm_to_supply_method -