diff --git a/sf_manufacturing/models/mrp_production.py b/sf_manufacturing/models/mrp_production.py
index 8bec3e65..04d4b2c0 100644
--- a/sf_manufacturing/models/mrp_production.py
+++ b/sf_manufacturing/models/mrp_production.py
@@ -774,11 +774,11 @@ class MrpProduction(models.Model):
self.ensure_one()
iot_code = self.env['stock.lot']._get_next_serial(self.company_id, self.product_id) or self.env[
'ir.sequence'].next_by_code('stock.lot.serial')
- iot_code_name = re.sub('[\u4e00-\u9fa5]', "", iot_code)
+ # iot_code_name = re.sub('[\u4e00-\u9fa5]', "", iot_code)
self.lot_producing_id = self.env['stock.lot'].create({
'product_id': self.product_id.id,
'company_id': self.company_id.id,
- 'name': iot_code_name,
+ 'name': iot_code,
})
if self.move_finished_ids.filtered(lambda m: m.product_id == self.product_id).move_line_ids:
self.move_finished_ids.filtered(
diff --git a/sf_message/data/template_data.xml b/sf_message/data/template_data.xml
index 4d580127..63e51101 100644
--- a/sf_message/data/template_data.xml
+++ b/sf_message/data/template_data.xml
@@ -262,7 +262,7 @@
markdown
normal
### {{picking_type_name}}待处理提醒:
-单号:{{name}}
+单号:[{{name}}]({{request_url}})
事项:质量检查已完成
diff --git a/sf_message/models/sf_message_stock_picking.py b/sf_message/models/sf_message_stock_picking.py
index 7179a4eb..b469e88c 100644
--- a/sf_message/models/sf_message_stock_picking.py
+++ b/sf_message/models/sf_message_stock_picking.py
@@ -51,7 +51,8 @@ class SFMessageStockPicking(models.Model):
all_ready_or_done = all(picking.state in ['assigned', 'done'] for picking in stock_picking_list)
if all_ready_or_done:
mrp_production.add_queue('工序外协发料通知')
- if all(qc.quality_state in ['pass', 'fail'] for qc in record.quality_check_ids):
+ if record.quality_check_ids and all(
+ qc.quality_state in ['pass', 'fail'] for qc in record.quality_check_ids):
record.add_queue('调拨单质检完成提醒')
except Exception as e:
logging.info('add_queue_compute_state error:%s' % e)
@@ -92,8 +93,12 @@ class SFMessageStockPicking(models.Model):
content = message_queue_id.message_template_id.content
stock_picking_line = self.env['stock.picking'].sudo().search(
[('id', '=', int(message_queue_id.res_id))])
+ url = self.env['ir.config_parameter'].sudo().get_param('web.base.url')
+ action_id = self.env.ref('stock.action_picking_tree_ready').id
+ menu_id = self.env.ref('stock.menu_stock_root').id
+ url_with_id = f"{url}/web#view_type=form&action={action_id}&menu_id={menu_id}&id={stock_picking_line.id}"
content = content.replace('{{picking_type_name}}', stock_picking_line.picking_type_id.name).replace(
- '{{name}}', stock_picking_line.name)
+ '{{name}}', stock_picking_line.name).replace('{{request_url}}', url_with_id)
contents.append(content)
return contents, message_queue_ids