WebFoPag ~24 min

🛠️ Documentação Técnica: Configuração Provisão PLR

[!NOTE] Documentação Gerada Automaticamente O conteúdo abaixo foi gerado por IA através de engenharia reversa do código-fonte e deve ser validado.

Documentação Base — C:\Webfopag\Etec.WebFopag\Employer.Plataforma.Web.WebFoPag\ConfiguracaoProvisaoPLRCadastro.aspx

👁️ 1. Visão Geral

A tela “Configuração Provisão PLR” (ConfiguracaoProvisaoPLRCadastro.aspx) é utilizada para cadastrar e gerenciar as configurações de provisão de Participação nos Lucros e Resultados (PLR) no sistema. Ela permite definir parâmetros como multiplicador, teto, percentual e adicional de adiantamento, associados a períodos de vigência. A tela integra um controle de usuário HistoricoVigencia para gerenciar o histórico dessas configurações.

🗂️ 2. Tipos/Modalidades

A tela opera em um modo principal de cadastro/edição de configurações de provisão PLR, utilizando o UserControl HistoricoVigencia para gerenciar as diferentes vigências. Há também um link para a tela de “Adiantamento PLR”, indicando uma funcionalidade relacionada.

🖥️ 3. Interface — Campos e Controles

NomeTipoObrigatórioRegra
lblTituloPaginaLabel⚪ NãoExibe o título “Configuração Provisão PLR”
lblPLRButton⚪ NãoAba “PLR” (ativa por padrão)
btlAdiantamentoPLRLinkButton⚪ NãoLink para a tela “Adiantamento PLR”
vsValidacaoEmployerValidationSummary⚪ NãoExibe mensagens de validação do grupo “Salvar”
ucHistoricoVigencia.txtValorFatorMultiplicadorValorNumericoTextBox⚪ NãoMultiplicador. ValidationGroup=“Salvar”. Tamanho=“12”.
ucHistoricoVigencia.txtValorValorTetoValorNumericoTextBox⚪ NãoTeto. ValidationGroup=“Salvar”. Tamanho=“12”.
ucHistoricoVigencia.txtValorPercentualAdiantamentoValorNumericoTextBox⚪ NãoPercentual. ValidationGroup=“Salvar”. Tamanho=“12”.
ucHistoricoVigencia.txtValorAdicionalAdiantamentoValorNumericoTextBox⚪ NãoAdicional. ValidationGroup=“Salvar”. Tamanho=“12”.
ucHistoricoVigencia.btnHistoricoButton⚪ NãoBotão para abrir o modal de histórico de vigência.
ucHistoricoVigencia.btnFecharImageButton⚪ NãoBotão para fechar o modal de histórico.
ucHistoricoVigencia.lblTituloModalLabel⚪ NãoTítulo do modal de histórico.
ucHistoricoVigencia.vsValidacaoEmployerValidationSummary⚪ NãoExibe mensagens de validação do modal de histórico (ValidationGroup=“SalvarModalHistorico”).
ucHistoricoVigencia.txtDataInicioVigenciaDataTextBox🔴 SimData de Início da Vigência. ValidationGroup=“SalvarModalHistorico”.
ucHistoricoVigencia.txtDataFimVigenciaDataTextBox⚪ NãoData de Fim da Vigência. ValidationGroup=“SalvarModalHistorico”.
ucHistoricoVigencia.btnSalvarButton⚪ NãoSalva a vigência no modal de histórico. ValidationGroup=“SalvarModalHistorico”.
ucHistoricoVigencia.btnLimparButton⚪ NãoLimpa os campos do modal de histórico.
ucHistoricoVigencia.btnVoltarButton⚪ NãoVolta para a tela anterior (visível apenas se RemoverModal for true).
ucHistoricoVigencia.gvwHistoricoEmployerGrid⚪ NãoGrid para exibir o histórico de vigências.
ucHistoricoVigencia.modalConfirmacaoSenhaConfirmacaoSenha⚪ NãoModal para confirmação de senha máster.

📑 4. Abas e Seções

A tela possui uma estrutura de abas:

  • PLR: Aba principal, ativa por padrão, contendo os campos de configuração da provisão PLR e o UserControl ucHistoricoVigencia.
  • Adiantamento PLR: Um LinkButton que redireciona para a tela ConfiguracaoProvisaoAdiantamentoPLRCadastro.aspx.

O UserControl ucHistoricoVigencia apresenta um modal (pnlModal) que contém:

  • Campos dinâmicos (definidos no .aspx da tela pai)
  • Campos de Data Início Vigência e Data Fim Vigência
  • Botões Salvar, Limpar e Voltar
  • Um EmployerGrid (gvwHistorico) para exibir o histórico de vigências
  • Um controle ConfirmacaoSenha (modalConfirmacaoSenha) para validação de senha máster.

🛡️ 5. Regras de Negócio

5.1. Validações de Campos

  • ucHistoricoVigencia.txtDataInicioVigencia: Campo obrigatório. Mensagens de erro para formato inválido, valor máximo e mínimo permitido. (Validado no UserControl HistoricoVigencia.ascx)
  • ucHistoricoVigencia.txtDataFimVigencia: Campo opcional. Mensagens de erro para formato inválido, valor máximo e mínimo permitido. (Validado no UserControl HistoricoVigencia.ascx)
  • ucHistoricoVigencia.txtDataFimVigencia: A data de início da vigência não pode ser maior que a data de fim da vigência. (Validado no método ValidarParaSalvar() do UserControl HistoricoVigencia.ascx.cs)
  • Configuração de Vigência: O período de vigência (Data Início e Data Fim) não pode estar entre outro período de vigência já existente. (Validado no método ValidarDatasVigencias da BLL ConfiguracaoProvisaoPLR e chamado por ucHistoricoVigencia_ValidarParaSalvarVigencia no code-behind da tela).

5.2. Regras de Habilitação/Desabilitação e Visibilidade

  • O botão “Histórico” (btnHistorico) no UserControl ucHistoricoVigencia é visível apenas se o usuário tiver permissão de visualização (PermissaoVisualizar). (UserControl HistoricoVigencia.ascx.cs)
  • Os painéis de campos (pnlCampos) e botões (pnlBotoes) dentro do modal de histórico são visíveis se o usuário tiver permissão para incluir ou atualizar (PermissaoIncluir ou PermissaoAtualizar). (UserControl HistoricoVigencia.ascx.cs)
  • O botão “Salvar” (btnSalvar) no modal de histórico é visível se o usuário tiver permissão para atualizar (PermissaoAtualizar). (UserControl HistoricoVigencia.ascx.cs)
  • O botão “Voltar” (btnVoltar) no modal de histórico é visível se a propriedade RemoverModal do UserControl ucHistoricoVigencia for true. (UserControl HistoricoVigencia.ascx.cs)
  • Os botões “Editar” e “Excluir” na gvwHistorico são visíveis de acordo com as permissões PermissaoAtualizar e PermissaoExcluir, respectivamente. (UserControl HistoricoVigencia.ascx.cs)

