Ejemplo n.º 1
0
def main():
    with sessionmanager as session:

        all_client = get_all_client()
        meta_item = defaultdict(list)
        bodega_id = 1
        tax_percent = 12
        for meta, item, prod in query_all_fully_joined(session,
                                                       date(2015, 6, 1),
                                                       date(2015, 6,
                                                            30), bodega_id):
            meta_item[meta].append((item, prod))
        for m, i in meta_item.items():
            almacen_id = bodega_id
            codigo = m.codigo
            if codigo < 0:
                codigo = abs(codigo)
                almacen_id = 3

            store = prodapi.store.get(almacen_id)
            meta = InvMetadata(
                almacen_id=almacen_id,
                almacen_name=store.nombre,
                almacen_ruc=store.ruc,
                codigo=str(codigo),
                user=m.vendedor_id,
                client=all_client[m.cliente_id],
                timestamp=datetime.combine(m.fecha, time()),
                payment_format=newpayformat(m.pago),
                total=money_to_cent(m.total),
                tax_percent=tax_percent,
            )
            meta.status = Status.DELETED if m.eliminado else Status.COMITTED
            meta.subtotal = int(meta.total / (1 + tax_percent / 100.0))
            meta.tax = meta.total - meta.subtotal

            def make_item(ix):
                p = Product().merge_from(ix[1])
                p.precio1 = money_to_cent(ix[0].precio)
                return Item(p, ix[0].cantidad)

            items = map(make_item, i)

            inv = Invoice(meta, items)
            invapi.save(inv)
    print len(meta_item)
    print 'end'
Ejemplo n.º 2
0
def main():
    with sessionmanager as session:

        all_client = get_all_client()
        meta_item = defaultdict(list)
        bodega_id = 1
        tax_percent = 12
        for meta, item, prod in query_all_fully_joined(
                session,
                date(2015, 6, 1), date(2015, 6, 30), bodega_id):
            meta_item[meta].append((item, prod))
        for m, i in meta_item.items():
            almacen_id = bodega_id
            codigo = m.codigo
            if codigo < 0:
                codigo = abs(codigo)
                almacen_id = 3

            store = prodapi.store.get(almacen_id)
            meta = InvMetadata(
                almacen_id=almacen_id,
                almacen_name=store.nombre,
                almacen_ruc=store.ruc,
                codigo=str(codigo),
                user=m.vendedor_id,
                client=all_client[m.cliente_id],
                timestamp=datetime.combine(m.fecha, time()),
                payment_format=newpayformat(m.pago),
                total=money_to_cent(m.total),
                tax_percent=tax_percent,
            )
            meta.status = Status.DELETED if m.eliminado else Status.COMITTED
            meta.subtotal = int(meta.total / (1 + tax_percent/100.0))
            meta.tax = meta.total - meta.subtotal

            def make_item(ix):
                p = Product().merge_from(ix[1])
                p.precio1 = money_to_cent(ix[0].precio)
                return Item(p, ix[0].cantidad)
            items = map(make_item, i)

            inv = Invoice(meta, items)
            invapi.save(inv)
    print len(meta_item)
    print 'end'
Ejemplo n.º 3
0
def old_to_new_invoice(old_inv, all_client):
    meta_item = defaultdict(list)
    for meta, item, prod in old_inv:
        meta_item[meta.id].append((meta, item, prod))

    print 'total record', len(meta_item)
    for m, i in meta_item.items():
        m = i[0][0]
        almacen_id = m.bodega_id
        codigo = m.codigo
        if codigo < 0:
            codigo = abs(codigo)
            almacen_id = 3

        tax_percent = 12 if almacen_id != 2 else 0

        store = prodapi.store.get(almacen_id)
        meta = InvMetadata(
            almacen_id=almacen_id,
            almacen_name=store.nombre,
            almacen_ruc=store.ruc,
            codigo=str(codigo),
            user=m.vendedor_id,
            client=all_client[m.cliente_id],
            timestamp=datetime.combine(m.fecha, time(1, 0, 0)),
            payment_format=newpayformat(m.pago),
            total=money_to_cent(m.total),
            tax_percent=tax_percent,
        )
        meta.status = Status.DELETED if m.eliminado else Status.COMITTED
        meta.subtotal = int(meta.total / (1 + tax_percent / 100.0))
        meta.tax = meta.total - meta.subtotal

        def make_item(ix):
            p = Product().merge_from(ix[2])
            p.precio1 = money_to_cent(ix[1].precio)
            return Item(p, ix[1].cantidad)

        items = map(make_item, i)
        inv = Invoice(meta, items)
        yield inv
