~~ODT~~ echo "
"; echo "Última atualização: "; ver('', false); echo "
";
====== Lançar Dados de Faltas ====== Este caso de uso tem a finalidade de gerar as movimentações financeiras referentes às faltas dos servidores já cadastradas no sistema. O sistema realiza a busca por ausências de faltas, para o cálculo do desconto, com base no período em que a ausência ocorreu ou na data em que a mesma foi cadastrada. As pré-condições para funcionamento deste, é que existam faltas cadastradas no período informado e que tenham sido homologadas. As faltas podem ser cadastradas pelos chefes das unidades através do caso de uso [[desenvolvimento:especificacoes:sigrh:portal_do_servidor:casos_de_uso:chefia_de_unidade:frequencia:ausencias:cadastrar_ausencia| Cadastrar Ausências]], ou pelo próprio departamento de adminsitração de pessoal através do caso de uso [[desenvolvimento:especificacoes:sigrh:administracao_de_pessoal:casos_de_uso:cadastros:registros_para_o_servidor:ausencias|Ausencias]]. As informações das faltas serão apenas financeiras, para débito na folha do servidor. As pessoas que efetuam a leitura do arquivo trabalham na área de recursos humanos. ===== Descrição do Caso de Uso ===== Este caso de uso inicia quando o usuário acessa a opção //SIGRH -> Administração de Pessoal -> Financeiro -> Movimentação Financeira -> Lançamentos -> Lançar dados de Faltas//. O caso de uso inicia solicitando os dados do período para o qual devem ser exibidas as faltas cujos dados serão lançados: Período das ausências: * **Período de cadastro da falta***: Formato - DD/MM/AAAA a DD/MM/AAAA, Tipo - DATA Selecione Mês e ano para movimentação financeira: * **Mês***: Tipo - TEXTO. São apresentadas opções: ''Janeiro, Fevereiro, ..., Dezembro''. * **Ano***: Formato - AAAA. Tipo - DATA. * **Selecione o formato de visualização**: Tipo - TEXTO. São apresentadas as opções ''Consulta'' e ''Relatório''. No resultado da busca, os sistema indica o mês e ano que será gerada a movimentação financeira e apresenta então as faltas homologadas no período selecionado e que podem ser lançadas. Caso a opção 'Consulta' tenha sido escolhida, os resultados serão exibidos no formato comum de listagens. Caso contrário, isto é, 'Relatório' seja a opção escolhida, os resultados serão exibidos no formato para impressão: * **__Nome__**: Tipo - TEXTO. * **__Siape__**: Tipo - NUMÉRICO. * **__Início__**: Tipo - DATA. * **__Fim__**: Tipo - DATA. * **__Cadastro__**: Tipo - DATA. * **__Ocorrência__**: Tipo - TEXTO. * **__Unidade do Exercício__**: Tipo - TEXTO. * **__Quant. Dias__**: Tipo - NUMÉRICO. * **__Valor do Desconto__**: Tipo - NUMÉRICO. Serão exibidas duas listagens para geração de movimentação financeira. Em uma serão exibidas as ausências que tem data de cadastro concomitante com o período informado. Na outra serão exibidas as ausências que possuem seu início/fim concomitantes com o período informado. Exemplo: ^ Faltas Cadastradas e/ou Ocorridas no Período de Dia/Mês/AAAA a Dia/Mês/AAAA^^^^^^^^^ ^Nome ^Siape ^Início ^Fim ^Cadastro ^Ocorrência ^Unidade ^Quant. Dias ^Valor do Desconto^ |nome1|9999999|DD/MM/AAAA|DD/MM/AAAA|DD/MM/AAAA|FALTA|DBEZ/CB|5|9,99| |nome2|9999999|DD/MM/AAAA|DD/MM/AAAA|DD/MM/AAAA|MEIA FALTA|SIE|1|9,99| O usuário deverá selecionar([[#principais_regras_de_negócio|RN01]]) as faltas(dentre as homologadas ([[#principais_regras_de_negócio|RN02]])) que entrarão na movimentação financeira, e gerar a movimentação financeira. Por padrão todas as faltas não enviadas vêm automaticamente selecionadas, sendo possível marcar/desmarcar todas as faltas. Nessa mesma listagem, as faltas já enviadas são sinalizadas ([[#principais_regras_de_negócio|RN03]]). O caso de uso é finalizado. ===== Principais Regras de Negócio ===== * **RN01** - Agrupar as faltas de forma que qualquer quantidade de faltas possa ser selecionada. * **RN02** - Não será possível selecionar ausências que não estejam homologadas. * **RN03** - Uma ausência que já foi enviada para a movimentação financeira não poderá ser gerada de novo * **RN04** - Quando o usuário logado possuir papel com exigência de vinculação a uma unidade, todas as operações somente podem ser realizadas para servidores lotados na unidade que foi vinculada ao papel. Caso contrário, as operações podem ser realizadas para servidores lotados em qualquer unidade. * **RN05** - Caso a ocorrência exibida na listagem seja ''exige_horas = true'', realiza o desconto proporcional a quantidade de horas cadastrada. * **RN06** - Caso a ocorrência exibida na listagem seja ''exige_horas = true'', só será possível lançar se a data de início for igual a data de fim. ==== Resoluções/Legislações Associadas ==== Não se Aplica. ===== Classes Persistentes e Tabelas Envolvidas ===== ^ Classe ^ Tabela | | br.ufrn.sigrh.funcional.dominio.Servidor | administrativo.rh.servidor | | br.ufrn.sigrh.funcional.dominio.Ausencia | administrativo.funcional.ausencia | | br.ufrn.sigrh.financeiro.dominio.MovimentacaoFinanceira | administrativo.financeiro.movimentacao_financeira | ====== Plano de Teste ====== Sistema: SIGRH Módulos: Administração de Pessoal Link(s): Financeiro -> Movimentação Financeira -> Lançamentos -> Lançar dados de Faltas Usuário: mirian Papel que usuário deve ter: SigrhPapeis.ADMINISTRADOR_DAP, SigrhPapeis.GESTOR_DAP ===== Cenários de Teste ===== Realizar a geração de uma movimentação financeira em um determinado mês sem ser para todos os registros, e depois tentar gerar novamente para a mesma falta. Verificar que não será possível pois o checkbox de seleção será substituído pela imagem. Para verificar os dados gerados na movimentação financeira, acessar o caso de uso: [[desenvolvimento:especificacoes:sigrh:administracao_de_pessoal:casos_de_uso:financeiro:movimentacao_financeira:consultar|Consultar Movimentações Financeiras]] Caso deseje realizar todo o fluxo desde o cadastro da falta, executar os passos a seguir: - Cadastrar a ausência com tipo de ocorrência FALTA ou MEIA FALTA ([[desenvolvimento:especificacoes:sigrh:administracao_de_pessoal:casos_de_uso:cadastros:registros_para_o_servidor:ausencias|Ausencias (Menu DAP)]] ou [[desenvolvimento:especificacoes:sigrh:portal_do_servidor:casos_de_uso:chefia_de_unidade:frequencia:ausencias:cadastrar_ausencia|Cadastrar Ausencia (Menu Servidor)]]); - Homologar a ausência (Só é necessário homologar frequência quando lançado pelo Portal Servidor, se for pelo Menu DAP, já é cadastrada como homologada - Link: [[desenvolvimento:especificacoes:sigrh:portal_do_servidor:casos_de_uso:chefia_de_unidade:frequencia:homologar_frequencia|Homologar Frequência]]); - Lançar dados de Faltas (Este mesmo caso de uso). ===== Dados para o Teste ===== Buscando pelo período, deverão ser exibidas as ausências que foram cadastradas ou que tenham período concomitante com o período passado. -Realizar cadastro de uma ''FALTA'' ou ''MEIA FALTA'' (Caso de uso de cadastro de ausência [[desenvolvimento:especificacoes:sigrh:administracao_de_pessoal:casos_de_uso:cadastros:registros_para_o_servidor:ausencias|Ausencias (Menu DAP)]]) e realizar a busca observando se as ausências são exibidas corretamente. -Cadastrar uma ''FALTA'' ou ''MEIA FALTA'' com Status 'NÃO HOMOLOGADA' para verificar se o comportamento de não permitir gerar movimentação financeira para a falta está correto. -Consulta SQL para retornar as ausências cadastradas com data igual ou posterior a passada como parâmetro: select * From funcional.ausencia a where a.data_cadastro >=? A consulta SQL abaixo serve para recuperar o id_servidor do servidor como o nome informado select p.nome, s.id_servidor, s.siape,* from rh.servidor s join comum.pessoa p on p.id_pessoa = s.id_pessoa where p.nome like '%?%' A consulta SQL abaixo retorna a remuneração do servidor agrupada por mês/ano. Deve-se passar como argumento na consulta o id_servidor que se deseja recuperar. (Pode ser recuperado no Script anterior). SELECT DISTINCT id_servidor, ano AS ano, SUM(janeiro) AS janeiro, SUM(fevereiro) AS fevereiro, SUM(marco) AS marco, SUM(abril) AS abril, SUM(maio) AS maio, SUM(junho) AS junho, SUM(julho) AS julho, SUM(agosto) AS agosto, SUM(setembro) AS setembro, SUM(outubro) AS outubro, SUM(novembro) AS novembro, SUM(dezembro) AS dezembro FROM ( SELECT ff.id_servidor AS id_servidor, ff.ano, ff.janeiro, ff.fevereiro, ff.marco, ff.abril, ff.maio, ff.junho, ff.julho, ff.agosto, ff.setembro, ff.outubro, ff.novembro, ff.dezembro FROM financeiro.ficha_financeira ff INNER JOIN financeiro.rubrica r ON(r.id_rubrica = ff.id_rubrica) WHERE ff.id_servidor IN (?) AND r.id_rubrica IN ( '12',' 32',' 132',' 532',' 642',' 672',' 1362',' 2432',' 2562',' 3302',' 4902', ' 4922',' 5222',' 5492',' 5772',' 5782',' 5912',' 5932',' 6122',' 7002',' 7122',' 7572',' 7752',' 8162',' 8182', ' 9512',' 10112',' 10192',' 11132',' 102882',' 152772',' 821062',' 821132',' 821202',' 823742',' 824622',' 826042', ' 826062',' 826102',' 827072',' 7422' ) AND ff.multiplicador = 1 AND ff.sequencia <= 5 --os anos 2000 a 2012 devem ser alterados para recuperar as remunerações em outros anos desejados AND ano BETWEEN 2000 AND 2012 ORDER BY id_servidor ) AS SALARIOS GROUP BY id_servidor, ano ORDER BY id_servidor DESC, ano DESC -Para testar o desconto fracionado (em horas), alterar uma ocorrência de ''FALTA'' ou ''MEIA FALTA'' para ter ''exige_hora = true'', usando o seguinte SQL: update funcional.ocorrencia set exige_hora = true; where descricao = '?' Substituindo o '?' pelo nome da ocorrência a ser modificada.