[FIX]consistency group vs line in the picking count methods

This commit is contained in:
Aaron Henriquez
2019-07-15 11:43:23 +02:00
committed by ahenriquez
parent c6fa2649da
commit b42ee3da29

View File

@@ -19,18 +19,28 @@ class RmaOrder(models.Model):
@api.multi @api.multi
def _compute_in_shipment_count(self): def _compute_in_shipment_count(self):
for rec in self: for rec in self:
rec.in_shipment_count = len( picking_ids = []
rec.rma_line_ids.mapped('move_ids').filtered( for line in rec.rma_line_ids:
lambda m: m.location_dest_id.usage == 'internal').mapped( for move in line.move_ids:
'picking_id')) if move.location_dest_id.usage == 'internal':
picking_ids.append(move.picking_id.id)
else:
if line.customer_to_supplier:
picking_ids.append(move.picking_id.id)
shipments = list(set(picking_ids))
line.in_shipment_count = len(shipments)
@api.multi @api.multi
def _compute_out_shipment_count(self): def _compute_out_shipment_count(self):
picking_ids = []
for rec in self: for rec in self:
rec.out_shipment_count = len( for line in rec.rma_line_ids:
rec.rma_line_ids.mapped('move_ids').filtered( for move in line.move_ids:
lambda m: m.location_id.usage == 'internal').mapped( if move.location_dest_id.usage in ('supplier', 'customer'):
'picking_id')) if not line.customer_to_supplier:
picking_ids.append(move.picking_id.id)
shipments = list(set(picking_ids))
line.out_shipment_count = len(shipments)
@api.multi @api.multi
def _compute_supplier_line_count(self): def _compute_supplier_line_count(self):
@@ -103,16 +113,12 @@ class RmaOrder(models.Model):
action = self.env.ref('stock.action_picking_tree_all') action = self.env.ref('stock.action_picking_tree_all')
result = action.read()[0] result = action.read()[0]
picking_ids = [] picking_ids = []
suppliers = self.env.ref('stock.stock_location_suppliers')
customers = self.env.ref('stock.stock_location_customers')
for line in self.rma_line_ids: for line in self.rma_line_ids:
if line.type == 'customer': for move in line.move_ids:
for move in line.move_ids: if move.location_dest_id.usage == 'internal':
if move.picking_id.location_id == customers: picking_ids.append(move.picking_id.id)
picking_ids.append(move.picking_id.id) else:
else: if line.customer_to_supplier:
for move in line.move_ids:
if move.picking_id.location_id == suppliers:
picking_ids.append(move.picking_id.id) picking_ids.append(move.picking_id.id)
if picking_ids: if picking_ids:
shipments = list(set(picking_ids)) shipments = list(set(picking_ids))
@@ -130,16 +136,10 @@ class RmaOrder(models.Model):
action = self.env.ref('stock.action_picking_tree_all') action = self.env.ref('stock.action_picking_tree_all')
result = action.read()[0] result = action.read()[0]
picking_ids = [] picking_ids = []
suppliers = self.env.ref('stock.stock_location_suppliers')
customers = self.env.ref('stock.stock_location_customers')
for line in self.rma_line_ids: for line in self.rma_line_ids:
if line.type == 'customer': for move in line.move_ids:
for move in line.move_ids: if move.location_dest_id.usage in ('supplier', 'customer'):
if move.picking_id.location_id != customers: if not line.customer_to_supplier:
picking_ids.append(move.picking_id.id)
else:
for move in line.move_ids:
if move.picking_id.location_id != suppliers:
picking_ids.append(move.picking_id.id) picking_ids.append(move.picking_id.id)
if picking_ids: if picking_ids:
shipments = list(set(picking_ids)) shipments = list(set(picking_ids))