35 lines
1.4 KiB
Python
35 lines
1.4 KiB
Python
# -*- 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
|