def insere_todos_os_produtos_da_tabela_temporaria(self,produtos) : #produtos_temp = self.retorna_ids_de_fornecedor_e_peca_das_tabelas_do_postgres() with conexaoPostgresRDS() as conexao : sql = u"INSERT INTO public.produtos_produto (data_criacao, data_alteracao, ativo, codigo, fornecedor_id, peca_id) VALUES(%s,%s,%s,%s,%s,%s);" for codigo, fornecedor_id, peca_id in produtos: parametros = '2020-07-28', '2020-07-28', True, codigo, fornecedor_id, peca_id conexao.query(sql, parametros)
def carrega_fornecedores_para_a_tabela_temporaria(self): fornecedores = dict(self.busca_codigo_e_descricao_fornecedores_bd_firebird()) with conexaoPostgresRDS() as conexao: sql = u"INSERT INTO public.temp_fornecedor(codigo, nome) VALUES (%s,%s);" for codigo, nome in fornecedores.items(): parametros = codigo, nome conexao.query(sql, parametros)
def carrega_pecas_para_a_tabela_temporaria(self): pecas = dict(self.busca_cod_descricao_tipos_de_peca_bd_firebird()) with conexaoPostgresRDS() as conexao: sql = u"INSERT INTO public.temp_peca(codigo, nome) VALUES (%s,%s);" for codigo, nome in pecas.items(): parametros = codigo, nome conexao.query(sql, parametros)
def quantidade_de_produtos_na_tabela(self) : with conexaoPostgresRDS() as conexao : instrucao_sql = ("select count(*) from produtos_produto") parametros = '' conexao.query(instrucao_sql, parametros) for quantidade in conexao.retorna_todos_registros()[0] : return quantidade
def retorna_maior_data_de_criacao_e_atualizacao_de_produto(self) : with conexaoPostgresRDS() as conexao : instrucao_sql = ("select\n" + "max(data_criacao) as dataCriacao,\n" + "max(data_alteracao) as dataAlteracao\n" + "from\n" + "produtos_produto\n" + "\n") parametros = '' conexao.query(instrucao_sql, parametros) return conexao.retorna_todos_registros()
def produtos_nao_cadastrados(self, arquivos): produtos_nao_cadastrados = [] with conexaoPostgresRDS() as conexao: for arquivo in arquivos: codigo_produto = self.retorna_cod_produto_do_nome_do_arquivo(arquivo) sql = "select codigo from produtos_produto where codigo = '%s'" % codigo_produto parametros = "" conexao.query(sql, parametros) if not conexao.retorna_todos_registros(): produtos_nao_cadastrados.append(arquivo) return produtos_nao_cadastrados
def retorna_ids_de_fornecedor_e_peca_das_tabelas_do_postgres(self) : with conexaoPostgresRDS() as conexao : instrucao_sql = ("SELECT\n" + "TEMPPROD.CODIGO AS CODIGO, PRODFORN.ID AS FORNECEDOR,PRODPECA.ID AS PECA\n" + "FROM\n" + "TEMP_PRODUTO TEMPPROD\n" + "INNER JOIN PRODUTOS_FORNECEDOR PRODFORN ON\n" + "TEMPPROD.FORNECEDOR = PRODFORN.CODIGO\n" + "INNER JOIN PRODUTOS_PECA PRODPECA ON\n" + "TEMPPROD.PECA = PRODPECA.CODIGO\n") # "WHERE tempp rod.codigo in (%s)\n") parametros = "" conexao.query(instrucao_sql, parametros) return conexao.retorna_todos_registros()
def busca_registros_de_pecas_divergentes(self): with conexaoPostgresRDS() as conexao: instrucao_sql = ("select\n" + "tpeca.codigo,\n" + "tpeca.nome\n" + "from\n" + "temp_peca tpeca\n" + "left join produtos_peca ppeca on\n" + "tpeca.codigo = ppeca.codigo\n" + "and tpeca.nome = ppeca.nome\n" + "where\n" + "ppeca is null\n") parametros = '' conexao.query(instrucao_sql, parametros) return conexao.retorna_todos_registros()
def registros_de_fornecedores_diferentes_tabela_temporaria_e_fornecedor(self): with conexaoPostgresRDS() as conexao: instrucao_sql = ("SELECT\n" + "TEMPFORN.CODIGO,\n" + "TEMPFORN.NOME\n" + "FROM\n" + "TEMP_FORNECEDOR TEMPFORN\n" + "LEFT JOIN PRODUTOS_FORNECEDOR FORN ON\n" + "TEMPFORN.CODIGO = FORN.CODIGO\n" + "AND TEMPFORN.NOME = FORN.NOME\n" + "WHERE\n" + "FORN IS NULL\n") parametros = '' conexao.query(instrucao_sql, parametros) return conexao.retorna_todos_registros()
def verifica_produtos_a_serem_inseridos_ou_atualizados(self) : with conexaoPostgresRDS() as conexao : instrucao_sql = ("SELECT\n" + "*\n" + "FROM\n" + "TEMP_PRODUTO TPROD\n" + "LEFT JOIN PRODUTOS_PRODUTO PPROD ON\n" + "TPROD.CODIGO = PPROD.CODIGO\n" + "WHERE PPROD.CODIGO IS NULL\n" + "OR TPROD.DATA_CADASTRO > (\n" + "SELECT\n" + "MAX(DATA_CRIACAO) AS DATACRIACAO\n" + "FROM\n" + "PRODUTOS_PRODUTO )\n" + "OR TPROD.DATA_ALTERACAO > (\n" + "SELECT\n" + "MAX(DATA_ALTERACAO) AS DATAALTERACAO\n" + "FROM\n" + "PRODUTOS_PRODUTO)\n" + "ORDER BY TPROD.CODIGO\n" + "\n") parametros = '' conexao.query(instrucao_sql, parametros) return conexao.retorna_todos_registros()
def produto_cadastrado(self,codigo_produto): with conexaoPostgresRDS() as conexao : instrucao_sql = "SELECT * FROM produtos_produto WHERE codigo = '%s';" %str(codigo_produto) parametro = '' conexao.query(instrucao_sql, parametro) return conexao.retorna_todos_registros()
def carrega_produtos_para_a_tabela_temporaria(self,produtos) : with conexaoPostgresRDS() as conexao : for codigo, fornecedor, peca, data_cadastro, data_alteracao in produtos : parametros = codigo, fornecedor, peca, data_cadastro, data_alteracao sql = u"INSERT INTO public.temp_produto (codigo, fornecedor, peca, data_cadastro, data_alteracao) VALUES(%s,%s,%s,%s,%s);" conexao.query(sql, parametros)
def limpa_tabela_temporaria_pecas(self): with conexaoPostgresRDS() as conexao: sql = u"DELETE FROM public.temp_peca" parametros = '' conexao.query(sql, parametros)
def atualiza_fornecedor(self, codigo, nome): with conexaoPostgresRDS() as conexao: sql = u"UPDATE public.produtos_fornecedor SET data_alteracao= %s, nome= %s WHERE codigo = %s" parametros = '2020-07-13', nome, codigo conexao.query(sql, parametros)
def insere_fornecedor(self, codigo, nome): with conexaoPostgresRDS() as conexao: sql = u"INSERT INTO public.produtos_fornecedor (data_criacao, data_alteracao, ativo,codigo,nome) VALUES (%s,%s,%s,%s,%s);" parametros = '2020-07-13', '2020-07-13', True, codigo, nome conexao.query(sql, parametros)
def atualiza_um_produto(self,codigo, fornecedor_id, peca_id) : with conexaoPostgresRDS() as conexao : sql = u"UPDATE public.produtos_produto SET data_alteracao= %s, fornecedor_id= %s,peca_id = %s WHERE codigo = %s" parametros = '2020-07-15', fornecedor_id, peca_id,codigo conexao.query(sql, parametros)
def insere_um_produto(self,codigo, fornecedor_id, peca_id): with conexaoPostgresRDS() as conexao : sql = u"INSERT INTO public.produtos_produto (data_criacao, data_alteracao, ativo, codigo, fornecedor_id, peca_id) VALUES(%s,%s,%s,%s,%s,%s);" parametros = '2020-07-28', '2020-07-28', True, codigo, fornecedor_id, peca_id conexao.query(sql, parametros)
def codigo_fornecedor_nao_cadastrado(self, cod_fornecedor): with conexaoPostgresRDS() as conexao: instrucao_sql = "SELECT * FROM produtos_fornecedor WHERE codigo = '%s';" parametro = cod_fornecedor, conexao.query(instrucao_sql, parametro) return not conexao.retorna_todos_registros()
def busca_todos_produtos_cadastrados_temp_produto_postgres(self) : with conexaoPostgresRDS() as conexao : instrucao_sql = ("SELECT codigo, fornecedor, peca, data_cadastro, data_alteracao FROM public.temp_produto;") parametros = "" conexao.query(instrucao_sql, parametros) return conexao.retorna_todos_registros()