5.3. Regras de Inativação e Exclusão

  • Exclusão de Configuração de Provisão PLR: A exclusão de um registro de configuração de provisão PLR é realizada através do método estático ConfiguracaoProvisaoPLR.Delete(idObjeto). Antes da exclusão, o UserControl HistoricoVigencia pode verificar a necessidade de confirmação de senha máster (ValidarNecessidadeConfirmacaoUsuarioParaExcluir). (Code-behind da tela e UserControl HistoricoVigencia.ascx.cs, BLL ConfiguracaoProvisaoPLR)

5.4. Regras de Salvar e Fluxo de Configuração

  • Salvar Configuração de Provisão PLR:
  • Se for um novo registro (idObjeto nulo), uma nova instância de ConfiguracaoProvisaoPLR é criada.
  • Se for uma edição (idObjeto com valor), o objeto existente é carregado via ConfiguracaoProvisaoPLR.LoadObject(idObjeto.Value).
  • As propriedades DataFimVigencia, DataInicioVigencia, ValorValorTeto, ValorPercentualAdiantamento, ValorFatorMultiplicador e ValorAdicionalAdiantamento do objeto ConfiguracaoProvisaoPLR são preenchidas com os valores dos campos da tela.
  • O método objConfiguracao.Save() é chamado para persistir as alterações.
  • Mensagens de sucesso (“Registro salvo com sucesso.”) ou erro (“Erro ao salvar registro.”) são exibidas.
  • Antes de salvar, o UserControl HistoricoVigencia pode verificar a necessidade de confirmação de senha máster (ValidarNecessidadeConfirmacaoUsuarioParaSalvar). (Code-behind da tela e UserControl HistoricoVigencia.ascx.cs, BLL ConfiguracaoProvisaoPLR)

5.5. Outras Regras Específicas da Tela

  • Permissões: As permissões de visualização, inclusão, atualização e exclusão para o UserControl HistoricoVigencia são carregadas com base no CodigoUsuarioLogado e na categoria de permissão ConfiguracaoProvisaoPLR. (Code-behind da tela)
  • Texto da Grid Vazia: O texto exibido quando a grid de histórico está vazia é “Nenhuma configuração cadastrada.” ou “O empregado não possui histórico de {NomeEntidade}.” (Code-behind da tela e UserControl HistoricoVigencia.ascx.cs)
  • Redirecionamento para Adiantamento PLR: Ao clicar no botão “Adiantamento PLR”, o usuário é redirecionado para a tela ConfiguracaoProvisaoAdiantamentoPLRCadastro.aspx. (Code-behind da tela)

🔄 6. Fluxos Principais

Inicialização da Tela (Page_Load)

  1. Verifica se é um PostBack.
  2. Se não for PostBack: a. Chama CarregarPermissoes() para definir as permissões do usuário. b. Define o texto para quando a grid de histórico estiver vazia (ucHistoricoVigencia.GridViewHistorico.EmptyDataText = "Nenhuma configuração cadastrada."). c. Chama ucHistoricoVigencia.Inicializar() para configurar o UserControl. d. Chama ucHistoricoVigencia_CarregarGrid() para carregar os dados iniciais na grid.

Carregar Grid de Histórico (ucHistoricoVigencia_CarregarGrid)

  1. Obtém os parâmetros de ordenação e paginação da ucHistoricoVigencia.GridViewHistorico.
  2. Chama ConfiguracaoProvisaoPLR.ListarConfiguracaoProvisaoPLR() para obter os dados paginados.
  3. Utiliza UIHelper.CarregarGridView() para preencher a ucHistoricoVigencia.GridViewHistorico com os dados retornados.

Preencher Campos de Vigência (ucHistoricoVigencia_PreencherCamposVigencia)

  1. Recebe o idObjeto (ID da configuração de PLR).
  2. Carrega o objeto ConfiguracaoProvisaoPLR correspondente usando ConfiguracaoProvisaoPLR.LoadObject(idObjeto).
  3. Preenche os campos txtValorAdicionalAdiantamento, txtValorFatorMultiplicador, txtValorPercentualAdiantamento, txtValorValorTeto, ucHistoricoVigencia.CampoDataInicioVigencia e ucHistoricoVigencia.CampoDataFimVigencia com os valores do objeto carregado.

Validar para Salvar Vigência (ucHistoricoVigencia_ValidarParaSalvarVigencia)

  1. Chama ConfiguracaoProvisaoPLR.ValidarDatasVigencias() para verificar se o período de vigência informado não se sobrepõe a outro existente.
  2. Se a validação falhar, exibe a mensagem “O período de vigência não pode estar entre outro período de vigência.” e retorna false.
  3. Retorna true se a validação for bem-sucedida.

Salvar Vigência (ucHistoricoVigencia_SalvarVigencia)

  1. Recebe idObjeto (ID da configuração de PLR, pode ser nulo para nova inclusão).
  2. Instancia ou carrega um objeto ConfiguracaoProvisaoPLR.
  3. Atribui os valores dos campos da tela às propriedades do objeto.
  4. Chama objConfiguracao.Save() para persistir os dados.
  5. Exibe mensagem de sucesso ou erro.
  6. Retorna true em caso de sucesso, false em caso de erro.

Excluir Vigência (ucHistoricoVigencia_ExcluirVigencia)

  1. Recebe idObjeto (ID da configuração de PLR a ser excluída).
  2. Chama ConfiguracaoProvisaoPLR.Delete(idObjeto) para excluir o registro.
  3. Exibe mensagem de sucesso ou erro.
  4. Retorna true em caso de sucesso, false em caso de erro.

Limpar Campos de Vigência (ucHistoricoVigencia_LimparCamposVigencia)

  1. Limpa os campos txtValorValorTeto, txtValorPercentualAdiantamento, txtValorFatorMultiplicador e txtValorAdicionalAdiantamento definindo seus textos como string.Empty.

Clique no botão Adiantamento PLR (btlAdiantamentoPLR_Click)

  1. Redireciona o usuário para a página ~/ConfiguracaoProvisaoAdiantamentoPLRCadastro.aspx.

🔌 7. Integrações e Dependências

