-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
2e4692a
commit 1d09834
Showing
71 changed files
with
11,390 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,244 @@ | ||
import mysql | ||
from mysql.connector import connect | ||
|
||
|
||
|
||
|
||
class Conexao: | ||
def __init__(self): | ||
self.messageErro="" | ||
pass | ||
|
||
|
||
@staticmethod | ||
def executa_sql(sql): | ||
con = connect( | ||
host='localhost', | ||
port=3306, | ||
user='root', | ||
passwd='12345678', | ||
database='dbtilapicultura' | ||
) | ||
cur = con.cursor() | ||
cur.execute(sql) | ||
con.close() | ||
|
||
def __conecta(self): | ||
config = {} | ||
with open('Banco/stringConexao.txt', 'r') as file: | ||
linhas = file.readlines() | ||
for linha in linhas: | ||
chave, valor = linha.strip().split('=') | ||
config[chave] = valor | ||
self.__con = connect( | ||
host=str(config['host']), | ||
port=3306, | ||
user=str(config['usuario']), | ||
passwd=str(config['senha']), | ||
database=str(config['banco']) | ||
) | ||
"""def __conecta(self): | ||
self.__con = connect( | ||
host='localhost', | ||
port=3306, | ||
user='root', | ||
passwd='12345678', | ||
database='dbtilapicultura' | ||
)""" | ||
__cur = 0 | ||
|
||
def insere(self, sql, registros): | ||
try: | ||
self.messageErro = "" | ||
self.__conecta() | ||
self.__cur = self.__con.cursor() | ||
self.__cur.execute(sql, registros) | ||
self.__con.commit() | ||
self.__con.close() | ||
except mysql.connector.Error as err: | ||
from mysqlx import errorcode | ||
if err.errno == errorcode.ER_ACCESS_DENIED_ERROR: | ||
self.messageErro = "Erro de acesso negado: Verifique as credenciais de conexão." | ||
print(self.messageErro) | ||
elif err.errno == errorcode.ER_BAD_DB_ERROR: | ||
self.messageErro="Banco de dados não existe." | ||
print(self.messageErro) | ||
else: | ||
self.messageErro="Erro MySQL: {}".format(err) | ||
print(self.messageErro) | ||
else: | ||
print("Inserção de dados bem-sucedida.") | ||
finally: | ||
if self.__con.is_connected(): | ||
self.__cur.close() | ||
self.__con.close() | ||
return self.messageErro | ||
|
||
def insereCompra(self,compra): | ||
try: | ||
idCompra = 0 | ||
self.messageErro = "" | ||
self.__conecta() | ||
self.__cur = self.__con.cursor() | ||
if compra.get_id_compra() <= 0: | ||
sqlCompra="insert into compra (IdFornecedor ,ValorTotal,DataHora) values (%s, %s, %s);" | ||
registros=(compra.get_fornecedor().get_id_fornecedor(), compra.get_valor_total(), compra.get_data_hora()) | ||
self.__cur.execute(sqlCompra, registros) | ||
idCompra = self.__cur.lastrowid | ||
|
||
for item in compra.get_compra_itens(): | ||
sqlCompraItem="insert into compraitem (IdCompra,IdItem,Valor,Qtd) values (%s,%s,%s,%s);" | ||
registros=(str(idCompra), item.get_id_item(),item.get_valor(),item.get_qtd()) | ||
self.__cur.execute(sqlCompraItem, registros) | ||
self.__con.commit() | ||
self.__con.close() | ||
except mysql.connector.Error as err: | ||
from mysqlx import errorcode | ||
print(self.messageErro) | ||
if err.errno == errorcode.ER_ACCESS_DENIED_ERROR: | ||
self.messageErro = "Erro de acesso negado: Verifique as credenciais de conexão." | ||
print(self.messageErro) | ||
elif err.errno == errorcode.ER_BAD_DB_ERROR: | ||
self.messageErro = "Banco de dados não existe." | ||
print(self.messageErro) | ||
else: | ||
self.messageErro = "Erro MySQL: {}".format(err) | ||
print(self.messageErro) | ||
else: | ||
print("Inserção de dados bem-sucedida.") | ||
finally: | ||
if self.__con.is_connected(): | ||
self.__cur.close() | ||
self.__con.close() | ||
return self.messageErro | ||
def insereFornecedor(self, fornecedor): | ||
try: | ||
idEndereco= 0 | ||
IdPessoa = 0 | ||
self.messageErro = "" | ||
self.__conecta() | ||
self.__cur = self.__con.cursor() | ||
if fornecedor.get_id_pessoa() <= 0: | ||
sqlEndereco="insert into Endereco(IdMunicipio,Logradouro,Bairro,Numero,Cep) values (%s,%s,%s,%s,%s);" | ||
registros=(fornecedor.get_pessoa().get_endereco().get_id_municipio(), | ||
fornecedor.get_pessoa().get_endereco().get_logradouro(), | ||
fornecedor.get_pessoa().get_endereco().get_bairro(), | ||
fornecedor.get_pessoa().get_endereco().get_numero(), | ||
fornecedor.get_pessoa().get_endereco().get_cep()) | ||
self.__cur.execute(sqlEndereco, registros) | ||
idEndereco = self.__cur.lastrowid | ||
|
||
sqlPessoa="" | ||
if fornecedor.get_pessoa().get_tipo() == 0: | ||
registros = (idEndereco,fornecedor.get_pessoa().get_nome(),fornecedor.get_pessoa().get_apelido(), | ||
fornecedor.get_pessoa().get_rg(),fornecedor.get_pessoa().get_cpf()) | ||
sqlPessoa = "insert into Pessoa(IdEndereco,Nome,Apelido,RG,CPF,tipoObjeto) values (%s,%s,%s,%s,%s,0);" | ||
else: | ||
registros = (idEndereco, fornecedor.get_pessoa().get_razao_social(), fornecedor.get_pessoa().get_nome_fantasia(), | ||
fornecedor.get_pessoa().get_cnpj(), fornecedor.get_pessoa().get_ie()) | ||
sqlPessoa = "insert into Pessoa(IdEndereco,RazaoSocial,NomeFantasia,Cnpj,InscricaoEstadual,tipoObjeto) values (%s,%s,%s,%s,%s,1);" | ||
self.__cur.execute(sqlPessoa, registros) | ||
IdPessoa = self.__cur.lastrowid | ||
|
||
self.__cur.execute('insert into fornecedor (IdPessoa) values('+str(IdPessoa)+');') | ||
else: | ||
if fornecedor.get_pessoa().get_tipo() == 0: | ||
registros = (fornecedor.get_pessoa().get_nome(), | ||
fornecedor.get_pessoa().get_apelido(), | ||
fornecedor.get_pessoa().get_rg(), | ||
fornecedor.get_pessoa().get_cpf()) | ||
sql="update pessoa set Nome=%s, Apelido=%s, Rg=%s,CPF=%s WHERE IdPessoa="+str(fornecedor.get_id_pessoa())+";" | ||
self.__cur.execute(sql, registros) | ||
else: | ||
registros = (fornecedor.get_pessoa().get_razao_social(), | ||
fornecedor.get_pessoa().get_nome_fantasia(), | ||
fornecedor.get_pessoa().get_cnpj(), | ||
fornecedor.get_pessoa().get_ie()) | ||
sql = ("update pessoa set RazaoSocial=%s, NomeFantasia=%s, Cnpj=%s,InscricaoEstadual=%s " | ||
"WHERE IdPessoa=" + str(fornecedor.get_id_pessoa()) + ";") | ||
self.__cur.execute(sql, registros) | ||
|
||
registros = (fornecedor.get_pessoa().get_endereco().get_id_municipio(), | ||
fornecedor.get_pessoa().get_endereco().get_logradouro(), | ||
fornecedor.get_pessoa().get_endereco().get_bairro(), | ||
fornecedor.get_pessoa().get_endereco().get_numero(), | ||
fornecedor.get_pessoa().get_endereco().get_cep()) | ||
sql = (" update endereco set IdMunicipio=%s, Logradouro=%s, Bairro=%s, Numero=%s, Cep=%s WHERE IdEndereco=" | ||
+ str(fornecedor.get_pessoa().get_id_endereco())) | ||
self.__cur.execute(sql, registros) | ||
|
||
self.__con.commit() | ||
self.__con.close() | ||
except mysql.connector.Error as err: | ||
from mysqlx import errorcode | ||
print(self.messageErro) | ||
if err.errno == errorcode.ER_ACCESS_DENIED_ERROR: | ||
self.messageErro = "Erro de acesso negado: Verifique as credenciais de conexão." | ||
print(self.messageErro) | ||
elif err.errno == errorcode.ER_BAD_DB_ERROR: | ||
self.messageErro="Banco de dados não existe." | ||
print(self.messageErro) | ||
else: | ||
self.messageErro="Erro MySQL: {}".format(err) | ||
print(self.messageErro) | ||
else: | ||
print("Inserção de dados bem-sucedida.") | ||
finally: | ||
if self.__con.is_connected(): | ||
self.__cur.close() | ||
self.__con.close() | ||
return self.messageErro | ||
|
||
def deletar(self, sql): | ||
try: | ||
self.__conecta() | ||
self.messageErro = "" | ||
self.__cur = self.__con.cursor() | ||
self.__cur.execute(sql) | ||
self.__con.commit() | ||
self.__con.close() | ||
except mysql.connector.Error as err: | ||
from mysqlx import errorcode | ||
if err.errno == errorcode.ER_ACCESS_DENIED_ERROR: | ||
self.messageErro = "Erro de acesso negado: Verifique as credenciais de conexão." | ||
print(self.messageErro) | ||
elif err.errno == errorcode.ER_BAD_DB_ERROR: | ||
self.messageErro = "Banco de dados não existe." | ||
print(self.messageErro) | ||
else: | ||
self.messageErro = "Erro MySQL: {}".format(err) | ||
print(self.messageErro) | ||
else: | ||
print("Exclusao de dados bem-sucedida.") | ||
finally: | ||
if self.__con.is_connected(): | ||
self.__cur.close() | ||
self.__con.close() | ||
return self.messageErro | ||
|
||
def listar(self, sql): | ||
try: | ||
self.__conecta() | ||
self.__cur = self.__con.cursor() | ||
self.__cur.execute(sql) | ||
listaDados = self.__cur.fetchall() | ||
self.__cur.close() | ||
self.__con.close() | ||
|
||
except mysql.connector.Error as err: | ||
from mysqlx import errorcode | ||
if err.errno == errorcode.ER_ACCESS_DENIED_ERROR: | ||
print("Erro de acesso negado: Verifique as credenciais de conexão.") | ||
elif err.errno == errorcode.ER_BAD_DB_ERROR: | ||
print("Banco de dados não existe.") | ||
else: | ||
print("Erro MySQL: {}".format(err)) | ||
else: | ||
return listaDados | ||
print("Consulta de dados bem-sucedida.") | ||
finally: | ||
if self.__con.is_connected(): | ||
self.__cur.close() | ||
self.__con.close() | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
host=localhost | ||
usuario=root | ||
senha=12345678 | ||
banco=dbtilapicultura |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,101 @@ | ||
import datetime | ||
|
||
from Banco.Conexao import Conexao | ||
from Classes.item import Item | ||
|
||
|
||
class AjusteItem: | ||
|
||
def __init__(self, idajuste=0,descricao: str = "", datahora=datetime.datetime.today(), qtdatual: int = 0, | ||
qtdmovimentacao: int = 0, qtdnova: int = 0, iditem=0, item=Item()): | ||
self.__id_ajuste = idajuste | ||
self.__descricao = descricao | ||
self.__qtd_atual = qtdatual | ||
self.__qtd_movimentacao = qtdmovimentacao | ||
self.__qtd_nova = qtdnova | ||
self.__data_hora = datahora | ||
self.__id_item = iditem | ||
self.__item = item | ||
|
||
def get_id_ajuste(self) -> int: | ||
return self.__id_ajuste | ||
|
||
def set_id_ajuste(self, idaju: int): | ||
self.__id_ajuste = idaju | ||
|
||
def get_qtd_atual(self) -> int: | ||
return self.__qtd_atual | ||
|
||
def set_qtd_atual(self, qtd: int): | ||
self.__qtd_atual = qtd | ||
|
||
def get_qtd_nova(self) -> int: | ||
return self.__qtd_nova | ||
|
||
def set_qtd_nova(self, qtd: int): | ||
self.__qtd_nova = qtd | ||
|
||
def get_qtd_movimentacao(self) -> int: | ||
return self.__qtd_movimentacao | ||
|
||
def set_qtd_movimentacao(self, qtd: int): | ||
self.__qtd_movimentacao = qtd | ||
|
||
def get_id_item(self) -> int: | ||
return self.__id_item | ||
|
||
def set_id_item(self, iditem: int): | ||
self.__id_item = iditem | ||
|
||
def get_item(self) -> Item: | ||
return self.__item | ||
|
||
def set_item(self, item: Item): | ||
self.__item = item | ||
|
||
def set_descricao(self, desc: str): | ||
self.__descricao = desc | ||
|
||
def get_descricao(self) -> str: | ||
return self.__descricao | ||
|
||
def dados_principais(self): | ||
return str(self.__id_ajuste) + "-" + self.__descricao+"-" + self.get_item().dados_principais() | ||
def validcao(self): | ||
msgErro = '' | ||
if self.get_id_item() <= 0: | ||
msgErro += 'Item deve ser Selecionado \n' | ||
if len(self.get_descricao()) <= 0: | ||
msgErro += 'Descrição é Obrigatório\n' | ||
if self.get_qtd_movimentacao() == 0: | ||
msgErro += 'Movimentacao deve ser DIFERENTE de ZERO \n' | ||
return msgErro | ||
def salvar(self): | ||
strErro = self.validcao() | ||
sql = "" | ||
if len(strErro) < 1: | ||
if self.__id_ajuste <= 0: | ||
sql = "INSERT into ajusteitem (Iditem,Descricao,DataHora, QtdAtual, QtdMovimentacao,QtdNova) values(%s,%s,%s,%s,%s,%s);" | ||
registro = (self.__id_item, self.__descricao, self.__data_hora, self.__qtd_atual,self.__qtd_movimentacao,self.__qtd_nova) | ||
print(sql, registro) | ||
strErro = Conexao().insere(sql, registro) | ||
return strErro | ||
|
||
def listar(self, where=""): | ||
sql = ("SELECT IdAjuste,aj.Descricao,DataHora,QtdAtual,QtdMovimentacao,QtdNova,ta.Iditem,ta.descricao,ta.Tipo " | ||
+ "FROM ajusteitem AS aj INNER JOIN item AS ta ON ta.Iditem=aj.Iditem" ) + where + ";" | ||
print(sql) | ||
dados = Conexao().listar(sql) | ||
lista = [] | ||
index = -1 | ||
if dados is not None: | ||
for linha in dados: | ||
lista.insert(index + 1, AjusteItem(int(linha[0]), str(linha[1]), | ||
datetime.datetime.strptime(str(linha[2]), '%Y-%m-%d %H:%M:%S'), | ||
int(linha[3]), int(linha[4]),int(linha[5]), int(linha[6]), | ||
Item(int(linha[6]),str(linha[7]), tipo=int(linha[8])))) | ||
return lista | ||
|
||
def deletar(self, id: int): | ||
sql = "delete from ajusteitem where IdAjuste=" + str(id) | ||
return str(Conexao().deletar(sql)) |
Oops, something went wrong.