Historico_vw_integracao_pensao_morte
SELECT instituidor_pessoa.nome AS nome_instituidor_pensao,
( SELECT rh_cargo.nome
FROM rh_servidor
JOIN rh_movpessoal ON rh_servidor.id = rh_movpessoal.servidor_id
JOIN rh_movposse ON rh_movpessoal.id = rh_movposse.movimentacaopessoal_ptr_id
JOIN rh_quadro ON rh_movposse.quadro_id = rh_quadro.id
JOIN rh_cargo ON rh_quadro.cargo_id = rh_cargo.id
WHERE rh_servidor.id = a.instituidor_id AND rh_cargo.tipo_lei_cargo::text = 'EF'::text
ORDER BY rh_movposse.data_exercicio DESC LIMIT 1) AS instituidor_pensao_cargo_nome,
a.servidor_id,
a.instituidor_id,
a.nome,
a.matricula,
a.cpf,
a.classificacao_cod,
a.classificacao_nome,
a.quota,
a.data_inicio,
a.data_fim,
a.email,
a.data_nascimento
FROM ( SELECT rh_movpessoal.servidor_id,
rh_servidor.founder_employee_id AS instituidor_id,
rh_pessoa.nome,
rh_servidor.matricula,
rp.cpf,
rh_servidor.type_by_possession AS classificacao_cod,
rh_servidor_type_by_possession_description(rh_servidor.type_by_possession) AS classificacao_nome,
rh_benefitmovement.quota,
rh_movposse.data_exercicio AS data_inicio,
rh_movposse.data_desligamento AS data_fim,
rp.email_pessoal AS email,
rp.data_nascimento
FROM rh_servidor
JOIN rh_pessoafisica rp ON rh_servidor.pessoa_fisica_id = rp.pessoa_ptr_id
JOIN rh_pessoa ON rp.pessoa_ptr_id = rh_pessoa.id
JOIN rh_movpessoal ON rh_servidor.id = rh_movpessoal.servidor_id
JOIN rh_movposse ON rh_movpessoal.id = rh_movposse.movimentacaopessoal_ptr_id
JOIN rh_benefitmovement ON rh_movposse.movimentacaopessoal_ptr_id = rh_benefitmovement.movimentacaoposse_ptr_id) a
LEFT JOIN rh_servidor instituidor_pensao ON instituidor_pensao.id = a.instituidor_id
JOIN rh_pessoafisica ON instituidor_pensao.pessoa_fisica_id = rh_pessoafisica.pessoa_ptr_id
JOIN rh_pessoa instituidor_pessoa ON rh_pessoafisica.pessoa_ptr_id = instituidor_pessoa.id;