7.1. Classes BLL e Service utilizadas

  • Employer.Plataforma.BLL.ConfiguracaoProvisaoPLR

  • Arquivos de origem: Employer.Plataforma.BLL\ConfiguracaoProvisaoPLR_P1.cs, Employer.Plataforma.BLL\ConfiguracaoProvisaoPLR_P2.cs

  • Propriedades:

  • IdConfiguracaoProvisaoPLR (int): Identificador único da configuração (somente leitura após persistência).

  • ValorFatorMultiplicador (decimal?): Valor do fator multiplicador.

  • ValorValorTeto (decimal?): Valor do teto.

  • ValorPercentualAdiantamento (decimal?): Valor do percentual de adiantamento.

  • ValorAdicionalAdiantamento (decimal?): Valor adicional de adiantamento.

  • DataInicioVigencia (DateTime): Data de início da vigência (obrigatório).

  • DataFimVigencia (DateTime?): Data de fim da vigência (opcional).

  • DataCadastro (DateTime): Data de cadastro do registro (somente leitura).

  • UsuarioGerador (Usuario): Usuário que gerou/modificou o registro (somente leitura).

  • Métodos:

  • Save(): Salva a instância atual no banco de dados. Se não persistido, chama Insert(); caso contrário, chama Update().

  • Save(SqlTransaction trans): Salva a instância dentro de uma transação.

  • static void Delete(int idConfiguracaoProvisaoPLR): Exclui um registro pelo ID.

  • static void Delete(int idConfiguracaoProvisaoPLR, SqlTransaction trans): Exclui um registro pelo ID dentro de uma transação.

  • static void Delete(List<int> idConfiguracaoProvisaoPLR): Exclui uma lista de registros.

  • static ConfiguracaoProvisaoPLR LoadObject(int idConfiguracaoProvisaoPLR): Carrega um objeto ConfiguracaoProvisaoPLR pelo ID.

  • static ConfiguracaoProvisaoPLR LoadObject(int idConfiguracaoProvisaoPLR, SqlTransaction trans): Carrega um objeto ConfiguracaoProvisaoPLR pelo ID dentro de uma transação.

  • static SqlDataReader ListarConfiguracaoProvisaoPLR(string pNomeColuna, string pDirecaoOrdenacao, int pPaginaCorrente, int pTamanhoPagina, out int pTotalRegistros): Lista configurações de provisão PLR paginadas e ordenadas. Internamente, constrói uma query SQL dinâmica para paginação e contagem total de registros.

  • static bool ValidarDatasVigencias(int? idConfiguracaoProvisaoPLR, DateTime dtaInicioVigencia, DateTime? dtaFimVigencia): Valida se o período de vigência fornecido não se sobrepõe a outros períodos existentes no banco de dados. Retorna true se for válido, false caso contrário.

  • Employer.Plataforma.Web.Code.UIHelper

  • Arquivo de origem: C:\Webfopag\Etec.WebFopag\Employer.Plataforma.Web.Code\UIHelper.cs

  • Métodos:

  • static void CarregarGridView(EmployerGrid gv, IDataReader dataSource, int itemCount): Preenche um EmployerGrid com dados de um IDataReader, definindo a contagem total de itens. Realiza o Dispose do IDataReader.

  • Employer.Plataforma.BLL.Usuario

  • Arquivos de origem: Employer.Plataforma.BLL\Usuario_P1.cs, Employer.Plataforma.BLL\Usuario_P2.cs

  • Propriedades:

  • IdUsuario (int): Identificador do usuário.

  • NumeroCPF (decimal): CPF do usuário.

  • NumeroCPFFormatado (string): CPF formatado (somente leitura).

  • PerfilPrincipal (Perfil): Perfil principal do usuário.

  • UltimaEmpresa (Empresa): Última empresa acessada pelo usuário.

  • UsuarioGerador (Usuario): Usuário que gerou o registro.

  • SistemaGerador (Sistema): Sistema que gerou o registro.

  • IdPessoaFisica (int?): ID da pessoa física associada.

  • FlagInterno (bool): Indica se o usuário é interno.

  • DataCadastro (DateTime?): Data de cadastro.

  • FlagInativo (bool): Indica se o usuário está inativo.

  • Métodos:

  • static List<int> CarregarPermissoes(Usuario usuario, CategoriaPermissao categoriaPermissao): Carrega uma lista de IDs de permissões para um dado usuário e categoria de permissão.

7.2. Stored Procedures chamadas

  • SPINSERT (ConfiguracaoProvisaoPLR_P1.cs)

  • Parâmetros: @Vlr_Fator_Multiplicador, @Vlr_Valor_Teto, @Vlr_Percentual_Adiantamento, @Vlr_Adicional_Adiantamento, @Dta_Inicio_Vigencia, @Dta_Fim_Vigencia, @Dta_Cadastro, @Idf_Usuario_Gerador, @Idf_Configuracao_Provisao_PLR (OUTPUT)

  • Propósito: Insere um novo registro na tabela TAB_Configuracao_Provisao_PLR.

  • SPUPDATE (ConfiguracaoProvisaoPLR_P1.cs)

  • Parâmetros: @Vlr_Fator_Multiplicador, @Vlr_Valor_Teto, @Vlr_Percentual_Adiantamento, @Vlr_Adicional_Adiantamento, @Dta_Inicio_Vigencia, @Dta_Fim_Vigencia, @Dta_Cadastro, @Idf_Usuario_Gerador, @Idf_Configuracao_Provisao_PLR

  • Propósito: Atualiza um registro existente na tabela TAB_Configuracao_Provisao_PLR.

  • SPDELETE (ConfiguracaoProvisaoPLR_P1.cs)

  • Parâmetros: @Idf_Configuracao_Provisao_PLR, @Idf_Usuario_Gerador

  • Propósito: Atualiza o Idf_Usuario_Gerador e em seguida exclui um registro da tabela TAB_Configuracao_Provisao_PLR.

  • SPSELECT (ConfiguracaoProvisaoPLR_P1.cs)

  • Parâmetros: Nenhum

  • Propósito: Seleciona todos os registros da tabela TAB_Configuracao_Provisao_PLR.

  • SPSELECTID (ConfiguracaoProvisaoPLR_P1.cs)

  • Parâmetros: @Idf_Configuracao_Provisao_PLR

  • Propósito: Seleciona um registro específico da tabela TAB_Configuracao_Provisao_PLR pelo ID.

  • SQL inline para paginação (ConfiguracaoProvisaoPLR_P1.cs, método LoadDataReader com paginação)

  • Parâmetros: colunaOrdenacao, direcaoOrdenacao, paginaCorrente, tamanhoPagina

  • Propósito: Retorna uma consulta paginada da tabela TAB_Configuracao_Provisao_PLR.

  • SQL inline para paginação e contagem (ConfiguracaoProvisaoPLR_P2.cs, método ListarConfiguracaoProvisaoPLR)

  • Parâmetros: pNomeColuna, pDirecaoOrdenacao, pPaginaCorrente, pTamanhoPagina

  • Propósito: Retorna uma consulta paginada e a contagem total de registros da tabela TAB_Configuracao_Provisao_PLR.

  • SQL inline para validação de datas de vigência (ConfiguracaoProvisaoPLR_P2.cs, método ValidarDatasVigencias)

  • Parâmetros: @Idf_Configuracao_Provisao_PLR, @dta_inicio_vigencia, @dta_fim_vigencia

  • Propósito: Verifica a sobreposição de períodos de vigência na tabela TAB_Configuracao_Provisao_PLR.

  • SPSELECTPERMISSOESUSUARIO (Usuario_P2.cs)

  • Parâmetros: @idf_usuario, @Idf_Categoria_Permissao

  • Propósito: Seleciona as permissões distintas de um usuário para uma categoria de permissão específica, considerando o período de vigência.

