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'})