mirror of
https://gitlab.com/hibou-io/hibou-odoo/suite.git
synced 2025-01-20 12:37:31 +02:00
Added computed field has_catch_weight to stock.picking model in product_catch_weight module.
Additionally, added filter and group by for `has_catch_weight` to stock.picking search view.
This commit is contained in:
@@ -27,8 +27,12 @@ class AccountInvoiceLine(models.Model):
|
||||
move_lines = self.purchase_line_id.mapped('move_ids.move_line_ids')
|
||||
for move_line in move_lines:
|
||||
qty_done = move_line.qty_done
|
||||
current_qty_done = qty_done + qty_done_total
|
||||
r = move_line.lot_id.catch_weight_ratio
|
||||
ratio = ((ratio * qty_done_total) + (qty_done * r)) / (qty_done + qty_done_total)
|
||||
if current_qty_done == 0:
|
||||
ratio = 0
|
||||
else:
|
||||
ratio = ((ratio * qty_done_total) + (qty_done * r)) / current_qty_done
|
||||
qty_done_total += qty_done
|
||||
catch_weight += move_line.lot_id.catch_weight
|
||||
price = price * ratio
|
||||
|
||||
@@ -8,7 +8,6 @@ class StockProductionLot(models.Model):
|
||||
catch_weight = fields.Float(string='Catch Weight', digits=(10, 4))
|
||||
catch_weight_uom_id = fields.Many2one('product.uom', related='product_id.catch_weight_uom_id')
|
||||
|
||||
|
||||
@api.depends('catch_weight')
|
||||
def _compute_catch_weight_ratio(self):
|
||||
for lot in self:
|
||||
@@ -44,3 +43,14 @@ class StockMoveLine(models.Model):
|
||||
catch_weight_uom_id = fields.Many2one('product.uom', string='Catch Weight UOM')
|
||||
lot_catch_weight = fields.Float(related='lot_id.catch_weight')
|
||||
lot_catch_weight_uom_id = fields.Many2one('product.uom', related='product_id.catch_weight_uom_id')
|
||||
|
||||
|
||||
class StockPicking(models.Model):
|
||||
_inherit = 'stock.picking'
|
||||
|
||||
has_catch_weight = fields.Boolean(string="Has Catch Weight", compute='_compute_has_catch_weight', store=True)
|
||||
|
||||
@api.depends('move_lines.product_catch_weight_uom_id')
|
||||
def _compute_has_catch_weight(self):
|
||||
for picking in self:
|
||||
picking.has_catch_weight = any(picking.mapped('move_lines.product_catch_weight_uom_id'))
|
||||
|
||||
Reference in New Issue
Block a user