7.3. UserControls incluídos (.ascx)

  • ucHistoricoVigencia
  • Caminho: ~/UserControls/HistoricoVigencia.ascx
  • ID: ucHistoricoVigencia
  • Tag: <ucHistoricoVigencia:HistoricoVigencia ... />
  • Propriedades expostas e setadas pela tela pai:
  • RemoverModal="true": Indica que o modal deve ser removido (comportamento de tela direta).
  • NomeEntidade="Configuração Provisão PLR": Nome da entidade para exibição no controle.
  • ValidarSenhaMaster="false": Desabilita a validação de senha máster no UserControl (a tela pai pode ter sua própria lógica ou não exigir).
  • ValidationGroup="Salvar": Grupo de validação para os controles internos do UserControl.
  • DataKeyNames="Idf_Configuracao_Provisao_PLR": Nome da chave de dados para a grid interna.
  • OnCarregarGrid="ucHistoricoVigencia_CarregarGrid": Evento disparado para carregar a grid.
  • OnPreencherCamposVigencia="ucHistoricoVigencia_PreencherCamposVigencia": Evento disparado para preencher os campos de vigência.
  • OnSalvarVigencia="ucHistoricoVigencia_SalvarVigencia": Evento disparado para salvar a vigência.
  • OnExcluirVigencia="ucHistoricoVigencia_ExcluirVigencia": Evento disparado para excluir a vigência.
  • OnLimparCamposVigencia="ucHistoricoVigencia_LimparCamposVigencia": Evento disparado para limpar os campos de vigência.
  • OnValidarParaSalvarVigencia="ucHistoricoVigencia_ValidarParaSalvarVigencia": Evento disparado para validar antes de salvar a vigência.
  • Campos internos (passados via <Campos>):
  • txtValorFatorMultiplicador (Employer:ValorNumericoTextBox)
  • txtValorValorTeto (Employer:ValorNumericoTextBox)
  • txtValorPercentualAdiantamento (Employer:ValorNumericoTextBox)
  • txtValorAdicionalAdiantamento (Employer:ValorNumericoTextBox)
  • Colunas internas (passadas via <Colunas>):
  • HeaderText="Multiplicador" DataField="Vlr_Fator_Multiplicador"
  • HeaderText="Teto" DataField="Vlr_Valor_Teto"
  • HeaderText="Perc. Adiantamento" DataField="Vlr_Percentual_Adiantamento"
  • HeaderText="Adicional Adiantamento" DataField="Vlr_Adicional_Adiantamento"
  • Métodos públicos chamados pela tela pai:
  • Inicializar(): Inicializa o UserControl, configura visibilidade de botões e campos com base nas permissões.
  • GridViewHistorico: Propriedade que retorna a instância da grid interna do UserControl.
  • CampoDataInicioVigencia: Propriedade que retorna a instância do DataTextBox de data de início.
  • CampoDataFimVigencia: Propriedade que retorna a instância do DataTextBox de data de fim.
  • IdObjeto: Propriedade para obter/definir o ID do objeto sendo editado no histórico.

7.4. WebServices, APIs externas, filas

Não foram identificadas chamadas diretas a WebServices, APIs externas ou filas RabbitMQ no código analisado.

💬 8. Mensagens ao Usuário

  • “O período de vigência não pode estar entre outro período de vigência.” (Erro, exibida por ExibirMensagem no code-behind da tela)
  • “Registro salvo com sucesso.” (Aviso, exibida por ExibirMensagem no code-behind da tela)
  • “Erro ao salvar registro.” (Erro, exibida por ExibirMensagem no code-behind da tela)
  • “Registro excluído com sucesso.” (Aviso, exibida por ExibirMensagem no code-behind da tela)
  • “Erro ao excluir registro.” (Erro, exibida por ExibirMensagem no code-behind da tela)
  • “Nenhuma configuração cadastrada.” (Texto exibido na grid de histórico quando vazia)
  • “O início da vigência não pode ser maior que o fim da vigência.” (Erro, exibida por ExibirMensagem no UserControl HistoricoVigencia.ascx.cs)
  • “Erro ao salvar histórico de vigência.” (Erro, exibida por ExibirMensagem no UserControl HistoricoVigencia.ascx.cs)
  • “Erro ao excluir histórico de vigência.” (Erro, exibida por ExibirMensagem no UserControl HistoricoVigencia.ascx.cs)
  • “Para permitir salvar o registro de {0} será necessário informar um usuário com permissão de senha máster.” (Mensagem de impacto para confirmação de senha máster ao salvar, no UserControl HistoricoVigencia.ascx.cs)
  • “Para permitir excluir o registro de {0} será necessário informar um usuário com permissão de senha máster.” (Mensagem de impacto para confirmação de senha máster ao excluir, no UserControl HistoricoVigencia.ascx.cs)

🔐 9. Permissões e Perfis

  • Employer.Plataforma.BLL.Enumeradores.CategoriaPermissao.ConfiguracaoProvisaoPLR: Categoria de permissão usada para carregar as permissões específicas da tela.
  • Employer.Plataforma.BLL.Enumeradores.Permissoes.ConfiguracaoProvisaoPLR.Visualizar: Controla a visibilidade do botão “Histórico” e o acesso à tela quando RemoverModal é true.
  • Employer.Plataforma.BLL.Enumeradores.Permissoes.ConfiguracaoProvisaoPLR.Salvar: Controla a visibilidade dos painéis de campos e botões de salvar/limpar no modal de histórico, e a visibilidade do botão “Salvar” e “Editar” na grid.
  • Employer.Plataforma.BLL.Enumeradores.Permissoes.ConfiguracaoProvisaoPLR.Excluir: Controla a visibilidade do botão “Excluir” na grid.
  • Employer.Plataforma.BLL.Enumeradores.Permissoes.SenhaMaster.SenhaMaster: Permissão verificada para a funcionalidade de confirmação de senha máster no UserControl HistoricoVigencia.

🔎 10. Aprofundamento — Detalhes Internos de Métodos

Employer.Plataforma.BLL.Usuario

Arquivos:

  • C:\Webfopag\Etec.WebFopag\Employer.Plataforma.BLL\Usuario_P1.cs
  • C:\Webfopag\Etec.WebFopag\Employer.Plataforma.BLL\Usuario_P2.cs

Métodos

