diff --git a/sf_message/data/template_data.xml b/sf_message/data/template_data.xml index 057dc009..8a01f5f1 100644 --- a/sf_message/data/template_data.xml +++ b/sf_message/data/template_data.xml @@ -97,7 +97,7 @@ timing normal ### 工单逾期预警 -事项:共有[{{warning_num}}]({{url}})工单有逾期风险 +事项:共有[{{warning_num}}]({{url}})个工单有逾期风险 @@ -109,7 +109,7 @@ timing normal ### 工单已逾期提醒 -事项:共有[{{overdue_num}}]({{url}})工单已逾期 +事项:共有[{{overdue_num}}]({{url}})个工单已逾期 @@ -121,7 +121,7 @@ timing normal ### 工单逾期预警 -事项:共有[{{warning_num}}]({{url}})工单有逾期风险 +事项:共有[{{warning_num}}]({{url}})个工单有逾期风险 @@ -133,7 +133,7 @@ timing normal ### 工单已逾期提醒 -事项:共有[{{overdue_num}}]({{url}})工单已逾期 +事项:共有[{{overdue_num}}]({{url}})个工单已逾期 @@ -145,7 +145,7 @@ timing normal ### 工单逾期预警 -事项:共有[{{warning_num}}]({{url}})工单有逾期风险 +事项:共有[{{warning_num}}]({{url}})个工单有逾期风险 @@ -157,7 +157,7 @@ timing normal ### 工单已逾期提醒 -事项:共有[{{overdue_num}}]({{url}})工单已逾期 +事项:共有[{{overdue_num}}]({{url}})个工单已逾期 @@ -169,7 +169,7 @@ timing normal ### 工单逾期预警 -事项:共有[{{warning_num}}]({{url}})工单有逾期风险 +事项:共有[{{warning_num}}]({{url}})个工单有逾期风险 @@ -181,7 +181,7 @@ timing normal ### 工单已逾期提醒 -事项:共有[{{overdue_num}}]({{url}})工单已逾期 +事项:共有[{{overdue_num}}]({{url}})个工单已逾期 diff --git a/sf_message/models/sf_message_sale.py b/sf_message/models/sf_message_sale.py index bf5704e7..9907dbc9 100644 --- a/sf_message/models/sf_message_sale.py +++ b/sf_message/models/sf_message_sale.py @@ -162,4 +162,11 @@ class SFMessageSale(models.Model): 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'}) + if sale_order_overdue: + sale_order_overdue.write({'delivery_warning': 'normal'}) + message_queue_ids = self.env["jikimo.message.queue"].sudo().search([ + ("message_status", "=", "pending"), + ("res_id", "in", [item.id for item in sale_order_overdue]) + ]) + if message_queue_ids: + message_queue_ids.write({'message_status': 'cancel'}) diff --git a/sf_message/models/sf_message_workorder.py b/sf_message/models/sf_message_workorder.py index dbf65499..1786a796 100644 --- a/sf_message/models/sf_message_workorder.py +++ b/sf_message/models/sf_message_workorder.py @@ -69,7 +69,7 @@ class SFMessageWork(models.Model): search_condition = [ ('delivery_warning', '=', 'warning')] if bussiness_node in template_names['预警'] else [ ('delivery_warning', '=', 'overdue')] - record = self.sudo().search(search_condition + [('id', '=', int(item.res_id))]) + record = self.sudo().search(search_condition + [('id', '=', int(message_queue_id.res_id))]) if record: i += 1 if i >= 1: @@ -164,4 +164,11 @@ class SFMessageWork(models.Model): def _recover_time_warning_func(self): workorder_done = self.env['mrp.workorder'].search([("state", "in", ["done", "rework", "cancel"])]) workorder_overdue = workorder_done.filtered(lambda x: x.delivery_warning in ['overdue', 'warning']) - workorder_overdue.write({'delivery_warning': 'normal'}) + if workorder_overdue: + workorder_overdue.write({'delivery_warning': 'normal'}) + message_queue_ids = self.env["jikimo.message.queue"].sudo().search([ + ("message_status", "=", "pending"), + ("res_id", "in", [item.id for item in workorder_overdue]) + ]) + if message_queue_ids: + message_queue_ids.write({'message_status': 'cancel'})