Odoo18-Base/addons/delivery_stock_picking_batch/models/stock_picking_batch.py
2025-01-06 10:57:38 +07:00

24 lines
1.0 KiB
Python

# -*- 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