MétodoAssinaturaPropósito
NumeroCPFFormatadopublic string NumeroCPFFormatado { get; }Retorna o CPF do usuário formatado (ex: “000.000.000-00”).
GetParametersprivate List<SqlParameter> GetParameters()Prepara uma lista de parâmetros SQL para operações de insert e update.
SetParametersprivate void SetParameters(List<SqlParameter> parms)Preenche uma lista de parâmetros SQL com os valores da instância atual da classe.
LoadDataReaderprivate static IDataReader LoadDataReader(int usuario)Retorna um IDataReader com as colunas de um registro de usuário específico.
LoadDataReaderprivate static IDataReader LoadDataReader(int usuario, SqlTransaction trans)Retorna um IDataReader com as colunas de um registro de usuário específico, dentro de uma transação.
LoadDataReaderpublic static IDataReader LoadDataReader(string colunaOrdenacao, string direcaoOrdenacao, int paginaCorrente, int tamanhoPagina, out int totalRegistros)Retorna um IDataReader com uma consulta paginada e ordenada de usuários, e a contagem total de registros.
LoadObjectpublic static Usuario LoadObject(int usuario)Carrega um objeto Usuario a partir do banco de dados pelo ID.
LoadObjectpublic static Usuario LoadObject(int usuario, SqlTransaction trans)Carrega um objeto Usuario a partir do banco de dados pelo ID, dentro de uma transação.
CompleteObjectpublic bool CompleteObject()Completa a instância atual de Usuario com dados do banco de dados.
CompleteObjectpublic bool CompleteObject(SqlTransaction trans)Completa a instância atual de Usuario com dados do banco de dados, dentro de uma transação.
Salvarpublic void Salvar(PessoaFisica objPessoaFisica)Salva a instância de Usuario e a PessoaFisica associada em uma transação, integrando com filas de cálculo e auditoria.
Salvarpublic void Salvar(PessoaFisica objPessoaFisica, SqlTransaction trans)Salva a instância de Usuario e a PessoaFisica associada dentro de uma transação existente.
SalvarAuditoriaprivate static void SalvarAuditoria(Usuario auditoria, SqlTransaction trans = null, bool ehDelete = false, AtividadeAuditoriaDTO atividade = null)Registra eventos de auditoria (insert, update, delete, inativação, ativação) para a classe Usuario.
CompletarInformacoesAuditoriaprivate static void CompletarInformacoesAuditoria(Usuario usuario, Usuario atual = null, bool consultarDescricaoReferencia = true)Preenche informações adicionais necessárias para a auditoria do objeto Usuario.
Insertprivate void Insert()Insere uma nova instância de Usuario no banco de dados, incluindo a associação com perfil e período de permissão.
Insertprivate void Insert(SqlTransaction trans)Insere uma nova instância de Usuario no banco de dados, dentro de uma transação existente.
Savepublic void Save(bool auditar = true)Salva a instância atual no banco de dados. Decide entre Insert() ou Update() e, opcionalmente, realiza auditoria.
Savepublic void Save(SqlTransaction trans)Salva a instância atual no banco de dados, dentro de uma transação. Realiza auditoria.
Deletepublic static void Delete(int usuario)Exclui um registro de Usuario pelo ID.
Deletepublic static void Delete(int usuario, SqlTransaction trans)Exclui um registro de Usuario pelo ID, dentro de uma transação.
Deletepublic static void Delete(List<Usuario> usuario)Exclui uma lista de registros de Usuario pelos IDs.
Updateprivate void Update(bool auditar = true)Atualiza uma instância existente de Usuario no banco de dados, incluindo a associação com perfil e período de permissão. Opcionalmente, realiza auditoria.
Updateprivate void Update(SqlTransaction trans)Atualiza uma instância existente de Usuario no banco de dados, dentro de uma transação existente.
ExisteCPFpublic static Boolean ExisteCPF(decimal numCPF)Verifica se existe um usuário para o CPF informado.
RecuperarPorCPFpublic static Usuario RecuperarPorCPF(decimal numCPF)Recupera um objeto Usuario pelo CPF.
CarregarObjetoCPFpublic static Usuario CarregarObjetoCPF(string CPFUsuario)Carrega um objeto Usuario pelo CPF (string). Retorna uma nova instância se não encontrado.
CarregarObjetoCPFpublic static bool CarregarObjetoCPF(string CPFUsuario, out Usuario objUsuario)Carrega um objeto Usuario pelo CPF (string) e retorna por out parameter. Retorna true se encontrado, false caso contrário.
ListarPorCPFNomeParcialAutoCompletepublic static Dictionary<int, String> ListarPorCPFNomeParcialAutoComplete(string valor, int count)Lista usuários por CPF ou nome parcial para autocomplete.
CarregarPermissoespublic static List<int> CarregarPermissoes(Usuario usuario, Enumeradores.CategoriaPermissao categoria)Retorna uma lista de IDs de permissões que um usuário possui em uma categoria específica.
RelatorioUsuarioSistemapublic static IList<RelatorioUsuarioSistemaDto> RelatorioUsuarioSistema(int? idUsuario, int? pInativo)Gera um relatório de usuários do sistema com base em filtros de ID de usuário e status de inatividade.
ListaAgrupamentoUsuariopublic static List<RelatorioUsuarioSistemaDto> ListaAgrupamentoUsuario(List<decimal> lsCpfUsuario)Lista informações de agrupamento de usuários (grupo econômico, empresa, filial, contrato, centro de resultado) com base em uma lista de CPFs.
FormataCelularprivate static string FormataCelular(DbDataReader dr)Método auxiliar para formatar o número de celular a partir de um DbDataReader.
RetornaQuantidadeUsuariospublic static int RetornaQuantidadeUsuarios(bool? bInternos, bool bAtivos, SqlTransaction tran = null)Retorna a quantidade de usuários ativos/inativos, opcionalmente filtrando por usuários internos.
CarregarPermissoespublic static Dictionary<int, int> CarregarPermissoes(int _idfUsuario)Retorna um dicionário de IDs de permissão e IDs de categoria de permissão para um usuário.
TemPermissaopublic static bool TemPermissao(int IdfUsuario, Enum IdfPermissao, Enumeradores.Sistema sistema)Verifica se um usuário possui uma permissão específica em um determinado sistema.
TemPermissaopublic static bool TemPermissao(int IdfUsuario, Enum IdfPermissao, Enumeradores.Sistema sistema, SqlTransaction tran)Verifica se um usuário possui uma permissão específica em um determinado sistema, dentro de uma transação.
CarregarPermissoespublic static Dictionary<int, int> CarregarPermissoes(int IdfUsuario, Enumeradores.Sistema sistema)Retorna um dicionário de IDs de permissão e IDs de categoria de permissão para um usuário em um sistema específico.
ListarPorCodNomeParcialpublic static IDataReader ListarPorCodNomeParcial(string cpf, string nome)Lista usuários por CPF ou nome parcial, retornando um IDataReader.
ListarPerfilPorUsuariopublic static IDataReader ListarPerfilPorUsuario(int idUsuario, DateTime periodo)Lista perfis de um usuário para um período específico.
ListarPerfilPorUsuarioSistemapublic static IDataReader ListarPerfilPorUsuarioSistema(int idUsuario, DateTime periodo, string direcaoOrdenacao, int Idf_Sistema)Lista perfis de um usuário para um sistema e período específicos, com ordenação.
Listarpublic static List<Usuario> Listar()Retorna uma lista de todos os usuários.
Listarpublic static DataTable Listar(string nomeColuna, string direcaoOrdenacao, int paginaCorrente, int tamanhoPagina, out int totalRegistros)Lista usuários paginados e ordenados, retornando um DataTable e o total de registros.
Listarpublic static SqlDataReader Listar(List<int> pLstIdUsuario, string pNomeColuna, string pDirecaoOrdenacao, int pPaginaCorrente, int pTamanhoPagina, out int pTotalRegistros)Lista usuários por uma lista de IDs, com paginação e ordenação.
ListarUsuariosCadastradosFiltropublic static SqlDataReader ListarUsuariosCadastradosFiltro(string pNome, string pCpf, string nomeColuna, string direcaoOrdenacao, int paginaCorrente, int tamanhoPagina, int? lsExibir, out int totalRegistros)Lista usuários cadastrados com filtros de nome, CPF e status, com paginação e ordenação.
ListarPermissoesPorUsuariopublic static IDataReader ListarPermissoesPorUsuario(string pesquisa, int idUsuario, string nomeColuna, string direcaoOrdenacao, int paginaCorrente, int tamanhoPagina, out int totalRegistros)Lista permissões de um usuário com pesquisa, paginação e ordenação.
ListarPermissoesDeVisualizacaoRelatorioESocialPorUsuariopublic static List<PermissaoTipoInscricaoESocial> ListarPermissoesDeVisualizacaoRelatorioESocialPorUsuario(int idUsuario)Retorna uma lista de permissões de visualização de relatórios eSocial para um usuário.
ListarCPFspublic static List<decimal> ListarCPFs()Retorna uma lista de todos os CPFs de usuários.
SetInstanceprivate static bool SetInstance(IDataReader dr, Usuario objUsuario, bool bDispose = true)Método auxiliar para preencher uma instância de Usuario a partir de um IDataReader.
GetNomeCPFpublic static string GetNomeCPF(Int64 idfUsuario)Retorna uma string formatada com o ID e CPF do usuário.
RelatorioUsuariosPorPerfilpublic static void RelatorioUsuariosPorPerfil(int pIdPerfil, List<ReportParameter> param, List<ReportDataSource> dsT)Preenche dados para um relatório de usuários por perfil.
CarregarUsuariosFilaAtualizcaoPontopublic static DataTable CarregarUsuariosFilaAtualizcaoPonto(int numeroTentativas)Carrega usuários na fila de atualização de ponto com base no número de tentativas.
VerificarFiliaisPontopublic static Dictionary<int, int> VerificarFiliaisPonto(decimal cpfUsuario, SqlTransaction trans)Verifica as filiais de ponto que um usuário tem acesso.
ExibirNomeFormatContaPagarpublic static string ExibirNomeFormatContaPagar(int idUsuario)Retorna o nome formatado de um usuário para o Contas a Pagar.
RecuperarFiliaisQueUsuarioTemAcessopublic static DataTable RecuperarFiliaisQueUsuarioTemAcesso(int idfUsuario, int idEmpresa)Retorna todas as filiais que um usuário tem acesso em uma empresa específica.
CarregarPermissaoTelapublic static DataTable CarregarPermissaoTela(Usuario usuario, Enumeradores.CategoriaPermissao categoria)Retorna as permissões de uma tela para um usuário em uma categoria específica.
AjustarUltimaEmpresaLogadapublic static void AjustarUltimaEmpresaLogada(int idfUsuario)Ajusta a última empresa logada do usuário se ele não tiver mais acesso a ela.
PossuiAcessopublic static bool PossuiAcesso(int idfUsuario, int idfEmpresa)Verifica se um usuário possui acesso a uma empresa específica.
ValidaPerfilPrincipalpublic static bool ValidaPerfilPrincipal(int idfUsuario)Valida se o perfil principal do usuário não é um perfil de senha máster.
PerfilUsuarioSistemaSenhaMasterpublic static bool PerfilUsuarioSistemaSenhaMaster(int idUsuario, DateTime periodo, int Idf_Sistema)Verifica se um usuário possui um perfil de senha máster em um sistema e período específicos.
FilialPadraoDoUsuarioPorEmpresapublic static int? FilialPadraoDoUsuarioPorEmpresa(int idfUsuario, int idfEmpresa)Retorna o ID da filial padrão de um usuário em uma empresa, se houver apenas uma filial com acesso.
CarregarIdentificacaoUsuariopublic static string CarregarIdentificacaoUsuario(int idUsuario)Retorna a identificação do usuário (nome da pessoa física ou CPF formatado).

