优化合并多条发送销售订单逾期预警

This commit is contained in:
jinling.yang
2024-09-29 17:51:50 +08:00
parent c6065653f0
commit ccd01c9c75
2 changed files with 27 additions and 2 deletions

View File

@@ -2,7 +2,7 @@
<odoo>
<data noupdate="1">
<record id="template_pending_order" model="jikimo.message.template">
<record id="template_pending_order" model="jikimo.message.template">
<field name="name">待接单</field>
<field name="model_id" ref="sale.model_sale_order"/>
<field name="model">sale.order</field>
@@ -27,6 +27,20 @@
事项:{{mrp_production_count}}个制造订单待计划排程
</field>
</record>
<record id="template_sale_order_overdue_warning" model="jikimo.message.template">
<field name="name">销售订单逾期预警</field>
<field name="model_id" ref="sale.model_sale_order"/>
<field name="model">sale.order</field>
<field name="bussiness_node_id" ref="bussiness_sale_order_overdue_warning"/>
<field name="msgtype">markdown</field>
<field name="urgency">normal</field>
<field name="content">### 待排程提醒:
单号:销售订单[{{names}}]({{url}})
事项:共有{{production_count}}个制造订单未加工完成,订单有逾期风险
</field>
</record>
<record id="template_material_purchase_remind" model="jikimo.message.template">
<field name="name">坯料采购提醒</field>
<field name="model_id" ref="purchase.model_purchase_order"/>

View File

@@ -46,6 +46,7 @@ class SFMessageSale(models.Model):
contents = []
url = self.env['ir.config_parameter'].get_param('web.base.url')
for item in message_queue_ids:
i = 0
# 待接单的处理
if item.message_template_id.bussiness_node_id.name == '待接单':
content = super(SFMessageSale, self)._get_message(item)
@@ -64,6 +65,12 @@ class SFMessageSale(models.Model):
url = f"{url}/web#view_type=list&action={action_id}"
content = content[0].replace('{{product_id}}', product).replace('{{url}}', url)
contents.append(content)
elif item.message_template_id.bussiness_node_id.name == '销售订单逾期预警':
sale_order_warning = self.sudo().search([('delivery_warning', '=', 'warning'),('id','=',int(item.res_id))])
# if sale_order_warning:
# i++
#
# if i>1
return contents
# # 销售订单逾期预警
@@ -77,7 +84,11 @@ class SFMessageSale(models.Model):
item.delivery_warning = '告警'
else:
item.delivery_warning = '正常'
sale_order_warning = self.sudo().search([('delivery_warning', 'in', ['告警']), ('deadline_of_delivery', '!=', False)])
sale_order_warning = self.sudo().search([('delivery_warning', '=', 'warning')])
if sale_order_warning:
if
sale_order_warning.add_queue('销售订单逾期预警')
# 销售订单已逾期
def _overdue_func(self):