Esempio n. 1
0
def existeEmpresa(rif):
    conexiondb = database.operacion(
    'Operacion que busca una empresa en la DB',
    'select count(*) from empresa where rif= %s ;'  % rif,
    dbparams.dbname,dbparams.dbuser,dbparams.dbpass
    )
    return (conexiondb.execute()[0][0] > 0)
def verificarCliente(idCliente):    
    conexion = database.operacion("Cuenta la cantidad de productos postpago que posee un cliente",
    """SELECT count(*) FROM cliente, afilia, producto WHERE cliente.cedula = producto.cedula 
    AND producto.numserie = afilia.numserie AND cliente.cedula = %s;""" % idCliente,
                                dbparams.dbname,dbparams.dbuser,dbparams.dbpass)
    
    return (conexion.execute()[0][0] > 0)
def numPaquetesAContratar(codProd):

    conexion = database.operacion("",
    """select count(*) from paquete as p
    where not exists(select * from contrata where numserie = \'%s\' and codpaq = p.codpaq);""" % codProd,
    dbparams.dbname,dbparams.dbuser,dbparams.dbpass)
    return conexion.execute()[0][0]
def numeroClientes():
    conexiondb = database.operacion('Operacion que cuenta el numero de clientes en la DB',
    'select count(*) from cliente;',
    dbparams.dbname,dbparams.dbuser,dbparams.dbpass
    )
    
    return conexiondb.execute()[0][0]
Esempio n. 5
0
def existeCliente(idCliente):
    conexiondb = database.operacion(
    'Operacion que busca un cliente en la DB',
    'select count(*) from cliente where cedula=\'%s\';'  % idCliente,
    dbparams.dbname,dbparams.dbuser,dbparams.dbpass
    )
    return (conexiondb.execute()[0][0] > 0)
def consumosProducto():
  

    print 'Inserte el código del equipo'
    numserie = raw_input('-->')
    while not existeEquipo(numserie):
        print 'El código que ha insertado no corresponde con ningún equipo. Reintente'
        print 'Inserte el código del equipo'
        numserie = raw_input('-->')  
      
    
    # Conexión con la base de datos
    conexiondb = database.operacion(
      'Operacion que lista los consumos para un equipo en el rango dado',
      '''select * from consume where numserie = \'%s\' 
        order by fecha asc;''' % (numserie), 
      dbparams.dbname,dbparams.dbuser,dbparams.dbpass
      )
    result = conexiondb.execute()
    
    
    
    # Para cada tupla consumo, crea un consumo y agregalo a mi lista
    for i in result:
        print consumo(numserie,i[3].strftime('%d/%m/%Y'),i[2],i[4])
        
    if len(result) == 0:
        print "Este producto no posee ningun consumo."    
        
    conexiondb.cerrarConexion()
def productoTienePlan (producto):
    try:
        #Verificamos si el producto ya esta afiliado a un plan prepago
        conexion = database.operacion("","""SELECT * FROM ACTIVA WHERE numserie = '%s'"""%(producto),
        dbparams.dbname,dbparams.dbuser,dbparams.dbpass)
        resultado = conexion.execute()                
        
        #Posee plan prepago
        if len(resultado) != 0:
            conexion.conexion.commit()
            conexion.cerrarConexion()
            return True
            
        #Verificamos si el producto ya esta afiliado a un plan postpago
        conexion.setComando("""SELECT * FROM AFILIA WHERE numserie = '%s'"""%(producto)), 
        resultado2 = conexion.execute()
            
        #Posee plan postpago
        if len(resultado2) != 0:
            conexion.conexion.commit()
            conexion.cerrarConexion()
            return True

        ## Guardamos los cambios y cerramos la base de datos
        conexion.conexion.commit()
        conexion.cerrarConexion()
        
        #No posee plan
        return False

    # Capturamos los posibles errores.
    except Exception, e:
        print '\nERROR:', e