Ejemplo n.º 4
0
def old_to_new_invoice(old_inv, all_client):
    meta_item = defaultdict(list)
    for meta, item, prod in old_inv:
        meta_item[meta.id].append((meta, item, prod))

    print "total record", len(meta_item)
    for m, i in meta_item.items():
        m = i[0][0]
        almacen_id = m.bodega_id
        codigo = m.codigo
        if codigo < 0:
            codigo = abs(codigo)
            almacen_id = 3

        tax_percent = 12 if almacen_id != 2 else 0

        store = prodapi.store.get(almacen_id)
        meta = InvMetadata(
            almacen_id=almacen_id,
            almacen_name=store.nombre,
            almacen_ruc=store.ruc,
            codigo=str(codigo),
            user=m.vendedor_id,
            client=all_client[m.cliente_id],
            timestamp=datetime.combine(m.fecha, time(1, 0, 0)),
            payment_format=newpayformat(m.pago),
            total=money_to_cent(m.total),
            tax_percent=tax_percent,
        )
        meta.status = Status.DELETED if m.eliminado else Status.COMITTED
        meta.subtotal = int(meta.total / (1 + tax_percent / 100.0))
        meta.tax = meta.total - meta.subtotal

        def make_item(ix):
            p = Product().merge_from(ix[2])
            p.precio1 = money_to_cent(ix[1].precio)
            return Item(p, ix[1].cantidad)

        items = map(make_item, i)
        inv = Invoice(meta, items)
        yield inv
Ejemplo n.º 5
0
def make_one_inv(day, codigo, items):
    invmeta = InvMetadata()
    invmeta.codigo = codigo
    invmeta.timestamp = day
    invmeta.status = Status.NEW
    invmeta.bodega_id = 1
    invmeta.almacen_ruc = '0992584092001'
    invmeta.almacen_id = 3
    invmeta.payment_format = 'EFECTIVO'
    invmeta.subtotal = sum((int(i.cant * i.prod.precio1) for i in items))
    invmeta.tax = int(invmeta.subtotal * 0.12)
    invmeta.tax_percent = int(invmeta.subtotal * 0.12)
    invmeta.total = invmeta.subtotal + invmeta.tax
    invmeta.discount = 0

    invmeta.client = Client()
    invmeta.client.name = 'QUINAL SA'
    invmeta.client.codigo = '0992337168001'

    inv = Invoice(invmeta, items)
    return inv
Ejemplo n.º 6
0
def make_one_inv(day, codigo, items):
    invmeta = InvMetadata()
    invmeta.codigo = codigo
    invmeta.timestamp = day
    invmeta.status = Status.NEW
    invmeta.bodega_id = 1
    invmeta.almacen_ruc = '0992584092001'
    invmeta.almacen_id = 3
    invmeta.payment_format = 'EFECTIVO'
    invmeta.subtotal = sum((int(i.cant * i.prod.precio1) for i in items))
    invmeta.tax = int(invmeta.subtotal * 0.12)
    invmeta.tax_percent = int(invmeta.subtotal * 0.12)
    invmeta.total = invmeta.subtotal + invmeta.tax
    invmeta.discount = 0

    invmeta.client = Client()
    invmeta.client.name = 'QUINAL SA'
    invmeta.client.codigo = '0992337168001'

    inv = Invoice(invmeta, items)
    return inv