SELECT DISTINCT unidade1_.codigo_unidade AS codigo7_91_,
unidade1_.nome AS nome91_
FROM rh.servidor servidor0_
INNER JOIN comum.unidade unidade1_
ON servidor0_.id_unidade_lotacao = unidade1_.id_unidade
WHERE ( unidade1_.id_unidade NOT IN (SELECT DISTINCT unidade3_.id_unidade
FROM rh.servidor servidor2_
INNER JOIN comum.unidade unidade3_
ON
servidor2_.id_unidade_lotacao = unidade3_.id_unidade
WHERE servidor2_.id_servidor NOT IN (SELECT
servidor6_.id_servidor
FROM
funcional.frequencia frequencia4_
INNER JOIN comum.unidade unidade5_
ON
frequencia4_.id_unidade = unidade5_.id_unidade
INNER JOIN rh.servidor servidor6_
ON
frequencia4_.id_servidor = servidor6_.id_servidor
WHERE servidor6_.id_unidade_lotacao =
unidade5_.id_unidade
AND frequencia4_.mes = ?
AND frequencia4_.ano = ?)) )
AND ( servidor0_.id_ativo NOT IN ( 8, 9, 6 ) )
AND ( servidor0_.data_desligamento IS NULL
OR Extract(year FROM servidor0_.data_desligamento) >?
AND Extract(month FROM servidor0_.data_desligamento) >? )
AND Extract(year FROM servidor0_.admissao)
AND Extract(month FROM servidor0_.admissao)
Consulta de unidades com frequência PARCIAL:
SELECT DISTINCT unidade1_.codigo_unidade AS codigo7_91_,
unidade1_.nome AS nome91_
FROM funcional.frequencia frequencia0_
INNER JOIN comum.unidade unidade1_
ON frequencia0_.id_unidade = unidade1_.id_unidade
WHERE frequencia0_.mes = ?
AND frequencia0_.ano = ?
AND ( frequencia0_.data_inativacao IS NULL )
AND ( unidade1_.id_unidade NOT IN (SELECT DISTINCT unidade3_.id_unidade
FROM rh.servidor servidor2_
INNER JOIN comum.unidade
unidade3_
ON
servidor2_.id_unidade_lotacao = unidade3_.id_unidade
WHERE ( unidade3_.id_unidade NOT IN
(SELECT
DISTINCT unidade5_.id_unidade
FROM
rh.servidor servidor4_
INNER JOIN comum.unidade unidade5_
ON
servidor4_.id_unidade_lotacao = unidade5_.id_unidade
WHERE servidor4_.id_servidor NOT IN (SELECT
servidor8_.id_servidor
FROM
funcional.frequencia frequencia6_
INNER JOIN comum.unidade unidade7_
ON
frequencia6_.id_unidade = unidade7_.id_unidade
INNER JOIN rh.servidor servidor8_
ON
frequencia6_.id_servidor = servidor8_.id_servidor
WHERE servidor8_.id_unidade_lotacao =
unidade7_.id_unidade
AND frequencia6_.mes = ?
AND frequencia6_.ano = ?)) )
AND ( servidor2_.id_ativo NOT IN ( 8, 9, 6 ) )
AND ( servidor2_.data_desligamento IS NULL
OR Extract(year FROM servidor2_.data_desligamento) >?
AND Extract(month FROM servidor2_.data_desligamento) >? )
AND Extract(year FROM servidor2_.admissao)
AND Extract(month FROM servidor2_.admissao) ) )
Consulta de unidades SEM frequência:
SELECT DISTINCT unidade1_.codigo_unidade AS codigo7_91_,
unidade1_.nome AS nome91_
FROM rh.servidor servidor0_
INNER JOIN comum.unidade unidade1_
ON servidor0_.id_unidade = unidade1_.id_unidade
WHERE ( unidade1_.id_unidade NOT IN (SELECT DISTINCT unidade3_.id_unidade
FROM funcional.frequencia frequencia2_
INNER JOIN comum.unidade unidade3_
ON
frequencia2_.id_unidade = unidade3_.id_unidade
WHERE frequencia2_.mes = ?
AND frequencia2_.ano = ?
AND ( frequencia2_.data_inativacao IS NULL )
) )
AND ( servidor0_.id_ativo NOT IN ( 8, 9, 6 ) )
AND ( servidor0_.data_desligamento IS NULL
OR Extract(year FROM servidor0_.data_desligamento) >?
AND Extract(month FROM servidor0_.data_desligamento) >? )
AND Extract(year FROM servidor0_.admissao)
AND Extract(month FROM servidor0_.admissao)