Esempio n. 8
0
def numeroClientes():
    conexiondb = database.operacion(
        'Operacion que cuenta el numero de clientes en la DB',
        'select count(*) from cliente;', dbparams.dbname, dbparams.dbuser,
        dbparams.dbpass)

    return conexiondb.execute()[0][0]
Esempio n. 9
0
def cantidadProductos ():

    conexiondb = database.operacion(
    'Contamos la cantidad de Productos en la Base de Datos',
    'SELECT COUNT(*) FROM PRODUCTO;',
    dbparams.dbname,dbparams.dbuser,dbparams.dbpass)
    return conexiondb.execute()[0][0]
def listarProductos(idCliente):
    cant = cantprodCliente(idCliente)
    if (cant == -1):
        print "El cliente no se encuentra en la BD."
        return False
    elif (cant == 0):
        print "El cliente no posee productos en la BD."
        return False
    else:
        conexiondb = database.operacion(
        'Operacion que lista los productos de un cliente en la DB',
        '''select numserie,nombreprod,rif from producto where cedula = \'%s\';''' % idCliente,
        dbparams.dbname,dbparams.dbuser,dbparams.dbpass
        )
        result = conexiondb.execute()
        
        print "El cliente cuya cedula es %s posee los siguientes productos: " % idCliente
        for row in result:
            writeRow = '  Numero de serie: ' + row['numserie']
            writeRow+= ' | Nombre: ' + row['nombreprod'] 
            writeRow+= ' | RIF: ' + str(row['rif']) 
            
            print writeRow              
        
        return True
def consumosProducto():

    print 'Inserte el código del equipo'
    numserie = raw_input('-->')
    while not existeEquipo(numserie):
        print 'El código que ha insertado no corresponde con ningún equipo. Reintente'
        print 'Inserte el código del equipo'
        numserie = raw_input('-->')

    # Conexión con la base de datos
    conexiondb = database.operacion(
        'Operacion que lista los consumos para un equipo en el rango dado',
        '''select * from consume where numserie = \'%s\' 
        order by fecha asc;''' % (numserie), dbparams.dbname, dbparams.dbuser,
        dbparams.dbpass)
    result = conexiondb.execute()

    # Para cada tupla consumo, crea un consumo y agregalo a mi lista
    for i in result:
        print consumo(numserie, i[3].strftime('%d/%m/%Y'), i[2], i[4])

    if len(result) == 0:
        print "Este producto no posee ningun consumo."

    conexiondb.cerrarConexion()
def puedeContratar(codProd,codPaq):
    conexion = database.operacion("",
    """select count(*) from paquete where codpaq = %s and codpaq in (select codpaq from paquete as p
        where not exists(select codpaq from contrata 
        where numserie = \'%s\' and codpaq = p.codpaq));""" % (codPaq, codProd),
                                dbparams.dbname,dbparams.dbuser,dbparams.dbpass)
    return (conexion.execute()[0][0] > 0)
def existeCliente(idCliente):
    conexiondb = database.operacion(
    'Operacion que busca un equipo en la DB',
    'select count(*) from cliente where cedula=\'%s\';'  % idCliente,
    dbparams.dbname,dbparams.dbuser,dbparams.dbpass
    )
    return (conexiondb.execute()[0][0] > 0)
Esempio n. 14
0
def existeProducto(nserie):

    conexiondb = database.operacion(
    'Operacion que busca un producto en la base de datos',
    'SELECT COUNT(*) FROM PRODUCTO WHERE numserie=\'%s\';' % nserie,
    dbparams.dbname,dbparams.dbuser,dbparams.dbpass
    )
    return (conexiondb.execute()[0][0] > 0)
def buscarConsumosporServicio(idProducto,mesFacturacion,anioFacturacion):
    conexion = database.operacion("Buscamos la suma de todos los consumos por servicio",
                            """SELECT con.codserv, sum(con.cantidad) AS total FROM consume AS con 
                            WHERE con.numserie = \'%s\' AND 
                            to_char(con.fecha, 'MM YYYY') = \'%s\' GROUP BY (con.codserv)""" %
                            (idProducto, mesFacturacion+ " " + anioFacturacion),
                            dbparams.dbname,dbparams.dbuser,dbparams.dbpass)
       
    return conexion.execute()  
