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 736e3e91..9cddd04c 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'})
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,