示例#1
0
文件: migrate.py 项目: coyotevz/spl
def reenumerar_pedidos(s):
    pedidos = s.query(PedidoSub).order_by(PedidoSub.fecha_de_pedido.asc(), PedidoSub.numero_pedido.asc())
    bar = ProgressBar(u'enumerando pedidos 1ra pasada', s.query(func.count(PedidoSub.numero_pedido)).scalar())
    _reenum_pedidos(s, 10000, pedidos, bar)
    bar.finish()
    pedidos = s.query(PedidoSub).order_by(PedidoSub.numero_pedido.asc())
    bar = ProgressBar(u'enumerando pedidos 2da pasada', s.query(func.count(PedidoSub.numero_pedido)).scalar())
    _reenum_pedidos(s, 0, pedidos, bar)
    bar.finish()
示例#2
0
文件: migrate.py 项目: coyotevz/spl
def migrar_proveedores(s):
    tot = s.query(func.count(Proveedor.id)).scalar()
    bar = ProgressBar(u'proveedores', tot)
    c = 0
    for p in s.query(Proveedor):
        c += 1
        freight = Supplier.FREIGHT_SUPPLIER \
                    if p.flete.startswith(u'A Cargo del Proveedor')\
                    else Supplier.FREIGHT_CUSTOMER
        notes = s.query(Comentario).filter(Comentario.id_coment_proveedor==p.id).value('comentario')
        fecha_de_ingreso = check_year(p.fecha_de_ingreso)
        supplier = Supplier(name=_(p.nombre),
                            cuit=_(p.cuit),
                            iibb=_(p.ingresosBrutos),
                            phone=_(p.telefono),
                            fax=_(p.fax),
                            web=_(p.web),
                            address=_(p.direccion),
                            zip_code=_(p.codigo_postal),
                            term=p.plazo,
                            account_number=_(p.numeroCuenta),
                            freight_type=freight,
                            created_at=fecha_de_ingreso,
                            notes=_(notes) if notes else None)

        if p.nombre_contacto:
            contact = Contact(name=_(p.nombre_contacto),
                              phone=_(p.telefono_contacto),
                              email=_(p.email_contacto))
            supplier.add_contact(contact)
        for factura in s.query(Factura).filter(Factura.id_proveedor==p.id):
            migrar_factura(s, factura, supplier)
        for pedido in s.query(PedidoSub).filter(PedidoSub.id_proveedor==p.id):
            migrar_pedido(s, pedido, supplier)
        for cuenta_banco in s.query(CuentaBanco).filter(CuentaBanco.id_proveedor==p.id):
            migrar_cuenta_banco(s, cuenta_banco, supplier)
        # TODO migrar notas de credito
        db.session.add(supplier)
        bar.update_state(c)
    db.session.commit()
    bar.finish()