Esempio n. 16
0
def cantprodCliente(idCliente):
    if (existeCliente(idCliente)):
        conexiondb = database.operacion(
            'Operacion que busca un cliente en la DB',
            '''select count(*) from producto where cedula = \'%s\';''' %
            idCliente, dbparams.dbname, dbparams.dbuser, dbparams.dbpass)
        return conexiondb.execute()[0][0]
    else:
        return -1
def cantprodCliente(idCliente):
    if (existeCliente(idCliente)):
        conexiondb = database.operacion(
        'Operacion que busca un cliente en la DB',
        '''select count(*) from producto where cedula = \'%s\';''' % idCliente,
        dbparams.dbname,dbparams.dbuser,dbparams.dbpass
        )
        return conexiondb.execute()[0][0]
    else:
        return -1
    def getSaldo(self):
      if len(ConsultarPlanesPrepago(self.producto)) > 0:
	conexion = database.operacion("Buscamos el saldo del cliente",
	            """SELECT saldo FROM activa WHERE 
                    numserie= '%s'"""%(self.producto),Afiliaciones.nombreBase,
                    Afiliaciones.usuarioBase,Afiliaciones.passwordBase)
	resultado = conexion.execute()
	return resultado[0][0]
      else:
	return -1
 def EliminarContrataciones(self):
     conexion = database.operacion("Elimina todas las contrataciones de un producto",
     "DELETE FROM contrata WHERE numserie = '%s';"% self.producto,
                                 dbparams.dbname,dbparams.dbuser,dbparams.dbpass) 
     resultado = conexion.execute()
     print "\nSe han eliminado todas las contrataciones del producto %s"% self.producto  
     
     ## Guardamos los cambios y cerramos la base de datos
     conexion.conexion.commit()
     conexion.cerrarConexion()
Esempio n. 20
0
def poseeprodCliente(idCliente, serieProd):
    if (existeCliente(idCliente)):
        conexiondb = database.operacion(
            'Operacion que busca un cliente en la DB',
            '''select count(*) from producto where cedula = \'%s\'
           and numserie = \'%s\';''' % (idCliente, serieProd), dbparams.dbname,
            dbparams.dbuser, dbparams.dbpass)
        return (conexiondb.execute()[0][0] > 0)
    else:
        return False
    def setUp(self):
        self.myConsult = database.operacion(
        "Inserts de Prueba Prepago para probar la factura",
        None,self.dbname,self.dbuser,self.dbpass)
        d = datetime.datetime.today()
        mes = d.strftime("%m")
        anio = d.strftime("%Y")
        with open('entradaPruebas.txt', 'w+') as the_file:
	  the_file.write(str(mes)+'\n')
	  the_file.write(str(anio))
	  the_file.close()
def poseeprodCliente(idCliente,serieProd):
    if (existeCliente(idCliente)):
        conexiondb = database.operacion(
        'Operacion que busca un cliente en la DB',
        '''select count(*) from producto where cedula = \'%s\'
           and numserie = \'%s\';''' % (idCliente,serieProd),
        dbparams.dbname,dbparams.dbuser,dbparams.dbpass
        )
        return (conexiondb.execute()[0][0] > 0)
    else:
        return False
    def buscarConsumosporServicio(self):
        conexion = database.operacion(
            "Buscamos la suma de todos los consumos por servicio",
            """SELECT con.codserv, sum(con.cantidad) AS total FROM consume AS con 
                            WHERE con.numserie = \'%s\' AND 
                            to_char(con.fecha, 'MM YYYY') = \'%s\' GROUP BY (con.codserv)"""
            % (self.numSerieProducto,
               self.inicioFacturacion + " " + self.finFacturacion),
            dbparams.dbname, dbparams.dbuser, dbparams.dbpass)

        return conexion.execute()
