def fifo_counts(qstring): qs = COGSAssignment.objects.all() qs = COGSAssignmentSerializer.setup_eager_loading(qs) data = COGSAssignmentSerializer(qs, many=True).data order_keys = list(set(row['shipment_label'] for row in data)) item_keys = list(set(row['unit_label'] for row in data)) ship_cnts = inv_api.shipmentcounts({}) arrival_dates = dict((sl['order'], sl['arrival_date']) for sl in ship_cnts) tbl = [] for o in order_keys: row = {'order': o, 'arrival_date': arrival_dates.get(o)} for i in item_keys: row[i] = sum([x['quantity'] for x in data if x['unit_label'] == i and x['shipment_label'] == o]) tbl.append(row) return sorted(tbl, key=lambda x: x['arrival_date'])
def fifo_assignments(self): qs = self.cogsassignment_set.all() qs = COGSAssignmentSerializer.setup_eager_loading(qs) return COGSAssignmentSerializer(qs, many=True).data
def cogsassignment(qstring): qs = COGSAssignment.objects.all() qs = COGSAssignmentSerializer.setup_eager_loading(qs) return COGSAssignmentSerializer(qs, many=True).data