# -*- coding: utf-8 -*- import logging from odoo import models, fields, api, _ class SFMessageQualityCheck(models.Model): _name = 'quality.check' _inherit = ['quality.check', 'jikimo.message.dispatch'] @api.model_create_multi def create(self, vals_list): result = super().create(vals_list) try: # 判断是否为web页面创建请求 is_web_request = self.env.context.get('is_web_request', False) if not is_web_request: for obj in result: jikimo_message_queue = self.get_message_queue(obj.product_id.id) if not jikimo_message_queue: obj.product_id.add_queue('待质检提醒') except Exception as e: logging.info('add_queue待质检提醒 error:%s' % e) return result def get_message_queue(self, res_id): business_node_id = self.env.ref('sf_message.bussiness_quality_check').id message_template = self.env["jikimo.message.template"].sudo().search([ ("name", "=", '待质检提醒'), ("bussiness_node_id", "=", business_node_id) ], limit=1) jikimo_message_queue = self.env['jikimo.message.queue'].sudo().search( [('res_id', '=', res_id), ("message_status", "in", ("pending", "sent")), ('message_template_id', '=', message_template.id)]) return jikimo_message_queue