diff --git a/sf_message/__manifest__.py b/sf_message/__manifest__.py
index 1cc18aaa..e767ec2d 100644
--- a/sf_message/__manifest__.py
+++ b/sf_message/__manifest__.py
@@ -11,10 +11,12 @@
""",
'category': 'sf',
'website': 'https://www.sf.jikimo.com',
- 'depends': ['sale', 'purchase', 'sf_plan', 'jikimo_message_notify','stock', 'sf_tool_management', 'sf_manufacturing', 'sf_hr'],
+ 'depends': ['sale', 'purchase', 'sf_plan', 'jikimo_message_notify', 'stock'],
'data': [
'data/bussiness_node.xml',
+ # 'data/cron_data.xml',
'data/template_data.xml',
+
],
'test': [
],
diff --git a/sf_message/data/bussiness_node.xml b/sf_message/data/bussiness_node.xml
index 7d66e8d2..f4a6ddf4 100644
--- a/sf_message/data/bussiness_node.xml
+++ b/sf_message/data/bussiness_node.xml
@@ -1,6 +1,7 @@
+
待接单
sale.order
@@ -10,6 +11,17 @@
确认接单
sale.order
+
+
+
+
+
+
+
+
+
+
+
调拨入库
stock.picking
@@ -30,9 +42,48 @@
坯料发料提醒
stock.picking
+
+
工单已下发通知
mrp.workorder
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/sf_message/data/cron_data.xml b/sf_message/data/cron_data.xml
new file mode 100644
index 00000000..f69dce7b
--- /dev/null
+++ b/sf_message/data/cron_data.xml
@@ -0,0 +1,160 @@
+
+
+
+ 销售订单逾期预警
+
+ code
+ model._overdue_warning_func()
+ 1
+ minutes
+ -1
+
+
+
+
+
+
+ 销售订单已逾期
+
+ code
+ model._overdue_func()
+ 1
+ minutes
+ -1
+
+
+
+
+
+
+ 装夹预调工单逾期预警
+
+ code
+ model._overdue_warning_func()
+ 1
+ minutes
+ -1
+
+
+
+
+
+
+ 工单已逾期
+
+ code
+ model._overdue_func()
+ 1
+ minutes
+ -1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/sf_message/data/template_data.xml b/sf_message/data/template_data.xml
index 868b3f52..3033e687 100644
--- a/sf_message/data/template_data.xml
+++ b/sf_message/data/template_data.xml
@@ -1,6 +1,32 @@
+
+
+ 待接单
+
+ sale.order
+
+ markdown
+ normal
+ ### 待接单提醒:
+单号:销售订单[{{name}}]({{url}})
+事项:请确认是否接单。
+
+
+
+
+ 确认接单
+
+ sale.order
+
+ markdown
+ normal
+ ### 待排程提醒:
+单号:产品[{{product_id}}]({{url}})
+事项:{{mrp_production_count}}个制造订单待计划排程
+
+
坯料采购提醒
diff --git a/sf_message/models/sf_message_sale.py b/sf_message/models/sf_message_sale.py
index b838134f..e8fef9ed 100644
--- a/sf_message/models/sf_message_sale.py
+++ b/sf_message/models/sf_message_sale.py
@@ -40,21 +40,34 @@ 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
+ #
+ # # 销售订单已逾期
+ # def _overdue_func(self):
+ # return 1
diff --git a/sf_message/models/sf_message_workorder.py b/sf_message/models/sf_message_workorder.py
index 6659ab52..d2e0fba2 100644
--- a/sf_message/models/sf_message_workorder.py
+++ b/sf_message/models/sf_message_workorder.py
@@ -53,3 +53,4 @@ class SFMessageWork(models.Model):
# 拼接URL
full_url = full_url + "web#" + query_string
return full_url
+