~~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. Este caso de uso está especificado em [[desenvolvimento:especificacoes:sigrh:dimensionamento:casos_de_uso:operacoes:dimensionamento:forca_de_trabalho|Força de Trabalho]] do módulo Domensionamento. O Perfil é responsável por tal funcionalidade. ===== 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)