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