def paquetesAContratar(codProd):
    conexion = database.operacion("",
    """select * from paquete as p
where not exists(select * from contrata where numserie = \'%s\' and codpaq = p.codpaq);""" % codProd,
                                dbparams.dbname,dbparams.dbuser,dbparams.dbpass)
    resultado = conexion.execute()  
    
    if len(resultado) != 0:
        print "{0:25}PAQUETES".format(" ")
        print "{0:20} | {1:20} | {2:10}".format("CODIGO DEL PAQUETE", "NOMBRE DEL PAQUETE", "PRECIO")
        for row in resultado:
            print "{0:20} | {1:20} | {2:10}".format(row[0], row[1], row[2])
    def sync(self):
        # Conexión con la base de datos
        self.conexiondb = database.operacion(
            'Operacion que inserta un consumo en la DB',
            'insert into consume values (DEFAULT,\'%s\',%s,\'%s\',%s);' %
            (self.numserie, self.codservicio, self.fecha, self.cantidad),
            dbparams.dbname, dbparams.dbuser, dbparams.dbpass)

        self.conexiondb.execute()
        if self.conexiondb.insercionRechazada:
            print 'No se ha podido insertar el consumo'
        self.conexiondb.cerrarConexion()
Esempio n. 26
0
def eliminarProducto(nserie):
    conexiondb =  database.operacion(
        'Eliminamos un producto',
        'delete from producto where numserie=\'%s\';' % nserie,
        dbparams.dbname,dbparams.dbuser,dbparams.dbpass)
    conexiondb.execute()
    if conexiondb.insercionRechazada:
        print 'No se ha podido eliminar el producto'
    else:
        print "El producto se ha eliminado exitosamente."     

    conexiondb.cerrarConexion()
Esempio n. 27
0
def nuevoProducto():
    producto = pedirProducto()
    conexiondb = database.operacion(
        'Se inserta el producto a la base de datos',
        'insert into producto values (\'%s\',\'%s\',\'%s\',\'%s\');' % producto,
        dbparams.dbname,dbparams.dbuser,dbparams.dbpass
    )
    conexiondb.execute()
    if conexiondb.insercionRechazada:
        print 'No se ha podido insertar el producto'
    else:
        print "El producto se ha registrado exitosamente."     

    conexiondb.cerrarConexion()
def ConsultarPaquetes(codproducto):
  try:
      conexion = database.operacion("","""SELECT codserv, cantidad, costo, nombreserv FROM contrata NATURAL JOIN contiene NATURAL JOIN servicio 
			  WHERE numserie = \'%s\'""" % codproducto,
      Afiliaciones.nombreBase,Afiliaciones.usuarioBase,Afiliaciones.passwordBase)
      resultado = conexion.execute()
      
      ## Guardamos los cambios y cerramos la base de datos
      #conexion.cerrarConexion()
      return resultado
      
  # Capturamos los posibles errores.
  except Exception, e:
      print '\nERROR:', e
def ConsultarPlanesPrepago(codproducto):
  try:
      conexion = database.operacion("","""SELECT codplan from activa WHERE numserie = '%s'"""%(codproducto),
      Afiliaciones.nombreBase,Afiliaciones.usuarioBase,Afiliaciones.passwordBase)
      resultado = conexion.execute()
      
      ## Guardamos los cambios y cerramos la base de datos
      conexion.conexion.commit()
      conexion.cerrarConexion()
      return resultado
      
  # Capturamos los posibles errores.
  except Exception, e:
      print '\nERROR:', e
def impPaquetes():
        conexion = database.operacion("",
                                """SELECT * FROM paquete""",
                                dbparams.dbname,dbparams.dbuser,dbparams.dbpass)

        resultado = conexion.execute()

        if len(resultado) == 0:
            print "No hay paquetes alamacenados en la base de datos"

        else:
            print "{0:25}PAQUETES".format(" ")

            print "{0:20} | {1:20} | {2:10}".format("CODIGO DEL PAQUETE", "NOMBRE DEL PAQUETE", "PRECIO")

            for row in resultado:
                print "{0:20} | {1:20} | {2:10}".format(row[0], row[1], row[2])