Detalhamento de Métodos Importantes

Salvar(PessoaFisica objPessoaFisica)

  • Lógica: Este método público coordena o salvamento de um objeto Usuario e sua PessoaFisica associada em uma única transação de banco de dados, além de integrar com sistemas de fila de cálculo e auditoria.
  1. Abre uma nova conexão SQL e inicia uma transação.
  2. Dentro de um bloco try-catch: a. Chama objPessoaFisica.Save(trans) para persistir os dados da pessoa física. b. Atribui a objPessoaFisica à propriedade PessoaFisica da instância atual do Usuario. c. Chama this.Save(trans) para persistir os dados do usuário. d. Confirma a transação (trans.Commit()). e. Envia mensagens para a fila de cálculo (FilaCalculoTransactionSingleton.EnviarParaCalculo(trans)). f. Integra eventos de auditoria (AuditoriaEventMapTransaction.IntegrarAuditoriaEventMap(trans)).
  3. Em caso de exceção: a. Reverte a transação (trans.Rollback()). b. Remove mensagens da fila de cálculo (FilaCalculoTransactionSingleton.RemoverFilaCalculo(trans)). c. Remove eventos de auditoria (AuditoriaEventMapTransaction.RemoverAuditoriaEventMap(trans)). d. Relança a exceção.
  • Fluxo: Salvar(PessoaFisica) -> PessoaFisica.Save(trans) -> Usuario.Save(trans) -> FilaCalculoTransactionSingleton.EnviarParaCalculo(trans) -> AuditoriaEventMapTransaction.IntegrarAuditoriaEventMap(trans)
  • Regras de Negócio: Garante a atomicidade das operações de salvamento de usuário e pessoa física, e a integração com sistemas de auditoria e cálculo.
  • Exceções: Relança qualquer exceção que ocorra durante o processo.

SalvarAuditoria(Usuario auditoria, SqlTransaction trans = null, bool ehDelete = false, AtividadeAuditoriaDTO atividade = null)

  • Lógica: Este método estático privado é responsável por registrar eventos de auditoria.
  1. Verifica se a auditoria está habilitada globalmente (GlobalSettingsSingleton.AuditoriaHabilitada). Se não estiver, retorna.
  2. Determina o tipo de ação de auditoria (OperacaoEventoMap.Delete, Insert, Update, Inativacao, Ativacao) com base nos parâmetros ehDelete e no estado PreUpdateAuditoria e FlagInativo do objeto.
  3. Dentro de um bloco try-catch: a. Se a ação não for Delete, chama CompletarInformacoesAuditoria(auditoria) para garantir que todos os dados necessários para a auditoria estejam preenchidos. b. Cria uma instância de AuditoriaQueue com os detalhes do evento (tipo de ação, estado anterior e atual do objeto, ID do usuário, descrição, tipo de evento, campos a ignorar, mapeamento de objetos, identificação, se é transacional e atividade). c. Adiciona o evento à camada de acesso ao Mongo DB (MongoAcessLayer.Instance.Add(auditoriaQueue)). d. Se houver uma transação SQL, adiciona o evento à transação de auditoria (MongoAcessLayer.Instance.AddTransacaoAuditoria(auditoriaQueue, trans)).
  4. Em caso de exceção, registra o erro no log.
  5. Em um bloco finally, limpa as propriedades PreUpdateAuditoria do Usuario, PessoaFisica e LoginUsuario para evitar vazamento de dados de auditoria.
  • Propósito: Centraliza a lógica de registro de auditoria para a entidade Usuario, garantindo que as alterações sejam rastreadas de forma consistente.
  • Dependências: GlobalSettingsSingleton, AuditoriaQueue, MongoAcessLayer, PlataformaLog, TipoEventoMap, OperacaoEventoMap, DetalhesAuditoriaDTO, AtividadeAuditoriaDTO.

