def update(self): banco = None c = None try: banco = Banco() c = banco.conexao.cursor() c.execute( 'UPDATE tb_empresa SET multa_atraso = %s, taxa_juro_diario = %s', (self.multa_atraso, self.taxa_juro_diario)) banco.conexao.commit() Funcoes.criaLOG('UPDATE Configurações', LOG.info) return 'Alterações salvas com sucesso!' except Exception as e: Funcoes.criaLOG(str(e), LOG.error) raise Exception('Erro ao salvar alterações', str(e)) finally: if c: c.close() if banco: banco.conexao.close()
def insertNumeroComanda(self): try: banco = Banco() c = banco.conexao.cursor() if (self.cliente_id): c.execute( 'INSERT INTO tb_comanda(comanda, data_hora, status_pagamento, status_comanda, funcionario_id, cliente_id) VALUES(%s, %s, %s, %s, %s, %s)', (self.comanda, self.data_hora, self.status_pagamento, self.status_comanda, self.funcionario_id, self.cliente_id)) else: c.execute( 'INSERT INTO tb_comanda(comanda, data_hora, status_pagamento, status_comanda, funcionario_id) VALUES(%s, %s, %s, %s, %s)', (self.comanda, self.data_hora, self.status_pagamento, self.status_comanda, self.funcionario_id)) banco.conexao.commit() Funcoes.criaLOG('INSERT Nova Comanda', LOG.info) c.close() return 'Comanda criada com sucesso!' except Exception as e: Funcoes.criaLOG(str(e), LOG.error) raise Exception('Erro ao criar comanda', str(e))
def logout (): #cria objeto funcoes para armazenar log funcoes = Funcoes() #log log = "Logout efetuado" + "|Usuário:" + session['usuario']+ "|" funcoes.logInfo(log) session.pop('usuario',None) #poderiamos limpar toda a sessão utiliazando session.clear() return redirect (url_for('login.login', falhaSessao=2))
def finalizarRecebimento(): _msg = "" funcoes = Funcoes() try: if request.form['tipo_recebimento'] == "1": #inserindo na TB_RECEBIMENTO comandaRecebimento = ComandaRecebimento() comandaRecebimento.data_hora = datetime.datetime.now() comandaRecebimento.tipo = 1 #a vista 1 comandaRecebimento.valor_acrescimo = request.form['valor_acrescimo'] comandaRecebimento.valor_desconto = request.form['valor_desconto'] comandaRecebimento.valor_total = request.form['subtotal'] comandaRecebimento.funcionario_id = session['id_funcionario'] comandaRecebimento.insert() ultimoId = comandaRecebimento.pegarLastrowid() #insert tb_comanda recebimento comandaRecebimento.id_comanda = request.form['id_comanda'] comandaRecebimento.recebimento_id = ultimoId comandaRecebimento.insertTbComandaRecebimento() #update status comanda e pagamento tb_comanda comandaRecebimento.id_comanda = request.form['id_comanda'] _msg = comandaRecebimento.updateTbComandaAVista() else: comandaRecebimento = ComandaRecebimento() cliente=Clientes() cliente.cpf = request.form['cpf'].replace('.','').replace('-','') cliente.senha = funcoes.encrypt(request.form['senha']) cliente.selectLogin() if cliente.id_cliente > 0: #update status comanda e pagamento tb_comanda comandaRecebimento.id_comanda = request.form['id_comanda'] _msg = comandaRecebimento.updateTbComandaFiado() else: _msg = "Dados do Cliente Incorretos" return jsonify(erro=True, mensagem=_msg) return jsonify(erro=False, mensagem=_msg) except Exception as e: _msg, _msg_excpetion = e.args return jsonify(erro=True, mensagem=_msg, mensagem_exception=_msg_excpetion)
def delete(self): try: banco = Banco() c = banco.conexao.cursor() c.execute('DELETE FROM tb_cliente WHERE id_cliente = %s', (self.id_cliente)) banco.conexao.commit() Funcoes.criaLOG(f'DELETE CLIENTE, id_cliente: {self.id_cliente}', LOG.info) c.close() return 'Cliente excluido com sucesso' except Exception as e: Funcoes.criaLOG(str(e), LOG.error) raise Exception('Erro ao tentar excluir cliente', str(e))
def editFuncionario(): _msg = "" funcoes = Funcoes() try: funcionario = Funcionarios() funcionario.id_funcionario = request.form['id_funcionario'] funcionario.nome = request.form['nome'] funcionario.matricula = request.form['matricula'] funcionario.cpf = request.form['cpf'].replace('.', '').replace('-', '') funcionario.telefone = request.form['telefone'].replace( '(', '').replace(')', '').replace(' ', '').replace('-', '') funcionario.grupo = request.form['grupo'] funcionario.senha = funcoes.encrypt(request.form['senha']) _msg = funcionario.update() #log log = _msg + "|ID:" + request.form[ 'id_funcionario'] + "|Usuário:" + session['usuario'] + "|" funcoes.logInfo(log) return jsonify(erro=False, mensagem=_msg) except Exception as e: _msg, _msg_excpetion = e.args #log log = _msg + "|Usuário:" + session['usuario'] + "|" funcoes.logError(log) return jsonify(erro=True, mensagem=_msg, mensagem_exception=_msg_excpetion)
def editCliente(): _msg = "" funcoes = Funcoes() try: cliente=Clientes() cliente.id_cliente = request.form['id_cliente'] cliente.nome = request.form['nome'] cliente.cpf = request.form['cpf'].replace('.','').replace('-','') cliente.telefone = request.form['telefone'].replace('(','').replace(')','').replace(' ','').replace('-','') cliente.compra_fiado = request.form['compra_fiado'] cliente.dia_fiado = request.form['dia_fiado'].replace('/','') cliente.senha = funcoes.encrypt(request.form['senha']) _msg = cliente.update() #log log = _msg +"|ID:"+ request.form['id_cliente'] + session['usuario'] + "|" funcoes.logInfo(log) return jsonify(erro=False, mensagem=_msg) except Exception as e: _msg, _msg_exception = e.args #log log = _msg +"|Usuário:" + session['usuario'] + "|" funcoes.logError(log) return jsonify(erro=True, mensagem=_msg, mensagem_exception=_msg_exception)
def insert(self): try: banco = Banco() c = banco.conexao.cursor() c.execute( 'INSERT INTO tb_cliente(nome,cpf,telefone,compra_fiado,senha,dia_fiado) VALUES(%s,%s,%s,%s,%s,%s)', (self.nome, self.cpf, self.telefone, self.compra_fiado, self.senha, self.dia_fiado)) banco.conexao.commit() Funcoes.criaLOG(f'INSERT CLIENTE, id_cliente: {c.lastrowid}', LOG.info) c.close() return 'Cliente cadastrado com sucesso!' except Exception as e: Funcoes.criaLOG(str(e), LOG.error) raise Exception('Erro ao cadastrar cliente!', str(e))
def insertProdutoComanda(self): try: banco = Banco() c = banco.conexao.cursor() c.execute("INSERT INTO tb_comanda_produto(funcionario_id, produto_id, comanda_id, quantidade, valor_unitario) VALUES(%s, %s, %s, %s, %s)",(self.funcionario_id, self.produto_id, self.comanda_id, self.quantidade, self.valor_unitario)) banco.conexao.commit() c.close() Funcoes.criaLOG(f'Insere produtos comanda, id_comanda: {self.comanda_id}, id_produto: {self.produto_id}', LOG.info) return 'Produto adicionado com sucesso!' except Exception as e: Funcoes.criaLOG(str(e), LOG.error) raise Exception('Erro ao adicionar produto!', str(e))
def update(self): try: banco = Banco() c = banco.conexao.cursor() c.execute( 'UPDATE tb_cliente SET nome=%s,cpf=%s,telefone=%s,compra_fiado=%s,dia_fiado=%s WHERE id_cliente = %s', (self.nome, self.cpf, self.telefone, self.compra_fiado, self.dia_fiado, self.id_cliente)) banco.conexao.commit() Funcoes.criaLOG(f'UPDATE CLIENTE, id_cliente: {self.id_cliente}', LOG.info) c.close() return 'Cliente editado com sucesso!' except Exception as e: Funcoes.criaLOG(str(e), LOG.error) raise Exception('Erro ao editar cliente!', str(e))
def delete(self): try: banco = Banco() c = banco.conexao.cursor() c.execute('DELETE FROM tb_produto WHERE id_produto = %s', (self.id_produto)) banco.conexao.commit() Funcoes.criaLOG(f'DELETE PRODUTO, id_produto: {self.id_produto}', LOG.info) c.close() return 'Produto excluído com sucesso' except Exception as e: Funcoes.criaLOG(str(e), LOG.error) raise Exception('Erro ao excluir produto', str(e))
def insert(self): try: banco = Banco() c = banco.conexao.cursor() c.execute( 'INSERT INTO tb_produto(nome,descricao,foto,valor_unitario) VALUES(%s,%s,%s,%s)', (self.nome, self.descricao, self.foto, self.valor_unitario)) banco.conexao.commit() Funcoes.criaLOG(f'INSERT PRODUTO, id_produto: {c.lastrowid}', LOG.info) c.close() return 'Produto cadastrado com sucesso!' except Exception as e: Funcoes.criaLOG(str(e), LOG.error) raise Exception('Erro ao cadastrar produto!', str(e))
def update(self): try: banco = Banco() c = banco.conexao.cursor() c.execute( 'UPDATE tb_produto SET nome=%s,descricao=%s,foto=%s,valor_unitario=%s WHERE id_produto=%s', (self.nome, self.descricao, self.foto, self.valor_unitario, self.id_produto)) banco.conexao.commit() Funcoes.criaLOG(f'UPDATE PRODUTO, id_produto: {self.id_produto}', LOG.info) c.close() return 'Produto editado com sucesso!' except Exception as e: Funcoes.criaLOG(str(e), LOG.error) raise Exception('Erro ao editar produto!', str(e))
def update(self): try: banco = Banco() c = banco.conexao.cursor() c.execute( 'UPDATE tb_funcionario SET nome=%s,cpf=%s,telefone=%s,matricula=%s,grupo=%s WHERE id_funcionario=%s', (self.nome, self.cpf, self.telefone, self.matricula, self.grupo, self.id_funcionario)) banco.conexao.commit() Funcoes.criaLOG( f'UPDATE FUNCIONARIO, id_funcionario: {self.id_funcionario}', LOG.info) c.close() return 'Funcionário editado com sucesso!' except Exception as e: Funcoes.criaLOG(str(e), LOG.error) raise Exception('Erro ao editar funcionário!', str(e))
def delete(self): try: banco = Banco() c = banco.conexao.cursor() c.execute('DELETE FROM tb_funcionario WHERE id_funcionario = %s', (self.id_funcionario)) banco.conexao.commit() Funcoes.criaLOG( f'DELETE FUNCIONARIO, id_funcionario: {self.id_funcionario}', LOG.info) c.close() return 'Funcionário excluído com sucesso' except Exception as e: Funcoes.criaLOG(str(e), LOG.error) raise Exception('Erro ao excluir funcionário', str(e))
def deleteProdutoComanda(self): banco = None c = None try: banco = Banco() c = banco.conexao.cursor() c.execute('DELETE FROM tb_comanda_produto WHERE id_comanda_produto = %s', (self.id_comanda_produto)) banco.conexao.commit() Funcoes.criaLOG('Delete produto comanda', LOG.info) return 'Produto deletado da comanda' except Exception as e: Funcoes.criaLOG(str(e), LOG.error) raise Exception('Erro ao deletar produto da comanda', str(e)) finally: if c: c.close() if banco: banco.conexao.close()
def editProduto(): _msg = "" funcoes = Funcoes() try: produto = Produtos() produto.id_produto = request.form['id_produto'] produto.nome = request.form['nome'] produto.descricao = request.form['descricao'] produto.valor_unitario = request.form['valor_unitario'].replace( ',', '.') produto.foto = "data:" + request.files[ 'foto'].content_type + ";base64," + str( base64.b64encode(request.files['foto'].read()), "utf-8") _msg = produto.update() #log log = _msg + "|ID Produto:" + request.form[ 'id_produto'] + "|Usuário:" + session['usuario'] + "|" funcoes.logInfo(log) return jsonify(erro=False, mensagem=_msg) except Exception as e: _msg, _msg_exception = e.args #log log = _msg + "|Usuário:" + session['usuario'] + "|" funcoes.logError(log) return jsonify(erro=True, mensagem=_msg, mensagem_exception=_msg_exception)
def deleteProduto(): _msg = "" funcoes = Funcoes() try: produto = Produtos() produto.id_produto = request.form['id_produto'] _msg = produto.delete() #log log = _msg + "|ID Produto:" + request.form[ 'id_produto'] + "|Usuário:" + session['usuario'] + "|" funcoes.logInfo(log) return jsonify(erro=False, mensagem=_msg) except Exception as e: _msg, _msg_exception = e.args #log log = _msg + "|Usuário:" + session['usuario'] + "|" funcoes.logError(log) return jsonify(erro=True, mensagem=_msg, mensagem_exception=_msg_exception)
def addClienteComanda(): _msg = "" funcoes = Funcoes() try: comandaAddCliente = ComandaAddCliente() comandaAddCliente.cliente_id = request.form['id_cliente'] comandaAddCliente.id_comanda = request.form['id_comanda'] _msg = comandaAddCliente.update() #log log = _msg + "|ID Comanda:" + request.form[ 'id_comanda'] + "|ID Cliente:" + request.form[ 'id_cliente'] + "|Usuário:" + session['usuario'] + "|" funcoes.logInfo(log) return jsonify(erro=False, mensagem=_msg) except Exception as e: _msg, _msg_excpetion = e.args #log log = _msg + "|Usuário:" + session['usuario'] + "|" funcoes.logError(log) return jsonify(erro=True, mensagem=_msg, mensagem_exception=_msg_excpetion)
def abrirComanda(): _msg = "" funcoes = Funcoes() try: comanda=Comandas() comanda.id_comanda = request.form['id_comanda'] comanda.numero_comanda = request.form['numero_comanda'] comanda.data_hora = datetime.datetime.now() comanda.status_comanda = 0 comanda.status_pagamento = 0 comanda.funcionario_id = session['id_funcionario'] comanda.cliente_id = 1 _msg = comanda.insert() #log log = _msg +"|Comanda:"+ request.form['numero_comanda'] +"|Usuário:" + session['usuario'] + "|" funcoes.logInfo(log) return jsonify(erro=False, mensagem=_msg) except Exception as e: _msg, _msg_excpetion = e.args #log log = _msg +"|Usuário:" + session['usuario'] + "|" funcoes.logError(log) return jsonify(erro=True, mensagem=_msg, mensagem_exception=_msg_excpetion)
def addProdutoComanda(): _msg = "" funcoes = Funcoes() try: comandaAddProd = ComandaAddProd() comandaAddProd.quantidade = request.form['quantidade'] comandaAddProd.valor_unitario = request.form['valor_total'] comandaAddProd.comanda_id = request.form['comanda_id'] comandaAddProd.produto_id = request.form['id_produto'] comandaAddProd.funcionario_id = session['id_funcionario'] _msg = comandaAddProd.insert() #log log = _msg + "|ID Produto:" + request.form[ 'id_produto'] + "|Usuário:" + session['usuario'] + "|" funcoes.logInfo(log) return jsonify(erro=False, mensagem=_msg) except Exception as e: _msg, _msg_excpetion = e.args #log log = _msg + "|Usuário:" + session['usuario'] + "|" funcoes.logError(log) return jsonify(erro=True, mensagem=_msg, mensagem_exception=_msg_excpetion)
def editConfiguracoes(): _msg = "" funcoes = Funcoes() try: configuracoes = Configuracoes() configuracoes.taxa_juro_diario = request.form[ 'taxa_juro_diario'].replace(',', '.') configuracoes.multa_atraso = request.form['multa_atraso'].replace( ',', '.') _msg = configuracoes.update() #log log = _msg + "|Usuário:" + session['usuario'] + "|" funcoes.logInfo(log) return jsonify(erro=False, mensagem=_msg) except Exception as e: _msg, _msg_exception = e.args #log log = _msg + "|Usuário:" + session['usuario'] + "|" funcoes.logError(log) return jsonify(erro=True, mensagem=_msg, mensagem_exception=_msg_exception)
def insert(self): try: banco = Banco() c = banco.conexao.cursor() c.execute( 'INSERT INTO tb_funcionario(nome,cpf,telefone,senha,matricula,grupo) VALUES(%s,%s,%s,%s,%s,%s)', (self.nome, self.cpf, self.telefone, self.senha, self.matricula, self.grupo)) banco.conexao.commit() Funcoes.criaLOG( f'INSERT FUNCIONARIO, id_funcionario: {c.lastrowid}', LOG.info) c.close() return 'Funcionário cadastrado com sucesso!' except Exception as e: Funcoes.criaLOG(str(e), LOG.error) raise Exception('Erro ao cadastrar funcionario!', str(e))
def recebeFiados(self, lista_comandas, valor_final, valor_total, desconto, data_hora, tipo, funcionario_id): banco = None c = None try: banco = Banco() c = banco.conexao.cursor() c.execute( 'INSERT INTO tb_recebimento(valor_final, valor_total, desconto, data_hora, tipo, funcionario_id) VALUES(%s, %s, %s, %s, %s, %s)', (valor_final, valor_total, desconto, data_hora, tipo, funcionario_id)) id_recebimento = c.lastrowid #pega o ultimo id inserido no cursor for comanda in lista_comandas: c.execute( 'UPDATE tb_comanda SET status_comanda = %s, status_pagamento = %s WHERE id_comanda = %s', (comanda.status_comanda, comanda.status_pagamento, comanda.id_comanda)) c.execute( 'INSERT INTO tb_comanda_recebimento(recebimento_id, comanda_id) VALUES(%s, %s)', (id_recebimento, comanda.id_comanda)) banco.conexao.commit() Funcoes.criaLOG(f'Recebe Fiado, id_recebimento: {id_recebimento}', LOG.info) return 'Fiado fechado com sucesso!', id_recebimento except Exception as e: Funcoes.criaLOG(str(e), LOG.error) raise Exception('Erro fecha comanda fiado banco', str(e)) finally: if c: c.close() if banco: banco.conexao.close()
def registraComandaFiado(self): try: banco = Banco() c = banco.conexao.cursor() c.execute( 'UPDATE tb_comanda SET status_comanda = %s, data_assinatura_fiado = %s, cliente_id = %s WHERE id_comanda = %s', (self.status_comanda, self.data_assinatura_fiado, self.cliente_id, self.id_comanda)) banco.conexao.commit() Funcoes.criaLOG( f'Registra fiado, id_comanda: {self.id_comanda}, id_cliente: {self.cliente_id}', LOG.info) return 'Fiado registrado!' except Exception as e: Funcoes.criaLOG(str(e), LOG.error) raise Exception('Erro registra comanda fiado banco', str(e)) finally: c.close()
def addCliente(): _mensagem = "" try: _nome = request.form['nome'] _cpf = request.form['cpf'] _telefone = request.form['telefone'] _compra_fiado = request.form['compra_fiado'] _senha = Funcoes.criptografaSenha(request.form['senha']) _dia_fiado = request.form['dia_fiado'] cliente = Cliente(0,_nome,_cpf,_telefone,_compra_fiado,_senha,_dia_fiado) _mensagem = cliente.insert() return jsonify(erro = False, mensagem = _mensagem) except Exception as e: _mensagem_erro, _mensagem_exception = e.args return jsonify(erro = True, mensagem = _mensagem_erro, mensagem_exception = _mensagem_exception)
def addFuncionario(): _mensagem = "" try: _nome = request.form['nome'] _cpf = request.form['cpf'] _telefone = request.form['telefone'] _senha = Funcoes.criptografaSenha(request.form['senha']) _matricula = request.form['matricula'] _grupo = request.form['grupo'] funcionario = Funcionario(0, _nome, _cpf, _telefone, _senha, _matricula, _grupo) _mensagem = funcionario.insert() return jsonify(erro=False, mensagem=_mensagem) except Exception as e: _mensagem_erro, _mensagem_exception = e.args return jsonify(erro=True, mensagem=_mensagem_erro, mensagem_exception=_mensagem_exception)
def finalizarRecebimentoFiado(): _msg = "" funcoes = Funcoes() try: #inserindo na TB_RECEBIMENTO comandaRecebimento = ComandaRecebimento() comandaRecebimento.data_hora = datetime.datetime.now() comandaRecebimento.tipo = 2 #fiado comandaRecebimento.valor_acrescimo = request.form['valor_acrescimo'] comandaRecebimento.valor_desconto = request.form['valor_desconto'] comandaRecebimento.valor_total = request.form['subtotal'] comandaRecebimento.funcionario_id = session['id_funcionario'] comandaRecebimento.insert() ultimoId = comandaRecebimento.pegarLastrowid() #insert tb_comanda recebimento comandaRecebimento.id_comanda = request.form['id_comanda'] comandaRecebimento.recebimento_id = ultimoId comandaRecebimento.insertTbComandaRecebimento() #update status comanda e pagamento tb_comanda comandaRecebimento.id_comanda = request.form['id_comanda'] _msg = comandaRecebimento.updateTbComandaFiadoPaga() return jsonify(erro=False, mensagem=_msg) except Exception as e: _msg, _msg_excpetion = e.args return jsonify(erro=True, mensagem=_msg, mensagem_exception=_msg_excpetion)
def registraComandaFiado(): try: _cliente = Cliente() _cliente.cpf = request.form['cpf'] _cliente.senha = Funcoes.criptografaSenha(request.form['senha']) compra_fiado = True if len( _cliente.validaClienteFiado()) > 0 else False if compra_fiado: result = _cliente.validaSenhaCliente() senha_correta = True if len(result) > 0 else False if senha_correta: _comanda = Comanda() _comanda.id_comanda = request.form['id_comanda'] _comanda.status_comanda = 2 _comanda.data_assinatura_fiado = datetime.datetime.now() _comanda.cliente_id = result[0] _mensagem = _comanda.registraComandaFiado() return jsonify(erro=False, mensagem=_mensagem) else: _mensagem = 'Senha incorreta!' return jsonify(erro=True, mensagem=_mensagem) else: _mensagem = 'Cliente não está registrado para fiado!' return jsonify(erro=True, mensagem=_mensagem) except Exception as e: if len(e.args) > 1: _mensagem, _mensagem_exception = e.args else: _mensagem = 'Erro no banco' _mensagem_exception = e.args return jsonify(erro=True, mensagem=_mensagem, mensagem_exception=_mensagem_exception)
def validaLogin(): #cria objeto funcoes para armazenar log funcoes = Funcoes() #cria o objeto e armezena usuário e senha digitado funcionario = Funcionarios() funcionario.cpf = request.form['cpf'] funcionario.senha = funcoes.encrypt(request.form['senha']) #realiza a busca pelo usuário e armazena o resultado no objeto funcionario.selectLogin() #verifica se o usuário foi encontrado if funcionario.id_funcionario > 0: #limpa a sessão session.clear() #registra o usuário na sessão, armazenando o login do usuário session['usuario'] = funcionario.nome session['cpf'] = funcionario.cpf session['grupo'] = funcionario.grupo session['id_funcionario'] = funcionario.id_funcionario #log log = "Login Efetuado com sucesso" + "|Usuário:" + session['usuario']+ "|" funcoes.logInfo(log) #abre a aplicação na tela home return redirect(url_for('home.formHome')) else: #log log = "Tentativa de Login" + "|Usuário:" + request.form['cpf'] + "|" funcoes.logWarning(log) #retornna para a tela de login return redirect(url_for('login.login', falhaLogin=1))