diff --git a/sf_message/models/sf_message_sale.py b/sf_message/models/sf_message_sale.py index 9907dbc9..fa4ef86f 100644 --- a/sf_message/models/sf_message_sale.py +++ b/sf_message/models/sf_message_sale.py @@ -34,7 +34,7 @@ class SFMessageSale(models.Model): picking_id.procurement_group_id.stock_move_ids.move_orig_ids.purchase_line_id.order_id).ids purchase_order_id.extend(purchase_order_ids) if purchase_order_id: - purchase_order_list = self.env['purchase.order'].search([('id', 'in', purchase_order_id)]) + purchase_order_list = self.env['purchase.order'].sudo().search([('id', 'in', purchase_order_id)]) for purchase_order_info in purchase_order_list: purchase_order_info.add_queue('坯料采购提醒') except Exception as e: @@ -45,7 +45,7 @@ class SFMessageSale(models.Model): def _get_message(self, message_queue_ids): contents = [] bussiness_node = None - url = self.env['ir.config_parameter'].get_param('web.base.url') + url = self.env['ir.config_parameter'].sudo().get_param('web.base.url') current_time_strf = datetime.now().strftime("%Y-%m-%d %H:%M:%S") current_time = self.env['sf.sync.common'].sudo().get_add_time(current_time_strf) current_time_datetime = datetime.strptime(current_time, '%Y-%m-%d %H:%M:%S') @@ -60,7 +60,7 @@ class SFMessageSale(models.Model): 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))]) + sale_order_line = self.env['sale.order.line'].sudo().search([('order_id', '=', int(item.res_id))]) product = sale_order_line[0].product_id.name if len(sale_order_line) == 1 else '%s...' % \ sale_order_line[ 0].product_id.name @@ -106,7 +106,7 @@ class SFMessageSale(models.Model): sale_order = self.sudo().search( [('state', 'in', ['sale']), ('deadline_of_delivery', '!=', False), ('delivery_status', '!=', 'full')]) for item in sale_order: - production = self.env['mrp.production'].search([('origin', '=', item.name)]) + production = self.env['mrp.production'].sudo().search([('origin', '=', item.name)]) production_not_done = production.filtered(lambda p: p.state not in ['done', 'scrap', 'cancel']) production_done_count = len(production.filtered(lambda p: p.state in ['done', 'scrap', 'cancel'])) if (len(production_not_done) >= 1 and len(production_not_done) != item.mrp_production_count) or len( @@ -146,11 +146,11 @@ class SFMessageSale(models.Model): for wo in overdue_orders: business_node_id = business_node_ids.get(wo.delivery_warning) if business_node_id: - message_template = self.env["jikimo.message.template"].search([ + message_template = self.env["jikimo.message.template"].sudo().search([ ("model", "=", self._name), ("bussiness_node_id", "=", business_node_id) ], limit=1) - sale_order_has = self.env['jikimo.message.queue'].search([ + sale_order_has = self.env['jikimo.message.queue'].sudo().search([ ('res_id', '=', wo.id), ('message_status', '=', 'pending'), ('message_template_id', '=', message_template.id) diff --git a/sf_message/models/sf_message_stock_picking.py b/sf_message/models/sf_message_stock_picking.py index 9d7c7f0e..6e80c670 100644 --- a/sf_message/models/sf_message_stock_picking.py +++ b/sf_message/models/sf_message_stock_picking.py @@ -29,14 +29,14 @@ class SFMessageStockPicking(models.Model): [('origin', '=', record.origin), ('state', '!=', 'done'), ('picking_type_id.sequence_code', '=', 'SFP')]) if not stock_picking_sfp: - stock_picking_send = self.env["jikimo.message.queue"].search([('res_id', '=', record.id)]) + stock_picking_send = self.env["jikimo.message.queue"].sudo().search([('res_id', '=', record.id)]) if not stock_picking_send: record.add_queue('订单发货提醒') def deal_stock_picking_sfp(self, message_queue_id): # 处理订单发货提醒 content = None - stock_picking = self.env['stock.picking'].search([('id', '=', int(message_queue_id.res_id))]) - stock_picking_out = self.env['stock.picking'].search( + stock_picking = self.env['stock.picking'].sudo().search([('id', '=', int(message_queue_id.res_id))]) + stock_picking_out = self.env['stock.picking'].sudo().search( [('origin', '=', stock_picking.origin), ('state', '=', 'assigned'), ('picking_type_id.sequence_code', '=', 'OUT')]) if stock_picking_out and len(stock_picking_out) > 0: @@ -54,10 +54,10 @@ class SFMessageStockPicking(models.Model): i = 0 if message_queue_id.message_template_id.name == '坯料发料提醒': content = message_queue_id.message_template_id.content - stock_picking_line = self.env['stock.picking'].search([('id', '=', int(message_queue_id.res_id))]) - mrp_production_info = self.env['mrp.production'].search( + stock_picking_line = self.env['stock.picking'].sudo().search([('id', '=', int(message_queue_id.res_id))]) + mrp_production_info = self.env['mrp.production'].sudo().search( [('name', '=', stock_picking_line.origin)]) - mrp_production_list = self.env['mrp.production'].search( + mrp_production_list = self.env['mrp.production'].sudo().search( [('product_id', '=', mrp_production_info.product_id.id)]) for mrp_production_line in mrp_production_list: picking_ids = mrp_production_line.picking_ids @@ -87,9 +87,9 @@ class SFMessageStockPicking(models.Model): return super(SFMessageStockPicking, self).get_special_url(id, tmplate_name, special_name, model_id) def request_url(self): - url = self.env['ir.config_parameter'].get_param('web.base.url') + url = self.env['ir.config_parameter'].sudo().get_param('web.base.url') action_id = self.env.ref('stock.stock_picking_type_action').id - menu_id = self.env['ir.model.data'].search([('name', '=', 'module_theme_treehouse')]).id + menu_id = self.env['ir.model.data'].sudo().search([('name', '=', 'module_theme_treehouse')]).id # 查询参数 params = {'menu_id': menu_id, 'action': action_id, 'model': 'stock.picking', 'view_type': 'kanban'} @@ -100,9 +100,9 @@ class SFMessageStockPicking(models.Model): return full_url def request_url1(self, id): - url = self.env['ir.config_parameter'].get_param('web.base.url') + url = self.env['ir.config_parameter'].sudo().get_param('web.base.url') action_id = self.env.ref('stock.action_picking_tree_all').id - menu_id = self.env['ir.model.data'].search([('name', '=', 'module_theme_treehouse')]).id + menu_id = self.env['ir.model.data'].sudo().search([('name', '=', 'module_theme_treehouse')]).id # 查询参数 params = {'id': id, 'menu_id': menu_id, 'action': action_id, 'model': 'stock.picking', 'view_type': 'form'} diff --git a/sf_message/models/sf_message_workorder.py b/sf_message/models/sf_message_workorder.py index 4f607802..7df3ba0a 100644 --- a/sf_message/models/sf_message_workorder.py +++ b/sf_message/models/sf_message_workorder.py @@ -26,7 +26,7 @@ class SFMessageWork(models.Model): contents = [] product_id = [] bussiness_node = None - url = self.env['ir.config_parameter'].get_param('web.base.url') + url = self.env['ir.config_parameter'].sudo().get_param('web.base.url') current_time_strf = datetime.now().strftime("%Y-%m-%d %H:%M:%S") current_time = self.env['sf.sync.common'].sudo().get_add_time(current_time_strf) current_time_datetime = datetime.strptime(current_time, '%Y-%m-%d %H:%M:%S') @@ -39,8 +39,8 @@ class SFMessageWork(models.Model): for message_queue_id in message_queue_ids: if message_queue_id.message_template_id.name == '工单已下发通知': content = message_queue_id.message_template_id.content - mrp_workorder_line = self.env['mrp.workorder'].search([('id', '=', int(message_queue_id.res_id))]) - mrp_workorder_list = self.env['mrp.workorder'].search( + mrp_workorder_line = self.env['mrp.workorder'].sudo().search([('id', '=', int(message_queue_id.res_id))]) + mrp_workorder_list = self.env['mrp.workorder'].sudo().search( [('product_id', '=', mrp_workorder_line.product_id.id), ('state', '=', 'ready'), ('routing_type', '=', '装夹预调')]) if len(mrp_workorder_list) > 0 and mrp_workorder_line.product_id.id not in product_id: @@ -84,10 +84,10 @@ class SFMessageWork(models.Model): return contents def request_url(self): - url = self.env['ir.config_parameter'].get_param('web.base.url') + url = self.env['ir.config_parameter'].sudo().get_param('web.base.url') action_id = self.env.ref('sf_message.mrp_workorder_issued_action').id - menu_id = self.env['ir.model.data'].search([('name', '=', 'module_stock_dropshipping')]).id - active_id = self.env['mrp.workcenter'].search([('name', '=', '工件装夹中心')]).id + menu_id = self.env['ir.model.data'].sudo().search([('name', '=', 'module_stock_dropshipping')]).id + active_id = self.env['mrp.workcenter'].sudo().search([('name', '=', '工件装夹中心')]).id # 查询参数 params = {'menu_id': menu_id, 'action': action_id, 'model': 'mrp.workorder', 'view_type': 'list', 'active_id': active_id}