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