DES:SGRH:ImpAprConcurso

De Wiki Unioeste NTI
Ir para: navegação, pesquisa

VoltarVoltar a página Inicial - Documentação Técnica


Análise: Liége em 28/08/2006.
Desenvolvimento: Vinícius Moll em 30/08/2006.

Prover um candidato ao Cargo, através da importação de dados de concursos informatizados. A pessoa deve ter sido convocada a assumir a vaga através da transação do sistema Cadastro de Editais de Chamadas e Candidatos do Controle de Vagas.


  • Tabelas
    1. A serem Gravadas: PssFisica, Endereco, PssFscAdmissao e PssFscAdmPrvCargo. Os dados destas tabelas são acessados com um esquema Master-Detail;
    2. A serem Acessadas: CncAprovados, CncChmAprovados, CncAprSituacao, Concurso, VgaHistorico, Setor, CrgAdministrativo, CncChamada, RgmTrabalho, FrmPrvCargo, Consultor .

Importação:

    • Solicitar o Concurso (Ano e Número) no qual a pessoa foi convocada;
    • Filtro opcional: Solicitar a Lotação, restringindo a pesquisa ao Concurso (Ano e Número) informado;
    • Filtro opcional: Solicitar o Cargo, restringindo a pesquisa ao Concurso (Ano e Número) e à Lotação, se houver;
    • Solicitar a Pessoa, restringindo a pesquisa ao Concurso (Ano e Número), à Lotação e Cargo, se houver ;
    • Ler informações nas tabelas CncChmAprovados e CncAprovados, sendo que a Situação deve estar "Ocupando Vaga" (CncAprSituacao.CncAprStc_OcpVaga='T');
    • Caso o CPF informado não exista em CncAprovados, solicitá-lo ao usuário;

    A importação foi divida em 4 passos:

  • 1º Passo Cadastro de PssFisica: Ler a tabela PssFisica através do CPF, para verificar se já existe cadastro; Caso não existir, gravar uma nova linha para a pessoa em PssFisica; Caso existir, ignorar a gravação de PssFisica;
    • PssFsc_Codigo: gerar através da Stored Procedure spPssFscCodigo
    • PssFsc_Nome: CncAprovados.CncApr_Nome (Obrigatório)
    • PssFsc_Email: CncAprovados.CncApr_eMail
    • PssFsc_DtNascimento: CncAprovados.CncApr_DtNascimento (Obrigatório)
    • PssFsc_Sexo: CncAprovados.CncApr_Sexo (Obrigatório)
    • PssFsc_CPF: CncAprovados.CncApr_CPF (Obrigatório) se estiver preenchido ; caso contrário, o que foi informado pelo usuário
    • PssFsc_RG: CncAprovados.CncApr_Documento (Obrigatório)



  • 2º Passo Cadastro de Endereco: Se a pessoa existir na tabela PssFisica, através de PssFsc_codigo, verificar se existe na tabela Endereco (Residencial); Caso não existir, gravar uma nova linha para a pessoa em Endereco; Caso existir, ignorar a gravação de Endereco;
    • End_Codigo: Select IsNull(MAX(End_Codigo),0) + 1 from Endereco where PssFsc_codigo = ?
    • TpEnd_Codigo: 1 (residencial)
    • End_Logradouro: CncAprovados.CncApr_Endereco
    • End_Numero: CncAprovados.CncApr_EndNumero
    • End_Bairro: CncAprovados.CncApr_Bairro
    • End_Complemento: CncAprovados.CncApr_EndComplemento
    • End_Cep: CncAprovados.CncApr_Cep
    • Mnc_Codigo: CncAprovados.Mnc_Codigo
    • End_DDDFone: CncAprovados.CncApr_DDDFone
    • End_Fone: CncAprovados.CncApr_Fone
    •   Obs.: Caso nenhum destes campos estiver preenchido, não gravar nada na tabela Endereço; Caso algum campo estiver preenchido, obrigar:
      
      • Logradouro
      • Número
      • Município



  • 3º Passo Cadastro de nova Admissão em PssFscAdmissao: Gerar uma nova linha para a pessoa em PssFscAdmissao:
    • PssFscAdm_Sequencia: Select IsNull(MAX(PssFscAdm_Sequencia),0) + 1 from PssFscAdmissao where PssFsc_codigo = ?
    • Vnc_codigo: Concurso.Vnc_Codigo
    • PssFscAdm_DtPosse: Solicitar ao usuário
    • PssFscAdm_DtExercicio: Solicitar ao usuário
    • RgmJrd_Codigo: Concurso.RgmJrd_Codigo
    • EstPrbRsl_Codigo: Solicitar ao usuário
    • TblFndLgl_Codigo: Solicitar ao usuário



  • 4º e último Passo Cadastrar novo Provimento em PssFscAdmPrvCargo: Gerar uma nova linha para a pessoa em PssFscAdmPrvCargo:
    • PssFscAdmPrvCrg_Sequencia: 1
    • Str_Lotacao: CncChmAprovados...VgaHistorico.Str_Lotacao
    • CrgAdm_Codigo: CncChmAprovados...VgaHistorico.CrgAdm_Codigo
    • RgmTrb_Codigo: Solicitar ao usuário
    • PssFscAdmPrvCrg_Documento: Solicitar ao usuário a Portaria de Nomeação
    • PssFscAdmPrvCrg_DtDocumento: Solicitar ao usuário a Data da Portaria de Nomeação
    • TblGrl_TpDcmCurso: 'TpDocumento'
    • TblGrlItm_TpDcmCurso: 'Prt'
    • PssFscAdmPrvCrg_DtInicio: Solicitar ao usuário (preencher inicialmente com a Dt. Exercício informada anteriormente
    • TblGrl_FrmPrvCargo: 'FrmPrvCrgAdm'
    • TblGrlItm_FrmPrvCargo: Solicitar ao usuário
    • Vga_Numero: CncChmAprovados
    • VgaHst_Sequencia: CncChmAprovados
    • Cnc_Ano: CncChmAprovados
    • Cnc_Numero: CncChmAprovados
    • CncChm_Sequencia: CncChmAprovados
    • CncApr_NmrInscricao: CncChmAprovados



  • Solicitar confirmação das informações;
  • Após a gravação das Tabelas acima, atualizar CncChmAprovados.CncAprStc_Codigo = (Codigo cuja descrição seja "Provido no cargo")

  • Aspectos gerais de implementação
  A implementação de cada etapa da importação das informações de um candidato aprovado em Concurso no Cadastro de Importação, foi dividida em quatro procedimentos chamados pPasso1, pPasso2, pPasso3 e pPasso4. Cada passo possui um flag (variável booleana de controle) para manter a informação de quais passos já foram executados. Optou-se por essa abordagem ao realizar a implementação, tendo em vista a necessidade de o sistema ter de gerar um código de Pessoa Física no passo 1. Desse modo, quando o usuário precisar navegar nesta tela de cadastro não será necessário reexecutar os passos que já foram executados. O principal objetivo disso é evitar erros na aplicação e a sobrecarga de dados na rede.

Uma breve descrição de cada passo ou etapa de importação é apresentada a seguir:

  • Passo 1, Verificar se Já existe um CADASTRO DE PESSOA FÍSICA

para o(a) Candidato(a)que está tendo suas informações importadas;

  • Passo 2, Verificação de ENDEREÇO RESIDENCIAL do(a) Candidato(a);
  • Passo 3, Inserção ou geração de uma NOVA ADMISSÃO para o(a) candidato(a);
  • Passo 4, Inserção ou geração de um NOVO PROVIMENTO ao Cargo do(a)candidato(a).
  Obs.: Nos passos 3 e 4 o sistema armazena o último valor informado para os seguintes campos: 


  • Admissão
    Dt. Exercício;
    Dt. Posse;
    Fnd. Legal Prog.;
    Resol. Est. Prob.
  • Provimento
    Forma de provimento à função;
    Regime de Trabalho;
    Dt. Provimento.
  Essas informações são obtidas sempre que o usuário sair dos campos mencionados anteriormente (no evento OnExit).


  • Principais funções e procedimentos
procedure pInserirNovoEndResidencial;
   //Procedimento utilizado para inserir um novo endereço
   //para um candidato que tenha suas informações
   //importadas através deste cadastro

procedure pInserirNovaAdmissao;  
   //Esse procedimento Gera uma NOVA ADMISSÃO para o candidato em questão
   //Para isso, ele usa o código de Pessoa Física do Candidato,
   //quer seja um código já existente ou um novo código

procedure pInserirNovoPrvCargo;
   //Este procedimento é utilizado para Gerar um NOVO PROVIMENTO AO CARGO para cada
   //candidato aprovado em Concurso que tiver as informações fornecidas no ato da inscrição
   //para o concurso importadas através deste cadastro

procedure pPreencherAdmissao;
   //Esse procedimento Preenche os dados da Nova Admissão de um candidato,
   //com as informações que já foram passadas no cadastro do candidato
   //cadastrado anteriormente

procedure pPreencherProvimento;
   //Esse procedimento Preenche os dados do Novo Provimento de um candidato,
   //com as informações que já foram passadas no cadastro do candidato
   //cadastrado anteriormente

procedure pPasso1;
   //Inserir Dados Gerais em um cadastro de Pessoa Fisica ou Alterar Dados Existentes
   // Esse passo, precisa necessáriamente do CPF do candidato aprovado para conseguir
   // guardar as informações no sistema.
   
   //Passo 1, Verificar se Já existe um cadastro de Pessoa Física para o(a) Candidato(a)
   //que está tendo suas informações importadas

procedure pPasso2;
   //Passo 2, Verificação de ENDEREÇO RESIDENCIAL do Candidato(a)
	
procedure pPasso3;
   //Passo 3, Inserção ou geração de uma NOVA ADMISSÃO para o candidato(a)
   
procedure pPasso4;
   //Passo 4, Inserção ou geração de um NOVO PROVIMENTO AO CARGO PARA O CANDIDATO(A)
   
function  fVrfExigirEndereco: Boolean;
   //O objetivo dessa função é Verificar se é Necessário exigir o Endereço
   //de um Candidato na hora de criar seu cadastro de Pessoa Física no sistema

function  fRetornaCdgPssFisica: Variant;
   //Essa função retorna um novo código de pessoa física
   //Ela utiliza uma stored procedure para atribuir um novo código
   //a um novo registro. O código não será duplicado ou igual a outro já existente no banco

function  fJaExistePssFisica(vs_CPF: String): Variant;
   //Para Consultar o Código de uma Pessoa Fisica, pelo CPF
   //O objetivo desta consulta é descobrir se já existe um
   //registro no banco contendo as informações do candidato(a) em questão

function  fRetornaDadosPssFisica(vs_CPF: String): Variant;
   //Para Consultar os Dados de uma Pessoa Fisica, pelo CPF
   //Os dados retornados na consulta, serão exibidos em uma
   //mensagem de confirmação das informações

function  fVrfJaExisteEndResidencial(vsCdgPssFisica: String): Boolean;
   //Para Consultar o Código de uma Pessoa Fisica, pelo CPF
   //O objetivo da consulta é verificar se a Pessoa Física já possui endereço
   // residencial. Caso não tenha endereço residencial, então será necessário
   //solicitar ao usuário que informe-o

function  fVrfDadosPssFisica : Boolean;
   //Essa função monta uma mensagem com os dados gerais da Pessoa Fisica
   //para exibir estas ao operador do sistema a fim de que este possa
   //conferir se as informações referem-se a mesma pessoa fisica

function  fVrfDtAdm_Posse(vvDtInicial, vvDtFinal :Variant):boolean;
   //Pega a data Final e verifica se é maior ou igual a data Inicial

VoltarVoltar a página Inicial - Documentação Técnica

Ferramentas pessoais
Espaços nominais
Variantes
Ações
Navegação
Ferramentas