Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/销售订单和工单逾期消息推送

# Conflicts:
#	sf_message/__manifest__.py
#	sf_message/data/bussiness_node.xml
#	sf_message/models/sf_message_sale.py
This commit is contained in:
jinling.yang
2024-09-29 15:43:19 +08:00
26 changed files with 502 additions and 426 deletions

View File

@@ -41,26 +41,30 @@ class SFMessageSale(models.Model):
# 继承并重写jikimo.message.dispatch的_get_message()
def _get_message(self, message_queue_ids):
res = super(SFMessageSale, self)._get_message(message_queue_ids)
new_res = []
processed_messages = set() # 用于跟踪已经处理过的消息
contents = []
url = self.env['ir.config_parameter'].get_param('web.base.url')
for item in message_queue_ids:
if item.message_template_id.bussiness_node_id.name == '确认接单':
# 待接单的处理
if item.message_template_id.bussiness_node_id.name == '待接单':
content = super(SFMessageSale, self)._get_message(item)
action_id = self.env.ref('sale.action_quotations_with_onboarding').id
url = f"{url}/web#id={item.res_id}view_type=form&action={action_id}"
content = content[0].replace('{{url}}', url)
contents.append(content)
# 确认接单的处理
elif item.message_template_id.bussiness_node_id.name == '确认接单':
content = super(SFMessageSale, self)._get_message(item)
sale_order_line = self.env['sale.order.line'].search([('order_id', '=', int(item.res_id))])
if len(sale_order_line) == 1:
product = sale_order_line[0].product_id.name
elif len(sale_order_line) > 1:
product = '%s...' % sale_order_line[0].product_id.name
for message in res:
message_text = message.replace('{{product_id}}', product)
if message_text not in processed_messages:
new_res.append(message_text)
processed_messages.add(message_text)
if new_res:
res = new_res
return res
product = sale_order_line[0].product_id.name if len(sale_order_line) == 1 else '%s...' % \
sale_order_line[
0].product_id.name
action_id = self.env.ref('sf_plan.sf_production_plan_action1').id
url = f"{url}/web#view_type=list&action={action_id}"
content = content[0].replace('{{product_id}}', product).replace('{{url}}', url)
contents.append(content)
return contents
# 销售订单逾期预警
# # 销售订单逾期预警
def _overdue_warning_func(self):
sale_order_
return 1
@@ -68,3 +72,4 @@ class SFMessageSale(models.Model):
# 销售订单已逾期
def _overdue_func(self):
return 1