DES:SGRH:CdsSasRotinas

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

Rotinas:

  • Mensalmente, o usuário deverá executar rotinas/etapas, que são divididas entre as fases de Envio e Retorno dos Dados à Celepar;
  • Para saber qual o Período que está vigente, ler a tabela SasPrdVgnAtual;
  • As Etapas tem uma ordem para execução, sendo que poderá existir mais de uma etapa com a mesma ordem, ou seja, entre si, poderão ser executadas em qualquer ordem;
  • Para a execução das Etapas, SasPrdVigente.SasPrdVgn_UsrBloqueado deverá ser ='T', exceto para a Etapa de Ordem=1, que é a que faz o bloqueio;
  • Na execução das Etapas, sempre levar em consideração o Período que está vigente;
  • Após a execução de cada Etapa, gerar uma linha em SasPrdVgnEtpExecucao, para manter um histórico das solicitações;



Envio dos Dados à Celepar:

  • Quando atualizar dados em SasTitular e/ou SasDependente, setar as colunas Operacao ('E' ou 'A', dependendo da operação), OprRealizada='F' e Atualizacao=GETDATE();
  • Para saber se um Titular/Dependente já está no bd da Celepar, pode-se verificar de 2 formas:
    • Ser diferente de Operacao='I' e OprRealizada='F' ou;
    • IDCelepar<>'999999999'
  • Exclusão Lógica: Quando os dados já estiverem na Celepar, setar as colunas Operacao='E', OprRealizada='F' e Atualizacao=GETDATE()
  • Exclusão Física: Quando os dados ainda não estiverem na Celepar, excluir os dados fisicamente

  • Etapa 1: Envio - Bloquear o cadastro de Titular/Dependente:
    • esta Etapa deverá ser feita no Delphi;
    • SasPrdVigente.SasPrdVgn_UsrBloqueado deverá ser ='F';
    • Atualizar em SasPrdVigente, SasPrdVgn_UsrBloqueado='T'


  • Etapa 2: Envio - Gerar exclusões automáticas (Vacância de Titular/Maioridade de Dependente):
  • Cadastro no Delphi que deverá chamar uma stored procedure que fará a solicitação de exclusão automática de Titulares/Dependentes.
    Delphi:

    • Período Vigente Atual: SasPrdVigente.SasPrdVgn_UsrBloqueado deverá ser ='T';
    • Ao chamar a SP, enviar o Período Vigente Atual e o Código de Pessoa Física do Usuário solicitante.

    Stored Procedure:

    • Servidores que não estão mais na Unioeste (PssFscAdm.DtVacancia is not null) e estão ativos no SAS; Se encontrar, verificar se a pessoa tem outra Admissão ativa e, assim, atualizar SasTitular.PssFscAdm_Sequencia com a nova Admissão; Se não encontrar, efetuar a exclusão lógica ou física do Titular e seus Dependentes;
    • Dependentes que tenham completado 21 anos até o Mês do Envio.


  • Etapa 3: Envio - Gerar alterações automáticas:
  • Cadastro no Delphi que deverá chamar uma stored procedure que fará a solicitação de alterações de Titulares/Dependentes.
    Delphi:

    • Período Vigente Atual: SasPrdVigente.SasPrdVgn_UsrBloqueado deverá ser ='T';
    • Ao chamar a SP, enviar o Período Vigente Atual e o Código de Pessoa Física do Usuário solicitante.

    Stored Procedure:

    • Verificar os dados das tabelas de Titulares e Dependentes da Celepar e comparar com os dados registrados no SGRH. Quando houver divergência, setar as colunas Operacao='A', OprRealizada='F' e Atualizacao=GETDATE(). Porém, se OprRealizada='F', não atualizar, pois significa que já existe outra solicitação para o Titular/Dependente.


  • Etapa 4: Envio - Gerar arquivo texto formato Celepar para Titulares:
  • Cadastro no Delphi que deverá chamar uma stored procedure que gerará um arquivo texto, no formato definido pela Celepar.
    Delphi:

    • Período Vigente Atual: SasPrdVigente.SasPrdVgn_UsrBloqueado deverá ser ='T';
    • Verificar se todas as Etapas, anteriores à esta, já foram executadas (SasPrdVgnEtpExecucao - Ordem menor);
    • Ao chamar a SP, enviar o Período Vigente Atual, o Código de Pessoa Física do Usuário solicitante e a Sequência do Arquivo Texto (1,2,3...);
    • A SP irá gerar um arquivo texto no C:\ do servidor. Após a execução, copiar este arquivo para a pasta C:\Midas do computador do usuário.

    Stored Procedure:

    • Criar arquivo texto, no formato definido pela Celepar, dos Titulares que tenham OprRealizada='F';


  • Etapa 5: Envio - Gerar arquivo texto formato Celepar para Dependentes:
  • Cadastro no Delphi que deverá chamar uma stored procedure que gerará um arquivo texto, no formato definido pela Celepar.
    Delphi:

    • Período Vigente Atual: SasPrdVigente.SasPrdVgn_UsrBloqueado deverá ser ='T';
    • Verificar se todas as Etapas, anteriores à esta, já foram executadas (SasPrdVgnEtpExecucao - Ordem menor).
    • Ao chamar a SP, enviar o Período Vigente Atual, o Código de Pessoa Física do Usuário solicitante e a Sequência do Arquivo Texto (1,2,3...)
    • A SP irá gerar um arquivo texto no C:\ do servidor. Após a execução, copiar este arquivo para a pasta C:\Midas do computador do usuário.

    Stored Procedure:

    • Criar arquivo texto, no formato definido pela Celepar, dos Dependentes que tenham OprRealizada='F';


  • Etapa 6: Envio - Imprimir relatório com as solicitações da Unioeste:
    • Criar relatório que liste Titulares/Dependentes que tenham OprRealizada='F';
    • Verificar se todas as Etapas, anteriores à esta, já foram executadas (SasPrdVgnEtpExecucao - Ordem menor).



    Retorno dos Dados da Celepar:

  • Etapa 7: Retorno - Importar arquivo texto da Celepar - Titulares:
    • Verificar se todas as Etapas, anteriores à esta, já foram executadas (SasPrdVgnEtpExecucao - Ordem menor).
    • Zerar tabela SasTitular_Celepar;
    • Importar dados do arquivo texto da Celepar para a tabela SasTitular_Celepar;


  • Etapa 8: Retorno - Importar arquivo texto da Celepar - Dependentes:
    • Verificar se todas as Etapas, anteriores à esta, já foram executadas (SasPrdVgnEtpExecucao - Ordem menor).
    • Zerar tabela SasDependente_Celepar;
    • Importar dados do arquivo texto da Celepar para a tabela SasDependente_Celepar;


  • Etapa 9: Retorno - Sincronizar dados Celepar e Unioeste - Titulares:
    • Verificar se todas as Etapas, anteriores à esta, já foram executadas (SasPrdVgnEtpExecucao - Ordem menor).
    • Sincronizar as Inclusões:
    • UPDATE SasTitular
      SET Ttl_IDCelepar = t2.tit_ID,
      Ttl_OprRealizada= 'T',
      Ttl_OprDtAtlRetorno = GETDATE(),
      Ttl_DtCrtInicio = t2.Tit_DtCrtInicio,
      Ttl_DtCrtFim = t2.Tit_DtCrtFim,
      Ttl_CrtSequencia= t2.Tit_CrtSequencia
      FROM SasTitular t1
      INNER JOIN PssFisica t3
      ON t3.PssFsc_Codigo = t1.PssFsc_Codigo
      INNER JOIN OrgExpedidor t6
      ON t6.OrgExp_Codigo = t3.OrgExp_RGCodigo
      INNER JOIN SasTitular_Celepar t2
      ON t3.PssFsc_RG = t2.tit_rg
      AND t6.UF_Codigo = t2.tit_rgUF
      WHERE t1.Ttl_IDCelepar = '999999999'

    • Sincronizar as Exclusões:
    • DELETE from SasTitular
      WHERE PssFsc_Codigo in
      (select t1.PssFsc_Codigo from SasTitular t1
      where t1.Ttl_Operacao='E'
      and t1.Ttl_OprRealizada='F'
      and t1.Ttl_IDCelepar <> '999999999'
      and not exists
      (select * from SasTitular_Celepar t2
      where t1.Ttl_IDCelepar=t2.Tit_ID))

    • Sincronizar as Alterações:
    • UPDATE SasTitular
      SET Ttl_OprRealizada = 'T',
      Ttl_OprDtAtlRetorno = GETDATE()
      WHERE Ttl_Operacao = 'A'
      and Ttl_OprRealizada = 'F'
      AND PssFsc_Codigo IN
      (SELECT PssFsc_Codigo
      FROM vSasTtlUnioeste_Celepar
      WHERE Ttl_Nome = TtlClp_Nome
      AND Ttl_RG = TtlClp_RG
      AND Ttl_UF = TtlClp_UF
      AND Ttl_CPF = TtlClp_CPF
      AND Ttl_NmPai = TtlClp_NmPai
      AND Ttl_NmMae = TtlClp_NmMae
      AND Ttl_Sexo = TtlClp_Sexo
      AND Ttl_DtNascimento = TtlClp_DtNascimento
      AND Ttl_Logradouro = TtlClp_Logradouro
      AND Ttl_Numero = TtlClp_Numero
      AND Ttl_Complemento = TtlClp_Complemento
      AND Ttl_Bairro = TtlClp_Bairro
      AND Ttl_CdgMunicipio = TtlClp_CdgMunicipio
      AND Ttl_CEP = TtlClp_CEP
      AND Ttl_DDDFone = TtlClp_DDDFone
      AND Ttl_Fone = TtlClp_Fone
      )

  • Etapa 10: Retorno - Sincronizar dados Celepar e Unioeste - Dependentes:
    • Verificar se todas as Etapas, anteriores à esta, já foram executadas (SasPrdVgnEtpExecucao - Ordem menor).
    • Sincronizar as Inclusões:
    • UPDATE SasDependente
      SET Dpn_OprRealizada = 'T',
      Dpn_IDCelepar = t3.Dep_ID,
      Dpn_SqnCelepar = t3.Dep_Sequencia,
      Dpn_OprDtAtlRetorno = GETDATE()
      Dpn_DtCrtInicio = t3.Dep_DtCrtInicio,
      Dpn_DtCrtFim = t3.Dep_DtCrtFim,
      Dpn_CrtSequencia = t3.Dep_CrtSequencia
      FROM SasTitular t1
      INNER JOIN PssFisica t5
      ON t5.PssFsc_Codigo = t1.PssFsc_Codigo
      INNER JOIN OrgExpedidor t6
      ON t6.OrgExp_Codigo = t5.OrgExp_RGCodigo
      INNER JOIN SasDependente t2
      ON t1.PssFsc_Codigo = t2.PssFsc_Codigo
      INNER JOIN SasDependente_Celepar t3
      ON t5.PssFsc_Rg = t3.Tit_Rg
      and t6.UF_Codigo = t3.Tit_RgUF
      WHERE t5.PssFsc_Nome = t3.Dep_Nome COLLATE Latin1_General_CI_AI
      and t2.Dpn_IDCelepar = '999999999'

    • Sincronizar as Exclusões:
    • DELETE from SasDependente
      WHERE PssFsc_CdgDependente in
      (select t1.PssFsc_CdgDependente
      from SasDependente t1
      where t1.Dpn_Operacao='E'
      and t1.Dpn_OprRealizada='F'
      and t1.Dpn_IDCelepar <> '999999999'
      and t1.Dpn_IDCelepar not in
      (select t2.Dep_ID from SasDependente_Celepar t2)
      )

    • Sincronizar as Alterações:
    • UPDATE SasDependente
      SET Dpn_OprRealizada= 'T',
      Dpn_OprDtAtlRetorno = GETDATE()
      WHERE Dpn_OprRealizada = 'F'
      AND Dpn_Operacao = 'A'
      AND PssFsc_CdgDependente IN
      (SELECT PssFsc_CdgDependente
      FROM vSasDpnUnioeste_Celepar
      WHERE Dpn_Tipo = DpnClp_Tipo
      AND Dpn_Sequencia = DpnClp_Sequencia
      AND Dpn_Nome = DpnClp_Nome
      AND Dpn_Sexo = DpnClp_Sexo
      AND Dpn_DtNascimento = DpnClp_DtNascimento
      AND Dpn_RG = DpnClp_RG
      AND Dpn_UF = DpnClp_UF
      AND Dpn_CdgMunicipio = DpnClp_CdgMunicipio
      AND Dpn_Logradouro = DpnClp_Logradouro
      AND Dpn_Numero = DpnClp_Numero
      AND Dpn_Complemento = DpnClp_Complemento
      AND Dpn_Bairro = DpnClp_Bairro
      AND Dpn_CEP = DpnClp_CEP
      AND Dpn_DDDFone = DpnClp_DDDFone
      AND Dpn_Fone = DpnClp_Fone
      )

  • Etapa 11: Retorno - Desbloquear o cadastro de Titular/Dependente:
    • esta Etapa deverá ser feita no Delphi;
    • SasPrdVigente.SasPrdVgn_UsrBloqueado deverá ser ='T';
    • Atualizar em SasPrdVigente, SasPrdVgn_UsrBloqueado='F'


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