def impPlanes():       
        conexion = database.operacion("",
                                """SELECT * FROM plan""",
                                dbparams.dbname,dbparams.dbuser,dbparams.dbpass)

        resultado = conexion.execute()

        if len(resultado) == 0:
            print "No hay planes almacenados en la base de datos"

        else:
            print "{0:50}PLANES".format(" ")

            print "{0:15} | {1:20} | {2:50} | {3:15} | {4:10}".format("CODIGO DEL PLAN", "NOMBRE DEL PLAN", "DESCRIPCION","RENTA BASICA", "TIPO")

            for row in resultado:
                print "{0:15} | {1:20} | {2:50} | {3:15} | {4:10}".format(row[0], row[1], row[2],row[3], row[5])
Esempio n. 32
0
def registroCliente():

    #Inserta el cliente introducido
    datos = datosCliente()

    conexiondb = database.operacion(
        'Operacion que inserta un cliente en la DB',
        'insert into cliente values (%s,\'%s\',\'%s\');' % datos,
        dbparams.dbname, dbparams.dbuser, dbparams.dbpass)

    conexiondb.execute()
    if conexiondb.insercionRechazada:
        print 'No se ha podido insertar el cliente'
    else:
        print "El cliente se ha registrado exitosamente."

    conexiondb.cerrarConexion()
 def DesafiliarProducto (self):
     try:
         
         # Buscamos si existe la afiliacion entre el producto y los planes
         # prepago
         conexion = database.operacion("","""SELECT numserie, codplan FROM ACTIVA 
         WHERE codplan = %s AND numserie = '%s'"""%(self.plan,self.producto),
         Afiliaciones.nombreBase,Afiliaciones.usuarioBase,Afiliaciones.passwordBase);
         resultado = conexion.execute()
         
         # Si no se encuentra la afiliacion entre los planes prepago
         # buscamos entre los planes postpago
         if len(resultado) == 0:
             conexion.setComando("""SELECT numserie FROM AFILIA 
             WHERE codplan = %s AND numserie = '%s'"""%(self.plan,self.producto))
             resultado = conexion.execute()
             
             # Si no se encuentra la afiliacion entre los planes postpago
             if len(resultado) == 0:
                 raise Exception("El producto ingresado no se encuentra afiliado con el plan mencionado")
             
             # Si se encuentra la afiliacion entre los planes postpago, eliminamos dicha afiliacion
             else:
                 
                 conexion.setComando("""DELETE FROM AFILIA 
                 WHERE codplan = %s AND numserie = '%s'
                 """%(self.plan,self.producto))
                 resultado = conexion.execute()
                 print 'Se ha eliminado la afiliacion exitosamente'
         
         # Si se encuentra la afiliacion entre los planes prepago, eliminamos dicha afiliacion
         else:
             conexion.setComando("""DELETE FROM ACTIVA 
             WHERE codplan = %s AND numserie = '%s'
             """%(self.plan,self.producto))
             resultado = conexion.execute()
             print 'Se ha eliminado la afiliacion exitosamente'
             
         ## Guardamos los cambios y cerramos la base de datos
         conexion.conexion.commit()
         conexion.cerrarConexion()
                 
     ## Capturamos los posibles errores.
     except Exception, e:
         print '\nERROR: ', e
Esempio n. 34
0
def obtenerProducto(nserie):
    producto = None
    if (cantidadProductos() == 0):
        print "\n Error: La base de datos esta vacia"
    else:
        if (existeProducto(nserie)):
            conexiondb = database.operacion(
                'Buscamos un cliente en la base de datos',
                'SELECT * from PRODUCTO WHERE numserie = \'%s\';' % nserie,
                dbparams.dbname,dbparams.dbuser,dbparams.dbpass
                )
            resultado = conexiondb.execute()
            for row in resultado:
                producto = 'Producto: ' + str(row['nombreprod'])
                producto += '\nNumero de Serie: ' + str(row['numserie'])
        else:
            print "El producto no existe"
    return producto
