def get_trans_by_date(): start, end = parse_start_end_date( request.query, start_name='start_date', end_name='end_date') status = request.query.get('status') other_filters = {} for x in ('origin', 'dest'): t = request.query.get(x) if t: other_filters[x] = t result = transapi.search_metadata_by_date_range( start, end, status, other_filters) return json_dumps(list(result))
def get_trans_by_date(): start, end = parse_start_end_date(request.query, start_name='start_date', end_name='end_date') status = request.query.get('status') other_filters = {} for x in ('origin', 'dest'): t = request.query.get(x) if t: other_filters[x] = t result = transapi.search_metadata_by_date_range(start, end, status, other_filters) return json_dumps(list(result))
def main(): with sessionmanager as session: ids = [] for x in transapi.search_metadata_by_date_range( datetime.date(2015, 7, 1), datetime.date(2015, 8, 1)): if x.trans_type == 'EXTERNA': ids.append(x.uid) for x in ids: url = ROOT.format(x) content = requests.get(url).json() trans = Transferencia.deserialize(content) def get_value(t): prod = prodapi.get_producto(prod_id=t.prod.codigo, almacen_id=2) if prod is None: return 0 return t.cant * prod.precio1 value = sum( (get_value(t) for t in trans.items)) print x, value
def main(): with dbapi.session: trans = transapi.search_metadata_by_date_range(start, end, other_filters={'dest': 1}) invs = invapi.search_metadata_by_date_range(start, end, status=Status.COMITTED) trans_by_month = defaultdict(Decimal) sale_by_month = defaultdict(Decimal) for x in trans: key = (x.timestamp.year, x.timestamp.month) if x.status != Status.DELETED: trans_by_month[key] += x.value for x in invs: key = (x.timestamp.year, x.timestamp.month) sale_by_month[key] += Decimal(x.subtotal - (x.discount or 0)) / 100 for x, y in sorted(sale_by_month.items()): print '\t'.join(map(str, [x, y, trans_by_month[x], y - trans_by_month[x]]))
def main(): start = datetime.date(2015, 9, 1) end = datetime.date(2016, 6, 12) with dbapi.session: for x in transapi.search_metadata_by_date_range(start, end): raw = requests.get('http://192.168.0.23/app/api/ingreso/{}'.format(x.uid)) t = Transferencia.deserialize(json.loads(raw.text)) total = 0 for i in t.items: if i.prod.uid is None: pass prod = dbapi.get(i.prod.uid, ProdItemGroup) if prod is None: print i.prod.uid continue if prod.base_price_usd is None: continue total += prod.base_price_usd * i.cant t.meta.value = total dbapi.db_session.query(NTransferencia).filter_by(id=t.meta.uid).update({'value': total})