From 2b3375ad415281162d19fd94db94368755a1b535 Mon Sep 17 00:00:00 2001 From: "jinling.yang" Date: Thu, 24 Oct 2024 16:40:25 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=94=80=E5=94=AE?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=E5=AE=8C=E6=88=90=E6=97=B6=E6=95=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sf_message/data/cron_data.xml | 13 +++++++++++++ sf_message/models/sf_message_sale.py | 5 +++++ 2 files changed, 18 insertions(+) diff --git a/sf_message/data/cron_data.xml b/sf_message/data/cron_data.xml index 736e3e91..2b3820fd 100644 --- a/sf_message/data/cron_data.xml +++ b/sf_message/data/cron_data.xml @@ -13,6 +13,19 @@ + + 检查销售订单是否完成并恢复正常时效 + + code + model._recover_sale_time_warning_func() + 10 + minutes + -1 + + + + + 检查工单是否已逾期预警和逾期 diff --git a/sf_message/models/sf_message_sale.py b/sf_message/models/sf_message_sale.py index 20dc7b4f..bf5704e7 100644 --- a/sf_message/models/sf_message_sale.py +++ b/sf_message/models/sf_message_sale.py @@ -158,3 +158,8 @@ class SFMessageSale(models.Model): if not sale_order_has: message_name = '销售订单逾期预警' if wo.delivery_warning == 'warning' else '销售订单已逾期' wo.add_queue(message_name) + + def _recover_sale_time_warning_func(self): + sale_order_done = self.sudo().search([('state', 'in', ['sale']), ('delivery_status', '=', 'full')]) + sale_order_overdue = sale_order_done.filtered(lambda x: x.delivery_warning in ['overdue', 'warning']) + sale_order_overdue.write({'delivery_warning': 'normal'}) From 30e8d04b705c3945eea3905366e2a66dc119fdf4 Mon Sep 17 00:00:00 2001 From: "jinling.yang" Date: Thu, 24 Oct 2024 16:50:27 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E9=94=80=E5=94=AE?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=E6=98=AF=E5=90=A6=E5=AE=8C=E6=88=90=E5=B9=B6?= =?UTF-8?q?=E6=81=A2=E5=A4=8D=E6=AD=A3=E5=B8=B8=E6=97=B6=E6=95=88=E5=AE=9A?= =?UTF-8?q?=E6=97=B6=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sf_manufacturing/models/mrp_workorder.py | 5 +++-- sf_message/data/cron_data.xml | 2 +- sf_sale/models/sale_order.py | 3 ++- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/sf_manufacturing/models/mrp_workorder.py b/sf_manufacturing/models/mrp_workorder.py index 01977926..d2613b9a 100644 --- a/sf_manufacturing/models/mrp_workorder.py +++ b/sf_manufacturing/models/mrp_workorder.py @@ -59,7 +59,8 @@ class ResMrpWorkOrder(models.Model): compute='_compute_state', store=True, default='pending', copy=False, readonly=True, recursive=True, index=True, tracking=True) - delivery_warning = fields.Selection([('normal', '正常'), ('warning', '告警'), ('overdue', '逾期')], string='时效') + delivery_warning = fields.Selection([('normal', '正常'), ('warning', '告警'), ('overdue', '逾期')], string='时效', + tracking=True) @api.depends('production_id.manual_quotation') def _compute_manual_quotation(self): @@ -1842,7 +1843,7 @@ class WorkPieceDelivery(models.Model): return is_free else: raise UserError("接驳站暂未反馈站点实时状态,请稍后再试") - + def delivery_avg(self): is_agv_task_dispatch = self.env['ir.config_parameter'].sudo().get_param('is_agv_task_dispatch') if is_agv_task_dispatch: diff --git a/sf_message/data/cron_data.xml b/sf_message/data/cron_data.xml index 2b3820fd..9cddd04c 100644 --- a/sf_message/data/cron_data.xml +++ b/sf_message/data/cron_data.xml @@ -15,7 +15,7 @@ 检查销售订单是否完成并恢复正常时效 - + code model._recover_sale_time_warning_func() 10 diff --git a/sf_sale/models/sale_order.py b/sf_sale/models/sale_order.py index d3ec1aa0..acd1d60c 100644 --- a/sf_sale/models/sale_order.py +++ b/sf_sale/models/sale_order.py @@ -55,7 +55,8 @@ class ReSaleOrder(models.Model): store=True, readonly=False, copy=False, precompute=True, states=READONLY_FIELD_STATES, default=fields.Datetime.now) - delivery_warning = fields.Selection([('normal', '正常'), ('warning', '告警'), ('overdue', '逾期')], string='时效') + delivery_warning = fields.Selection([('normal', '正常'), ('warning', '告警'), ('overdue', '逾期')], string='时效', + tracking=True) # 业务平台分配工厂后在智能工厂先创建销售订单 def sale_order_create(self, company_id, delivery_name, delivery_telephone, delivery_address,