Esempio n. 35
0
def busquedaCliente(idCliente):

    cl = None
    #Se verifica que la base de datos no este vacia
    if (numeroClientes() == 0):
        print "ERROR: No se puede buscar al cliente. La base de datos esta vacia."
    else:
        if (existeCliente(idCliente)):
            conexiondb = database.operacion(
                'Operacion que busca un cliente en la DB',
                '''SELECT cedula, nombrecl, direccion FROM CLIENTE 
            WHERE cedula = \'%s\';''' % idCliente, dbparams.dbname,
                dbparams.dbuser, dbparams.dbpass)
            result = conexiondb.execute()
            for row in result:
                cl = cliente.cliente(row[0], row[1], row[2])

    return cl
def registroCliente():
            
    #Inserta el cliente introducido
    datos = datosCliente()
    
    conexiondb = database.operacion(
    'Operacion que inserta un cliente en la DB',
    'insert into cliente values (%s,\'%s\',\'%s\');' % datos,
    dbparams.dbname,dbparams.dbuser,dbparams.dbpass
    )
   
    conexiondb.execute()
    if conexiondb.insercionRechazada:
        print 'No se ha podido insertar el cliente'
    else:
        print "El cliente se ha registrado exitosamente."     

    conexiondb.cerrarConexion()
 def buscarPlan(self):
     try:
         conexion = database.operacion("","""SELECT tipo FROM PLAN WHERE
         codplan= %s"""%(self.plan),Afiliaciones.nombreBase,Afiliaciones.usuarioBase,
         Afiliaciones.passwordBase)
         resultado = conexion.execute()
         conexion.cerrarConexion()
         
         ## Si el plan no se consigue
         if len(resultado) == 0:
             return 0
             raise Exception("El plan introducido no existe en la base de datos.")
         
         ## Si se consigue el plan, se devuelve 
         return resultado[0][0]
         
     except Exception, e:
         print "\nERROR: ", e
 def ConsultarPlanes (self):
     try:
         conexion = database.operacion("","""SELECT nombrepaq FROM CONTRATA 
         NATURAL JOIN PAQUETE WHERE numserie = '%s'"""%(self.producto),
         Afiliaciones.nombreBase,Afiliaciones.usuarioBase,Afiliaciones.passwordBase)
         resultado = conexion.execute()
         
         for i in resultado:
             print '\nEl producto esta asociado al paquete ' + i[0]
             
         ## Si el producto no esta asociado a ningun paquete
         if len(resultado) == 0:
             print '\nEl producto no esta afiliado a ningun paquete'
         
         conexion.setComando("""SELECT nombreplan FROM ACTIVA NATURAL JOIN 
         PLAN WHERE numserie = '%s'"""%(self.producto))
         resultado = conexion.execute()
         
         for i in resultado:
             print '\nEl producto esta asociado al plan ' + i[0]
             
         ## Si el producto no esta asociado a ningun plan prepago
         if len(resultado) == 0:
             
             conexion.setComando("""SELECT nombreplan, codplan FROM AFILIA NATURAL 
             JOIN PLAN WHERE numserie = '%s'"""%(self.producto))
             resultado = conexion.execute()
             
             for i in resultado:
                 print '\nEl producto esta asociado al plan ' + i[0]
                 return i[1]
                 
             ## Si el producto tampoco esta afiliado a planes postpago
             if len(resultado) == 0:
                 print '\nEl producto no tiene plan asociado'
             
         ## Guardamos los cambios y cerramos la base de datos
         conexion.conexion.commit()
         conexion.cerrarConexion()
         
     # Capturamos los posibles errores.
     except Exception, e:
         print '\nERROR:', e
