diff --git a/sf_manufacturing/models/stock.py b/sf_manufacturing/models/stock.py index 82c3db26..6363cbd3 100644 --- a/sf_manufacturing/models/stock.py +++ b/sf_manufacturing/models/stock.py @@ -694,8 +694,8 @@ class StockPicking(models.Model): picking_in = self.create( moves_in._get_new_picking_values_Res(item, workorder, 'WH/OCIN/')) # pick_ids.append(picking_in.id) - moves_in.write( - {'picking_id': picking_in.id, 'state': 'waiting'}) + moves_in.write({'picking_id': picking_in.id}) + moves_in._action_confirm() moves_in._assign_picking_post_process(new=new_picking) # self.env.context.get('default_production_id') moves_out = self.env['stock.move'].sudo().with_context(context).create( @@ -705,8 +705,8 @@ class StockPicking(models.Model): picking_out = self.create( moves_out._get_new_picking_values_Res(item, workorder, 'WH/OCOUT/')) # pick_ids.append(picking_out.id) - moves_out.write( - {'picking_id': picking_out.id, 'state': 'waiting'}) + moves_out.write({'picking_id': picking_out.id}) + moves_out._action_confirm() moves_out._assign_picking_post_process(new=new_picking) @api.depends('move_type', 'immediate_transfer', 'move_ids.state', 'move_ids.picking_id') diff --git a/sf_message/models/sf_message_stock_picking.py b/sf_message/models/sf_message_stock_picking.py index c60a43e1..c6f91b93 100644 --- a/sf_message/models/sf_message_stock_picking.py +++ b/sf_message/models/sf_message_stock_picking.py @@ -30,7 +30,9 @@ class SFMessageStockPicking(models.Model): for record in self: if (record.state == 'assigned' and record.picking_type_id.sequence_code == 'PC' and record.product_id.categ_id.type == '坯料'): - record.add_queue('坯料发料提醒') + jikimo_message_queue = record.get_message_queue(record.id) + if not jikimo_message_queue: + record.add_queue('坯料发料提醒') if record.picking_type_id.sequence_code == 'SFP' and record.state == 'done': stock_picking_sfp = record.env['stock.picking'].search( @@ -129,3 +131,14 @@ class SFMessageStockPicking(models.Model): # 拼接URL full_url = url + "/web#" + query_string return full_url + + def get_message_queue(self, res_id): + business_node_id = self.env.ref('sf_message.bussiness_material_picking_remind').id + message_template = self.env["jikimo.message.template"].sudo().search([ + ("model", "=", self._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 diff --git a/sf_warehouse/views/change_stock_move_views.xml b/sf_warehouse/views/change_stock_move_views.xml index 8feacf75..641a4ec2 100644 --- a/sf_warehouse/views/change_stock_move_views.xml +++ b/sf_warehouse/views/change_stock_move_views.xml @@ -157,7 +157,9 @@ groups="sf_base.group_sf_stock_user"/> -