~~ODT~~ echo "
"; echo "Última atualização: "; ver('', false); echo "
";
====== Técnico-administrativos e docentes por unidade e departamento ====== Este relatório tem por objetivo exibir um quantitativo dos técnico-administrativos e docentes, separados por unidade e departamento. Está disponibilizado no portal público do SIGRH podendo ser acessador por qualquer pessoa. ===== Descrição do Caso de Uso ===== O Caso de Uso inicia-se quando o usuário acessa a opção: //SIGRH -> Portal Público -> Relatórios Estatísticos -> Relatórios Mensais -> Técnico-administrativos e docentes por unidade e departamento // Após acessar a referida opção, o usuário é encaminhado para uma tela onde será possível selecionar um mês e ano para filtragem do relatório. * **__Mês/Ano__**: tipo TEXTO com as opções dos meses do ano em um combobox, e outro combobox com os anos a partir de 2008. Ao acessar a opção Consultar, será gerado um relatório com os seguintes dados: ^ Departamento ^ Docentes ^ Técnicos Administrativos ^ Total ^ | Texto | 9999 | 9999 | 9999 | | TOTAL GERAL | 9999 | 9999 | 9999 | Então o caso de uso é finalizado. ===== Principais Regras de Negócio ===== Não se aplica. ==== Resoluções/Legislações Associadas ==== Não se aplica. ===== Plano de Teste ===== Sistema: SIGRH Módulo: Portal Público Link(s): Relatórios Estatísticos → Relatórios Mensais → Técnico-administrativos e docentes por unidade e departamento. Usuário: Não se aplica. Papel que usuário deve ter: Não se aplica. ===== Cenários de Teste ===== Utilizar a consulta abaixo para validar os dados do relatório, lembrando de substituir os parâmetros indicados na consulta pelos dados usados na filtragem do relatório. ex.: Mes = 09, Ano = 2011, Primeiro Dia do Mês = '01-09-2011', e a data de exclusão será gerada sempre como o último dia do Mês selecionado, '30-09-2011'. ===== Dados para o Teste ===== SELECT *,A.DOCENTESA.TECNICOS AS TOTAL FROM ( SELECT DISTINCT ID_UNIDADE,CENTRO,ID_DEPTO,NOME, ( SELECT CAST (count(*) AS FLOAT) FROM FUNCIONAL.HISTORICO_SERVIDOR H2 INNER JOIN RH.SERVIDOR S2 ON S2.ID_SERVIDOR=H2.ID_SERVIDOR LEFT JOIN COMUM.UNIDADE U_1 ON U_1.ID_UNIDADE=S2.ID_UNIDADE LEFT JOIN COMUM.UNIDADE U_2 ON U_2.ID_UNIDADE=U_1.UNIDADE_RESPONSAVEL WHERE H2.ANO= :ano AND H2.MES= :mes AND S2.ID_UNIDADE=A.ID_DEPTO AND S2.ID_CARGO IN (60001,60002,60011,60012,702001,702003) AND S2.ID_SITUACAO IN (1,8,12,20) /*ATIVO/CELETISTA*/ AND (S2.DATA_EXCLUSAO IS NULL OR S2.DATA_EXCLUSAO>= :dataExclusao) ) AS DOCENTES, ( SELECT CAST (count(*) AS FLOAT) FROM FUNCIONAL.HISTORICO_SERVIDOR H2 INNER JOIN RH.SERVIDOR S2 ON S2.ID_SERVIDOR=H2.ID_SERVIDOR LEFT JOIN COMUM.UNIDADE U_1 ON U_1.ID_UNIDADE=S2.ID_UNIDADE LEFT JOIN COMUM.UNIDADE U_2 ON U_2.ID_UNIDADE=U_1.UNIDADE_RESPONSAVEL WHERE H2.ANO= :ano AND H2.MES= :mes AND S2.ID_UNIDADE=A.ID_DEPTO AND S2.ID_CATEGORIA=2 /*TECNICOS*/ AND S2.ID_SITUACAO IN (1,8,12,20) /*ATIVO/CELETISTA*/ AND (S2.DATA_EXCLUSAO IS NULL OR S2.DATA_EXCLUSAO>= :dataExclusao) ) AS TECNICOS FROM ( SELECT U2.ID_UNIDADE,U2.NOME AS CENTRO,U.ID_UNIDADE AS ID_DEPTO,U.NOME FROM FUNCIONAL.HISTORICO_SERVIDOR H INNER JOIN RH.SERVIDOR S ON S.ID_SERVIDOR=H.ID_SERVIDOR LEFT JOIN COMUM.UNIDADE U ON U.ID_UNIDADE=S.ID_UNIDADE LEFT JOIN COMUM.UNIDADE U2 ON U2.ID_UNIDADE=U.UNIDADE_RESPONSAVEL WHERE H.ANO= :ano AND H.MES= :mes AND S.ID_SITUACAO IN (1,8,12,20) /*ATIVO/CELETISTA*/ AND (S.DATA_EXCLUSAO IS NULL OR S.DATA_EXCLUSAO>= :dataExclusao ) ORDER BY U2.NOME,U.NOME ) A WHERE (ID_UNIDADE=:idCentro OR :idCentro=-1) ORDER BY CENTRO,NOME ) A WHERE ID_UNIDADE IS NOT NULL