|
|
done_pickings = self.filtered(lambda picking: picking.state == 'done')
other_pickings = self - done_pickings
packages_by_pick = defaultdict(int)
packages = self.env['stock.package'].search([('picking_ids', 'in', other_pickings.ids)])
for pack in packages:
for picking in pack.picking_ids:
packages_by_pick[picking] += 1
histories_by_pick = self.env['stock.package.history']._read_group([
('picking_ids', 'in', done_pickings.ids)], ['picking_ids'], ['__count'])
histories_by_pick = dict(histories_by_pick)
for picking in done_pickings:
picking.packages_count = histories_by_pick.get(picking, 0)
for picking in other_pickings:
picking.packages_count = packages_by_pick.get(picking, 0)
|
|