REGRAS PARA CARREGAR PLANOS DE CARREIRA E SEUS DIAGRAMAS NO PORTAL RH
- COLABORADOR
- Para identificar o plano de carreira do colaborador logado no portal
Select
RHCARREIRA.PLANOCARREIRA,
RHCARREIRA.DESCRICAO60,
RHCARREIRA.MESANO,
RHCARREIRA.QUANTIDADENIVEIS
From
RHCARREIRA
Where
RHCARREIRA.MESANO = (
Select
Max ( RHCARREIRAVINCULOS.MESANO ) MESANO
From
RHCARREIRAVINCULOS
Inner Join RHCARREIRA B On
RHCARREIRAVINCULOS.PLANOCARREIRA = B.PLANOCARREIRA And
RHCARREIRAVINCULOS.MESANO = B.MESANO
Where
B.SITUACAOCARREIRA = '2' And
B.LIBERADAPARAPORTAL = 'S' And
B.ATIVADESATIVADA = '1' And
RHCARREIRA.PLANOCARREIRA = RHCARREIRAVINCULOS.PLANOCARREIRA
#WHERE
Group By
RHCARREIRAVINCULOS.PLANOCARREIRA
)
Montagem do #WHERE:
Vai buscar os contratos do usuário logado no portal e com eles vai buscar as empresas e unidades dos contratos encontrados.
Exemplo:
And ( ( (RHCARREIRAVINCULOS.EMPRESA = '0001') ) Or ( (RHCARREIRAVINCULOS.UNIDADE = '0001') ) )
- Para identificar o diagrama do plano de carreira
Com o plano de carreira identificado, vai montar o diagrama.
Select
A.DIAGRAMA
From
RHCARREIRADIAGRAMA A
Where
A.PLANOCARREIRA = @PPLANOCARREIRA And
A.MESANO = @PMESANO And
A.EIXO = @PEIXO
Se não encontrar registro na tabela acima, vai montar a estrutura na tela e ao editar e salvar vai incluir o diagrama na tabela.
Após vai identificar a orientação através da diretriz “Orientação do Plano de Carreira:” (PLANO_CARREIRA_CARGO_OU_FUNCAO) e vai buscar as informações do eixo, com os cargos ou funções cadastrados.
Verifica se o usuário tem permissão para ver os descritivos através da diretiva ExibirTodosDescritivosCargoFuncao e verifica se o usuário tem perfil com o Descritivo de Cargo liberado pra ele e qual o modelo vinculado no perfil.
Quando a diretiva tem valor Não, vai validar se o cargo dele está nos cargos do eixo do plano de carreira do usuário para exibir o descritivo.
Select Distinct
RHCARGOS.CARGO,
RHCARGOS.DESCRICAO40
From
RHUSUARIOS
Inner Join RHPESSOAS On
RHUSUARIOS.EMPRESA = RHPESSOAS.EMPRESA And
RHUSUARIOS.PESSOA = RHPESSOAS.PESSOA
Inner Join RHCONTRATOS On
RHPESSOAS.EMPRESA = RHCONTRATOS.EMPRESA And
RHPESSOAS.PESSOA = RHCONTRATOS.PESSOA
Inner Join RHCARGOS On
RHCONTRATOS.CARGO = RHCARGOS.CARGO
Where
RHUSUARIOS.NOMEUSUARIO = @NOMEUSUARIO And
RHCARGOS.ATIVADESATIVADA = '1' And
RHCONTRATOS.SITUACAO < '3' And
RHCONTRATOS.TIPOCONTRATO <> '4' And
( RHCONTRATOS.DATATERMINOSUBCONTRATO Is Null Or
RHCONTRATOS.DATATERMINOSUBCONTRATO >= @PDATA
)
Order By
RHCARGOS.DESCRICAO40
- GESTOR
- Para identificar os planos de carreira do gestor logado no portal
Select
RHCARREIRA.PLANOCARREIRA,
RHCARREIRA.DESCRICAO60,
RHCARREIRA.MESANO,
RHCARREIRA.QUANTIDADENIVEIS
From
RHCARREIRA
Where
RHCARREIRA.SITUACAOCARREIRA = '2' And
RHCARREIRA.ATIVADESATIVADA = '1' And
RHCARREIRA.LIBERADAPARAPORTAL = 'S' And
( ( Not Exists (
Select
RHCARREIRAVINCULOS.NROORDEM
From
RHCARREIRAVINCULOS
Where
RHCARREIRA.PLANOCARREIRA = RHCARREIRAVINCULOS.PLANOCARREIRA And
RHCARREIRA.MESANO = RHCARREIRAVINCULOS.MESANO
)
) Or
Exists (
Select
RHCARREIRAVINCULOS.NROORDEM
From
RHCARREIRAVINCULOS
Where
RHCARREIRA.PLANOCARREIRA = RHCARREIRAVINCULOS.PLANOCARREIRA And
RHCARREIRA.MESANO = RHCARREIRAVINCULOS.MESANO
#WHERE
)
)
Order By
RHCARREIRA.MESANO Desc,
RHCARREIRA.PLANOCARREIRA
Montagem do #WHERE:
Vai buscar os perfis de gestor do usuário logado e vai buscar as regras que estão cadastradas nas Permissões de Visualização desses perfis com as opções de Empresa e Unidade.
Exemplo:
And ( ( ( ( RHCARREIRA.TIPOVINCULOCARREIRA = '2' And RHCARREIRAVINCULOS.UNIDADE = '0003' ) ) OR ( ( RHCARREIRA.TIPOVINCULOCARREIRA = '2' And RHCARREIRAVINCULOS.UNIDADE = '0002' ) ) OR ( ( RHCARREIRA.TIPOVINCULOCARREIRA = '2' And RHCARREIRAVINCULOS.UNIDADE = '0001' ) ) ) )
Outro exemplo:
Se o plano de carreira está cadastrado com vínculo Unidade, e no perfil a regra está por empresa, o plano de carreira não vai aparecer.
Com os planos de carreira liberados para o gestor, vai buscar os diagramas e se os mesmos podem ser editados.
- Para identificar o diagrama do plano de carreira
Com o plano de carreira identificado, vai montar o diagrama.
Select
A.DIAGRAMA
From
RHCARREIRADIAGRAMA A
Where
A.PLANOCARREIRA = @PPLANOCARREIRA And
A.MESANO = @PMESANO And
A.EIXO = @PEIXO
Se não encontrar registro na tabela acima, vai montar a estrutura na tela e ao editar e salvar vai incluir o diagrama na tabela.
Após vai identificar a orientação através da diretriz “Orientação do Plano de Carreira:” (PLANO_CARREIRA_CARGO_OU_FUNCAO) e vai buscar as informações do eixo, com os cargos ou funções cadastradas.
Verifica se o usuário tem permissão para ver os descritivos através da diretiva ExibirTodosDescritivosCargoFuncao e verifica se o usuário tem perfil de Colaborador com o Descritivo de Cargo liberado pra ele e qual o modelo vinculado no perfil.
Quando a diretiva tem valor Não, vai buscar os cargos dos contratos conforme a regra da montagem do Where acima para exibir os descritivos.