def busquedaCliente(idCliente):
    
    cl = None
    #Se verifica que la base de datos no este vacia
    if (numeroClientes() == 0):
        print "ERROR: No se puede buscar al cliente. La base de datos esta vacia."
    else:
        if (existeCliente(idCliente)):
            conexiondb = database.operacion(
            'Operacion que busca un cliente en la DB',
            '''SELECT cedula, nombrecl, direccion FROM CLIENTE 
            WHERE cedula = \'%s\';''' % idCliente,
            dbparams.dbname,dbparams.dbuser,dbparams.dbpass
            )
            result = conexiondb.execute()
            for row in result:                     
                cl = cliente.cliente(row[0], row[1], row[2])

    return cl
 def ConsultarPlanes (self):
     try:
         conexion = database.operacion("","""SELECT nombrepaq FROM CONTRATA 
         NATURAL JOIN PAQUETE WHERE numserie = '%s'"""%(self.producto),
         Afiliaciones.nombreBase,Afiliaciones.usuarioBase,Afiliaciones.passwordBase)
         resultado = conexion.execute()
         
         for i in resultado:
             print '\nEl producto esta asociado al paquete ' + i[0]
             
         ## Si el producto no esta asociado a ningun paquete
         if len(resultado) == 0:
             print '\nEl producto no esta afiliado a ningun paquete'
         
         conexion.setComando("""SELECT nombreplan FROM ACTIVA NATURAL JOIN 
         PLAN WHERE numserie = '%s'"""%(self.producto))
         resultado = conexion.execute()
         
         for i in resultado:
             print '\nEl producto esta asociado al plan ' + i[0]
             
         ## Si el producto no esta asociado a ningun plan prepago
         if len(resultado) == 0:
             
             conexion.setComando("""SELECT nombreplan FROM AFILIA NATURAL 
             JOIN PLAN WHERE numserie = '%s'"""%(self.producto))
             resultado = conexion.execute()
             
             for i in resultado:
                 print '\nEl producto esta asociado al plan ' + i[0]
                 
             ## Si el producto tampoco esta afiliado a planes postpago
             if len(resultado) == 0:
                 print '\nEl producto no tiene plan asociado'
             
         ## Guardamos los cambios y cerramos la base de datos
         conexion.conexion.commit()
         conexion.cerrarConexion()
         
     # Capturamos los posibles errores.
     except Exception, e:
         print '\nERROR:', e
Esempio n. 41
0
def listarClientes():
    cant = numeroClientes()
    if (cant == 0):
        print "No hay clientes en la BD"
        return False
    else:
        conexiondb = database.operacion(
            'Operacion que lista todos los clientes en la DB',
            '''select * from cliente ''', dbparams.dbname, dbparams.dbuser,
            dbparams.dbpass)
        result = conexiondb.execute()

        for row in result:
            writeRow = '  Cedula: ' + str(row['cedula'])
            writeRow += ' | Nombre: ' + row['nombrecl']
            writeRow += ' | Direccion: ' + row['direccion']

            print writeRow

        return True
Esempio n. 42
0
def listarProductos():
    cant = cantidadProductos()
    if (cant == 0):
        print "No hay productos en la BD"
        return False
    else:
        conexiondb = database.operacion(
        'Operacion que lista todos los productos en la DB',
        '''select * from producto ''',
        dbparams.dbname,dbparams.dbuser,dbparams.dbpass
        )
        result = conexiondb.execute()
        
        for row in result:
            writeRow = '  Numero de serie: ' + row['numserie']
            writeRow+= ' | Nombre: ' + row['nombreprod'] 
            writeRow+= ' | RIF: ' + str(row['rif']) 
            writeRow+= ' | Cedula: ' + str(row['cedula'])
            
            print writeRow              
        
        return True  
    def __init__(self, numserie, inicio, fin):
        self.numSerieProducto = numserie
        self.inicioFacturacion = inicio
        self.finFacturacion = fin
        self.listaConsumos = []

        # Conexión con la base de datos
        self.conexiondb = database.operacion(
            'Operacion que lista los consumos para un equipo en el rango dado',
            '''select * from consume where numserie = \'%s\' and 
      fecha >= to_date(\'%s\','DD/MM/YYYY') and 
      fecha <= to_date(\'%s\','DD/MM/YYYY') order by fecha asc;''' %
            (self.numSerieProducto, self.inicioFacturacion,
             self.finFacturacion), dbparams.dbname, dbparams.dbuser,
            dbparams.dbpass)
        result = self.conexiondb.execute()

        # Para cada tupla consumo, crea un consumo y agregalo a mi lista
        for i in result:
            self.listaConsumos.append(
                consumo(self.numSerieProducto, i[3].strftime('%d/%m/%Y'), i[2],
                        i[4]))
        self.conexiondb.cerrarConexion()
