Exemplo n.º 1
0
def main():
    root = 'http://45.55.88.99:99/'
    auth = ('test', 'han')
    processor = ForwardRequestProcessor(dbapi, root, auth, codename='test')

    start = datetime.datetime(2015, 12, 1)
    end = datetime.datetime(2016, 1, 1)
    with dbapi.session:
        for meta in invapi.search_metadata_by_date_range(start, end, status=Status.COMITTED):
            r = requests.get('http://192.168.0.23/api/nota/{}'.format(meta.uid), auth=('yu', 'yu'))
            if r.status_code != 200:
                print r.status_code
                continue
            inv = Invoice.deserialize(r.json())
            work = doc_to_workobject(inv, action=WorkObject.CREATE, objtype=WorkObject.INV)
            processor.exec_work(work)
            print inv.meta.uid,  'created'
            work2 = doc_to_workobject(inv, action=WorkObject.CREATE, objtype=WorkObject.INV_TRANS)
            processor.exec_work(work2)
            print inv.meta.uid,  'commited'
Exemplo n.º 2
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]]))