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()
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()