Insert()

  • Lógica: Este método privado insere um novo registro de usuário no banco de dados e gerencia suas associações de perfil e período de permissão.
  1. Obtém e preenche os parâmetros SQL para a inserção do usuário.
  2. Abre uma nova conexão SQL e inicia uma transação.
  3. Dentro de um bloco try-catch: a. Executa o comando SQL SPINSERT para inserir o usuário e recupera o Idf_Usuario gerado. b. Gerenciamento de Perfil de Usuário: i. Tenta carregar um UsuarioPerfil existente para o usuário e seu perfil principal. ii. Se não existir, cria um novo UsuarioPerfil e o salva. c. Gerenciamento de Período de Permissão: i. Tenta carregar um PeriodoPermissao existente para o usuário, perfil principal e data atual. ii. Se existir, define DataFim como null (indicando vigência contínua) e salva. iii. Se não existir, cria um novo PeriodoPermissao com DataInicio como DateTime.Now e o salva. d. Define _persisted como true e _modified como false. e. Confirma a transação. f. Integra eventos de auditoria (AuditoriaEventMapTransaction.IntegrarAuditoriaEventMap(trans)).
  4. Em caso de exceção, reverte a transação, remove eventos de auditoria e relança a exceção.
  • Stored Procedures chamadas: SPINSERT (SQL inline)
  • Parâmetros: @Num_CPF, @Idf_Perfil_Principal, @Idf_Ultima_Empresa, @Idf_Usuario_Gerador, @Idf_Sistema_Gerador, @Idf_Pessoa_Fisica, @Flg_Interno, @Dta_Cadastro, @Flg_Inativo, @Idf_Usuario (OUTPUT)
  • Propósito: Insere um novo registro na tabela TAB_Usuario e retorna o ID gerado.
  • Dependências: UsuarioPerfil.CarregarPorUsuarioPerfil, UsuarioPerfil.Save, PeriodoPermissao.CarregarPorUsuarioPerfilPeriodo, PeriodoPermissao.Save.
  • Regras de Negócio: Garante que todo novo usuário tenha um perfil associado e um período de permissão válido.
  • Exceções: Relança exceções em caso de falha na transação.

Update(bool auditar = true)

  • Lógica: Este método privado atualiza um registro de usuário existente no banco de dados e gerencia suas associações de perfil e período de permissão.
  1. Se auditar for true: a. Carrega o estado atual do objeto antes da atualização (PreUpdateAuditoria = LoadObject(this.IdUsuario)). b. Chama CompletarInformacoesAuditoria(PreUpdateAuditoria, null, false) para preencher dados de auditoria do estado anterior.
  2. Se a instância foi modificada (_modified é true): a. Abre uma nova conexão SQL e inicia uma transação. b. Dentro de um bloco try-catch: i. Obtém e preenche os parâmetros SQL para a atualização do usuário. ii. Executa o comando SQL SPUPDATE. iii. Gerenciamento de Perfil de Usuário:
  • Similar ao Insert(), verifica se o UsuarioPerfil existe e o cria/salva se necessário. iv. Gerenciamento de Período de Permissão:
  • Similar ao Insert(), verifica se o PeriodoPermissao existe e o atualiza/cria se necessário. v. Define _modified como false. vi. Confirma a transação. c. Em caso de exceção, reverte a transação e relança a exceção.
  • Stored Procedures chamadas: SPUPDATE (SQL inline)
  • Parâmetros: @Num_CPF, @Idf_Perfil_Principal, @Idf_Ultima_Empresa, @Idf_Usuario_Gerador, @Idf_Sistema_Gerador, @Idf_Pessoa_Fisica, @Flg_Interno, @Dta_Cadastro, @Flg_Inativo, @Idf_Usuario
  • Propósito: Atualiza um registro existente na tabela TAB_Usuario.
  • Dependências: UsuarioPerfil.CarregarPorUsuarioPerfil, UsuarioPerfil.Save, PeriodoPermissao.CarregarPorUsuarioPerfilPeriodo, PeriodoPermissao.Save.
  • Regras de Negócio: Garante que as alterações no usuário sejam persistidas e que as associações de perfil e período de permissão sejam mantidas atualizadas.
  • Exceções: Relança exceções em caso de falha na transação.

CarregarPermissoes(Usuario usuario, Enumeradores.CategoriaPermissao categoria)

  • Lógica: Este método estático público retorna uma lista de IDs de permissões que um usuário possui em uma categoria de permissão específica.
  1. Inicializa uma lista vazia de inteiros para armazenar os IDs das permissões.
  2. Cria uma lista de SqlParameter para @Idf_Categoria_Permissao e @Idf_Usuario.
  3. Atribui os valores da categoria e do usuario.IdUsuario aos parâmetros.
  4. Executa o comando SQL SPSELECTPERMISSOESUSUARIO (SQL inline) usando DataAccessLayer.ExecuteReader.
  5. Itera sobre o IDataReader: a. Para cada linha lida, adiciona o valor da coluna “Permissao” (convertido para int) à lista de permissões.
  6. Fecha e descarta o IDataReader.
  7. Retorna a lista de permissões.
  • Stored Procedures chamadas: SPSELECTPERMISSOESUSUARIO (SQL inline)
  • Parâmetros: @idf_usuario, @Idf_Categoria_Permissao
  • Propósito: Seleciona as permissões distintas de um usuário para uma categoria de permissão específica, considerando o período de vigência.
  • Regras de Negócio: As permissões são consideradas válidas apenas se o período de vigência (Dta_Inicio e Dta_Fim) incluir a data atual.

ValidarDatasVigencias(int? idConfiguracaoProvisaoPLR, DateTime dtaInicioVigencia, DateTime? dtaFimVigencia)

  • Lógica: Este método estático público verifica se um novo período de vigência para uma configuração de provisão PLR se sobrepõe a períodos já existentes no banco de dados.
  1. Cria uma lista de SqlParameter para @Idf_Configuracao_Provisao_PLR, @dta_inicio_vigencia e @dta_fim_vigencia.
  2. Atribui os valores dos parâmetros. Se idConfiguracaoProvisaoPLR ou dtaFimVigencia forem nulos, DBNull.Value é usado.
  3. Constrói uma query SQL inline complexa que conta o número de registros na tabela TAB_Configuracao_Provisao_PLR que se sobrepõem ao período fornecido. A lógica de sobreposição considera:
  • Se o idConfiguracaoProvisaoPLR for fornecido, ele exclui o próprio registro da verificação de sobreposição (permitindo a edição).
  • Verifica se a dtaInicioVigencia fornecida está dentro de um período existente.
  • Verifica se a dtaFimVigencia fornecida (se não nula) está dentro de um período existente.
  • A função isnull(Dta_Fim_Vigencia, @dta_inicio_vigencia) ou isnull(Dta_Fim_Vigencia, @dta_fim_vigencia) é usada para tratar casos onde a data de fim de vigência de um registro existente é nula (considerando-o como vigência contínua até a data de início/fim do período a ser validado).
  1. Executa a query usando DataAccessLayer.ExecuteScalar e converte o resultado para int.
  2. Retorna true se a contagem de registros sobrepostos for 0 (indicando que não há sobreposição), false caso contrário.
  • Stored Procedures chamadas: SQL inline para validação de datas de vigência.
  • Parâmetros: @Idf_Configuracao_Provisao_PLR, @dta_inicio_vigencia, @dta_fim_vigencia
  • Propósito: Contar registros de TAB_Configuracao_Provisao_PLR cujos períodos de vigência se sobrepõem ao período fornecido.
  • Regras de Negócio: Impede o cadastro ou atualização de configurações de provisão PLR com períodos de vigência conflitantes.

