def getCidades( self): ############# Adiciona cidades ao combo box ############### estadoid = self.estado.currentIndex() estadoid = int(estadoid) try: con = conexao() c = con.cursor() c.execute("SELECT cid_nome FROM cidades where est_id = (?)", (estadoid, )) con.commit() resultado = c.fetchall() c.close() flag = "0" except Error as e: flag = "1" print(e) QMessageBox.information(self, "Info", "Erro ao indexar Cidades") if (flag == "0"): self.cidade.clear() self.cidade.addItem("Escolha uma Cidade!!!") if (estadoid > 1): pos_i = 0 # variável provisória de índice for i in range(len(resultado)): # passar por toda lista self.cidade.addItem(resultado[i][0]) pos_i = i # guardamos o índice i return (pos_i) # e retornamos o índice
def addProd(self): #Adiciona o produto no Banco de Dados ##### Pegar Campos ############# descricao = self.descricao.text() codBarras = self.codBarras.text() undMedida = self.undMedida.currentText() classe = self.classe.currentText() precocusto = self.precocusto.text() precofinal = self.precofinal.text() lucro = self.lucro.text() if (precofinal and precocusto != ""): lucro = (float(precofinal) / float(precocusto) - 1) * 100 print(lucro) setor = self.setor.currentText() dtCad = self.dtCad.text() if (descricao != ""): try: con = conexao() c = con.cursor() c.execute( "INSERT INTO produtos (prod_desc, prod_cod, prod_med, prod_classe, prod_custo, prod_preco, prod_lucro, prod_setor, prod_dtcad) VALUES (?,?,?,?,?,?,?,?,?)", (descricao, codBarras, undMedida, classe, precocusto, precofinal, lucro, setor, dtCad)) con.commit() c.close() QMessageBox.information(self, "Info", "Produto Adicionado com Sucesso") except Error as e: print(e) else: QMessageBox.information(self, "Info", "Preencher Campos Obrigatórios")
def addProd(self): rowcount = 0 codigo = self.prodcod.text() qtde = int(self.prodqtde.text()) try: con = conexao() c = con.cursor() c.execute(" SELECT prod_cod, prod_desc, prod_preco FROM produtos where prod_id = (?)", (codigo,)) con.commit() resultado = c.fetchall() c.close() print(resultado[0]) except Error as e: print(e) return e pass preco = float(resultado[0][2]) total = preco * qtde self.tableWidget.setRowCount(len(resultado)) for row in range(len(resultado)): self.tableWidget.setItem(0, 0, QTableWidgetItem(resultado[0][0])) self.tableWidget.setItem(0, 1, QTableWidgetItem(resultado[0][1])) self.tableWidget.setItem(0, 2, QTableWidgetItem(str(qtde))) self.tableWidget.setItem(0, 3, QTableWidgetItem(str(resultado[0][2]))) self.tableWidget.setItem(0, 4, QTableWidgetItem(str(total)))
def primeiroItem(self): try: con = conexao() c = con.cursor() c.execute(" SELECT * FROM clientes") con.commit() resultado = c.fetchone() c.close() self.codigo.setText(str(resultado[0])) self.editCliente() except Exception as e: print(e) pass
def ultimoItem(self): try: con = conexao() c = con.cursor() c.execute(" SELECT * FROM clientes order by cli_id DESC") con.commit() resultado = c.fetchall() c.close() self.codigo.setText(str(resultado[0][0])) self.editCliente() except Exception as e: print(e) pass
def getEstados( self): ########## Adiciona estados no Combo box ############### try: con = conexao() c = con.cursor() c.execute("SELECT est_nome FROM estados") con.commit() resultado = c.fetchall() c.close() flag = "0" except Error as e: flag = "1" print(e) QMessageBox.information(self, "Info", "Erro ao indexar Estados") if (flag == "0"): self.cidade.clear() self.estado.addItem("Escolha um Estado!!!") pos_i = 0 # variável provisória de índice for i in range(len(resultado)): #passar por toda lista self.estado.addItem(resultado[i][0]) pos_i = i # guardamos o índice i return (pos_i) # e retornamos o índice
def proximoItem(self): try: con = conexao() c = con.cursor() c.execute(" SELECT * FROM clientes order by cli_id DESC") con.commit() ultimo = c.fetchall() c.close() ultimo = ultimo[0][0] ultimo = int(ultimo) except Exception as e: print(e) pass resultado = self.codigo.text() if (resultado == ""): resultado = 0 resultado = int(resultado) if (resultado < ultimo): resultado = int(resultado) + 1 self.codigo.setText(str(resultado)) self.editCliente() else: QMessageBox.information(self, "Info", "Cliente Não Localizado")
def editCliente(self): try: codigo = self.codigo.text() con = conexao() c = con.cursor() c.execute(" SELECT * FROM clientes where cli_id = (?)", (codigo, )) con.commit() resultado = c.fetchall() c.close() print(resultado) flag = "0" except Error as e: flag = "1" print(e) if (flag == "0"): ############## Recebendo Valores ###################### dtCad = resultado[0][25] name = resultado[0][1] nameFan = resultado[0][2] dtNasc = resultado[0][3] rg = resultado[0][4] dtemiss = resultado[0][5] cpf = resultado[0][6] sexo = resultado[0][7] obser = resultado[0][8] endId = resultado[0][17] cliTel = resultado[0][18] cliCel = resultado[0][19] empresa = resultado[0][20] empTel = resultado[0][21] profissao = resultado[0][9] salario = resultado[0][22] estCivil = resultado[0][23] outR = resultado[0][24] ###### Referência/ Limite ############## ref1 = resultado[0][10] tel1 = resultado[0][11] ref2 = resultado[0][12] tel2 = resultado[0][13] limite = resultado[0][26] if (flag == "0"): try: con = conexao() c = con.cursor() c.execute(" SELECT * FROM endereco where end_id = (?)", (endId, )) con.commit() resultado = c.fetchall() c.close() except Error as e: flag = "1" print(e) if (flag == "0"): ###### Endereço ######################## end = resultado[0][1] numCasa = resultado[0][2] comp = resultado[0][3] cep = resultado[0][4] bairro = resultado[0][5] cidId = resultado[0][6] if (flag == "0"): try: con = conexao() c = con.cursor() c.execute(" SELECT * FROM cidades where cid_id= (?)", (cidId, )) con.commit() resultado = c.fetchall() cidNome = resultado[0][1] c.close() except Error as e: flag = "1" print(e) estId = resultado[0][2] ############# Inserindo valores nos Campos ############ if (dtCad != ""): ########### string to date ################## data = datetime.strptime(dtCad, '%d/%m/%Y') self.dtCad.setDate(data) if (dtNasc != ""): ########### string to date ################## dtNasc = datetime.strptime(dtNasc, '%d/%m/%Y') self.dtNasc.setDate(dtNasc) if (dtemiss != ""): ########### string to date ################## dtemiss = datetime.strptime(dtemiss, '%d/%m/%Y') self.dateEdit.setDate(dtemiss) if (sexo != ""): ########### Setando o index do sexo ################## if (sexo == "Masculino"): sexo = "0" else: sexo = "1" self.sexo.setCurrentIndex(int(sexo)) self.nome.setText(str(name)) self.nomeFan.setText(str(nameFan)) self.rg.setText(str(rg)) self.cpf.setText(str(cpf)) self.obs.setText(obser) self.telefone.setText(str(cliTel)) self.celular_2.setText(str(cliCel)) self.empresa.setText(str(empresa)) self.telEmp.setText(str(empTel)) self.profissao.setText(str(profissao)) self.salario.setText(str(salario)) self.estCivil.setText(str(estCivil)) self.outrasRendas.setText(str(outR)) ###### Endereço ######################## self.end.setText(str(end)) self.numero.setText(str(numCasa)) self.complemento.setText(str(comp)) self.cep.setText(str(cep)) self.bairro.setText(str(bairro)) #cidNome = self.cidade.currentText() #estId = self.estado.currentIndex() ###### Referência/ Limite ############## self.ref1.setText(str(ref1)) self.tel1.setText(str(tel1)) self.ref2.setText(str(ref2)) self.tel2.setText(str(tel2)) self.limite.setText(str(limite)) self.getEstados() self.estado.setCurrentIndex(int(estId)) if (flag == "0" ): ############ colocando as cidades numa lista ############# try: con = conexao() c = con.cursor() c.execute("SELECT cid_nome FROM cidades where est_id = (?)", (estId, )) con.commit() cidadesbusca = c.fetchall() print(cidadesbusca) c.close() except Error as e: flag = "1" print(e) QMessageBox.information(self, "Info", "Erro ao indexar Cidades") if (flag == "0" ): ############ pegando o numero da cidade na lista ############# pos_i = 0 # variável provisória de índice pos_j = 0 # idem for i in range( len(cidadesbusca)): # procurar em todas as listas internas for j in range( i): # procurar em todos os elementos nessa lista if cidNome in cidadesbusca[i][ j]: # se encontrarmos elemento cidNum = i break # saímos do loop interno break # e do externo if (flag == "0"): self.cidade.setCurrentIndex(int(cidNum) + 1) ##################### Desabilitando os Campos para Edição ##################### self.dtCad.setEnabled(False) self.dtNasc.setEnabled(False) self.dateEdit.setEnabled(False) self.sexo.setEnabled(False) self.nome.setEnabled(False) self.nomeFan.setEnabled(False) self.rg.setEnabled(False) self.cpf.setEnabled(False) self.obs.setEnabled(False) self.telefone.setEnabled(False) self.celular_2.setEnabled(False) self.empresa.setEnabled(False) self.telEmp.setEnabled(False) self.profissao.setEnabled(False) self.salario.setEnabled(False) self.estCivil.setEnabled(False) self.outrasRendas.setEnabled(False) ###### Endereço ######################## self.end.setEnabled(False) self.numero.setEnabled(False) self.complemento.setEnabled(False) self.cep.setEnabled(False) self.bairro.setEnabled(False) ###### Referência/ Limite ############## self.ref1.setEnabled(False) self.tel1.setEnabled(False) self.ref2.setEnabled(False) self.tel2.setEnabled(False) self.limite.setEnabled(False) self.estado.setEnabled(False) self.cidade.setEnabled(False)
def addCliente( self ): ############# Adiciona o cliente no Banco de Dados ################## global defaultImg # Define uma variavel para a imagem do cliente ##### Dados Pessoais ############# dtCad = self.dtCad.text() name = self.nome.text() nameFan = self.nomeFan.text() dtNasc = self.dtNasc.text() rg = self.rg.text() dtemiss = self.dateEdit.text() cpf = self.cpf.text() sexo = self.sexo.currentText() obser = self.obs.toPlainText() cliTel = self.telefone.text() cliCel = self.celular_2.text() empresa = self.empresa.text() empTel = self.telEmp.text() profissao = self.profissao.text() salario = self.salario.text() estCivil = self.estCivil.text() outR = self.outrasRendas.text() ###### Endereço ######################## end = self.end.text() numCasa = self.numero.text() comp = self.complemento.text() cep = self.cep.text() bairro = self.bairro.text() cidNome = self.cidade.currentText() estId = self.estado.currentIndex() ###### Referência/ Limite ############## ref1 = self.ref1.text() tel1 = self.tel1.text() ref2 = self.ref2.text() tel2 = self.tel2.text() limite = self.limite.text() if (estId and cidNome != ""): ############ Pegando o ID da cidade ########### try: con = conexao() c = con.cursor() c.execute( " SELECT cid_id FROM cidades where est_id= (?) AND cid_nome like (?)", ( estId, cidNome, )) con.commit() resultado = c.fetchall() cidId = resultado[0][0] print(cidId) c.close() flag = "0" except Error as e: flag = "1" print(e) else: QMessageBox.information(self, "Info", "Estado ou Cidade não Preenchidos") if (flag == "0"): if ((end != "")): ########### Inserindo Endereço ################## try: con = conexao() c = con.cursor() c.execute( """INSERT INTO endereco (end_nome, end_num, end_comp, end_cep, end_bairro, cid_id) VALUES (?,?,?,?,?,?)""", (end, numCasa, comp, cep, bairro, cidId)) con.commit() c.close() flag = "0" except Error as e: flag = "1" print(e) else: QMessageBox.information(self, "Info", "Preencher Campos Obrigatórios") if (flag == "0"): con = conexao() c = con.cursor() c.execute(" SELECT * FROM endereco order by end_id DESC") con.commit() resultado = c.fetchall() endId = resultado[0][0] c.close() if (name and cpf != ""): ########### Inserindo Cliente ################## try: con = conexao() c = con.cursor() c.execute( """INSERT INTO clientes (cli_nome, cli_nomefan, cli_dtnasc, cli_rg, cli_cpf, cli_sexo, cli_obs, cli_emprego, cli_empresa, cli_empresacel, cli_salario, cli_estadocivil, cli_outrasrendas, cli_cel, cli_tel, end_id, cli_dtemiss, cli_dtcad, cli_ref1, cli_ref1cel, cli_ref2, cli_ref2cel, cli_limite) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)""", (name, nameFan, dtNasc, rg, cpf, sexo, obser, profissao, empresa, empTel, salario, estCivil, outR, cliCel, cliTel, endId, dtemiss, dtCad, ref1, tel1, ref2, tel2, limite)) con.commit() c.close() QMessageBox.information( self, "Info", "Cliente Adicionado com Sucesso") except Error as e: print(e) QMessageBox.information(self, "Info", "Erro ao adicionar Cliente") else: QMessageBox.information(self, "Info", "Preencher Campos Obrigatórios") else: QMessageBox.information(self, "Info", "Erro ao Adicionar Endereço") else: QMessageBox.information(self, "Info", "Erro ao adicionar Cliente")
def editProduto(self): try: codigo = self.codigo.text() con = conexao() c = con.cursor() c.execute(" SELECT * FROM produtos where prod_id = (?)", (codigo, )) con.commit() resultado = c.fetchall() c.close() ############## Recebendo Valores ###################### undMedida = resultado[0][3] classe = resultado[0][4] setor = resultado[0][7] if (undMedida != ""): ########### Setando o valor da Medida if (undMedida == "Unidade"): undMedida = "0" elif (undMedida == "Caixa"): undMedida = "1" elif (undMedida == "Peça"): undMedida = "2" elif (undMedida == "Conjunto"): undMedida = "3" else: undMedida = "0" self.undMedida.setCurrentIndex(int(undMedida)) if (classe != ""): ########### Setando o valor da Classe if (classe == "Diverso"): classe = "0" elif (classe == "Roupa"): classe = "1" elif (classe == "Calçado"): classe = "2" else: classe = "0" self.classe.setCurrentIndex(int(classe)) if (setor != ""): ########### Setando o valor do setor if (setor == "Masculino"): setor = "0" elif (setor == "Feminino"): setor = "1" elif (setor == "Infantil"): setor = "2" elif (setor == "Calçado"): setor = "3" else: setor = "0" self.setor.setCurrentIndex(int(setor)) dtCad = resultado[0][8] print(dtCad) if (dtCad != ""): data = datetime.strptime(dtCad, '%d/%m/%Y') else: data = datetime.today() ############# Inserindo valores nos Campos ############ self.descricao.setText(str(resultado[0][1])) self.codBarras.setText(str(resultado[0][2])) self.precocusto.setText(str(resultado[0][5])) self.precofinal.setText(str(resultado[0][6])) self.dtCad.setDate(data) self.lucro.setText(str(resultado[0][9])) except Error as e: print(e) return e pass ##################### Desabilitando os Campos para Edição ##################### self.undMedida.setEnabled(False) self.classe.setEnabled(False) self.setor.setEnabled(False) self.descricao.setEnabled(False) self.codBarras.setEnabled(False) self.precocusto.setEnabled(False) self.precofinal.setEnabled(False) self.dtCad.setEnabled(False) self.lucro.setEnabled(False)