예제 #1
0
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))
예제 #2
0
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))
예제 #3
0
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
예제 #4
0
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]]))
예제 #5
0
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})