Stored Procedures (SQL inline)

NomeParâmetrosPropósito
SPINSERT@Num_CPF, @Idf_Perfil_Principal, @Idf_Ultima_Empresa, @Idf_Usuario_Gerador, @Idf_Sistema_Gerador, @Idf_Pessoa_Fisica, @Flg_Interno, @Dta_Cadastro, @Flg_Inativo, @Idf_Usuario (OUTPUT)Insere um novo registro na tabela TAB_Usuario e retorna o ID gerado.
SPUPDATE@Num_CPF, @Idf_Perfil_Principal, @Idf_Ultima_Empresa, @Idf_Usuario_Gerador, @Idf_Sistema_Gerador, @Idf_Pessoa_Fisica, @Flg_Interno, @Dta_Cadastro, @Flg_Inativo, @Idf_UsuarioAtualiza um registro existente na tabela TAB_Usuario.
SPDELETE@Idf_Usuario, @Idf_Usuario_GeradorPrimeiro, atualiza o Idf_Usuario_Gerador do registro e, em seguida, exclui o registro da tabela TAB_Usuario.
SPSELECTID@Idf_UsuarioSeleciona um registro específico da tabela TAB_Usuario pelo ID.
SQL inline para paginação e contagem (em LoadDataReader e Listar)colunaOrdenacao, direcaoOrdenacao, paginaCorrente, tamanhoPaginaRetorna uma consulta paginada e a contagem total de registros da tabela TAB_Usuario.
SPSELECTCPF@Num_CPFSeleciona um registro da tabela TAB_Usuario pelo CPF.
SPSELECTCPFSNenhumSeleciona todos os CPFs distintos da tabela TAB_Usuario.
SQL inline para ListarPorCPFNomeParcialAutoComplete@Valor, @Numero_RegistrosSeleciona usuários por CPF ou nome parcial para autocomplete.
SPSELECTPERMISSOESUSUARIO@idf_usuario, @Idf_Categoria_PermissaoSeleciona as permissões distintas de um usuário para uma categoria de permissão específica, considerando o período de vigência.
SQL inline para RelatorioUsuarioSistema@Flg_Inativo, @Idf_UsuarioGera um relatório de usuários do sistema com base em filtros de ID de usuário e status de inatividade.
SPSELECTAGRUPAMENTOUSUARIO{0} (lista de CPFs)Retorna informações de agrupamento de usuários (grupo econômico, empresa, filial, contrato, centro de resultado) com base em uma lista de CPFs.
SQL inline para RetornaQuantidadeUsuarios@Flg_Inativo, @Flg_InternoConta a quantidade de usuários ativos/inativos, opcionalmente filtrando por usuários internos.
SQL inline para CarregarPermissoes(int _idfUsuario)@Idf_UsuarioSeleciona IDs de permissão e categoria de permissão para um usuário.
SQL inline para TemPermissao@Idf_Usuario, @Idf_Sistema, @Idf_PermissaoVerifica se um usuário possui uma permissão específica em um determinado sistema e período de vigência.
SQL inline para CarregarPermissoes(int IdfUsuario, Enumeradores.Sistema sistema)@Idf_Usuario, @Idf_SistemaSeleciona IDs de permissão e categoria de permissão para um usuário em um sistema específico e período de vigência.
SPSELECTCODNOME@Num_CPF, @Nme_PessoaSeleciona usuários por CPF ou nome parcial.
SPSELPERFIL@Idf_Usuario, @Dta_PeriodoSeleciona perfis de um usuário para um período específico.
SPSELPERFILSISTEMA@Idf_Usuario, @Dta_Periodo, @Idf_SistemaSeleciona perfis de um usuário para um sistema e período específicos.
SQL inline para Listar(List<int> pLstIdUsuario, ...)U.Idf_Usuario (lista de IDs)Lista usuários por uma lista de IDs, com paginação e ordenação.
CARREGARCPF@N_CPF, @StatusSeleciona usuários pelo CPF e status.
SPSELECTUSU@Nome, @StatusSeleciona usuários pelo nome e status.
SPSELPERMISSOES@CurrentPage, @PageSize, @Idf_Usuario, @PesquisaSeleciona permissões de um usuário com pesquisa, paginação e ordenação.
SPSELPERMISSOESVISUALIZACAOESOCIAL@Idf_UsuarioSeleciona permissões de visualização de relatórios eSocial para um usuário.
SPSELECTNOMECPF@Idf_UsuarioSeleciona ID e CPF de um usuário.
SELRELATORIOUSUARIOSPORPERFIL@Idf_PerfilSeleciona dados para o relatório de usuários por perfil.
SPCARREGARUSUARIOSFILAATUALIZACAOPONTO@Num_TentativasSeleciona usuários na fila de atualização de ponto com base no número de tentativas.
SPVERIFICARFILIAISPONTO@Num_CPFVerifica as filiais de ponto que um usuário tem acesso.
SELECTUSUARIOCONTAPAGAR@Idf_UsuarioSeleciona o nome formatado de um usuário para o Contas a Pagar.
SPRECUPERARFILIAISQUEUSUARIOTEMACESSO@Idf_Usuario, @Idf_EmpresaSeleciona todas as filiais que um usuário tem acesso em uma empresa específica.
SQL inline para CarregarPermissaoTela@Idf_Categoria_Permissao, @Idf_UsuarioSeleciona as permissões de uma tela para um usuário em uma categoria específica.
SQL inline para PossuiAcesso@Idf_Usuario, @Idf_EmpresaVerifica se um usuário possui acesso a uma empresa específica, utilizando a função de tabela TAB_SF_Usuario_Acesso.
SQL inline para ValidaPerfilPrincipal@Idf_UsuarioSeleciona o perfil principal de um usuário.
SPSELPERFILSISTEMASENHAMASTER@Idf_Usuario, @Dta_Periodo, @Idf_SistemaVerifica se um usuário possui um perfil de senha máster em um sistema e período específicos.
SQL inline para FilialPadraoDoUsuarioPorEmpresa@Idf_Usuario, @Idf_EmpresaSeleciona o ID da filial padrão de um usuário em uma empresa, se houver apenas uma filial com acesso, utilizando a função de tabela TAB_SF_Usuario_Acesso.

📌 Status: Concluído 👤 Responsável: Equipe de QA

Digite para pesquisar...

Scroll para zoom · Esc para fechar

⌨️ Atalhos de teclado
Navegação
Ctrl K Pesquisar na wiki
Ctrl F Buscar na página
? Ver atalhos
Visualização
Ctrl Shift F Modo foco
A+ / A− Tamanho da fonte
Ctrl D Alternar tema
Ações
Ctrl B Favoritar página
Esc Fechar dialogs