~~ODT~~ echo "
"; echo "Última atualização: "; ver('', false); echo "
";
====== Força de Trabalho ====== Este caso de uso permite ao servidor chefe de uma unidade, dimensionar a força de trabalho dos servidores ligados a esta unidade. O dimensionamento da força de trabalho é um processo de planejamento contínuo de avaliação das necessidades de pessoal e competências para atender aos objetivos institucionais. No planejamento da força de trabalho devem ser avaliadas as necessidades em relação ao quantitativo, perfil, habilidade e competências adequadas para desempenho das tarefas. Nesse processo é necessário também repensar as relações de trabalho, racionalizar espaços e equipamentos, avaliar processos e rotinas de trabalho e identificar necessidades de capacitação. ===== Descrição do Caso de Uso ===== Este caso de uso é acessado a partir do caminho //SIGRH -> Módulos -> Operações -> Dimensionamento -> Força de Trabalho//. Para realizar o dimensionamento, as seguintes etapas devem ser seguidas: Caso chefe possua apenas uma unidade, a opção de seleção de unidade é ocultada. Duas informações são passadas para que se possa selecionar a unidade a ser dimensionada: * **Unidade Gestora***: Formato - Nome da Unidade, Tipo - AUTOCOMPLETE. * **Unidade de Exercício Subordinada***: Formato - Nome da Unidade, Tipo - AUTOCOMPLETE. **Passo 01** - Localização dos Servidores na Unidade Uma vez selecionada a unidade para realizar o dimensionamento, o fluxo do caso de uso prossegue para um ponto no sistema que fornece as opções a seguir. * Localizar Servidores: Localizar os servidores em uma unidade significa informar os horários e setores de trabalho. Novos servidores podem ser adicionados a lista para dimensionamento. Isto se faz necessário quando um servidor é alocado para outra unidade para realizar algum trabalho de curto ou longo prazo. No final da listagem, uma opção permite inserir um servidor lotado em outra unidade e que não se encontra na listagem acima.([[#Principais Regras de Negócio|RN08]]) * **Processo de GDH***: Tipo TEXTO ([[#Principais Regras de Negócio|RN06]]) * **__Servidor__**: Formato - Nome do Servidor (Matrícula), Tipo - TEXTO * **Setor de trabalho***: Formato - Unidade - (Código da Unidade), Tipo - TEXTO ([[#Principais Regras de Negócio|RN03, RN05]]) * **Horário de trabalho**: * O sistema exibe a opção de consultar o horário de trabalho do servidor. A consulta exibe os mesmo dados consultados ao fim do caso de uso de [[desenvolvimento:especificacoes:sigrh:portal_do_servidor:casos_de_uso:chefia_de_unidade:homologacao_de_frequencia:horario_de_trabalho:listar_alterar|Listar/Alterar Horário]]. * **Servidor não tem horário fixo de trabalho**: Tipo - LÓGICO ([[#Principais Regras de Negócio|RN01]]) * Inserir servidor lotado em outra unidade que não se encontra na listagem acima: ([[#Principais Regras de Negócio|RN02]]) * **Nome**: Formato - Nome do Servidor (Matrícula), Tipo - TEXTO, AUTOCOMPLETE. Entrada de dados: Nome do servidor ou Matrícula ou CPF. **Passo 02** - Servidores Externos na Unidade * Servidores Externos: Esta opção permite a inclusão de servidores externos na unidade cujo dimensionamento de servidores está sendo processada. ([[#Principais Regras de Negócio|RN07]]) * **CPF***: Formato - 999.999.999-99, Tipo - NUMÉRICO * **Matrícula**: Tipo - TEXTO. * **Nome***: Tipo - TEXTO * **Instituição***: Tipo - TEXTO * **Cargo***: Formato - Cargo (Número do Cargo), Tipo - TEXTO * **Regime de Escala**: Tipo - LÓGICO ([[#Principais Regras de Negócio|RN01]]) * **Horário de trabalho**: * **1º Expediente***: Formato - 00:00 as 00:00, Tipo - NUMÉRICO * **2º Expediente**: Formato - 00:00 as 00:00, Tipo - NUMÉRICO * **Setor de trabalho***: Formato - Unidade - (Código da Unidade) - Turno de Trabalho, Tipo - TEXTO ([[#Principais Regras de Negócio|RN05]]) Os servidores cadastrados são listados, o sistema disponibiliza a opção de alterar ou remover para cada item: * **__Matrícula__**: Tipo - TEXTO * **__Nome__**: Tipo - TEXTO * **__Instituição de origem__**: Tipo - TEXTO * **__1º Exp.__**: Formato - 00:00 as 00:00, Tipo - NUMÉRICO * **__2º Exp.__**: Formato - 00:00 as 00:00, Tipo - NUMÉRICO **Passo 03** - Pessoal Terceirizado * Pessoal Terceirizado: Esta opção permite a inclusão de funcionários terceirizados na unidade cujo dimensionamento de servidores está sendo processada. ([[#Principais Regras de Negócio|RN07]], [[#Principais Regras de Negócio|RN09]]) * **CPF***: Formato - 999.999.999-99, Tipo - NUMÉRICO * **Nome***: Tipo - TEXTO * **Data de Nascimento**: Tipo - DATA * **Sexo**: Tipo - TEXTO, São apresentadas as opções ''Masculino'' e ''Feminino'' * **Salário Mensal Bruto**: Tipo - NUMÉRICO ([[#Principais Regras de Negócio|RN04]]) * **Contrato**: Formato - 9999/aaaa - Vigência: DD/MM/AAAA - Nome do Contrato, Tipo - TEXTO * **Cargo Contratado***: Formato - Nome do Cargo - Horas e Turno de Trabalho - Salário, Tipo - TEXTO * **Regime de Escala**: Tipo - LÓGICO ([[#Principais Regras de Negócio|RN01]]) * **Horário de trabalho**: * **1º Expediente***: Formato - 00:00 as 00:00, Tipo - NUMÉRICO * **2º Expediente**: Formato - 00:00 as 00:00, Tipo - NUMÉRICO * **Setor de trabalho***: Formato - Unidade (Código da Unidade) - Turno de Trabalho, Tipo - TEXTO ([[#Principais Regras de Negócio|RN05]]) Abaixo do formulário de inclusão de funcionários terceirizados é exibido uma listagem de todos os funcionários ativos e inativos no sistema: * **__CPF__**: Tipo - NUMÉRICO * **__Nome__**: Tipo - TEXTO * **__Data de Nascimento__**: Tipo - DATA * **__Sexo__**: Tipo - TEXTO * **__Cargo Contratado__**: Tipo - TEXTO * **__1º Exp.__**: Formato - 00:00 as 00;00, Tipo - NUMÉRICO * **__2º Exp.__**: Formato - 00:00 as 00:00, Tipo - NUMÉRICO * **__Status__**: Tipo - TEXTO, São apresentadas as opções ''Ativo'' e ''Inativo''. * **__Motivo Inativação__**: Tipo - TEXTO (se houver) Nesta listagem é possível Alterar dados do terceirizado ou remover terceirizados. Ao selecionar a opção de remover, será exibido ao usuário os dados do terceirizado e o campo de preenchimento obrigatório: * **Motivo Inativação***: Tipo - TEXTO. Motivo para desvinculação(desativação do registro) do servidor terceirizado. **Passo 04** - Pessoal Fundação * Pessoal Fundação: Esta opção permite a inclusão de funcionários da fundação de pesquisa na unidade cujo dimensionamento da força de trabalho está sendo realizada. ([[#Principais Regras de Negócio|RN07]]) * **CPF***: Formato - 999.999.999-99, Tipo - NUMÉRICO * **Nome***: Tipo - TEXTO * **Fundação***: Tipo - TEXTO * **Projeto***: Formato - Número - Nome do Projeto, Tipo - TEXTO * **Cargo***: Formato - Cargo (Número do Cargo), Tipo - TEXTO * **Regime de Escala**: Tipo - LÓGICO ([[#Principais Regras de Negócio|RN01]]) * **Horário de trabalho**: * **1º Expediente***: Formato - 00:00 as 00:00, Tipo - NUMÉRICO * **2º Expediente**: Formato - 00:00 as 00:00, Tipo - NUMÉRICO * **Setor de trabalho***: Formato - Unidade (Código da Unidade) - Turno de Trabalho, Tipo - TEXTO ([[#Principais Regras de Negócio|RN05]]) O pessoal da fundação cadastrado é listado, o sistema disponibiliza a opção de alterar ou remover para cada item: * **__CPF__**: Tipo - NUMÉRICO * **__Nome__**: Tipo - TEXTO * **__Função__**: Tipo - TEXTO * **__Fundação__**: Tipo - TEXTO * **__1º Exp.__**: Formato - 00:00 as 00:00, Tipo - NUMÉRICO * **__2º Exp.__**: Formato - 00:00 as 00:00, Tipo - NUMÉRICO **Passo 05** - Bolsistas * Bolsistas: Esta opção permite a inclusão de bolsistas na unidade cujo dimensionamento da força de trabalho está sendo realizada. Caso o bolsista seja de outra unidade, preencha matricula e seleciona a opção de buscar. ([[#Principais Regras de Negócio|RN07]]) * **Aluno***: Formato - Matrícula - Nome do Aluno, Tipo - TEXTO * **Regime de Escala**: Tipo - LÓGICO ([[#Principais Regras de Negócio|RN01]]) * **Horário de trabalho**: * **1º Expediente***: Formato - 00:00 as 00:00, Tipo - NUMÉRICO * **2º Expediente**: Formato - 00:00 as 00:00, Tipo - NUMÉRICO * **Setor de trabalho***: Formato - Unidade (Código da Unidade) - Turno de Trabalho, Tipo - TEXTO ([[#Principais Regras de Negócio|RN05]]) * Buscar Bolsista lotado em outra unidade que não se encontra na listagem acima: * **Matricula**: Tipo - TEXTO Os bolsistas cadastrados são listados, o sistema disponibiliza a opção de alterar ou remover para cada item: * **__Nome__**: Tipo - TEXTO * **__Curso__**: Tipo - TEXTO * **__1º Exp.__**: Formato - 00:00 as 00:00, Tipo - NUMÉRICO * **__2º Exp.__**: Formato - 00:00 as 00:00, Tipo - NUMÉRICO **Passo 06** - Estagiários * Estagiários: Esta opção permite a inclusão de estagiários na unidade cujo dimensionamento da força de trabalho está sendo realizada. ([[#Principais Regras de Negócio|RN07]]) * **CPF***: Formato - 999.999.999-99, Tipo - NUMÉRICO * **Nome***: Tipo - TEXTO * **Curso***: Formato - Nome do Curso - Local, Tipo - TEXTO * **Instituição***: Tipo - TEXTO * **Tipo de Estágio***: Tipo - TEXTO. São apresentadas as seguintes opções: ''AGÊNCIA DE ESTÁGIO, FUNPEC, VONLUTÁRIO'' * **Regime de Escala**: Tipo - LÓGICO ([[#Principais Regras de Negócio|RN01]]) * **Horário de trabalho**: * **1º Expediente***: Formato - 00:00 as 00:00, Tipo - NUMÉRICO * **2º Expediente**: Formato - 00:00 as 00:00, Tipo - NUMÉRICO * **Setor de trabalho***: Formato - Unidade (Código da Unidade) - Turno de Trabalho, Tipo - TEXTO ([[#Principais Regras de Negócio|RN05]]) Os estagiários cadastrados são listados, o sistema disponibiliza a opção de alterar ou remover para cada item: * **__Nome__**: Tipo - TEXTO * **__Curso__**: Tipo - TEXTO * **__Instituição__**: Tipo - TEXTO * **__1º Exp.__**: Formato - 00:00 as 00:00, Tipo - NUMÉRICO * **__2º Exp.__**: Formato - 00:00 as 00:00, Tipo - NUMÉRICO O caso de uso é finalizado. ===== Principais Regras de Negócio ===== * **RN01**: Para servidores em regime de escala, não é obrigatória a informação dos horários para os expedientes, ou seja, ao selecionar **Regime de Escala** não obrigará o preenchimento de **Horário de trabalho**. * **RN02**: Só é permitida a remoção de servidores de outras unidades; * **RN03**: Caso a localização do servidor seja alterada e o servidor, para o GDH informado, já tenha um plano individual de trabalho cadastrado para localização original, o sistema deve criar um novo plano individual de trabalho para o servidor para a nova localização com os dados do antigo. * **RN04**: A apresentação do campo **Salário Mensal Bruto** será determinada pelo parâmetro INFORMA_SALARIO_BRUTO_TERCEIRIZADO_DIMENSIONAMENTO do subsistema DIMENSIONAMENTO do sistema SIGRH, para alteração do parâmetro é feita acessando o sistema SIGADMIN. * **RN05**: No campo **Setor de Trabalho** aparecerão para seleção a Unidade de Lotação e as unidades subordinadas (se houver), ou seja, unidades organizacionais e de avaliação que estão hierarquicamente abaixo da unidade a qual o chefe é responsável. * **RN06**: O processo de avaliação só é exibido quando o caso de uso é acessado através dos links: * Portal do Servidor -> GDH -> Localização -> Localizar Servidor * Portal do Servidor -> GDH -> Localização -> Localizar Pessoal (SipacPapeis.GESTOR_ORGANIZACIONAL) * **RN07**: As opções servidores externos, pessoal terceirizado, pessoal fundação, bolsistas, e estagiários, não serão exibidos quando o caso de uso for acessado através do link: * Portal do Servidor -> GDH -> Localização -> Localizar Pessoal (SipacPapeis.GESTOR_ORGANIZACIONAL) * Portal do Servidor -> GDH -> Localização -> Localizar Servidor * **RN08**: No passo Localizar Servidores, as localizações sem o preenchimento do setor de trabalho serão ignorados no cadastro. * **RN09**: A informação de contrato vem à partir dos contratos de mão de obra (SIPAC); A unidade para a qual se está fazendo o dimensionamento tem que estar como unidade beneficiada em algum contrato de mão de obra. ==== Resoluções/Legislações Associadas ==== Não se Aplica. ===== Classes Persistentes e Tabelas Envolvidas ===== ^ Classe ^ Tabela | | br.ufrn.sigrh.dimensionamento.dominio.ServidorLocalizacao | adiministrativo.dimensionamento.servidor_localizacao | | br.ufrn.sigrh.funcional.dominio.Servidor | adiministrativo.rh.servidor | | br.ufrn.sigrh.dominio.Unidade | adiministrativo.comum.unidade | | br.ufrn.sigrh.avaliacao.dominio.ProcessoAvaliacao | adiministrativo.avaliacao.processo_avaliacao | | br.ufrn.sigrh.avaliacao.planos.dominio.PlanoIndividualTrabalho | adiministrativo.avaliacao.plano_individual_trabalho | ===== Plano de Teste ===== Sistema: SIGRH Módulo: Menu Servidor Link(s): SIGRH -> Módulos -> Operações -> Dimensionamento -> Força de Trabalho Usuário: mirian, alc Papel que usuário deve ter: SigrhPapeis.GESTOR_DIMENSIONAMENTO, SipacPapeis.GESTOR_ORGANIZACIONAL ===== Cenários de Teste ===== Alterar a localização de um servidor neste UC e em seguida averiguar se a localização foi corretamente alterada em: * Menu Servidor -> Chefia de Unidade -> Dimensionamento -> Localização -> Localizar servidor O seguinte link é importante para realizar os testes: * Menu Servidor -> Chefia da Unidade -> Dimensionamento -> Força de Trabalho * Portal do Servidor -> Chefia da Unidade -> Dimensionamento -> Força de Trabalho * Chefia da Unidade -> Outros -> Dimensionamento -> Força do Trabalho Para validar a **RN03**, realize o cadastro do plano individual de trabalho para um servidor (Menu Servidor -> Planejamento -> Plano Individual de Trabalho), após o cadastro realize o dimensionamento do servidor (Menu Servidor -> Localização -> Localizar Servidor) e altere a localização ao qual foi feito o plano individual de trabalho do servidor. Esta regra de negócio é válida apenas para dimensionamento com localização vinculada ao processo de avaliação. ===== Dados para o Teste ===== No cadastro de pessoal terceirizado, o combo contrato é populado a partir da unidade gestora e da unidade de lotação subordinada selecionadas no formulário anterior a este formulário. Então, caso não tenha nenhum contrato para a unidade selecionada, o combo contrato estará vazio. Para consultar as unidades em que existe contrato, use a consulta sql: select distinct c.id, c.numero as "N°", c.ano as "Ano", c.data_inicio as "Data de Início", c.data_fim as "Data de Término" , u.nome as "Unidade de Lotação Subordinada", u.id_unidade as "ID Unidade de Lotação Subordinada", ug.nome as "Unidade Gestora", mc.id_mao_obra_contratada as "ID Mão de Obra Contratada" from contratos.contrato c join contratos.mao_obra_contratada mc on c.id=mc.id_contrato left join contratos.mao_obra_unidade_beneficiada m using(id_mao_obra_contratada) left join contratos.unidade_beneficiada ub on ub.id=m.id_unidade_beneficiada left join comum.unidade u on ub.id_unidade = u.id_unidade left join comum.unidade ug on c.id_unidade_gestora = ug.id_unidade where (c.id_sub_tipo=3 or c.id_sub_tipo=5); Para considerar apenas os contratos vigentes: select distinct c.id, c.numero as "N°", c.ano as "Ano", c.data_inicio as "Data de Início", c.data_fim as "Data de Término" , u.nome as "Unidade de Lotação Subordinada", u.id_unidade as "ID Unidade de Lotação Subordinada", ug.nome as "Unidade Gestora", mc.id_mao_obra_contratada as "ID Mão de Obra Contratada" from contratos.contrato c join contratos.mao_obra_contratada mc on c.id=mc.id_contrato left join contratos.mao_obra_unidade_beneficiada m using(id_mao_obra_contratada) left join contratos.unidade_beneficiada ub on ub.id=m.id_unidade_beneficiada left join comum.unidade u on ub.id_unidade = u.id_unidade left join comum.unidade ug on c.id_unidade_gestora = ug.id_unidade where (c.id_sub_tipo=3 or c.id_sub_tipo=5) and c.data_fim>= now(); Para consultar os contratos com as quantidades de vagas: select mb.id_mao_obra_contratada as "ID Mão de ObraContratada", mb.quantidade as "Quant. Vagas Para Contrato", u.id_unidade as "ID Unidade", u.nome as "Unidade de Lotação" from contratos.mao_obra_unidade_beneficiada mb inner join contratos.unidade_beneficiada ub on mb.id_unidade_beneficiada=ub.id inner join comum.unidade u on ub.id_unidade=u.id_unidade inner join contratos.mao_obra_contratada mc on mb.id_mao_obra_contratada=mc.id_mao_obra_contratada; Para consultar a quantidade de vagas estipulada no contrato a partir da mão de obra e unidade selecionadas (Substitua os **?** respectivamente pelo ID da mão de obra contratada e ID da unidade de lotação subordinada na qual será feita o dimensionamento): select mb.id_mao_obra_contratada as "ID Mão de ObraContratada", mb.quantidade as "Quant. Vagas Para Contrato", u.id_unidade as "ID Unidade", u.nome as "Unidade de Lotação" from contratos.mao_obra_unidade_beneficiada mb inner join contratos.unidade_beneficiada ub on mb.id_unidade_beneficiada=ub.id inner join comum.unidade u on ub.id_unidade=u.id_unidade inner join contratos.mao_obra_contratada mc on mb.id_mao_obra_contratada=mc.id_mao_obra_contratada where mc.id_mao_obra_contratada=? and u.id_unidade=?; Consulta de servidores não ativos: select * from rh.servidor where id_ativo != 1 Consulta de unidades sem servidores alocados: select distinct u.* from comum.unidade u except select distinct u.* from comum.unidade u join rh.servidor s on (s.id_unidade=u.id_unidade) Consulta de unidades com servidores alocados: select * from comum.unidade u join rh.servidor s on (s.id_unidade=u.id_unidade)