1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
# -*- 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
|