Esempio n. 44
0
def listarProductos(idCliente):
    cant = cantprodCliente(idCliente)
    if (cant == -1):
        print "El cliente no se encuentra en la BD."
        return False
    elif (cant == 0):
        print "El cliente no posee productos en la BD."
        return False
    else:
        conexiondb = database.operacion(
            'Operacion que lista los productos de un cliente en la DB',
            '''select numserie,nombreprod,rif from producto where cedula = \'%s\';'''
            % idCliente, dbparams.dbname, dbparams.dbuser, dbparams.dbpass)
        result = conexiondb.execute()

        print "El cliente cuya cedula es %s posee los siguientes productos: " % idCliente
        for row in result:
            writeRow = '  Numero de serie: ' + row['numserie']
            writeRow += ' | Nombre: ' + row['nombreprod']
            writeRow += ' | RIF: ' + str(row['rif'])

            print writeRow

        return True
    def CrearContratacion (self):
        try:
            
            ## Verificamos si el paquete existe en la base de datos
            conexion = database.operacion("","""SELECT codpaq FROM PAQUETE 
                WHERE codpaq = %s"""%(self.plan),Afiliaciones.nombreBase,
                Afiliaciones.usuarioBase,Afiliaciones.passwordBase)
            resultado = conexion.execute()
            
            
            if len(resultado) == 0:
                raise Exception("El paquete introducido no existe en la base de datos")
            
            # Verificamos si la contratacion ya existe en la base de datos
            conexion.setComando("""SELECT codpaq, numserie FROM CONTRATA 
            WHERE codpaq = %s AND numserie = '%s'"""%(self.plan,self.producto))
       
            resultado = conexion.execute()
            if len(resultado) != 0:
                raise Exception("La afiliacion entre dichos producto y paquete ya existe")
            
            # Si la contratacion no existia, la creamos
            conexion.setComando("""INSERT INTO CONTRATA VALUES 
            ('%s', %s)"""%(self.producto, self.plan))
            
            resultado = conexion.execute()
            print ("""\nSe ha creado la afiliacion del producto de codigo %s \
con el paquete de codigo %s""")%(self.producto, self.plan)
            
            ## Guardamos los cambios y cerramos la base de datos
            conexion.conexion.commit()
            conexion.cerrarConexion()
            
        ## Capturamos los posibles errores.
        except Exception, e:
            print '\nERROR: ', e
    def desafiliarContratacion(self):
        try:
            conexion = database.operacion("","""SELECT numserie, codpaq FROM 
            CONTRATA WHERE codpaq = %s AND numserie = '%s'
            """%(self.plan,self.producto),Afiliaciones.nombreBase,Afiliaciones.usuarioBase,
            Afiliaciones.passwordBase)
            resultado = conexion.execute()
            
            ## Si la contratacion no existe
            if len(resultado) == 0:
                raise Exception("El producto no esta afiliado al paquete introducido")
                
            ## En caso de que existiera, eliminamos la contratacion
            conexion.setComando("""DELETE FROM CONTRATA WHERE codpaq = %s 
            AND numserie = '%s'"""%(self.plan,self.producto))
            resultado = conexion.execute()
            print ('\nSe ha eliminado la contratacion del producto %s con el \
paquete %s exitosamente')%(self.producto, self.plan)
            
            ## Cerramos y guardamos los cambios
            conexion.conexion.commit()
            conexion.cerrarConexion()
        except Exception, e:
            print '\nERROR: ', e
def existeServicio(codserv):
    conexiondb = database.operacion(
        'Operacion que busca un servicio en la DB',
        'select count(codserv) from servicio where codserv=\'%s\';' % codserv,
        dbparams.dbname, dbparams.dbuser, dbparams.dbpass)
    return conexiondb.execute()[0][0]