Erro na view_dados_escola do esquema relatorio (iEducar 2)


#1

a query está trazendo muitos campos null, e tem impacto na hora da exibição do Boletim escolar.

Segue a query:

SELECT escola.cod_escola,
relatorio.get_nome_escola(escola.cod_escola) AS nome,
pessoa.email,
COALESCE(endereco_pessoa.cep, endereco_externo.cep) AS cep,
COALESCE(endereco_pessoa.numero, endereco_externo.numero) AS numero,
COALESCE(logradouro.idtlog, endereco_externo.idtlog) AS tipo_logradouro,
tipo_logradouro.descricao AS descricao_logradouro,
COALESCE(logradouro.nome, endereco_externo.logradouro) AS logradouro,
COALESCE(bairro.nome, endereco_externo.bairro) AS bairro,
COALESCE(municipio.nome, endereco_externo.cidade) AS municipio,
COALESCE(municipio.sigla_uf, (endereco_externo.sigla_uf)::character varying) AS uf_municipio,
educacenso_cod_escola.cod_escola_inep AS inep,
relatorio.get_ddd_escola(escola.cod_escola) AS telefone_ddd,
relatorio.get_telefone_escola(escola.cod_escola) AS telefone,
fone_pessoa.ddd AS celular_ddd,
to_char(fone_pessoa.fone, ‘99999-9999’::text) AS celular
FROM ((((((((((escola
LEFT JOIN pessoa ON (((escola.ref_idpes)::numeric = pessoa.idpes)))
LEFT JOIN educacenso_cod_escola ON ((educacenso_cod_escola.cod_escola = escola.cod_escola)))
LEFT JOIN endereco_pessoa ON ((endereco_pessoa.idpes = pessoa.idpes)))
LEFT JOIN endereco_externo ON ((endereco_externo.idpes = pessoa.idpes)))
LEFT JOIN logradouro ON ((logradouro.idlog = endereco_pessoa.idlog)))
LEFT JOIN tipo_logradouro ON (((tipo_logradouro.idtlog)::text = (COALESCE(logradouro.idtlog, endereco_externo.idtlog))::text)))
LEFT JOIN bairro ON ((bairro.idbai = endereco_pessoa.idbai)))
LEFT JOIN municipio ON ((municipio.idmun = bairro.idmun)))
LEFT JOIN fone_pessoa ON (((pessoa.idpes = fone_pessoa.idpes) AND (fone_pessoa.tipo = (3)::numeric))))
LEFT JOIN juridica ON (((juridica.idpes = fone_pessoa.idpes) AND (juridica.idpes = (escola.ref_idpes)::numeric))))


#2

Geralmente quando isso acontece é porque os cadastros não estão completos. Você checou se tudo está ok? O relatório traz campos null mesmo com tudo preenchido corretamente?


#3

Os campos estão preenchidos.

No primeiro momento achei que poderia ter esquecido de preencher mas depois verifiquei que estão preenchidos.

Analisando a estrutura do banco de dados, verifiquei que a tabela “escola_complemento” é que tem as informações(nm_escola, logradouro, email, cep, …) e query da view busca essas informações da tabela “escola”.


#4

Essa escola possui uma pessoa jurídica com o endereço informado lá? Gostaria de entender melhor como aconteceu pra o sistema salvar os dados nessa tabela, achei que na maioria dos cadastros o endereço da escola era salvo em endereco_pessoa ou endereco_externo.
Se você abrir a pessoa jurídica e salvar novamente, muda algo?