class Ui_ActualizarTrabajador(object): def setupUi(self, ActualizarTrabajador): ActualizarTrabajador.setObjectName("ActualizarTrabajador") ActualizarTrabajador.resize(293, 515) ActualizarTrabajador.setStyleSheet( "background-color: rgb(226, 230, 255);") self.centralwidget = QtWidgets.QWidget(ActualizarTrabajador) self.centralwidget.setObjectName("centralwidget") self.label_5 = QtWidgets.QLabel(self.centralwidget) self.label_5.setGeometry(QtCore.QRect(0, 0, 291, 51)) self.label_5.setObjectName("label_5") self.label = QtWidgets.QLabel(self.centralwidget) self.label.setGeometry(QtCore.QRect(20, 69, 91, 21)) self.label.setStyleSheet("border-color: rgb(0, 0, 0);\n" "gridline-color: rgb(0, 0, 0);") self.label.setObjectName("label") self.label_2 = QtWidgets.QLabel(self.centralwidget) self.label_2.setGeometry(QtCore.QRect(30, 110, 61, 16)) self.label_2.setObjectName("label_2") self.label_6 = QtWidgets.QLabel(self.centralwidget) self.label_6.setGeometry(QtCore.QRect(10, 150, 101, 20)) self.label_6.setObjectName("label_6") self.label_7 = QtWidgets.QLabel(self.centralwidget) self.label_7.setGeometry(QtCore.QRect(10, 190, 101, 20)) self.label_7.setObjectName("label_7") self.label_8 = QtWidgets.QLabel(self.centralwidget) self.label_8.setGeometry(QtCore.QRect(10, 230, 101, 20)) self.label_8.setObjectName("label_8") self.label_9 = QtWidgets.QLabel(self.centralwidget) self.label_9.setGeometry(QtCore.QRect(10, 270, 101, 20)) self.label_9.setObjectName("label_9") self.label_10 = QtWidgets.QLabel(self.centralwidget) self.label_10.setGeometry(QtCore.QRect(10, 350, 101, 20)) self.label_10.setObjectName("label_10") self.label_11 = QtWidgets.QLabel(self.centralwidget) self.label_11.setGeometry(QtCore.QRect(10, 390, 101, 20)) self.label_11.setObjectName("label_11") self.claveT = QtWidgets.QLineEdit(self.centralwidget) self.claveT.setGeometry(QtCore.QRect(120, 60, 161, 31)) self.claveT.setStyleSheet("background-color: rgb(255, 255, 255);") self.claveT.setObjectName("claveT") self.Nombre = QtWidgets.QLineEdit(self.centralwidget) self.Nombre.setGeometry(QtCore.QRect(120, 100, 161, 31)) self.Nombre.setStyleSheet("background-color: rgb(255, 255, 255);") self.Nombre.setObjectName("Nombre") self.ApellidoP = QtWidgets.QLineEdit(self.centralwidget) self.ApellidoP.setGeometry(QtCore.QRect(120, 140, 161, 31)) self.ApellidoP.setStyleSheet("background-color: rgb(255, 255, 255);") self.ApellidoP.setObjectName("ApellidoP") self.ApellidoM = QtWidgets.QLineEdit(self.centralwidget) self.ApellidoM.setGeometry(QtCore.QRect(120, 180, 161, 31)) self.ApellidoM.setStyleSheet("background-color: rgb(255, 255, 255);") self.ApellidoM.setObjectName("ApellidoM") self.Fecha = QtWidgets.QLineEdit(self.centralwidget) self.Fecha.setGeometry(QtCore.QRect(120, 220, 161, 31)) self.Fecha.setStyleSheet("background-color: rgb(255, 255, 255);") self.Fecha.setText("") self.Fecha.setObjectName("Fecha") self.Telefono = QtWidgets.QLineEdit(self.centralwidget) self.Telefono.setGeometry(QtCore.QRect(120, 260, 161, 31)) self.Telefono.setStyleSheet("background-color: rgb(255, 255, 255);") self.Telefono.setObjectName("Telefono") self.Usuario = QtWidgets.QLineEdit(self.centralwidget) self.Usuario.setGeometry(QtCore.QRect(120, 300, 161, 31)) self.Usuario.setStyleSheet("background-color: rgb(255, 255, 255);") self.Usuario.setObjectName("Usuario") self.label_12 = QtWidgets.QLabel(self.centralwidget) self.label_12.setGeometry(QtCore.QRect(10, 310, 101, 20)) self.label_12.setObjectName("label_12") self.Contra = QtWidgets.QLineEdit(self.centralwidget) self.Contra.setGeometry(QtCore.QRect(120, 340, 161, 31)) self.Contra.setStyleSheet("background-color: rgb(255, 255, 255);") self.Contra.setObjectName("Contra") self.Actualizar = QtWidgets.QPushButton(self.centralwidget) self.Actualizar.setGeometry(QtCore.QRect(200, 430, 75, 23)) self.Actualizar.setStyleSheet("background-color: rgb(255, 255, 255);") self.Actualizar.setObjectName("Actualizar") self.Verificar = QtWidgets.QPushButton(self.centralwidget) self.Verificar.setGeometry(QtCore.QRect(110, 431, 75, 23)) self.Verificar.setStyleSheet("background-color: rgb(255, 255, 255);") self.Verificar.setObjectName("Verificar") self.Limpiar = QtWidgets.QPushButton(self.centralwidget) self.Limpiar.setGeometry(QtCore.QRect(20, 431, 75, 23)) self.Limpiar.setStyleSheet("background-color: rgb(255, 255, 255);") self.Limpiar.setObjectName("Limpiar") self.CPuesto = QtWidgets.QLineEdit(self.centralwidget) self.CPuesto.setGeometry(QtCore.QRect(120, 380, 161, 31)) self.CPuesto.setStyleSheet("background-color: rgb(255, 255, 255);") self.CPuesto.setObjectName("CPuesto") ActualizarTrabajador.setCentralWidget(self.centralwidget) self.menubar = QtWidgets.QMenuBar(ActualizarTrabajador) self.menubar.setGeometry(QtCore.QRect(0, 0, 293, 21)) self.menubar.setObjectName("menubar") ActualizarTrabajador.setMenuBar(self.menubar) self.statusbar = QtWidgets.QStatusBar(ActualizarTrabajador) self.statusbar.setObjectName("statusbar") ActualizarTrabajador.setStatusBar(self.statusbar) self.retranslateUi(ActualizarTrabajador) #Boton Limpiar para limpiar todos los campos. self.Limpiar.clicked.connect(self.claveT.clear) self.Limpiar.clicked.connect(self.Nombre.clear) self.Limpiar.clicked.connect(self.ApellidoP.clear) self.Limpiar.clicked.connect(self.ApellidoM.clear) self.Limpiar.clicked.connect(self.Fecha.clear) self.Limpiar.clicked.connect(self.Telefono.clear) self.Limpiar.clicked.connect(self.Usuario.clear) self.Limpiar.clicked.connect(self.Contra.clear) self.Limpiar.clicked.connect(self.CPuesto.clear) QtCore.QMetaObject.connectSlotsByName(ActualizarTrabajador) #Botones programados #Boton que permite actualizar la información a la base de datos. self.Actualizar.clicked.connect(self.UpdateData) #Boton que permite verificar que la información cargada en la aplicación sea válida. self.Verificar.clicked.connect(self.VerificarDatos) #Función que permite verificar que la información dada por el usuario sea válida para cargar. def VerificarDatos(self): #Try para excepciones. try: #Conexión a la base de datos with sqlite3.connect("PIA_1845788.db") as conn: #Definir nuestro cursor. micursor = conn.cursor() #Leer clave de trabajador que se introduce en nuestra ventana de Actualizar Trabajador. Clave = self.claveT.text() #Convertir la clave a entero.Ya que en la base se tiene como Entero. clave = int(Clave) #Ejecutar una línea que nos permite obtener todas las claves guardadas en Trabajador. micursor.execute("SELECT Clave_Trabajador FROM Trabajador") #Guardar los resultados en la variable claveT claveT = micursor.fetchall() #Declarar una lista donde se guardaran las claves de trabajador. listaClaves = [] #Ciclo para el unpack del resultado de claveT. for dato in claveT: for n in dato: ClaveT = int(n) #Agregar cada clave a la lista de listaClaves. listaClaves.append(ClaveT) #Leer clave de puesto que se introduce en nuestra ventana de Agregar Trabajador. ClaveP = self.CPuesto.text() #Convertir la clave a entero. Ya que en la base se tiene como Entero. clavePuesto = int(ClaveP) #Ejecutar una línea que nos permite obtener todas las claves guardadas en Puesto. micursor.execute("SELECT Clave FROM Puesto") #Guardar los resultados en la variable claveP. claveP = micursor.fetchall() #Declarar una lista donde se guardaran las claves de puesto. listaClavesP = [] #Ciclo para el unpack del resultado de claveP. for dato in claveP: for n in dato: ClaveP = int(n) #Agregar cada clave a la lista de listaClavesP. listaClavesP.append(ClaveP) #ESTO ES UNA DOBLE VERIFICACIÓN YA QUE TAMBIÉN SE HACE EN LA FUNCIÓN DE AGREGAR. #Si la clave de trabajador que introdujo el usuario esta dentro de listaClaves y la clave de puesto que introdujo es parte de listaClavesP: if clave in listaClaves and clavePuesto in listaClavesP: #Se muestra una ventana donde se avisa que la clave es existente. (Hablando de ambas claves self.ventana = QtWidgets.QMainWindow() self.ui = Ui_ClaveExistente() self.ui.setupUi(self.ventana) self.ventana.show() #Si la clave del trabajador que introdujo el usuario NO se encuentra dentro de listaClaves. elif clave not in listaClaves: #Se muestra una ventana donde se avisa que la clave de trabajador no existe, por lo tanto no se puede actualizar. self.ventana = QtWidgets.QMainWindow() self.ui = Ui_ClaveInexistenteUP() self.ui.setupUi(self.ventana) self.ventana.show() #Si la clave del puesto que introdujo el usuario NO se encuentra dentro de listaClavesP: elif clavePuesto not in listaClavesP: #Se muestra una ventana donde se avisa que la clave de puesto no existe, por lo tanto no se puede actualizar. self.ventana = QtWidgets.QMainWindow() self.ui = Ui_ClaveInexistentePuesto() self.ui.setupUi(self.ventana) self.ventana.show() #Excepcion por si ocurre un error con sqlite3. except Error as e: print(e) #Excepción por si no se llenan los campos necesarios except: #Ventana que muestra el mensaje donde se piden llenar todos los campos. self.ventana = QtWidgets.QMainWindow() self.ui = Ui_Alerta() self.ui.setupUi(self.ventana) self.ventana.show() def UpdateData(self): #Try para excepciones. try: #Conexión a la base de datos with sqlite3.connect("PIA_1845788.db") as conn: #Definir nuestro cursor. micursor = conn.cursor() #Leer clave de trabajador que se introduce en nuestra ventana de Actualizar Trabajador. Clave = self.claveT.text() #Convertir la clave a entero.Ya que en la base se tiene como Entero. clave = int(Clave) #Ejecutar una línea que nos permite obtener todas las claves guardadas en Trabajador. micursor.execute("SELECT Clave_Trabajador FROM Trabajador") #Guardar los resultados en la variable claveT claveT = micursor.fetchall() #Declarar una lista donde se guardaran las claves de trabajador. listaClaves = [] #Ciclo para el unpack del resultado de claveT. for dato in claveT: for n in dato: ClaveT = int(n) #Agregar cada clave a la lista de listaClaves. listaClaves.append(ClaveT) #Leer clave de puesto que se introduce en nuestra ventana de Agregar Trabajador. ClaveP = self.CPuesto.text() #Convertir la clave a entero. Ya que en la base se tiene como Entero. clavePuesto = int(ClaveP) #Ejecutar una línea que nos permite obtener todas las claves guardadas en Puesto. micursor.execute("SELECT Clave FROM Puesto") #Guardar los resultados en la variable claveP. claveP = micursor.fetchall() #Declarar una lista donde se guardaran las claves de puesto. listaClavesP = [] #Ciclo para el unpack del resultado de claveP. for dato in claveP: for n in dato: ClaveP = int(n) #Agregar cada clave a la lista de listaClavesP. listaClavesP.append(ClaveP) #ESTO ES UNA DOBLE VERIFICACIÓN YA QUE TAMBIÉN SE HACE EN LA FUNCIÓN DE AGREGAR. #Si la clave de trabajador que introdujo el usuario esta dentro de listaClaves y la clave de puesto que introdujo es parte de listaClavesP: if clave in listaClaves and clavePuesto in listaClavesP: #Se lee el nombre que se introduce en la aplicación y se agrega a la variable nombre. nombre = self.Nombre.text() #Se lee el apellido paterno que se introduce en la aplicación y se agrega a la variable apellidoP. apellidoP = self.ApellidoP.text() #Se lee el apellido materno que se introduce en la aplicación y se agrega a la variable apellidoM. apellidoM = self.ApellidoM.text() #Se lee la fecha de ingreso que se introduce en la aplicación y se agrega a la variable fechaIngreso. fechaIngreso = self.Fecha.text() #Se lee el telefono que se introduce en la aplicación y se agrega a la variable Telefono. Telefono = self.Telefono.text() #Se cambia el valor a entero y se guarda en la variable telefono. Ya que en la base se tiene como Entero. telefono = int(Telefono) #Se lee el valor de usuario que se introduce en la aplicación y se agrega a la variable usuario. usuario = self.Usuario.text() #Se lee el valor de contraseña que se introduce en la aplicación y se agrega a la variable contraseña. contraseña = self.Contra.text() #Se lee el valor de clavePuesto que se introduce en la aplicación y se agrega a la variable cpuesto. cpuesto = self.CPuesto.text() #VARIABLE DONDE SE GUARDA LA LINEA PARA ACTUALIZAR LA INFORMACIÓN DE TRABAJADOR. query = """UPDATE Trabajador SET Nombre = ?, ApellidoPaterno = ?, ApellidoMaterno = ?, Fecha_Ingreso = ?, Telefono = ?, Usuario = ?, Contraseña = ?,Puesto = ? WHERE Clave_Trabajador= ?""" #VARIABLE DONDE SE GUARDAN LAS VARIABLES QUE CONTIENEN LA INFORMACION QUE SE GUARDARA. inputData = (nombre, apellidoP, apellidoM, fechaIngreso, telefono, usuario, contraseña, cpuesto, clave) #Se ejecuta las variables en conjunto, permitiendo actualizar la información. micursor.execute(query, inputData) #Ventana donde aparece que los datos fueron actualizados correctamente. self.ventana = QtWidgets.QMainWindow() self.ui = Ui_DatosActualizados() self.ui.setupUi(self.ventana) self.ventana.show() #Si la clave del trabajador que introdujo el usuario NO se encuentra dentro de listaClaves. elif clave not in listaClaves: #Se muestra una ventana donde se avisa que la clave de trabajador no existe, por lo tanto no se puede actualizar. self.ventana = QtWidgets.QMainWindow() self.ui = Ui_ClaveInexistenteUP() self.ui.setupUi(self.ventana) self.ventana.show() #Si la clave del puesto que introdujo el usuario NO se encuentra dentro de listaClavesP: elif clavePuesto not in listaClavesP: #Se muestra una ventana donde se avisa que la clave de puesto no existe, por lo tanto no se puede actualizar. self.ventana = QtWidgets.QMainWindow() self.ui = Ui_ClaveInexistentePuesto() self.ui.setupUi(self.ventana) self.ventana.show() #Excepcion por si ocurre un error con sqlite3. except Error as e: print(e) #Excepción por si no se llenan los campos necesarios except: #Ventana que muestra el mensaje donde se piden llenar todos los campos. self.ventana = QtWidgets.QMainWindow() self.ui = Ui_Alerta() self.ui.setupUi(self.ventana) self.ventana.show() #Asignación de texto a los botones y labels. def retranslateUi(self, ActualizarTrabajador): _translate = QtCore.QCoreApplication.translate ActualizarTrabajador.setWindowTitle( _translate("ActualizarTrabajador", "MainWindow")) self.label_5.setText( _translate( "ActualizarTrabajador", "<html><head/><body><p align=\"center\"><span style=\" font-size:14pt; font-weight:600;\">ACTUALIZAR TRABAJADOR</span></p></body></html>" )) self.label.setText( _translate( "ActualizarTrabajador", "<html><head/><body><p align=\"center\">CLAVE</p></body></html>" )) self.label_2.setText( _translate( "ActualizarTrabajador", "<html><head/><body><p align=\"center\">NOMBRE</p></body></html>" )) self.label_6.setText( _translate( "ActualizarTrabajador", "<html><head/><body><p align=\"center\">APELLIDO PATERNO</p></body></html>" )) self.label_7.setText( _translate( "ActualizarTrabajador", "<html><head/><body><p align=\"center\">APELLIDO MATERNO</p></body></html>" )) self.label_8.setText( _translate( "ActualizarTrabajador", "<html><head/><body><p align=\"center\">FECHA INGRESO</p></body></html>" )) self.label_9.setText( _translate( "ActualizarTrabajador", "<html><head/><body><p align=\"center\">TELÉFONO</p></body></html>" )) self.label_10.setText( _translate( "ActualizarTrabajador", "<html><head/><body><p align=\"center\">CONTRASEÑA</p></body></html>" )) self.label_11.setText( _translate( "ActualizarTrabajador", "<html><head/><body><p align=\"center\">CLAVE PUESTO</p></body></html>" )) self.label_12.setText( _translate( "ActualizarTrabajador", "<html><head/><body><p align=\"center\">USUARIO</p></body></html>" )) self.Actualizar.setText( _translate("ActualizarTrabajador", "ACTUALIZAR")) self.Verificar.setText(_translate("ActualizarTrabajador", "VERIFICAR")) self.Limpiar.setText(_translate("ActualizarTrabajador", "LIMPIAR"))
class Ui_MenuEP(object): def setupUi(self, MenuEP): MenuEP.setObjectName("MenuEP") MenuEP.resize(304, 431) MenuEP.setStyleSheet("background-color: rgb(226, 230, 255);") self.centralwidget = QtWidgets.QWidget(MenuEP) self.centralwidget.setObjectName("centralwidget") self.label_5 = QtWidgets.QLabel(self.centralwidget) self.label_5.setGeometry(QtCore.QRect(0, 0, 301, 51)) self.label_5.setObjectName("label_5") self.label = QtWidgets.QLabel(self.centralwidget) self.label.setGeometry(QtCore.QRect(20, 69, 91, 21)) self.label.setStyleSheet("border-color: rgb(0, 0, 0);\n" "gridline-color: rgb(0, 0, 0);") self.label.setObjectName("label") self.label_2 = QtWidgets.QLabel(self.centralwidget) self.label_2.setGeometry(QtCore.QRect(30, 110, 61, 16)) self.label_2.setObjectName("label_2") self.label_3 = QtWidgets.QLabel(self.centralwidget) self.label_3.setGeometry(QtCore.QRect(20, 160, 81, 16)) self.label_3.setObjectName("label_3") self.label_4 = QtWidgets.QLabel(self.centralwidget) self.label_4.setGeometry(QtCore.QRect(20, 220, 81, 16)) self.label_4.setObjectName("label_4") self.label_6 = QtWidgets.QLabel(self.centralwidget) self.label_6.setGeometry(QtCore.QRect(20, 270, 81, 16)) self.label_6.setObjectName("label_6") self.Eliminar = QtWidgets.QPushButton(self.centralwidget) self.Eliminar.setGeometry(QtCore.QRect(215, 360, 75, 23)) self.Eliminar.setStyleSheet("background-color: rgb(255, 255, 255);") self.Eliminar.setObjectName("Eliminar") self.label_7 = QtWidgets.QLabel(self.centralwidget) self.label_7.setGeometry(QtCore.QRect(20, 320, 81, 16)) self.label_7.setObjectName("label_7") self.Nombre = QtWidgets.QTextBrowser(self.centralwidget) self.Nombre.setGeometry(QtCore.QRect(120, 100, 161, 31)) self.Nombre.setStyleSheet("background-color: rgb(223, 223, 223);") self.Nombre.setObjectName("Nombre") self.Direccion = QtWidgets.QTextBrowser(self.centralwidget) self.Direccion.setGeometry(QtCore.QRect(120, 140, 161, 61)) self.Direccion.setStyleSheet("background-color: rgb(223, 223, 223);") self.Direccion.setObjectName("Direccion") self.Telefono = QtWidgets.QTextBrowser(self.centralwidget) self.Telefono.setGeometry(QtCore.QRect(120, 210, 161, 31)) self.Telefono.setStyleSheet("background-color: rgb(223, 223, 223);") self.Telefono.setObjectName("Telefono") self.Correo = QtWidgets.QTextBrowser(self.centralwidget) self.Correo.setGeometry(QtCore.QRect(120, 260, 161, 31)) self.Correo.setStyleSheet("background-color: rgb(223, 223, 223);") self.Correo.setObjectName("Correo") self.Representante = QtWidgets.QTextBrowser(self.centralwidget) self.Representante.setGeometry(QtCore.QRect(120, 310, 161, 31)) self.Representante.setStyleSheet("background-color: rgb(223, 223, 223);") self.Representante.setObjectName("Representante") self.claveP = QtWidgets.QLineEdit(self.centralwidget) self.claveP.setGeometry(QtCore.QRect(120, 60, 161, 31)) self.claveP.setStyleSheet("background-color: rgb(255, 255, 255);") self.claveP.setObjectName("claveP") self.Limpiar = QtWidgets.QPushButton(self.centralwidget) self.Limpiar.setGeometry(QtCore.QRect(15, 360, 75, 23)) self.Limpiar.setStyleSheet("background-color: rgb(255, 255, 255);") self.Limpiar.setObjectName("Limpiar") self.Cargar = QtWidgets.QPushButton(self.centralwidget) self.Cargar.setGeometry(QtCore.QRect(115, 360, 75, 23)) self.Cargar.setStyleSheet("background-color: rgb(255, 255, 255);") self.Cargar.setObjectName("Cargar") MenuEP.setCentralWidget(self.centralwidget) self.menubar = QtWidgets.QMenuBar(MenuEP) self.menubar.setGeometry(QtCore.QRect(0, 0, 304, 21)) self.menubar.setObjectName("menubar") MenuEP.setMenuBar(self.menubar) self.statusbar = QtWidgets.QStatusBar(MenuEP) self.statusbar.setObjectName("statusbar") MenuEP.setStatusBar(self.statusbar) self.retranslateUi(MenuEP) #Boton Limpiar para limpiar todos los campos. self.Limpiar.clicked.connect(self.Representante.clear) self.Limpiar.clicked.connect(self.Correo.clear) self.Limpiar.clicked.connect(self.Telefono.clear) self.Limpiar.clicked.connect(self.Direccion.clear) self.Limpiar.clicked.connect(self.Nombre.clear) self.Limpiar.clicked.connect(self.claveP.clear) QtCore.QMetaObject.connectSlotsByName(MenuEP) #Programación de botones #Boton que permite cargar la información en la aplicación. self.Cargar.clicked.connect(self.ShowData) #Boton que permite eliminar la información obtenida de la base de datos. self.Eliminar.clicked.connect(self.DeleteData) #Función que permite eliminar la información de la base de datos según la clave dada. def DeleteData(self): #Try para excepciones. try: #Conexión a la base de datos with sqlite3.connect("PIA_1845788.db") as conn: #Leer clave de producto que se introduce en nuestra ventana de Eliminar Proveedor. Clave = self.claveP.text() #Convertir la clave a entero. clave = int(Clave) #Definir nuestro cursor. mi_cursor = conn.cursor() #Ejecutar una línea que nos permite obtener todas las claves guardadas en Proveedor. c= mi_cursor.execute("SELECT Clave_Proveedor FROM Proveedor") #Guardar los resultados en la variable claves. claves = mi_cursor.fetchall() #Declarar una lista donde se guardaran las claves de proveedores. ClaveP = [] #Ciclo para el unpack del resultado de claves. for dato in claves: for n in dato: CLAVEP = int(n) #Agregar cada clave en la lista ClaveP. ClaveP.append(CLAVEP) #ESTO ES UNA DOBLE VERIFICACIÓN YA QUE TAMBIÉN SE HACE EN LA FUNCIÓN DE VERIFICAR. #Si la clave que introdujo el usuario esta dentro de la lista de claves. if clave in ClaveP: #Guardar la clave en el diccionario valor, para posteriormente utilizarlo. valor = {"clave":clave} #Ejecutar la linea donde se elimina toda la información guardada con la clave que el usuario otorgo. mi_cursor.execute("DELETE FROM Proveedor WHERE Clave_Proveedor = (:clave)",valor) #Ventana que muestra un aviso donde los datos fueron eliminados exitosamente (codigo .py) self.ventana = QtWidgets.QMainWindow() self.ui = Ui_DatosEliminados() self.ui.setupUi(self.ventana) self.ventana.show() #Si la clave no se encuentra dentro de la lista: else: #Se muestra una ventana que muestra un aviso que la clave que se quiere eliminar no existe (codigo .py) self.ventana = QtWidgets.QMainWindow() self.ui = Ui_ClaveInexistenteEP() self.ui.setupUi(self.ventana) self.ventana.show() #Excepcion por si ocurre un error con sqlite3. except Error as e: print(e) #Excepción por si no se llenan los campos necesarios. except: #Ventana que muestra el mensaje donde se piden llenar todos los campos. self.ventana = QtWidgets.QMainWindow() self.ui = Ui_Alerta() self.ui.setupUi(self.ventana) self.ventana.show() #Función que se utiliza para cargar y mostrar los datos en la aplicación. def ShowData(self): #Try para excepciones. try: #Conexión a la base de datos with sqlite3.connect("PIA_1845788.db") as conn: #Leer clave de producto que se introduce en nuestra ventana de Eliminar Proveedor. Clave = self.claveP.text() #Convertir la clave a entero. clave = int(Clave) #Definir nuestro cursor. mi_cursor = conn.cursor() #Guardar la clave en el diccionario valor, para posteriormente utilizarlo. valor = {"clave":clave} #Ejecutar una línea que nos permite obtener todas las claves guardadas en proveedor. c= mi_cursor.execute("SELECT Clave_Proveedor FROM Proveedor") #Guardar los resultados en la variable claves. claves = mi_cursor.fetchall() #Declarar una lista donde se guardaran las claves de proveedores. ClaveP = [] #Ciclo para el unpack del resultado de claves. for dato in claves: for n in dato: CLAVEP = int(n) #Agregar cada clave a la lista de Claves. ClaveP.append(CLAVEP) #ESTO ES UNA DOBLE VERIFICACIÓN YA QUE TAMBIÉN SE HACE EN LA FUNCIÓN DE ELIMINAR. #Si la clave que introdujo el usuario esta dentro de la lista de claves. if clave in ClaveP: #Buscar nombre del proveedor en la base de datos según la clave dada por el usuario y mostrarlo. c = mi_cursor.execute("SELECT Nombre FROM Proveedor WHERE Clave_Proveedor = (:clave)",valor) #Guardar el resultado en la variable nombre. nombre = mi_cursor.fetchall() #Ciclo para el unpack del resultado de nombre. for dato in nombre: for n in dato: Nombre = str(n) #Asignar al campo Nombre el valor de Nombre que se obtuvo anteriormente. self.Nombre.setText(Nombre) #Buscar direccion del proveedor en la base de datos según la clave dada por el usuario y mostrarlo. c = mi_cursor.execute("SELECT Dirección FROM Proveedor WHERE Clave_Proveedor = (:clave)",valor) #Guardar el resultado en la variable dirección. dirección = mi_cursor.fetchall() #Ciclo para el unpack del resultado de dirección. for dato in dirección: for n in dato: dire = str(n) #Asignar al campo Direccion el valor de dire que se obtuvo anteriormente. self.Direccion.setText(dire) #Buscar telefono del proveedor en la base de datos según la clave dada por el usuario y mostrarlo. c = mi_cursor.execute("SELECT Teléfono FROM Proveedor WHERE Clave_Proveedor = (:clave)",valor) #Guardar el resultado en la variable telefono. telefono = mi_cursor.fetchall() #Ciclo para el unpack del resultado de telefono. for dato in telefono: for n in dato: tel = str(n) #Asignar al campo Telefono el valor de tel que se obtuvo anteriormente. self.Telefono.setText(tel) #Buscar correo del proveedor en la base de datos según la clave dada por el usuario y mostrarlo. c = mi_cursor.execute("SELECT Correo FROM Proveedor WHERE Clave_Proveedor = (:clave)",valor) #Guardar el resultado en la variable correo. correo = mi_cursor.fetchall() #Ciclo para el unpack del resultado de correo. for dato in correo: for n in dato: Correo = str(n) #Asignar al campo Correo el valor de Correo que se obtuvo anteriormente. self.Correo.setText(Correo) #Buscar representante del proveedor en la base de datos según la clave dada por el usuario y mostrarlo. c = mi_cursor.execute("SELECT Representante FROM Proveedor WHERE Clave_Proveedor = (:clave)",valor) #Guardar el resultado en la variable representante. representante= mi_cursor.fetchall() #Ciclo para el unpack del resultado de representante. for dato in representante: for n in dato: Representante = str(n) #Asignar al campo Representante el valor de Representante que se obtuvo anteriormente. self.Representante.setText(Representante) #Si la clave no se encuentra dentro de la lista: else: #Se muestra una ventana que muestra un aviso que la clave que se quiere eliminar no existe (codigo .py) self.ventana = QtWidgets.QMainWindow() self.ui = Ui_ClaveInexistenteEP() self.ui.setupUi(self.ventana) self.ventana.show() #Excepcion por si ocurre un error con sqlite3. except Error as e: print(e) #Excepción por si no se llenan los campos necesarios. except: #Ventana que muestra el mensaje donde se piden llenar todos los campos. self.ventana = QtWidgets.QMainWindow() self.ui = Ui_Alerta() self.ui.setupUi(self.ventana) self.ventana.show() #Asignación de texto a los botones y labels. def retranslateUi(self, MenuEP): _translate = QtCore.QCoreApplication.translate MenuEP.setWindowTitle(_translate("MenuEP", "MainWindow")) self.label_5.setText(_translate("MenuEP", "<html><head/><body><p align=\"center\"><span style=\" font-size:14pt; font-weight:600;\">ELIMINAR PROVEEDOR</span></p></body></html>")) self.label.setText(_translate("MenuEP", "<html><head/><body><p align=\"center\">CLAVE</p></body></html>")) self.label_2.setText(_translate("MenuEP", "<html><head/><body><p align=\"center\">NOMBRE</p></body></html>")) self.label_3.setText(_translate("MenuEP", "<html><head/><body><p align=\"center\">DIRECCIÓN</p></body></html>")) self.label_4.setText(_translate("MenuEP", "<html><head/><body><p align=\"center\">TELÉFONO</p></body></html>")) self.label_6.setText(_translate("MenuEP", "<html><head/><body><p align=\"center\">CORREO</p></body></html>")) self.Eliminar.setText(_translate("MenuEP", "ELIMINAR")) self.label_7.setText(_translate("MenuEP", "<html><head/><body><p align=\"center\">REPRESENTANTE</p></body></html>")) self.Limpiar.setText(_translate("MenuEP", "LIMPIAR")) self.Cargar.setText(_translate("MenuEP", "CARGAR"))
class Ui_ActualizarCliente(object): def setupUi(self, ActualizarCliente): ActualizarCliente.setObjectName("ActualizarCliente") ActualizarCliente.resize(314, 398) ActualizarCliente.setStyleSheet( "background-color: rgb(226, 230, 255);") self.centralwidget = QtWidgets.QWidget(ActualizarCliente) self.centralwidget.setObjectName("centralwidget") self.label_5 = QtWidgets.QLabel(self.centralwidget) self.label_5.setGeometry(QtCore.QRect(0, 0, 311, 51)) self.label_5.setObjectName("label_5") self.label = QtWidgets.QLabel(self.centralwidget) self.label.setGeometry(QtCore.QRect(30, 69, 91, 21)) self.label.setStyleSheet("border-color: rgb(0, 0, 0);\n" "gridline-color: rgb(0, 0, 0);") self.label.setObjectName("label") self.label_2 = QtWidgets.QLabel(self.centralwidget) self.label_2.setGeometry(QtCore.QRect(40, 110, 61, 16)) self.label_2.setObjectName("label_2") self.label_3 = QtWidgets.QLabel(self.centralwidget) self.label_3.setGeometry(QtCore.QRect(30, 280, 81, 16)) self.label_3.setObjectName("label_3") self.label_4 = QtWidgets.QLabel(self.centralwidget) self.label_4.setGeometry(QtCore.QRect(30, 230, 81, 16)) self.label_4.setObjectName("label_4") self.label_6 = QtWidgets.QLabel(self.centralwidget) self.label_6.setGeometry(QtCore.QRect(20, 150, 101, 20)) self.label_6.setObjectName("label_6") self.label_7 = QtWidgets.QLabel(self.centralwidget) self.label_7.setGeometry(QtCore.QRect(20, 190, 101, 20)) self.label_7.setObjectName("label_7") self.Verificar = QtWidgets.QPushButton(self.centralwidget) self.Verificar.setGeometry(QtCore.QRect(120, 330, 75, 23)) self.Verificar.setStyleSheet("background-color: rgb(255, 255, 255);") self.Verificar.setObjectName("Verificar") self.Limpiar = QtWidgets.QPushButton(self.centralwidget) self.Limpiar.setGeometry(QtCore.QRect(20, 330, 75, 23)) self.Limpiar.setStyleSheet("background-color: rgb(255, 255, 255);") self.Limpiar.setObjectName("Limpiar") self.Actualizar = QtWidgets.QPushButton(self.centralwidget) self.Actualizar.setGeometry(QtCore.QRect(220, 330, 75, 23)) self.Actualizar.setStyleSheet("background-color: rgb(255, 255, 255);") self.Actualizar.setObjectName("Actualizar") self.claveC = QtWidgets.QLineEdit(self.centralwidget) self.claveC.setGeometry(QtCore.QRect(130, 60, 161, 31)) self.claveC.setStyleSheet("background-color: rgb(255, 255, 255);") self.claveC.setObjectName("claveC") self.Nombre = QtWidgets.QLineEdit(self.centralwidget) self.Nombre.setGeometry(QtCore.QRect(130, 100, 161, 31)) self.Nombre.setStyleSheet("background-color: rgb(255, 255, 255);") self.Nombre.setObjectName("Nombre") self.ApellidoP = QtWidgets.QLineEdit(self.centralwidget) self.ApellidoP.setGeometry(QtCore.QRect(130, 140, 161, 31)) self.ApellidoP.setStyleSheet("background-color: rgb(255, 255, 255);") self.ApellidoP.setObjectName("ApellidoP") self.ApellidoM = QtWidgets.QLineEdit(self.centralwidget) self.ApellidoM.setGeometry(QtCore.QRect(130, 180, 161, 31)) self.ApellidoM.setStyleSheet("background-color: rgb(255, 255, 255);") self.ApellidoM.setObjectName("ApellidoM") self.Telefono = QtWidgets.QLineEdit(self.centralwidget) self.Telefono.setGeometry(QtCore.QRect(130, 220, 161, 31)) self.Telefono.setStyleSheet("background-color: rgb(255, 255, 255);") self.Telefono.setObjectName("Telefono") self.Direccion = QtWidgets.QLineEdit(self.centralwidget) self.Direccion.setGeometry(QtCore.QRect(130, 260, 161, 51)) self.Direccion.setStyleSheet("background-color: rgb(255, 255, 255);") self.Direccion.setObjectName("Direccion") ActualizarCliente.setCentralWidget(self.centralwidget) self.menubar = QtWidgets.QMenuBar(ActualizarCliente) self.menubar.setGeometry(QtCore.QRect(0, 0, 314, 21)) self.menubar.setObjectName("menubar") ActualizarCliente.setMenuBar(self.menubar) self.statusbar = QtWidgets.QStatusBar(ActualizarCliente) self.statusbar.setObjectName("statusbar") ActualizarCliente.setStatusBar(self.statusbar) self.retranslateUi(ActualizarCliente) #Boton Limpiar para limpiar todos los campos. self.Limpiar.clicked.connect(self.claveC.clear) self.Limpiar.clicked.connect(self.Nombre.clear) self.Limpiar.clicked.connect(self.ApellidoP.clear) self.Limpiar.clicked.connect(self.ApellidoM.clear) self.Limpiar.clicked.connect(self.Telefono.clear) self.Limpiar.clicked.connect(self.Direccion.clear) QtCore.QMetaObject.connectSlotsByName(ActualizarCliente) #Botones programados #Boton que permite actualizar la información a la base de datos. self.Actualizar.clicked.connect(self.UpdateData) #Boton que permite verificar que la información cargada en la aplicación sea válida. self.Verificar.clicked.connect(self.VerificarDatos) def VerificarDatos(self): #Try para excepciones. try: #Conexión a la base de datos with sqlite3.connect("PIA_1845788.db") as conn: #Definir nuestro cursor. micursor = conn.cursor() #Leer clave de cliente que se introduce en nuestra ventana de Agregar Cliente. Clave = self.claveC.text() #Convertir la clave a entero.Ya que en la base se tiene como Entero. clave = int(Clave) #Ejecutar una línea que nos permite obtener todas las claves guardadas en Cliente. micursor.execute("SELECT Clave_Cliente FROM Cliente") #Guardar los resultados en la variable claveC claveC = micursor.fetchall() #Declarar una lista donde se guardaran las claves de cliente. listaClaves = [] #Ciclo para el unpack del resultado de claveC. for dato in claveC: for n in dato: ClaveC = int(n) #Agregar cada clave a la lista de listaClaves listaClaves.append(ClaveC) #ESTO ES UNA DOBLE VERIFICACIÓN YA QUE TAMBIÉN SE HACE EN LA FUNCIÓN DE AGREGAR. #Si la clave que introdujo el usuario esta dentro de la lista de claves. if clave in listaClaves: #Se muestra una ventana donde se avisa que la clave es existente, por lo tanto se puede actualizar self.ventana = QtWidgets.QMainWindow() self.ui = Ui_ClaveExistente() self.ui.setupUi(self.ventana) self.ventana.show() #Si la clave no esta dentro de la lista: else: #Se muestra una ventana donde se avisa que la clave no existe, por lo tanto no se puede actualizar. self.ventana = QtWidgets.QMainWindow() self.ui = Ui_ClaveInexistenteUP() self.ui.setupUi(self.ventana) self.ventana.show() #Excepcion por si ocurre un error con sqlite3. except Error as e: print(e) #Excepción por si no se llenan los campos necesarios except: #Ventana que muestra el mensaje donde se piden llenar todos los campos. self.ventana = QtWidgets.QMainWindow() self.ui = Ui_Alerta() self.ui.setupUi(self.ventana) self.ventana.show() def UpdateData(self): #Try para excepciones. try: #Conexión a la base de datos with sqlite3.connect("PIA_1845788.db") as conn: #Definir nuestro cursor. micursor = conn.cursor() #Leer clave de cliente que se introduce en nuestra ventana de Agregar Cliente. Clave = self.claveC.text() #Convertir la clave a entero.Ya que en la base se tiene como Entero. clave = int(Clave) #Ejecutar una línea que nos permite obtener todas las claves guardadas en Cliente. micursor.execute("SELECT Clave_Cliente FROM Cliente") #Guardar los resultados en la variable claveC claveC = micursor.fetchall() #Declarar una lista donde se guardaran las claves de cliente. listaClaves = [] #Ciclo para el unpack del resultado de claveC. for dato in claveC: for n in dato: ClaveC = int(n) #Agregar cada clave a la lista de listaClaves listaClaves.append(ClaveC) #ESTO ES UNA DOBLE VERIFICACIÓN YA QUE TAMBIÉN SE HACE EN LA FUNCIÓN DE AGREGAR. #Si la clave que introdujo el usuario esta dentro de la lista de claves. if clave in listaClaves: #Se lee el nombre que se introduce en la aplicación y se agrega a la variable nombre. nombre = self.Nombre.text() #Se lee el apellido paterno que se introduce en la aplicación y se agrega a la variable apellidoP. apellidoP = self.ApellidoP.text() #Se lee el apellido materno que se introduce en la aplicación y se agrega a la variable apellidoM. apellidoM = self.ApellidoM.text() #Se lee el telefono que se introduce en la aplicación y se agrega a la variable Telefono. Telefono = self.Telefono.text() #Se cambia el valor a entero y se guarda en la variable telefono. Ya que en la base se tiene como Entero. telefono = int(Telefono) #Se lee la direccion que se introduce en la aplicación y se agrega a la variable direccion. direccion = self.Direccion.text() #VARIABLE DONDE SE GUARDA LA LINEA PARA ACTUALIZAR LA INFORMACIÓN DE CLIENTE. query = """UPDATE Cliente SET Nombre = ?, Apellido_Paterno = ?, Apellido_Materno = ?, Telefono = ?, Dirección = ? WHERE Clave_Cliente = ?""" #VARIABLE DONDE SE GUARDAN LAS VARIABLES QUE CONTIENEN LA INFORMACION QUE SE GUARDARA. inputData = (nombre, apellidoP, apellidoM, telefono, direccion, clave) #Se ejecuta las variables en conjunto, permitiendo actualizar la información. micursor.execute(query, inputData) #Ventana donde aparece que los datos fueron actualizados correctamente. self.ventana = QtWidgets.QMainWindow() self.ui = Ui_DatosActualizados() self.ui.setupUi(self.ventana) self.ventana.show() #Si la clave del proveedor que introdujo el usuario NO se encuentra dentro de listaClaves. else: #Se muestra una ventana donde se avisa que la clave de proveedor no existe, por lo tanto no se puede actualizar. self.ventana = QtWidgets.QMainWindow() self.ui = Ui_ClaveInexistenteUP() self.ui.setupUi(self.ventana) self.ventana.show() #Excepcion por si ocurre un error con sqlite3. except Error as e: print(e) #Excepción por si no se llenan los campos necesarios except: #Ventana que muestra el mensaje donde se piden llenar todos los campos. self.ventana = QtWidgets.QMainWindow() self.ui = Ui_Alerta() self.ui.setupUi(self.ventana) self.ventana.show() #Asignación de texto a los botones y labels. def retranslateUi(self, ActualizarCliente): _translate = QtCore.QCoreApplication.translate ActualizarCliente.setWindowTitle( _translate("ActualizarCliente", "MainWindow")) self.label_5.setText( _translate( "ActualizarCliente", "<html><head/><body><p align=\"center\"><span style=\" font-size:14pt; font-weight:600;\">ACTUALIZAR CLIENTE</span></p></body></html>" )) self.label.setText( _translate( "ActualizarCliente", "<html><head/><body><p align=\"center\">CLAVE</p></body></html>" )) self.label_2.setText( _translate( "ActualizarCliente", "<html><head/><body><p align=\"center\">NOMBRE</p></body></html>" )) self.label_3.setText( _translate( "ActualizarCliente", "<html><head/><body><p align=\"center\">DIRECCIÓN</p></body></html>" )) self.label_4.setText( _translate( "ActualizarCliente", "<html><head/><body><p align=\"center\">TELÉFONO</p></body></html>" )) self.label_6.setText( _translate( "ActualizarCliente", "<html><head/><body><p align=\"center\">APELLIDO PATERNO</p></body></html>" )) self.label_7.setText( _translate( "ActualizarCliente", "<html><head/><body><p align=\"center\">APELLIDO MATERNO</p></body></html>" )) self.Verificar.setText(_translate("ActualizarCliente", "VERIFICAR")) self.Limpiar.setText(_translate("ActualizarCliente", "LIMPIAR")) self.Actualizar.setText(_translate("ActualizarCliente", "ACTUALIZAR"))
class Ui_EliminarTrabajador(object): def setupUi(self, EliminarTrabajador): EliminarTrabajador.setObjectName("EliminarTrabajador") EliminarTrabajador.resize(292, 500) EliminarTrabajador.setStyleSheet( "background-color: rgb(226, 230, 255);") self.centralwidget = QtWidgets.QWidget(EliminarTrabajador) self.centralwidget.setObjectName("centralwidget") self.label_5 = QtWidgets.QLabel(self.centralwidget) self.label_5.setGeometry(QtCore.QRect(0, 0, 301, 51)) self.label_5.setObjectName("label_5") self.label = QtWidgets.QLabel(self.centralwidget) self.label.setGeometry(QtCore.QRect(20, 69, 91, 21)) self.label.setStyleSheet("border-color: rgb(0, 0, 0);\n" "gridline-color: rgb(0, 0, 0);") self.label.setObjectName("label") self.label_2 = QtWidgets.QLabel(self.centralwidget) self.label_2.setGeometry(QtCore.QRect(30, 110, 61, 16)) self.label_2.setObjectName("label_2") self.label_4 = QtWidgets.QLabel(self.centralwidget) self.label_4.setGeometry(QtCore.QRect(20, 270, 81, 16)) self.label_4.setObjectName("label_4") self.label_6 = QtWidgets.QLabel(self.centralwidget) self.label_6.setGeometry(QtCore.QRect(10, 150, 101, 20)) self.label_6.setObjectName("label_6") self.label_7 = QtWidgets.QLabel(self.centralwidget) self.label_7.setGeometry(QtCore.QRect(10, 190, 101, 20)) self.label_7.setObjectName("label_7") self.Nombre = QtWidgets.QTextBrowser(self.centralwidget) self.Nombre.setGeometry(QtCore.QRect(120, 100, 161, 31)) self.Nombre.setStyleSheet("background-color: rgb(223, 223, 223);") self.Nombre.setObjectName("Nombre") self.Telefono = QtWidgets.QTextBrowser(self.centralwidget) self.Telefono.setGeometry(QtCore.QRect(120, 260, 161, 31)) self.Telefono.setStyleSheet("background-color: rgb(223, 223, 223);") self.Telefono.setObjectName("Telefono") self.ApellidoP = QtWidgets.QTextBrowser(self.centralwidget) self.ApellidoP.setGeometry(QtCore.QRect(120, 140, 161, 31)) self.ApellidoP.setStyleSheet("background-color: rgb(223, 223, 223);") self.ApellidoP.setObjectName("ApellidoP") self.ApellidoM = QtWidgets.QTextBrowser(self.centralwidget) self.ApellidoM.setGeometry(QtCore.QRect(120, 180, 161, 31)) self.ApellidoM.setStyleSheet("background-color: rgb(223, 223, 223);") self.ApellidoM.setObjectName("ApellidoM") self.label_8 = QtWidgets.QLabel(self.centralwidget) self.label_8.setGeometry(QtCore.QRect(20, 230, 81, 16)) self.label_8.setObjectName("label_8") self.FechaIngreso = QtWidgets.QTextBrowser(self.centralwidget) self.FechaIngreso.setGeometry(QtCore.QRect(120, 220, 161, 31)) self.FechaIngreso.setStyleSheet( "background-color: rgb(223, 223, 223);") self.FechaIngreso.setObjectName("FechaIngreso") self.label_9 = QtWidgets.QLabel(self.centralwidget) self.label_9.setGeometry(QtCore.QRect(20, 350, 81, 16)) self.label_9.setObjectName("label_9") self.Contra = QtWidgets.QTextBrowser(self.centralwidget) self.Contra.setGeometry(QtCore.QRect(120, 340, 161, 31)) self.Contra.setStyleSheet("background-color: rgb(223, 223, 223);") self.Contra.setObjectName("Contra") self.label_10 = QtWidgets.QLabel(self.centralwidget) self.label_10.setGeometry(QtCore.QRect(20, 390, 81, 16)) self.label_10.setObjectName("label_10") self.Puesto = QtWidgets.QTextBrowser(self.centralwidget) self.Puesto.setGeometry(QtCore.QRect(120, 380, 161, 31)) self.Puesto.setStyleSheet("background-color: rgb(223, 223, 223);") self.Puesto.setObjectName("Puesto") self.claveT = QtWidgets.QLineEdit(self.centralwidget) self.claveT.setGeometry(QtCore.QRect(120, 60, 161, 31)) self.claveT.setStyleSheet("background-color: rgb(255, 255, 255);") self.claveT.setObjectName("claveT") self.Usuario = QtWidgets.QTextBrowser(self.centralwidget) self.Usuario.setGeometry(QtCore.QRect(120, 300, 161, 31)) self.Usuario.setStyleSheet("background-color: rgb(223, 223, 223);") self.Usuario.setObjectName("Usuario") self.label_11 = QtWidgets.QLabel(self.centralwidget) self.label_11.setGeometry(QtCore.QRect(20, 310, 81, 16)) self.label_11.setObjectName("label_11") self.Limpiar = QtWidgets.QPushButton(self.centralwidget) self.Limpiar.setGeometry(QtCore.QRect(20, 430, 75, 23)) self.Limpiar.setStyleSheet("background-color: rgb(255, 255, 255);") self.Limpiar.setObjectName("Limpiar") self.Eliminar = QtWidgets.QPushButton(self.centralwidget) self.Eliminar.setGeometry(QtCore.QRect(200, 429, 75, 23)) self.Eliminar.setStyleSheet("background-color: rgb(255, 255, 255);") self.Eliminar.setObjectName("Eliminar") self.Cargar = QtWidgets.QPushButton(self.centralwidget) self.Cargar.setGeometry(QtCore.QRect(110, 430, 75, 23)) self.Cargar.setStyleSheet("background-color: rgb(255, 255, 255);") self.Cargar.setObjectName("Cargar") EliminarTrabajador.setCentralWidget(self.centralwidget) self.menubar = QtWidgets.QMenuBar(EliminarTrabajador) self.menubar.setGeometry(QtCore.QRect(0, 0, 292, 21)) self.menubar.setObjectName("menubar") EliminarTrabajador.setMenuBar(self.menubar) self.statusbar = QtWidgets.QStatusBar(EliminarTrabajador) self.statusbar.setObjectName("statusbar") EliminarTrabajador.setStatusBar(self.statusbar) self.retranslateUi(EliminarTrabajador) #Boton Limpiar para limpiar todos los campos. self.Limpiar.clicked.connect(self.claveT.clear) self.Limpiar.clicked.connect(self.Nombre.clear) self.Limpiar.clicked.connect(self.ApellidoP.clear) self.Limpiar.clicked.connect(self.ApellidoM.clear) self.Limpiar.clicked.connect(self.FechaIngreso.clear) self.Limpiar.clicked.connect(self.Telefono.clear) self.Limpiar.clicked.connect(self.Usuario.clear) self.Limpiar.clicked.connect(self.Contra.clear) self.Limpiar.clicked.connect(self.Puesto.clear) QtCore.QMetaObject.connectSlotsByName(EliminarTrabajador) #Botones programados #Boton que permite cargar la información en la aplicación. self.Cargar.clicked.connect(self.ShowData) #Boton que permite eliminar la información obtenida de la base de datos. self.Eliminar.clicked.connect(self.DeleteData) #Función que permite eliminar la información de la base de datos según la clave dada. def DeleteData(self): #Try para excepciones. try: #Conexión a la base de datos with sqlite3.connect("PIA_1845788.db") as conn: #Leer clave de producto que se introduce en nuestra ventana de Eliminar Trabajador. Clave = self.claveT.text() #Convertir la clave a entero. clave = int(Clave) #Definir nuestro cursor. mi_cursor = conn.cursor() #Ejecutar una línea que nos permite obtener todas las claves guardadas en trabajador. c = mi_cursor.execute( "SELECT Clave_Trabajador FROM Trabajador") #Guardar los resultados en la variable claves. claves = mi_cursor.fetchall() #Declarar una lista donde se guardaran las claves de trabajadores. ClaveT = [] #Ciclo para el unpack del resultado de claves. for dato in claves: for n in dato: CLAVET = int(n) #Agregar cada clave en la lista ClaveP. ClaveT.append(CLAVET) #ESTO ES UNA DOBLE VERIFICACIÓN YA QUE TAMBIÉN SE HACE EN LA FUNCIÓN DE VERIFICAR. #Si la clave que introdujo el usuario esta dentro de la lista de claves. if clave in ClaveT: #Guardar la clave en el diccionario valor, para posteriormente utilizarlo. valor = {"clave": clave} #Ejecutar la linea donde se elimina toda la información guardada con la clave que el usuario otorgo. mi_cursor.execute( "DELETE FROM Trabajador WHERE Clave_Trabajador= (:clave)", valor) #Ventana que muestra un aviso donde los datos fueron eliminados exitosamente (codigo .py) self.ventana = QtWidgets.QMainWindow() self.ui = Ui_DatosEliminados() self.ui.setupUi(self.ventana) self.ventana.show() #Si la clave no se encuentra dentro de la lista: else: #Se muestra una ventana que muestra un aviso que la clave que se quiere eliminar no existe (codigo .py) self.ventana = QtWidgets.QMainWindow() self.ui = Ui_ClaveInexistenteEP() self.ui.setupUi(self.ventana) self.ventana.show() #Excepcion por si ocurre un error con sqlite3. except Error as e: print(e) #Excepción por si no se llenan los campos necesarios. except: #Ventana que muestra el mensaje donde se piden llenar todos los campos. self.ventana = QtWidgets.QMainWindow() self.ui = Ui_Alerta() self.ui.setupUi(self.ventana) self.ventana.show() #Función que se utiliza para cargar y mostrar los datos en la aplicación. def ShowData(self): #Try para excepciones. try: #Conexión a la base de datos with sqlite3.connect("PIA_1845788.db") as conn: #Leer clave de producto que se introduce en nuestra ventana de Eliminar Trabajador. Clave = self.claveT.text() #Convertir la clave a entero. clave = int(Clave) #Definir nuestro cursor. mi_cursor = conn.cursor() #Ejecutar una línea que nos permite obtener todas las claves guardadas en Trabajador. c = mi_cursor.execute( "SELECT Clave_Trabajador FROM Trabajador") #Guardar los resultados en la variable claves. claves = mi_cursor.fetchall() #Declarar una lista donde se guardaran las claves de trabajador. ClaveT = [] #Ciclo para el unpack del resultado de claves. for dato in claves: for n in dato: CLAVET = int(n) #Agregar cada clave a la lista de Claves. ClaveT.append(CLAVET) #ESTO ES UNA DOBLE VERIFICACIÓN YA QUE TAMBIÉN SE HACE EN LA FUNCIÓN DE ELIMINAR. #Si la clave que introdujo el usuario esta dentro de la lista de claves. if clave in ClaveT: #Guardar la clave en el diccionario valor, para posteriormente utilizarlo. valor = {"clave": clave} #Buscar nombre del trabajador en la base de datos según la clave dada por el usuario y mostrarlo. c = mi_cursor.execute( "SELECT Nombre FROM Trabajador WHERE Clave_Trabajador = (:clave)", valor) #Guardar el resultado en la variable de nombre. nombre = mi_cursor.fetchall() #Ciclo para el unpack del resultado de nombre. for dato in nombre: for n in dato: Nombre = str(n) #Asignar al campo de Nombre el valor de Nombre que se obtuvo anteriormente. self.Nombre.setText(Nombre) #Buscar el apellido paterno del trabajador en la base de datos según la clave dada por el usuario y mostrarlo. c = mi_cursor.execute( "SELECT ApellidoPaterno FROM Trabajador WHERE Clave_Trabajador = (:clave)", valor) #Guardar el resultado en la variable de apP. apP = mi_cursor.fetchall() #Ciclo para el unpack del resultado de apP. for dato in apP: for n in dato: paterno = str(n) #Asignar al campo de ApellidoP el valor de paterno que se obtuvo anteriormente. self.ApellidoP.setText(paterno) #Buscar el apellido materno del trabajador en la base de datos según la clave dada por el usuario y mostrarlo. c = mi_cursor.execute( "SELECT ApellidoMaterno FROM Trabajador WHERE Clave_Trabajador = (:clave)", valor) #Guardar el resultado en la variable de apM. apM = mi_cursor.fetchall() #Ciclo para el unpack del resultado de apM. for dato in apM: for n in dato: materno = str(n) #Asignar al campo de ApellidoM el valor de materno que se obtuvo anteriormente. self.ApellidoM.setText(materno) #Buscar la fecha de ingreso del trabajador en la base de datos según la clave dada por el usuario y mostrarlo. c = mi_cursor.execute( "SELECT Fecha_Ingreso FROM Trabajador WHERE Clave_Trabajador = (:clave)", valor) #Guardar el resultado en la variable de fI. fI = mi_cursor.fetchall() #Ciclo para el unpack del resultado de fI. for dato in fI: for n in dato: fechaIngreso = str(n) #Asignar al campo de FechaIngreso el valor de fechaIngreso que se obtuvo anteriormente. self.FechaIngreso.setText(fechaIngreso) #Buscar el telefono del trabajador en la base de datos según la clave dada por el usuario y mostrarlo. c = mi_cursor.execute( "SELECT Telefono FROM Trabajador WHERE Clave_Trabajador = (:clave)", valor) #Guardar el resultado en la variable de tel. tel = mi_cursor.fetchall() #Ciclo para el unpack del resultado de tel. for dato in tel: for n in dato: Telefono = str(n) #Asignar al campo de Telefono el valor de Telefono que se obtuvo anteriormente. self.Telefono.setText(Telefono) #Buscar el usuario del trabajador en la base de datos según la clave dada por el usuario y mostrarlo. c = mi_cursor.execute( "SELECT Usuario FROM Trabajador WHERE Clave_Trabajador = (:clave)", valor) #Guardar el resultado en la variable de Usuario. Usuario = mi_cursor.fetchall() #Ciclo para el unpack del resultado de Usuario. for dato in Usuario: for n in dato: usuario = str(n) #Asignar al campo de Usuario el valor de usuario que se obtuvo anteriormente. self.Usuario.setText(usuario) #Buscar la contraseña del trabajador en la base de datos según la clave dada por el usuario y mostrarlo. c = mi_cursor.execute( "SELECT Contraseña FROM Trabajador WHERE Clave_Trabajador = (:clave)", valor) #Guardar el resultado en la variable de Contraseña. Contraseña = mi_cursor.fetchall() #Ciclo para el unpack del resultado de Contraseña. for dato in Contraseña: for n in dato: contraseña = str(n) #Asignar al campo de Contra el valor de contraseña que se obtuvo anteriormente. self.Contra.setText(contraseña) #Buscar el nombre del puesto del trabajador en la base de datos según la clave dada por el usuario y mostrarlo. c = mi_cursor.execute( "SELECT p.Nombre FROM Trabajador t INNER JOIN Puesto p ON t.Puesto = p.Clave WHERE Clave_Trabajador = (:clave)", valor) #Guardar el resultado en la variable de puesto. puesto = mi_cursor.fetchall() #Ciclo para el unpack del resultado de puesto. for dato in puesto: for n in dato: Puesto = str(n) #Asignar al campo de Puesto el valor de Puesto que se obtuvo anteriormente. self.Puesto.setText(Puesto) #Si la clave no se encuentra dentro de la lista: else: #Se muestra una ventana que muestra un aviso que la clave que se quiere eliminar no existe (codigo .py) self.ventana = QtWidgets.QMainWindow() self.ui = Ui_ClaveInexistenteEP() self.ui.setupUi(self.ventana) self.ventana.show() #Excepcion por si ocurre un error con sqlite3. except Error as e: print(e) #Excepción por si no se llenan los campos necesarios. except: #Ventana que muestra el mensaje donde se piden llenar todos los campos. self.ventana = QtWidgets.QMainWindow() self.ui = Ui_Alerta() self.ui.setupUi(self.ventana) self.ventana.show() #Asignación de texto a los botones y labels. def retranslateUi(self, EliminarTrabajador): _translate = QtCore.QCoreApplication.translate EliminarTrabajador.setWindowTitle( _translate("EliminarTrabajador", "MainWindow")) self.label_5.setText( _translate( "EliminarTrabajador", "<html><head/><body><p align=\"center\"><span style=\" font-size:14pt; font-weight:600;\">ELIMINAR TRABAJADOR</span></p></body></html>" )) self.label.setText( _translate( "EliminarTrabajador", "<html><head/><body><p align=\"center\">CLAVE</p></body></html>" )) self.label_2.setText( _translate( "EliminarTrabajador", "<html><head/><body><p align=\"center\">NOMBRE</p></body></html>" )) self.label_4.setText( _translate( "EliminarTrabajador", "<html><head/><body><p align=\"center\">TELÉFONO</p></body></html>" )) self.label_6.setText( _translate( "EliminarTrabajador", "<html><head/><body><p align=\"center\">APELLIDO PATERNO</p></body></html>" )) self.label_7.setText( _translate( "EliminarTrabajador", "<html><head/><body><p align=\"center\">APELLIDO MATERNO</p></body></html>" )) self.label_8.setText( _translate( "EliminarTrabajador", "<html><head/><body><p align=\"center\">FECHA INGRESO</p></body></html>" )) self.label_9.setText( _translate( "EliminarTrabajador", "<html><head/><body><p align=\"center\">CONTRASEÑA</p></body></html>" )) self.Contra.setHtml( _translate( "EliminarTrabajador", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n" "<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n" "p, li { white-space: pre-wrap; }\n" "</style></head><body style=\" font-family:\'MS Shell Dlg 2\'; font-size:8.25pt; font-weight:400; font-style:normal;\">\n" "<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><br /></p></body></html>" )) self.label_10.setText( _translate( "EliminarTrabajador", "<html><head/><body><p align=\"center\">PUESTO</p></body></html>" )) self.Puesto.setHtml( _translate( "EliminarTrabajador", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n" "<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n" "p, li { white-space: pre-wrap; }\n" "</style></head><body style=\" font-family:\'MS Shell Dlg 2\'; font-size:8.25pt; font-weight:400; font-style:normal;\">\n" "<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><br /></p></body></html>" )) self.Usuario.setHtml( _translate( "EliminarTrabajador", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n" "<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n" "p, li { white-space: pre-wrap; }\n" "</style></head><body style=\" font-family:\'MS Shell Dlg 2\'; font-size:8.25pt; font-weight:400; font-style:normal;\">\n" "<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><br /></p></body></html>" )) self.label_11.setText( _translate( "EliminarTrabajador", "<html><head/><body><p align=\"center\">USUARIO</p></body></html>" )) self.Limpiar.setText(_translate("EliminarTrabajador", "LIMPIAR")) self.Eliminar.setText(_translate("EliminarTrabajador", "ELIMINAR")) self.Cargar.setText(_translate("EliminarTrabajador", "CARGAR"))
class Ui_NuevoTrabajador(object): def setupUi(self, NuevoTrabajador): NuevoTrabajador.setObjectName("NuevoTrabajador") NuevoTrabajador.resize(293, 515) NuevoTrabajador.setStyleSheet("background-color: rgb(226, 230, 255);") self.centralwidget = QtWidgets.QWidget(NuevoTrabajador) self.centralwidget.setObjectName("centralwidget") self.label_5 = QtWidgets.QLabel(self.centralwidget) self.label_5.setGeometry(QtCore.QRect(0, 0, 301, 51)) self.label_5.setObjectName("label_5") self.label = QtWidgets.QLabel(self.centralwidget) self.label.setGeometry(QtCore.QRect(20, 69, 91, 21)) self.label.setStyleSheet("border-color: rgb(0, 0, 0);\n" "gridline-color: rgb(0, 0, 0);") self.label.setObjectName("label") self.label_2 = QtWidgets.QLabel(self.centralwidget) self.label_2.setGeometry(QtCore.QRect(30, 110, 61, 16)) self.label_2.setObjectName("label_2") self.label_6 = QtWidgets.QLabel(self.centralwidget) self.label_6.setGeometry(QtCore.QRect(10, 150, 101, 20)) self.label_6.setObjectName("label_6") self.label_7 = QtWidgets.QLabel(self.centralwidget) self.label_7.setGeometry(QtCore.QRect(10, 190, 101, 20)) self.label_7.setObjectName("label_7") self.label_8 = QtWidgets.QLabel(self.centralwidget) self.label_8.setGeometry(QtCore.QRect(10, 230, 101, 20)) self.label_8.setObjectName("label_8") self.label_9 = QtWidgets.QLabel(self.centralwidget) self.label_9.setGeometry(QtCore.QRect(10, 270, 101, 20)) self.label_9.setObjectName("label_9") self.label_10 = QtWidgets.QLabel(self.centralwidget) self.label_10.setGeometry(QtCore.QRect(10, 350, 101, 20)) self.label_10.setObjectName("label_10") self.label_11 = QtWidgets.QLabel(self.centralwidget) self.label_11.setGeometry(QtCore.QRect(10, 390, 101, 20)) self.label_11.setObjectName("label_11") self.claveT = QtWidgets.QLineEdit(self.centralwidget) self.claveT.setGeometry(QtCore.QRect(120, 60, 161, 31)) self.claveT.setStyleSheet("background-color: rgb(255, 255, 255);") self.claveT.setObjectName("claveT") self.Nombre = QtWidgets.QLineEdit(self.centralwidget) self.Nombre.setGeometry(QtCore.QRect(120, 100, 161, 31)) self.Nombre.setStyleSheet("background-color: rgb(255, 255, 255);") self.Nombre.setObjectName("Nombre") self.ApellidoP = QtWidgets.QLineEdit(self.centralwidget) self.ApellidoP.setGeometry(QtCore.QRect(120, 140, 161, 31)) self.ApellidoP.setStyleSheet("background-color: rgb(255, 255, 255);") self.ApellidoP.setObjectName("ApellidoP") self.ApellidoM = QtWidgets.QLineEdit(self.centralwidget) self.ApellidoM.setGeometry(QtCore.QRect(120, 180, 161, 31)) self.ApellidoM.setStyleSheet("background-color: rgb(255, 255, 255);") self.ApellidoM.setObjectName("ApellidoM") self.Fecha = QtWidgets.QLineEdit(self.centralwidget) self.Fecha.setGeometry(QtCore.QRect(120, 220, 161, 31)) self.Fecha.setStyleSheet("background-color: rgb(255, 255, 255);") self.Fecha.setText("") self.Fecha.setObjectName("Fecha") self.Telefono = QtWidgets.QLineEdit(self.centralwidget) self.Telefono.setGeometry(QtCore.QRect(120, 260, 161, 31)) self.Telefono.setStyleSheet("background-color: rgb(255, 255, 255);") self.Telefono.setObjectName("Telefono") self.Usuario = QtWidgets.QLineEdit(self.centralwidget) self.Usuario.setGeometry(QtCore.QRect(120, 300, 161, 31)) self.Usuario.setStyleSheet("background-color: rgb(255, 255, 255);") self.Usuario.setObjectName("Usuario") self.label_12 = QtWidgets.QLabel(self.centralwidget) self.label_12.setGeometry(QtCore.QRect(10, 310, 101, 20)) self.label_12.setObjectName("label_12") self.Contra = QtWidgets.QLineEdit(self.centralwidget) self.Contra.setGeometry(QtCore.QRect(120, 340, 161, 31)) self.Contra.setStyleSheet("background-color: rgb(255, 255, 255);") self.Contra.setObjectName("Contra") self.Agregar = QtWidgets.QPushButton(self.centralwidget) self.Agregar.setGeometry(QtCore.QRect(200, 430, 75, 23)) self.Agregar.setStyleSheet("background-color: rgb(255, 255, 255);") self.Agregar.setObjectName("Agregar") self.Verificar = QtWidgets.QPushButton(self.centralwidget) self.Verificar.setGeometry(QtCore.QRect(110, 431, 75, 23)) self.Verificar.setStyleSheet("background-color: rgb(255, 255, 255);") self.Verificar.setObjectName("Verificar") self.Limpiar = QtWidgets.QPushButton(self.centralwidget) self.Limpiar.setGeometry(QtCore.QRect(20, 431, 75, 23)) self.Limpiar.setStyleSheet("background-color: rgb(255, 255, 255);") self.Limpiar.setObjectName("Limpiar") self.CPuesto = QtWidgets.QLineEdit(self.centralwidget) self.CPuesto.setGeometry(QtCore.QRect(120, 380, 161, 31)) self.CPuesto.setStyleSheet("background-color: rgb(255, 255, 255);") self.CPuesto.setObjectName("CPuesto") NuevoTrabajador.setCentralWidget(self.centralwidget) self.menubar = QtWidgets.QMenuBar(NuevoTrabajador) self.menubar.setGeometry(QtCore.QRect(0, 0, 293, 21)) self.menubar.setObjectName("menubar") NuevoTrabajador.setMenuBar(self.menubar) self.statusbar = QtWidgets.QStatusBar(NuevoTrabajador) self.statusbar.setObjectName("statusbar") NuevoTrabajador.setStatusBar(self.statusbar) self.retranslateUi(NuevoTrabajador) #Boton Limpiar para limpiar todos los campos. self.Limpiar.clicked.connect(self.claveT.clear) self.Limpiar.clicked.connect(self.Nombre.clear) self.Limpiar.clicked.connect(self.ApellidoP.clear) self.Limpiar.clicked.connect(self.ApellidoM.clear) self.Limpiar.clicked.connect(self.Fecha.clear) self.Limpiar.clicked.connect(self.Telefono.clear) self.Limpiar.clicked.connect(self.Usuario.clear) self.Limpiar.clicked.connect(self.Contra.clear) self.Limpiar.clicked.connect(self.CPuesto.clear) QtCore.QMetaObject.connectSlotsByName(NuevoTrabajador) #Botones programados #Boton que permite agregar la información a la base de datos. self.Agregar.clicked.connect(self.LoadData) #Boton que permite verificar que la información cargada en la aplicación sea válida. self.Verificar.clicked.connect(self.VerificarDatos) #Función que permite verificar que la información dada por el usuario sea válida para cargar. def VerificarDatos(self): #Try para excepciones. try: #Conexión a la base de datos with sqlite3.connect("PIA_1845788.db") as conn: #Definir nuestro cursor. micursor = conn.cursor() #Leer clave de trabajador que se introduce en nuestra ventana de Agregar Trabajador. Clave = self.claveT.text() #Convertir la clave a entero.Ya que en la base se tiene como Entero. clave = int(Clave) #Ejecutar una línea que nos permite obtener todas las claves guardadas en Trabajador. micursor.execute("SELECT Clave_Trabajador FROM Trabajador") #Guardar los resultados en la variable claveT claveT = micursor.fetchall() #Declarar una lista donde se guardaran las claves de trabajador. listaClaves = [] #Ciclo para el unpack del resultado de claveT. for dato in claveT: for n in dato: ClaveT = int(n) #Agregar cada clave a la lista de listaClaves. listaClaves.append(ClaveT) #Leer clave de puesto que se introduce en nuestra ventana de Agregar Trabajador. ClaveP = self.CPuesto.text() #Convertir la clave a entero. Ya que en la base se tiene como Entero. clavePuesto = int(ClaveP) #Ejecutar una línea que nos permite obtener todas las claves guardadas en Puesto. micursor.execute("SELECT Clave FROM Puesto") #Guardar los resultados en la variable claveP. claveP = micursor.fetchall() #Declarar una lista donde se guardaran las claves de puesto. listaClavesP = [] #Ciclo para el unpack del resultado de claveP. for dato in claveP: for n in dato: ClaveP = int(n) #Agregar cada clave a la lista de listaClavesP. listaClavesP.append(ClaveP) #ESTO ES UNA DOBLE VERIFICACIÓN YA QUE TAMBIÉN SE HACE EN LA FUNCIÓN DE AGREGAR. #Si la clave que introdujo el usuario esta dentro de la lista de claves. if clave in listaClaves: #Se muestra una ventana donde avisa que la clave ya esta ocupada y que intente con otra. self.ventana = QtWidgets.QMainWindow() self.ui = Ui_ClaveExistente() self.ui.setupUi(self.ventana) self.ventana.show() #Si la clave que introdujo el usuario en la clave puesto NO existe muestra el siguiente mensaje. elif clavePuesto not in listaClavesP: #Ventana donde muestra que la clave de puesto es inexistente, por lo tanto no puede proseguir. self.ventana = QtWidgets.QMainWindow() self.ui = Ui_ClaveInexistentePuesto() self.ui.setupUi(self.ventana) self.ventana.show() #Si la clave del trabajador no esta dentro de la lista de claves de Trabajador. elif clave not in listaClaves: #Se muestra la ventana donde se avisa que la clave esta disponible y por lo tanto puede proseguir. self.ventana = QtWidgets.QMainWindow() self.ui = Ui_ClaveInexistente() self.ui.setupUi(self.ventana) self.ventana.show() #Excepcion por si ocurre un error con sqlite3. except Error as e: print(e) #Excepción por si no se llenan los campos necesarios. except: #Ventana que muestra el mensaje donde se piden llenar todos los campos. self.ventana = QtWidgets.QMainWindow() self.ui = Ui_Alerta() self.ui.setupUi(self.ventana) self.ventana.show() #Función que permite agregaar la información de la base de datos según la info otorgada. def LoadData(self): #Try para excepciones. try: #Conexión a la base de datos with sqlite3.connect("PIA_1845788.db") as conn: #Definir nuestro cursor. micursor = conn.cursor() #Leer clave de trabajador que se introduce en nuestra ventana de Agregar Trabajador. Clave = self.claveT.text() #Convertir la clave a entero. Ya que en la base se tiene como Entero. clave = int(Clave) #Ejecutar una línea que nos permite obtener todas las claves guardadas en Trabajador. micursor.execute("SELECT Clave_Trabajador FROM Trabajador") #Guardar los resultados en la variable claves claveT = micursor.fetchall() #Declarar una lista donde se guardaran las claves de trabajador. listaClaves = [] #Ciclo para el unpack del resultado de claves. for dato in claveT: for n in dato: ClaveT = int(n) #Agregar cada clave a la lista de listaClaves. listaClaves.append(ClaveT) #Leer clave de puesto que se introduce en nuestra ventana de Agregar Trabajador. ClaveP = self.CPuesto.text() #Convertir la clave a entero. clavePuesto = int(ClaveP) #Ejecutar una línea que nos permite obtener todas las claves guardadas en Puesto. micursor.execute("SELECT Clave FROM Puesto") #Guardar los resultados en la variable claveP. claveP = micursor.fetchall() #Declarar una lista donde se guardaran las claves de puesto. listaClavesP = [] #Ciclo para el unpack del resultado de claveP. for dato in claveP: for n in dato: ClaveP = int(n) #Agregar cada clave a la lista de listaClavesP. listaClavesP.append(ClaveP) #ESTO ES UNA DOBLE VERIFICACIÓN YA QUE TAMBIÉN SE HACE EN LA FUNCIÓN DE VERIFICAR. #Si la clave que introdujo el usuario esta dentro de la lista de claves. if clave in listaClaves: #Se muestra una ventana donde avisa que la clave ya esta ocupada y que intente con otra. self.ventana = QtWidgets.QMainWindow() self.ui = Ui_ClaveExistente() self.ui.setupUi(self.ventana) self.ventana.show() #Si la clave que introdujo el usuario en la clave puesto NO existe muestra el siguiente mensaje. elif clavePuesto not in listaClavesP: #Ventana donde muestra que la clave de puesto es inexistente, por lo tanto no puede proseguir. self.ventana = QtWidgets.QMainWindow() self.ui = Ui_ClaveInexistentePuesto() self.ui.setupUi(self.ventana) self.ventana.show() #Si la clave del trabajador no esta dentro de la lista de claves de Trabajador. elif clave not in listaClaves: #Se lee el nombre que se introduce en la aplicación y se agrega a la variable nombre. nombre = self.Nombre.text() #Se lee el apellido paterno que se introduce en la aplicación y se agrega a la variable apellidoP. apellidoP = self.ApellidoP.text() #Se lee el apellido materno que se introduce en la aplicación y se agrega a la variable apellidoM. apellidoM = self.ApellidoM.text() #Se lee la fecha de ingreso que se introduce en la aplicación y se agrega a la variable fechaIngreso. fechaIngreso = self.Fecha.text() #Se lee el telefono que se introduce en la aplicación y se agrega a la variable Telefono. Telefono = self.Telefono.text() #Se cambia el valor a entero y se guarda en la variable telefono. Ya que en la base se tiene como Entero. telefono = int(Telefono) #Se lee el valor de usuario que se introduce en la aplicación y se agrega a la variable usuario. usuario = self.Usuario.text() #Se lee el valor de contraseña que se introduce en la aplicación y se agrega a la variable contraseña. contraseña = self.Contra.text() #Se lee el valor de clavePuesto que se introduce en la aplicación y se agrega a la variable cpuesto. cpuesto = self.CPuesto.text() #Guardar valores en un diccionario, con una clave que distinga cada uno. valores = { "clave": clave, "nombre": nombre, "apellidoP": apellidoP, "apellidoM": apellidoM, "fechaI": fechaIngreso, "telefono": telefono, "usuario": usuario, "contraseña": contraseña, "puesto": cpuesto } #Ejecutar la linea de INSERT con las llaves del diccionario valores. micursor.execute( "INSERT INTO Trabajador VALUES(:clave,:nombre,:apellidoP,:apellidoM,:fechaI,:telefono,:usuario,:contraseña,:puesto)", valores) #Se abre la ventana con el aviso que los datos han sido agregados exitosamente. self.ventana = QtWidgets.QMainWindow() self.ui = Ui_DatosAgregados() self.ui.setupUi(self.ventana) self.ventana.show() #Excepcion por si ocurre un error con sqlite3. except Error as e: print(e) #Excepción por si no se llenan los campos necesarios. except: #Ventana que muestra el mensaje donde se piden llenar todos los campos. self.ventana = QtWidgets.QMainWindow() self.ui = Ui_Alerta() self.ui.setupUi(self.ventana) self.ventana.show() #Asignación de texto a los botones y labels. def retranslateUi(self, NuevoTrabajador): _translate = QtCore.QCoreApplication.translate NuevoTrabajador.setWindowTitle( _translate("NuevoTrabajador", "MainWindow")) self.label_5.setText( _translate( "NuevoTrabajador", "<html><head/><body><p align=\"center\"><span style=\" font-size:14pt; font-weight:600;\">NUEVO TRABAJADOR</span></p></body></html>" )) self.label.setText( _translate( "NuevoTrabajador", "<html><head/><body><p align=\"center\">CLAVE</p></body></html>" )) self.label_2.setText( _translate( "NuevoTrabajador", "<html><head/><body><p align=\"center\">NOMBRE</p></body></html>" )) self.label_6.setText( _translate( "NuevoTrabajador", "<html><head/><body><p align=\"center\">APELLIDO PATERNO</p></body></html>" )) self.label_7.setText( _translate( "NuevoTrabajador", "<html><head/><body><p align=\"center\">APELLIDO MATERNO</p></body></html>" )) self.label_8.setText( _translate( "NuevoTrabajador", "<html><head/><body><p align=\"center\">FECHA INGRESO</p></body></html>" )) self.label_9.setText( _translate( "NuevoTrabajador", "<html><head/><body><p align=\"center\">TELÉFONO</p></body></html>" )) self.label_10.setText( _translate( "NuevoTrabajador", "<html><head/><body><p align=\"center\">CONTRASEÑA</p></body></html>" )) self.label_11.setText( _translate( "NuevoTrabajador", "<html><head/><body><p align=\"center\">CLAVE PUESTO</p></body></html>" )) self.label_12.setText( _translate( "NuevoTrabajador", "<html><head/><body><p align=\"center\">USUARIO</p></body></html>" )) self.Agregar.setText(_translate("NuevoTrabajador", "AGREGAR")) self.Verificar.setText(_translate("NuevoTrabajador", "VERIFICAR")) self.Limpiar.setText(_translate("NuevoTrabajador", "LIMPIAR"))
class Ui_ActualizarProducto(object): def setupUi(self, ActualizarProducto): ActualizarProducto.setObjectName("ActualizarProducto") ActualizarProducto.resize(312, 344) ActualizarProducto.setStyleSheet( "background-color: rgb(226, 230, 255);") self.centralwidget = QtWidgets.QWidget(ActualizarProducto) self.centralwidget.setObjectName("centralwidget") self.label_5 = QtWidgets.QLabel(self.centralwidget) self.label_5.setGeometry(QtCore.QRect(0, 0, 301, 51)) self.label_5.setObjectName("label_5") self.label = QtWidgets.QLabel(self.centralwidget) self.label.setGeometry(QtCore.QRect(20, 69, 91, 21)) self.label.setStyleSheet("border-color: rgb(0, 0, 0);\n" "gridline-color: rgb(0, 0, 0);") self.label.setObjectName("label") self.label_2 = QtWidgets.QLabel(self.centralwidget) self.label_2.setGeometry(QtCore.QRect(30, 110, 61, 16)) self.label_2.setObjectName("label_2") self.label_3 = QtWidgets.QLabel(self.centralwidget) self.label_3.setGeometry(QtCore.QRect(20, 150, 81, 16)) self.label_3.setObjectName("label_3") self.label_6 = QtWidgets.QLabel(self.centralwidget) self.label_6.setGeometry(QtCore.QRect(10, 190, 101, 20)) self.label_6.setObjectName("label_6") self.label_7 = QtWidgets.QLabel(self.centralwidget) self.label_7.setGeometry(QtCore.QRect(10, 230, 101, 20)) self.label_7.setObjectName("label_7") self.ClaveP = QtWidgets.QLineEdit(self.centralwidget) self.ClaveP.setGeometry(QtCore.QRect(130, 60, 161, 31)) self.ClaveP.setStyleSheet("background-color: rgb(255, 255, 255);") self.ClaveP.setObjectName("ClaveP") self.Nombre = QtWidgets.QLineEdit(self.centralwidget) self.Nombre.setGeometry(QtCore.QRect(130, 100, 161, 31)) self.Nombre.setStyleSheet("background-color: rgb(255, 255, 255);") self.Nombre.setObjectName("Nombre") self.Precio = QtWidgets.QLineEdit(self.centralwidget) self.Precio.setGeometry(QtCore.QRect(130, 140, 161, 31)) self.Precio.setStyleSheet("background-color: rgb(255, 255, 255);") self.Precio.setObjectName("Precio") self.Inventario = QtWidgets.QLineEdit(self.centralwidget) self.Inventario.setGeometry(QtCore.QRect(130, 180, 161, 31)) self.Inventario.setStyleSheet("background-color: rgb(255, 255, 255);") self.Inventario.setObjectName("Inventario") self.Proveedor = QtWidgets.QLineEdit(self.centralwidget) self.Proveedor.setGeometry(QtCore.QRect(130, 220, 161, 31)) self.Proveedor.setStyleSheet("background-color: rgb(255, 255, 255);") self.Proveedor.setObjectName("Proveedor") self.Verificar = QtWidgets.QPushButton(self.centralwidget) self.Verificar.setGeometry(QtCore.QRect(120, 271, 75, 23)) self.Verificar.setStyleSheet("background-color: rgb(255, 255, 255);") self.Verificar.setObjectName("Verificar") self.Limpiar = QtWidgets.QPushButton(self.centralwidget) self.Limpiar.setGeometry(QtCore.QRect(20, 271, 75, 23)) self.Limpiar.setStyleSheet("background-color: rgb(255, 255, 255);") self.Limpiar.setObjectName("Limpiar") self.Actualizar = QtWidgets.QPushButton(self.centralwidget) self.Actualizar.setGeometry(QtCore.QRect(220, 270, 75, 23)) self.Actualizar.setStyleSheet("background-color: rgb(255, 255, 255);") self.Actualizar.setObjectName("Actualizar") ActualizarProducto.setCentralWidget(self.centralwidget) self.menubar = QtWidgets.QMenuBar(ActualizarProducto) self.menubar.setGeometry(QtCore.QRect(0, 0, 312, 21)) self.menubar.setObjectName("menubar") ActualizarProducto.setMenuBar(self.menubar) self.statusbar = QtWidgets.QStatusBar(ActualizarProducto) self.statusbar.setObjectName("statusbar") ActualizarProducto.setStatusBar(self.statusbar) self.retranslateUi(ActualizarProducto) #Boton Limpiar para limpiar todos los campos self.Limpiar.clicked.connect(self.ClaveP.clear) self.Limpiar.clicked.connect(self.Nombre.clear) self.Limpiar.clicked.connect(self.Precio.clear) self.Limpiar.clicked.connect(self.Inventario.clear) self.Limpiar.clicked.connect(self.Proveedor.clear) QtCore.QMetaObject.connectSlotsByName(ActualizarProducto) #Botones programados #Boton que permite actualizar la información en la base de datos. self.Actualizar.clicked.connect(self.UpdateData) #Boton que permite verificar que la información cargada en la aplicación sea válida. self.Verificar.clicked.connect(self.VerificarDatos) #Función que permite verificar que la información dada por el usuario sea válida para cargar. def VerificarDatos(self): #Try para excepciones. try: #Conexión a la base de datos with sqlite3.connect("PIA_1845788.db") as conn: #Definir nuestro cursor. micursor = conn.cursor() #Leer clave de producto que se introduce en nuestra ventana de Actualizar Producto. Clave = self.ClaveP.text() #Convertir la clave a entero.Ya que en la base se tiene como Entero. clave = int(Clave) #Ejecutar una línea que nos permite obtener todas las claves guardadas en Producto. micursor.execute("SELECT Clave_Producto FROM Producto") #Guardar los resultados en la variable claveP. claveP = micursor.fetchall() #Declarar una lista donde se guardaran las claves de producto. listaClaves = [] #Ciclo para el unpack del resultado de claveP. for dato in claveP: for n in dato: ClaveP = int(n) #Agregar cada clave a la lista de listaClaves. listaClaves.append(ClaveP) #Leer clave de proveedor que se introduce en nuestra ventana de Agregar Producto. ClaveP = self.Proveedor.text() #Convertir la clave a entero.Ya que en la base se tiene como Entero. clavePro = int(ClaveP) #Ejecutar una línea que nos permite obtener todas las claves guardadas en Proveedor micursor.execute("SELECT Clave_Proveedor FROM Proveedor") #Guardar los resultados en la variable clavePro ClavePro = micursor.fetchall() #Declarar una lista donde se guardaran las claves de proveedores. listaClavesP = [] #Ciclo para el unpack del resultado de clavePro for dato in ClavePro: for n in dato: clavepro = int(n) #Agregar cada clave a la lista de listaClavesP. listaClavesP.append(clavepro) #ESTO ES UNA DOBLE VERIFICACIÓN YA QUE TAMBIÉN SE HACE EN LA FUNCIÓN DE ACTUALIZAR. #Si la clave de producto que introdujo el usuario esta dentro de listaClaves y la clave de proveedor en listaClavesP. if clave in listaClaves and clavePro in listaClavesP: #Se muestra una ventana donde se avisa que la clave es existente. (Hablando de ambas claves) self.ventana = QtWidgets.QMainWindow() self.ui = Ui_ClaveExistente() self.ui.setupUi(self.ventana) self.ventana.show() #Si la clave del producto que introdujo el usuario NO se encuentra dentro de listaClaves. elif clave not in listaClaves: #Se muestra una ventana donde se avisa que la clave de producto no existe, por lo tanto no se puede actualizar. self.ventana = QtWidgets.QMainWindow() self.ui = Ui_ClaveInexistenteUP() self.ui.setupUi(self.ventana) self.ventana.show() #Si la clave del proveedor que introdujo el usuario NO se encuentra dentro de listaClavesP: elif clavePro not in listaClavesP: #Se muestra una ventana donde se avisa que la clave de proveedor no existe, por lo tanto no se puede actualizar. self.ventana = QtWidgets.QMainWindow() self.ui = Ui_ClaveInexistenteProveedor() self.ui.setupUi(self.ventana) self.ventana.show() #Excepcion por si ocurre un error con sqlite3. except Error as e: print(e) #Excepción por si no se llenan los campos necesarios except: #Ventana que muestra el mensaje donde se piden llenar todos los campos. self.ventana = QtWidgets.QMainWindow() self.ui = Ui_Alerta() self.ui.setupUi(self.ventana) self.ventana.show() #Función que nos permite verificar y actualizar la información obtenida mediante la aplicación en la base de datos. def UpdateData(self): #Try para excepciones. try: #Conexión a la base de datos with sqlite3.connect("PIA_1845788.db") as conn: #Definir nuestro cursor. micursor = conn.cursor() #Leer clave de producto que se introduce en nuestra ventana de Actualizar Producto. Clave = self.ClaveP.text() #Convertir la clave a entero.Ya que en la base se tiene como Entero. clave = int(Clave) #Ejecutar una línea que nos permite obtener todas las claves guardadas en Producto. micursor.execute("SELECT Clave_Producto FROM Producto") #Guardar los resultados en la variable claveP. claveP = micursor.fetchall() #Declarar una lista donde se guardaran las claves de producto. listaClaves = [] #Ciclo para el unpack del resultado de claveP. for dato in claveP: for n in dato: ClaveP = int(n) #Agregar cada clave a la lista de listaClaves. listaClaves.append(ClaveP) #Leer clave de proveedor que se introduce en nuestra ventana de Agregar Producto. ClaveP = self.Proveedor.text() #Convertir la clave a entero.Ya que en la base se tiene como Entero. clavePro = int(ClaveP) #Ejecutar una línea que nos permite obtener todas las claves guardadas en Proveedor micursor.execute("SELECT Clave_Proveedor FROM Proveedor") #Guardar los resultados en la variable clavePro ClavePro = micursor.fetchall() #Declarar una lista donde se guardaran las claves de proveedores. listaClavesP = [] #Ciclo para el unpack del resultado de clavePro for dato in ClavePro: for n in dato: clavepro = int(n) #Agregar cada clave a la lista de listaClavesP. listaClavesP.append(clavepro) #ESTO ES UNA DOBLE VERIFICACIÓN YA QUE TAMBIÉN SE HACE EN LA FUNCIÓN DE ACTUALIZAR. #Si la clave de producto que introdujo el usuario esta dentro de listaClaves y la clave de proveedor en listaClavesP. if clave in listaClaves and clavePro in listaClavesP: #Se lee el nombre que se introduce en la aplicación y se agrega a la variable nombre. nombre = self.Nombre.text() #Se lee el precio que se introduce en la aplicación y se agrega a la variable Precio. Precio = self.Precio.text() #Se cambia el valor a float y se guarda en la variable precio. Ya que en la base se tiene como float. precio = float(Precio) #Se lee el inventario que se introduce en la aplicación y se agrega a la variable Inventario. Inventario = self.Inventario.text() #Se cambia el valor a entero y se guarda en la variable inventario. Ya que en la base se tiene como Entero. inventario = int(Inventario) #Se lee la clave que se introduce en la aplicación y se agrega a la variable Proveedor. Proveedor = self.Proveedor.text() #Se cambia el valor a entero y se guarda en la variable proveedor. Ya que en la base se tiene como Entero. proveedor = int(Proveedor) #VARIABLE DONDE SE GUARDA LA LINEA PARA ACTUALIZAR LA INFORMACIÓN DE PRODUCTO. query = """UPDATE Producto SET Nombre = ?, Precio = ?, Inventario = ?, Clave_Proveedor = ? WHERE Clave_Producto = ?""" #VARIABLE DONDE SE GUARDAN LAS VARIABLES QUE CONTIENEN LA INFORMACION QUE SE GUARDARA. inputData = (nombre, precio, inventario, proveedor, clave) #Se ejecuta las variables en conjunto, permitiendo actualizar la información. micursor.execute(query, inputData) #Ventana donde aparece que los datos fueron actualizados correctamente. self.ventana = QtWidgets.QMainWindow() self.ui = Ui_DatosActualizados() self.ui.setupUi(self.ventana) self.ventana.show() #Si la clave del producto que introdujo el usuario NO se encuentra dentro de listaClaves. elif clave not in listaClaves: #Se muestra una ventana donde se avisa que la clave de producto no existe, por lo tanto no se puede actualizar. self.ventana = QtWidgets.QMainWindow() self.ui = Ui_ClaveInexistenteUP() self.ui.setupUi(self.ventana) self.ventana.show() #Si la clave del proveedor que introdujo el usuario NO se encuentra dentro de listaClavesP: elif clavePro not in listaClavesP: #Se muestra una ventana donde se avisa que la clave de proveedor no existe, por lo tanto no se puede actualizar. self.ventana = QtWidgets.QMainWindow() self.ui = Ui_ClaveInexistenteProveedor() self.ui.setupUi(self.ventana) self.ventana.show() #Excepcion por si ocurre un error con sqlite3. except Error as e: print(e) #Excepción por si no se llenan los campos necesarios except: #Ventana que muestra el mensaje donde se piden llenar todos los campos. self.ventana = QtWidgets.QMainWindow() self.ui = Ui_Alerta() self.ui.setupUi(self.ventana) self.ventana.show() #Asignación de texto a los botones y labels. def retranslateUi(self, ActualizarProducto): _translate = QtCore.QCoreApplication.translate ActualizarProducto.setWindowTitle( _translate("ActualizarProducto", "MainWindow")) self.label_5.setText( _translate( "ActualizarProducto", "<html><head/><body><p align=\"center\"><span style=\" font-size:14pt; font-weight:600;\">ACTUALIZAR PRODUCTO</span></p></body></html>" )) self.label.setText( _translate( "ActualizarProducto", "<html><head/><body><p align=\"center\">CLAVE</p></body></html>" )) self.label_2.setText( _translate( "ActualizarProducto", "<html><head/><body><p align=\"center\">NOMBRE</p></body></html>" )) self.label_3.setText( _translate( "ActualizarProducto", "<html><head/><body><p align=\"center\">PRECIO</p></body></html>" )) self.label_6.setText( _translate( "ActualizarProducto", "<html><head/><body><p align=\"center\">INVENTARIO</p></body></html>" )) self.label_7.setText( _translate( "ActualizarProducto", "<html><head/><body><p align=\"center\">PROVEEDOR</p></body></html>" )) self.Verificar.setText(_translate("ActualizarProducto", "VERIFICAR")) self.Limpiar.setText(_translate("ActualizarProducto", "LIMPIAR")) self.Actualizar.setText(_translate("ActualizarProducto", "ACTUALIZAR"))
class Ui_NuevoCliente(object): def setupUi(self, NuevoCliente): NuevoCliente.setObjectName("NuevoCliente") NuevoCliente.resize(314, 398) NuevoCliente.setStyleSheet("background-color: rgb(226, 230, 255);") self.centralwidget = QtWidgets.QWidget(NuevoCliente) self.centralwidget.setObjectName("centralwidget") self.label_5 = QtWidgets.QLabel(self.centralwidget) self.label_5.setGeometry(QtCore.QRect(0, 0, 311, 51)) self.label_5.setObjectName("label_5") self.label = QtWidgets.QLabel(self.centralwidget) self.label.setGeometry(QtCore.QRect(30, 69, 91, 21)) self.label.setStyleSheet("border-color: rgb(0, 0, 0);\n" "gridline-color: rgb(0, 0, 0);") self.label.setObjectName("label") self.label_2 = QtWidgets.QLabel(self.centralwidget) self.label_2.setGeometry(QtCore.QRect(40, 110, 61, 16)) self.label_2.setObjectName("label_2") self.label_3 = QtWidgets.QLabel(self.centralwidget) self.label_3.setGeometry(QtCore.QRect(30, 280, 81, 16)) self.label_3.setObjectName("label_3") self.label_4 = QtWidgets.QLabel(self.centralwidget) self.label_4.setGeometry(QtCore.QRect(30, 230, 81, 16)) self.label_4.setObjectName("label_4") self.label_6 = QtWidgets.QLabel(self.centralwidget) self.label_6.setGeometry(QtCore.QRect(20, 150, 101, 20)) self.label_6.setObjectName("label_6") self.label_7 = QtWidgets.QLabel(self.centralwidget) self.label_7.setGeometry(QtCore.QRect(20, 190, 101, 20)) self.label_7.setObjectName("label_7") self.Cargar = QtWidgets.QPushButton(self.centralwidget) self.Cargar.setGeometry(QtCore.QRect(120, 330, 75, 23)) self.Cargar.setStyleSheet("background-color: rgb(255, 255, 255);") self.Cargar.setObjectName("Cargar") self.Limpiar = QtWidgets.QPushButton(self.centralwidget) self.Limpiar.setGeometry(QtCore.QRect(20, 330, 75, 23)) self.Limpiar.setStyleSheet("background-color: rgb(255, 255, 255);") self.Limpiar.setObjectName("Limpiar") self.Agregar = QtWidgets.QPushButton(self.centralwidget) self.Agregar.setGeometry(QtCore.QRect(220, 330, 75, 23)) self.Agregar.setStyleSheet("background-color: rgb(255, 255, 255);") self.Agregar.setObjectName("Agregar") self.claveC = QtWidgets.QLineEdit(self.centralwidget) self.claveC.setGeometry(QtCore.QRect(130, 60, 161, 31)) self.claveC.setStyleSheet("background-color: rgb(255, 255, 255);") self.claveC.setObjectName("claveC") self.Nombre = QtWidgets.QLineEdit(self.centralwidget) self.Nombre.setGeometry(QtCore.QRect(130, 100, 161, 31)) self.Nombre.setStyleSheet("background-color: rgb(255, 255, 255);") self.Nombre.setObjectName("Nombre") self.ApellidoP = QtWidgets.QLineEdit(self.centralwidget) self.ApellidoP.setGeometry(QtCore.QRect(130, 140, 161, 31)) self.ApellidoP.setStyleSheet("background-color: rgb(255, 255, 255);") self.ApellidoP.setObjectName("ApellidoP") self.ApellidoM = QtWidgets.QLineEdit(self.centralwidget) self.ApellidoM.setGeometry(QtCore.QRect(130, 180, 161, 31)) self.ApellidoM.setStyleSheet("background-color: rgb(255, 255, 255);") self.ApellidoM.setObjectName("ApellidoM") self.Telefono = QtWidgets.QLineEdit(self.centralwidget) self.Telefono.setGeometry(QtCore.QRect(130, 220, 161, 31)) self.Telefono.setStyleSheet("background-color: rgb(255, 255, 255);") self.Telefono.setObjectName("Telefono") self.Direccion = QtWidgets.QLineEdit(self.centralwidget) self.Direccion.setGeometry(QtCore.QRect(130, 260, 161, 51)) self.Direccion.setStyleSheet("background-color: rgb(255, 255, 255);") self.Direccion.setObjectName("Direccion") NuevoCliente.setCentralWidget(self.centralwidget) self.menubar = QtWidgets.QMenuBar(NuevoCliente) self.menubar.setGeometry(QtCore.QRect(0, 0, 314, 21)) self.menubar.setObjectName("menubar") NuevoCliente.setMenuBar(self.menubar) self.statusbar = QtWidgets.QStatusBar(NuevoCliente) self.statusbar.setObjectName("statusbar") NuevoCliente.setStatusBar(self.statusbar) self.retranslateUi(NuevoCliente) #Boton Limpiar para limpiar todos los campos. self.Limpiar.clicked.connect(self.claveC.clear) self.Limpiar.clicked.connect(self.Nombre.clear) self.Limpiar.clicked.connect(self.ApellidoP.clear) self.Limpiar.clicked.connect(self.ApellidoM.clear) self.Limpiar.clicked.connect(self.Telefono.clear) self.Limpiar.clicked.connect(self.Direccion.clear) QtCore.QMetaObject.connectSlotsByName(NuevoCliente) #Botones programados #Boton que permite agregar la información a la base de datos self.Agregar.clicked.connect(self.LoadData) #Boton que permite verificar que la información cargada en la aplicación sea válida. self.Cargar.clicked.connect(self.Verificar) #Función que permite verificar que la información dada por el usuario sea válida para cargar. def Verificar(self): #Try para excepciones. try: #Conexión a la base de datos with sqlite3.connect("PIA_1845788.db") as conn: #Definir nuestro cursor. micursor = conn.cursor() #Leer clave de cliente que se introduce en nuestra ventana de Agregar Cliente. Clave = self.claveC.text() #Convertir la clave a entero.Ya que en la base se tiene como Entero. clave = int(Clave) #Ejecutar una línea que nos permite obtener todas las claves guardadas en Cliente. micursor.execute("SELECT Clave_Cliente FROM Cliente") #Guardar los resultados en la variable claveC claveC = micursor.fetchall() #Declarar una lista donde se guardaran las claves de cliente. listaClaves = [] #Ciclo para el unpack del resultado de claveC. for dato in claveC: for n in dato: ClaveC= int(n) #Agregar cada clave a la lista de listaClaves listaClaves.append(ClaveC) #ESTO ES UNA DOBLE VERIFICACIÓN YA QUE TAMBIÉN SE HACE EN LA FUNCIÓN DE AGREGAR. #Si la clave que introdujo el usuario esta dentro de la lista de claves. if clave in listaClaves: #Se muestra una ventana donde avisa que la clave ya esta ocupada y que intente con otra. self.ventana = QtWidgets.QMainWindow() self.ui = Ui_ClaveExistente() self.ui.setupUi(self.ventana) self.ventana.show() #Si la clave del proveedor no esta dentro de la lista de claves de Proveedor. else: #Se muestra la ventana donde se avisa que la clave esta disponible y por lo tanto puede proseguir. self.ventana = QtWidgets.QMainWindow() self.ui = Ui_ClaveInexistente() self.ui.setupUi(self.ventana) self.ventana.show() #Excepcion por si ocurre un error con sqlite3. except Error as e: print(e) #Excepción por si no se llenan los campos necesarios. except: #Ventana que muestra el mensaje donde se piden llenar todos los campos. self.ventana = QtWidgets.QMainWindow() self.ui = Ui_Alerta() self.ui.setupUi(self.ventana) self.ventana.show() def LoadData(self): #Try para excepciones. try: #Conexión a la base de datos with sqlite3.connect("PIA_1845788.db") as conn: #Definir nuestro cursor. micursor = conn.cursor() #Leer clave de cliente que se introduce en nuestra ventana de Agregar Cliente. Clave = self.claveC.text() #Convertir la clave a entero.Ya que en la base se tiene como Entero. clave = int(Clave) #Ejecutar una línea que nos permite obtener todas las claves guardadas en Cliente. micursor.execute("SELECT Clave_Cliente FROM Cliente") #Guardar los resultados en la variable claveC claveC = micursor.fetchall() #Declarar una lista donde se guardaran las claves de cliente. listaClaves = [] #Ciclo para el unpack del resultado de claveC. for dato in claveC: for n in dato: ClaveC= int(n) #Agregar cada clave a la lista de listaClaves listaClaves.append(ClaveC) #ESTO ES UNA DOBLE VERIFICACIÓN YA QUE TAMBIÉN SE HACE EN LA FUNCIÓN DE AGREGAR. #Si la clave que introdujo el usuario esta dentro de la lista de claves. if clave in listaClaves: #Se muestra una ventana donde avisa que la clave ya esta ocupada y que intente con otra. self.ventana = QtWidgets.QMainWindow() self.ui = Ui_ClaveExistente() self.ui.setupUi(self.ventana) self.ventana.show() #Si la clave del proveedor no esta dentro de la lista de claves de Proveedor. else: #Se lee el nombre que se introduce en la aplicación y se agrega a la variable nombre. nombre = self.Nombre.text() #Se lee el apellido paterno que se introduce en la aplicación y se agrega a la variable apellidoP. apellidoP = self.ApellidoP.text() #Se lee el apellido materno que se introduce en la aplicación y se agrega a la variable apellidoM. apellidoM = self.ApellidoM.text() #Se lee el telefono que se introduce en la aplicación y se agrega a la variable Telefono. Telefono = self.Telefono.text() #Se cambia el valor a entero y se guarda en la variable telefono. Ya que en la base se tiene como Entero. telefono = int(Telefono) #Se lee la direccion que se introduce en la aplicación y se agrega a la variable direccion. direccion = self.Direccion.text() #Guardar valores en un diccionario, con una clave que distinga cada uno. valores = {"clave": clave, "nombre": nombre, "apellidoP": apellidoP, "apellidoM": apellidoM, "telefono": telefono, "direccion":direccion} #Ejecutar la linea de INSERT con las llaves del diccionario valores. micursor.execute("INSERT INTO Cliente VALUES(:clave,:nombre,:apellidoP,:apellidoM,:telefono,:direccion)", valores) #Se abre la ventana con el aviso que los datos han sido agregados exitosamente. self.ventana = QtWidgets.QMainWindow() self.ui = Ui_DatosAgregados() self.ui.setupUi(self.ventana) self.ventana.show() #Excepcion por si ocurre un error con sqlite3. except Error as e: print(e) #Excepción por si no se llenan los campos necesarios. except: #Ventana que muestra el mensaje donde se piden llenar todos los campos. self.ventana = QtWidgets.QMainWindow() self.ui = Ui_Alerta() self.ui.setupUi(self.ventana) self.ventana.show() #Asignación de texto a los botones y labels. def retranslateUi(self, NuevoCliente): _translate = QtCore.QCoreApplication.translate NuevoCliente.setWindowTitle(_translate("NuevoCliente", "MainWindow")) self.label_5.setText(_translate("NuevoCliente", "<html><head/><body><p align=\"center\"><span style=\" font-size:14pt; font-weight:600;\">NUEVO CLIENTE</span></p></body></html>")) self.label.setText(_translate("NuevoCliente", "<html><head/><body><p align=\"center\">CLAVE</p></body></html>")) self.label_2.setText(_translate("NuevoCliente", "<html><head/><body><p align=\"center\">NOMBRE</p></body></html>")) self.label_3.setText(_translate("NuevoCliente", "<html><head/><body><p align=\"center\">DIRECCIÓN</p></body></html>")) self.label_4.setText(_translate("NuevoCliente", "<html><head/><body><p align=\"center\">TELÉFONO</p></body></html>")) self.label_6.setText(_translate("NuevoCliente", "<html><head/><body><p align=\"center\">APELLIDO PATERNO</p></body></html>")) self.label_7.setText(_translate("NuevoCliente", "<html><head/><body><p align=\"center\">APELLIDO MATERNO</p></body></html>")) self.Cargar.setText(_translate("NuevoCliente", "VERIFICAR")) self.Limpiar.setText(_translate("NuevoCliente", "LIMPIAR")) self.Agregar.setText(_translate("NuevoCliente", "AGREGAR"))
class Ui_AgregarProducto(object): def setupUi(self, AgregarProducto): AgregarProducto.setObjectName("AgregarProducto") AgregarProducto.resize(312, 344) AgregarProducto.setStyleSheet("background-color: rgb(226, 230, 255);") self.centralwidget = QtWidgets.QWidget(AgregarProducto) self.centralwidget.setObjectName("centralwidget") self.label_5 = QtWidgets.QLabel(self.centralwidget) self.label_5.setGeometry(QtCore.QRect(0, 0, 301, 51)) self.label_5.setObjectName("label_5") self.label = QtWidgets.QLabel(self.centralwidget) self.label.setGeometry(QtCore.QRect(20, 69, 91, 21)) self.label.setStyleSheet("border-color: rgb(0, 0, 0);\n" "gridline-color: rgb(0, 0, 0);") self.label.setObjectName("label") self.label_2 = QtWidgets.QLabel(self.centralwidget) self.label_2.setGeometry(QtCore.QRect(30, 110, 61, 16)) self.label_2.setObjectName("label_2") self.label_3 = QtWidgets.QLabel(self.centralwidget) self.label_3.setGeometry(QtCore.QRect(20, 150, 81, 16)) self.label_3.setObjectName("label_3") self.label_6 = QtWidgets.QLabel(self.centralwidget) self.label_6.setGeometry(QtCore.QRect(10, 190, 101, 20)) self.label_6.setObjectName("label_6") self.label_7 = QtWidgets.QLabel(self.centralwidget) self.label_7.setGeometry(QtCore.QRect(10, 230, 101, 20)) self.label_7.setObjectName("label_7") self.ClaveP = QtWidgets.QLineEdit(self.centralwidget) self.ClaveP.setGeometry(QtCore.QRect(130, 60, 161, 31)) self.ClaveP.setStyleSheet("background-color: rgb(255, 255, 255);") self.ClaveP.setObjectName("ClaveP") self.Nombre = QtWidgets.QLineEdit(self.centralwidget) self.Nombre.setGeometry(QtCore.QRect(130, 100, 161, 31)) self.Nombre.setStyleSheet("background-color: rgb(255, 255, 255);") self.Nombre.setObjectName("Nombre") self.Precio = QtWidgets.QLineEdit(self.centralwidget) self.Precio.setGeometry(QtCore.QRect(130, 140, 161, 31)) self.Precio.setStyleSheet("background-color: rgb(255, 255, 255);") self.Precio.setObjectName("Precio") self.Inventario = QtWidgets.QLineEdit(self.centralwidget) self.Inventario.setGeometry(QtCore.QRect(130, 180, 161, 31)) self.Inventario.setStyleSheet("background-color: rgb(255, 255, 255);") self.Inventario.setObjectName("Inventario") self.Proveedor = QtWidgets.QLineEdit(self.centralwidget) self.Proveedor.setGeometry(QtCore.QRect(130, 220, 161, 31)) self.Proveedor.setStyleSheet("background-color: rgb(255, 255, 255);") self.Proveedor.setObjectName("Proveedor") self.Verificar = QtWidgets.QPushButton(self.centralwidget) self.Verificar.setGeometry(QtCore.QRect(120, 271, 75, 23)) self.Verificar.setStyleSheet("background-color: rgb(255, 255, 255);") self.Verificar.setObjectName("Verificar") self.Limpiar = QtWidgets.QPushButton(self.centralwidget) self.Limpiar.setGeometry(QtCore.QRect(20, 271, 75, 23)) self.Limpiar.setStyleSheet("background-color: rgb(255, 255, 255);") self.Limpiar.setObjectName("Limpiar") self.Agregar = QtWidgets.QPushButton(self.centralwidget) self.Agregar.setGeometry(QtCore.QRect(220, 270, 75, 23)) self.Agregar.setStyleSheet("background-color: rgb(255, 255, 255);") self.Agregar.setObjectName("Agregar") AgregarProducto.setCentralWidget(self.centralwidget) self.menubar = QtWidgets.QMenuBar(AgregarProducto) self.menubar.setGeometry(QtCore.QRect(0, 0, 312, 21)) self.menubar.setObjectName("menubar") AgregarProducto.setMenuBar(self.menubar) self.statusbar = QtWidgets.QStatusBar(AgregarProducto) self.statusbar.setObjectName("statusbar") AgregarProducto.setStatusBar(self.statusbar) self.retranslateUi(AgregarProducto) #Boton Limpiar para limpiar todos los campos. self.Limpiar.clicked.connect(self.ClaveP.clear) self.Limpiar.clicked.connect(self.Nombre.clear) self.Limpiar.clicked.connect(self.Precio.clear) self.Limpiar.clicked.connect(self.Inventario.clear) self.Limpiar.clicked.connect(self.Proveedor.clear) QtCore.QMetaObject.connectSlotsByName(AgregarProducto) #Botones programados #Boton que permite agregar la información a la base de datos. self.Agregar.clicked.connect(self.LoadData) #Boton que permite verificar que la información cargada en la aplicación sea válida. self.Verificar.clicked.connect(self.VerificarDatos) #Función que permite verificar que la información dada por el usuario sea válida para cargar. def VerificarDatos(self): #Try para excepciones. try: #Conexión a la base de datos with sqlite3.connect("PIA_1845788.db") as conn: #Definir nuestro cursor. micursor = conn.cursor() #Leer clave de producto que se introduce en nuestra ventana de Agregar Producto. Clave = self.ClaveP.text() #Convertir la clave a entero.Ya que en la base se tiene como Entero. clave = int(Clave) #Ejecutar una línea que nos permite obtener todas las claves guardadas en Producto micursor.execute("SELECT Clave_Producto FROM Producto") #Guardar los resultados en la variable claveP claveP = micursor.fetchall() #Declarar una lista donde se guardaran las claves de producto. listaClaves = [] #Ciclo para el unpack del resultado de claveP. for dato in claveP: for n in dato: ClaveP= int(n) #Agregar cada clave a la lista de listaClaves. listaClaves.append(ClaveP) #Leer clave de proveedor que se introduce en nuestra ventana de Agregar Producto. ClaveP = self.Proveedor.text() #Convertir la clave a entero.Ya que en la base se tiene como Entero. clavePro = int(ClaveP) #Ejecutar una línea que nos permite obtener todas las claves guardadas en Proveedor micursor.execute("SELECT Clave_Proveedor FROM Proveedor") #Guardar los resultados en la variable clavePro ClavePro = micursor.fetchall() #Declarar una lista donde se guardaran las claves de proveedores. listaClavesP = [] #Ciclo para el unpack del resultado de clavePro for dato in ClavePro: for n in dato: clavepro= int(n) #Agregar cada clave a la lista de listaClavesP. listaClavesP.append(clavepro) #ESTO ES UNA DOBLE VERIFICACIÓN YA QUE TAMBIÉN SE HACE EN LA FUNCIÓN DE AGREGAR. #Si la clave que introdujo el usuario esta dentro de la lista de claves. if clave in listaClaves: #Se muestra una ventana donde avisa que la clave ya esta ocupada y que intente con otra. self.ventana = QtWidgets.QMainWindow() self.ui = Ui_ClaveExistente() self.ui.setupUi(self.ventana) self.ventana.show() #Si la clave que introdujo el usuario en la clave proveedor NO existe muestra el siguiente mensaje. elif clavePro not in listaClavesP: #Ventana donde muestra que la clave de proveedor es inexistente, por lo tanto NO puede proseguir. self.ventana = QtWidgets.QMainWindow() self.ui = Ui_ClaveInexistenteProveedor() self.ui.setupUi(self.ventana) self.ventana.show() #Si la clave del producto no esta dentro de la lista de claves de Productos. elif clave not in listaClaves: #Se muestra la ventana donde se avisa que la clave esta disponible y por lo tanto puede proseguir. self.ventana = QtWidgets.QMainWindow() self.ui = Ui_ClaveInexistente() self.ui.setupUi(self.ventana) self.ventana.show() #Excepcion por si ocurre un error con sqlite3. except Error as e: print(e) #Excepción por si no se llenan los campos necesarios. except: #Ventana que muestra el mensaje donde se piden llenar todos los campos. self.ventana = QtWidgets.QMainWindow() self.ui = Ui_Alerta() self.ui.setupUi(self.ventana) self.ventana.show() #Función para leer y agregar los datos a la base. def LoadData(self): try: #Conexión a la base de datos with sqlite3.connect("PIA_1845788.db") as conn: #Definir nuestro cursor. micursor = conn.cursor() #Leer clave de producto que se introduce en nuestra ventana de Agregar Producto. Clave = self.ClaveP.text() #Convertir la clave a entero.Ya que en la base se tiene como Entero. clave = int(Clave) #Ejecutar una línea que nos permite obtener todas las claves guardadas en Producto micursor.execute("SELECT Clave_Producto FROM Producto") #Guardar los resultados en la variable claveP claveP = micursor.fetchall() #Declarar una lista donde se guardaran las claves de producto. listaClaves = [] #Ciclo para el unpack del resultado de claveP. for dato in claveP: for n in dato: ClaveP= int(n) #Agregar cada clave a la lista de listaClaves. listaClaves.append(ClaveP) #Leer clave de proveedor que se introduce en nuestra ventana de Agregar Producto. ClaveP = self.Proveedor.text() #Convertir la clave a entero.Ya que en la base se tiene como Entero. clavePro = int(ClaveP) #Ejecutar una línea que nos permite obtener todas las claves guardadas en Proveedor micursor.execute("SELECT Clave_Proveedor FROM Proveedor") #Guardar los resultados en la variable clavePro ClavePro = micursor.fetchall() #Declarar una lista donde se guardaran las claves de proveedores. listaClavesP = [] #Ciclo para el unpack del resultado de clavePro for dato in ClavePro: for n in dato: clavepro= int(n) #Agregar cada clave a la lista de listaClavesP. listaClavesP.append(clavepro) #ESTO ES UNA DOBLE VERIFICACIÓN YA QUE TAMBIÉN SE HACE EN LA FUNCIÓN DE VERIFICAR. #Si la clave que introdujo el usuario esta dentro de la lista de claves. if clave in listaClaves: #Se muestra una ventana donde avisa que la clave ya esta ocupada y que intente con otra. self.ventana = QtWidgets.QMainWindow() self.ui = Ui_ClaveExistente() self.ui.setupUi(self.ventana) self.ventana.show() #Si la clave que introdujo el usuario en la clave proveedor NO existe muestra el siguiente mensaje. elif clavePro not in listaClavesP: #Ventana donde muestra que la clave de proveedor es inexistente, por lo tanto NO puede proseguir. self.ventana = QtWidgets.QMainWindow() self.ui = Ui_ClaveInexistenteProveedor() self.ui.setupUi(self.ventana) self.ventana.show() #Si la clave del producto no esta dentro de la lista de claves de Productos. elif clave not in listaClaves: #Se lee el nombre que se introduce en la aplicación y se agrega a la variable nombre. nombre = self.Nombre.text() #Se lee el precio que se introduce en la aplicación y se agrega a la variable Precio. Precio = self.Precio.text() #Se cambia el valor a float y se guarda en la variable precio. Ya que en la base se tiene como float. precio = float(Precio) #Se lee el inventario que se introduce en la aplicación y se agrega a la variable Inventario. Inventario = self.Inventario.text() #Se cambia el valor a entero y se guarda en la variable inventario. Ya que en la base se tiene como Entero. inventario = int(Inventario) #Se lee la clave que se introduce en la aplicación y se agrega a la variable Proveedor. Proveedor = self.Proveedor.text() #Se cambia el valor a entero y se guarda en la variable proveedor. Ya que en la base se tiene como Entero. proveedor = int(Proveedor) #Guardar valores en un diccionario, con una clave que distinga cada uno. valores = {"clave": clave, "nombre": nombre, "precio": precio, "inventario": inventario,"proveedor":proveedor} #Ejecutar la linea de INSERT con las llaves del diccionario valores. micursor.execute("INSERT INTO Producto VALUES(:clave,:nombre,:precio,:inventario,:proveedor)", valores) #Se abre la ventana con el aviso que los datos han sido agregados exitosamente. self.ventana = QtWidgets.QMainWindow() self.ui = Ui_DatosAgregados() self.ui.setupUi(self.ventana) self.ventana.show() #Excepcion por si ocurre un error con sqlite3. except Error as e: print(e) #Excepción por si no se llenan los campos necesarios. except: #Ventana que muestra el mensaje donde se piden llenar todos los campos. self.ventana = QtWidgets.QMainWindow() self.ui = Ui_Alerta() self.ui.setupUi(self.ventana) self.ventana.show() #Asignación de texto a los botones y labels. def retranslateUi(self, AgregarProducto): _translate = QtCore.QCoreApplication.translate AgregarProducto.setWindowTitle(_translate("AgregarProducto", "MainWindow")) self.label_5.setText(_translate("AgregarProducto", "<html><head/><body><p align=\"center\"><span style=\" font-size:14pt; font-weight:600;\">NUEVO PRODUCTO</span></p></body></html>")) self.label.setText(_translate("AgregarProducto", "<html><head/><body><p align=\"center\">CLAVE</p></body></html>")) self.label_2.setText(_translate("AgregarProducto", "<html><head/><body><p align=\"center\">NOMBRE</p></body></html>")) self.label_3.setText(_translate("AgregarProducto", "<html><head/><body><p align=\"center\">PRECIO</p></body></html>")) self.label_6.setText(_translate("AgregarProducto", "<html><head/><body><p align=\"center\">INVENTARIO</p></body></html>")) self.label_7.setText(_translate("AgregarProducto", "<html><head/><body><p align=\"center\">PROVEEDOR</p></body></html>")) self.Verificar.setText(_translate("AgregarProducto", "VERIFICAR")) self.Limpiar.setText(_translate("AgregarProducto", "LIMPIAR")) self.Agregar.setText(_translate("AgregarProducto", "AGREGAR"))