# -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. from odoo import models class StockPickingBatch(models.Model): _inherit = "stock.picking.batch" def _is_picking_auto_mergeable(self, picking): """ Verifies if a picking can be safely inserted into the batch without violating auto_batch_constrains. """ res = super()._is_picking_auto_mergeable(picking) if self.picking_type_id.batch_max_weight: batch_weight = sum(self.picking_ids.mapped('weight')) res = res and (batch_weight + picking.weight <= self.picking_type_id.batch_max_weight) return res def _is_line_auto_mergeable(self, num_of_moves=False, num_of_pickings=False, weight=False): res = super()._is_line_auto_mergeable(num_of_moves, num_of_pickings, weight) if self.picking_type_id.batch_max_weight: wave_weight = sum(self.move_ids.mapped('weight')) res = res and (wave_weight + weight <= self.picking_type_id.batch_max_weight) return res