====== Cadastrar ====== Este caso de uso foi desenvolvido para possibilitar o controle da [[desenvolvimento:especificacoes:sigrh:portal_do_servidor:casos_de_uso:chefia_de_unidade:solicitacao_de_vagas_de_docente:cadastrar|solicitação de vagas de docente]] feita pelos chefes de departamento acadêmico, bem como a visualização do parecer dado pela Comissão, assim, os usuários só poderão realizar as operações no intervalo de tempo definido no Calendário. As pessoas que utilizam esse caso de uso trabalham na área de recursos humanos. ===== Descrição do Caso de Uso ===== O caso de uso começa quando o usuário acessa //SIGRH -> Módulo Banco de Vagas -> Editais de Distribuição de Vagas -> Editais de Distribuição de Vagas -> Cadastrar//. === Passo 1 - Cadastro de Dados do Edital === O sistema apresenta os campos para o cadastro dos dados do edital: ([[#Principais Regras de Negócio|RN01]]) * **Descrição* **: Tipo TEXTO. * **Data de Início***: Tipo DATA. * **Data de Término***: Tipo DATA. * **Data de Exibição do parecer**: Tipo DATA. **Dados do Banco de Equivalentes**: * **__Uso do Banco/Teto__**: Tipo - NUMÉRICO; * **__Saldo__**: Tipo - NUMÉRICO; * **__Saldo a ocupar/reservado__**: Tipo - NUMÉRICO; * **__Saldo previsto__**: Tipo - NUMÉRICO; Resultado que será obtido na ocupação das vagas reservadas === Passo 2 - Inserção de Vagas para o Edital === O sistema exibe uma consulta de vagas feita com os seguintes dados, que podem ser combinados para melhor filtrar a informação: ([[#Principais Regras de Negócio|RN04]]) * **Código**: Tipo - NUMÉRICO * **__Tipo de Vaga__**: Tipo - TEXTO. É apresentado o dado: ''DOCENTE''. * **Origem da Vaga**: Tipo - TEXTO * **Cargo**: Tipo - TEXTO * **Classe Funcional**: Tipo - TEXTO * **__Situação__**: Tipo - TEXTO. É apresentado o dado: ''VAGA DESOCUPADA''. Realizada a consulta o sistema exibe: ==Dados da Vaga== * **__Código__**: Tipo - NUMÉRICO * **__Tipo de Vaga__**: Tipo - TEXTO * **__Origem da Vaga__**: Tipo - TEXTO * **__Cargo__**: Tipo - TEXTO * **__Classe Funcional__**: Tipo - TEXTO * **__Situação__**: Tipo - TEXTO Há a opção de //Visualizar Detalhes// da vaga e //Inserir Vaga no Edital//. === Visualizar Detalhes === São exibidos os dados abaixo informados: * **__Código__**: Tipo - NUMÉRICO * **__Tipo de Vaga__**: Tipo - TEXTO * **__Cargo__**: Tipo - TEXTO * **__Classe Funcional__**: Tipo - TEXTO * **__Situação__**: Tipo - TEXTO * **__Origem da Vaga__**: Tipo - TEXTO * **__Lei__**: Tipo - TEXTO * **__Portaria__**: Tipo - TEXTO ==Movimentação da Vaga== ([[#Principais Regras de Negócio|RN02]]) ***__Tipo de Movimentação__**: Tipo TEXTO. ***__Novo Cargo__**: Tipo TEXTO. ***__Nova Área__**: Tipo TEXTO. ***__Nova Unidade de Lotação__**: Tipo TEXTO. ***__Data da Movimentação__**: Tipo DATA. ==Histórico da Vaga por Servidores== ([[#Principais Regras de Negócio|RN03]]) ***__Servidor (Siape)__**: Tipo TEXTO. ***__Data de Admissão__**: Tipo DATA. ***__Unidade de Exercício__**: Tipo TEXTO. === Inserir Vaga no Edital === A vaga selecionada é inserida na listagem com os dados: ==Dados da Vaga== * **__Código__**: Tipo - NUMÉRICO. * **__Tipo de Vaga__**: Tipo - TEXTO. * **__Origem da Vaga__**: Tipo - TEXTO. * **__Cargo__**: Tipo - TEXTO. * **__Classe Funcional__**: Tipo - TEXTO. * **__Situação__**: Tipo - TEXTO. É apresentado o dado: ''VAGA DESOCUPADA/RESERVADA PARA DISTRIBUIÇÃO''. ([[#Principais Regras de Negócio|RN05]]) Ao preencher os dados necessários e selecionar //Cadastrar//, o edital é cadastrado, os status das vagas alterados e uma mensagem de sucesso é exibida. O caso de uso é finalizado. ===== Principais Regras de Negócio ===== * **RN01** - Não é possível cadastrar mais de um edital de distribuição de vaga para um mesmo período. * **RN02** - Será exibida a movimentação, caso a vaga tenha tido alguma movimentação. * **RN03** - Será exibido o histórico caso haja algum registro no histórico funcional dos servidores associados ao código da vaga. * **RN04** - As vagas listadas para seleção são as que estão sem associação com servidor, com status VAGA DESOCUPADA e do tipo DOCENTE. * **RN05** - O status só é efetivamente alterado após a confirmação do cadastro do edital. ===== Classes Persistentes e Tabelas Envolvidas ===== ^ Classe ^ Tabela | ||| |br.ufrn.sigrh.concurso.dominio.EditalConvocacao|administrativo.concurso.edital_convocacao| |br.ufrn.sigrh.concurso.bancovagas.dominio.Vaga|administrativo.concurso.vaga| ====== Plano de Teste ====== Sistema: SIGRH Módulo: Banco de Vagas Link(s): Editais de Distribuição de Vagas -> Editais de Distribuição de Vagas -> Cadastrar Usuário: andrearamalho Papel que usuário deve ter: SigrhPapeis.GESTOR_BANCO_VAGAS ou SigrhPapeis.ANALISE_VAGA_DOCENTE ===== Cenários de Teste ===== Para consultar os editais cadastrados, acesse o caso de uso [[desenvolvimento:especificacoes:sigrh:banco_de_vagas:casos_de_uso:editais_de_distribuicao_de_vagas:editais_de_distribuicao_de_vagas:consultar|Consultar Editais de Convocação]]. ===== Dados para o Teste ===== Consulta para os dados do banco de equivalentes: ( SELECT cargo.denominacao, cf.descricao, cf.fator, COUNT(serv.id_servidor) AS "quantidade" FROM concurso.vaga vaga INNER JOIN funcional.dados_complementares_servidor dados ON dados.id_vaga = vaga.id_vaga INNER JOIN rh.servidor serv ON serv.id_dados_complementares = dados.id_dados_complementares INNER JOIN rh.cargo cargo ON cargo.id = serv.id_cargo INNER JOIN concurso.fator_vaga cf ON cf.id_cargo = serv.id_cargo AND (cf.id_tipo_jornada_trabalho = serv.regime_trabalho OR cf.id_tipo_jornada_trabalho IS NULL) LEFT JOIN rh_tipos.tipo_jornada_trabalho jornada ON (jornada.id_tipo_jornada_trabalho = serv.regime_trabalho) LEFT JOIN concurso.fator_situacao fs ON (fs.id_fator_vaga = cf.id_fator_vaga OR fs.id_fator_vaga IS NULL) AND (fs.id_situacao = serv.id_situacao) WHERE cf.id_teto_banco_vagas = (SELECT id_teto_banco_vagas FROM concurso.teto_banco_vagas WHERE (now() > data_inicio_vigencia AND data_fim_vigencia IS NULL) OR (data_fim_vigencia IS NOT NULL AND now() BETWEEN data_inicio_vigencia AND data_fim_vigencia) AND ativo IS TRUE ORDER BY data_inicio_vigencia DESC LIMIT 1) AND serv.data_desligamento IS NULL GROUP BY cargo.denominacao, cf.descricao, cf.fator ORDER BY cf.fator ) UNION ( SELECT cargo.denominacao, cf.descricao, cf.fator, COUNT(serv.id_servidor) AS "quantidade" FROM concurso.fator_vaga cf INNER JOIN rh.servidor serv ON serv.id_cargo = cf.id_cargo INNER JOIN rh.cargo cargo ON cargo.id = serv.id_cargo AND (cf.id_tipo_jornada_trabalho = serv.regime_trabalho OR cf.id_tipo_jornada_trabalho IS NULL) LEFT JOIN rh_tipos.tipo_jornada_trabalho jornada ON (jornada.id_tipo_jornada_trabalho = serv.regime_trabalho) WHERE cf.id_teto_banco_vagas = (SELECT id_teto_banco_vagas FROM concurso.teto_banco_vagas WHERE (now() > data_inicio_vigencia AND data_fim_vigencia IS NULL) OR (data_fim_vigencia IS NOT NULL AND now() BETWEEN data_inicio_vigencia AND data_fim_vigencia) AND ativo IS TRUE ORDER BY data_inicio_vigencia DESC LIMIT 1) AND serv.data_desligamento IS NULL and serv.id_cargo IN (705002, 705003) GROUP BY cargo.denominacao, cf.descricao, cf.fator ORDER BY cf.fator )