🛠️ 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
| Nome | Tipo | Obrigatório | Regra |
|---|---|---|---|
| lblTituloPagina | Label | ⚪ Não | Exibe o título “Configuração Provisão PLR” |
| lblPLR | Button | ⚪ Não | Aba “PLR” (ativa por padrão) |
| btlAdiantamentoPLR | LinkButton | ⚪ Não | Link para a tela “Adiantamento PLR” |
| vsValidacao | EmployerValidationSummary | ⚪ Não | Exibe mensagens de validação do grupo “Salvar” |
| ucHistoricoVigencia.txtValorFatorMultiplicador | ValorNumericoTextBox | ⚪ Não | Multiplicador. ValidationGroup=“Salvar”. Tamanho=“12”. |
| ucHistoricoVigencia.txtValorValorTeto | ValorNumericoTextBox | ⚪ Não | Teto. ValidationGroup=“Salvar”. Tamanho=“12”. |
| ucHistoricoVigencia.txtValorPercentualAdiantamento | ValorNumericoTextBox | ⚪ Não | Percentual. ValidationGroup=“Salvar”. Tamanho=“12”. |
| ucHistoricoVigencia.txtValorAdicionalAdiantamento | ValorNumericoTextBox | ⚪ Não | Adicional. ValidationGroup=“Salvar”. Tamanho=“12”. |
| ucHistoricoVigencia.btnHistorico | Button | ⚪ Não | Botão para abrir o modal de histórico de vigência. |
| ucHistoricoVigencia.btnFechar | ImageButton | ⚪ Não | Botão para fechar o modal de histórico. |
| ucHistoricoVigencia.lblTituloModal | Label | ⚪ Não | Título do modal de histórico. |
| ucHistoricoVigencia.vsValidacao | EmployerValidationSummary | ⚪ Não | Exibe mensagens de validação do modal de histórico (ValidationGroup=“SalvarModalHistorico”). |
| ucHistoricoVigencia.txtDataInicioVigencia | DataTextBox | 🔴 Sim | Data de Início da Vigência. ValidationGroup=“SalvarModalHistorico”. |
| ucHistoricoVigencia.txtDataFimVigencia | DataTextBox | ⚪ Não | Data de Fim da Vigência. ValidationGroup=“SalvarModalHistorico”. |
| ucHistoricoVigencia.btnSalvar | Button | ⚪ Não | Salva a vigência no modal de histórico. ValidationGroup=“SalvarModalHistorico”. |
| ucHistoricoVigencia.btnLimpar | Button | ⚪ Não | Limpa os campos do modal de histórico. |
| ucHistoricoVigencia.btnVoltar | Button | ⚪ Não | Volta para a tela anterior (visível apenas se RemoverModal for true). |
| ucHistoricoVigencia.gvwHistorico | EmployerGrid | ⚪ Não | Grid para exibir o histórico de vigências. |
| ucHistoricoVigencia.modalConfirmacaoSenha | ConfirmacaoSenha | ⚪ Não | Modal 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
LinkButtonque redireciona para a telaConfiguracaoProvisaoAdiantamentoPLRCadastro.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 UserControlHistoricoVigencia.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
ValidarDatasVigenciasda BLLConfiguracaoProvisaoPLRe chamado porucHistoricoVigencia_ValidarParaSalvarVigenciano code-behind da tela).
5.2. Regras de Habilitação/Desabilitação e Visibilidade
- O botão “Histórico” (
btnHistorico) no UserControlucHistoricoVigenciaé visível apenas se o usuário tiver permissão de visualização (PermissaoVisualizar). (UserControlHistoricoVigencia.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 (PermissaoIncluirouPermissaoAtualizar). (UserControlHistoricoVigencia.ascx.cs) - O botão “Salvar” (
btnSalvar) no modal de histórico é visível se o usuário tiver permissão para atualizar (PermissaoAtualizar). (UserControlHistoricoVigencia.ascx.cs) - O botão “Voltar” (
btnVoltar) no modal de histórico é visível se a propriedadeRemoverModaldo UserControlucHistoricoVigenciafortrue. (UserControlHistoricoVigencia.ascx.cs) - Os botões “Editar” e “Excluir” na
gvwHistoricosão visíveis de acordo com as permissõesPermissaoAtualizarePermissaoExcluir, respectivamente. (UserControlHistoricoVigencia.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 UserControlHistoricoVigenciapode verificar a necessidade de confirmação de senha máster (ValidarNecessidadeConfirmacaoUsuarioParaExcluir). (Code-behind da tela e UserControlHistoricoVigencia.ascx.cs, BLLConfiguracaoProvisaoPLR)
5.4. Regras de Salvar e Fluxo de Configuração
- Salvar Configuração de Provisão PLR:
- Se for um novo registro (
idObjetonulo), uma nova instância deConfiguracaoProvisaoPLRé criada. - Se for uma edição (
idObjetocom valor), o objeto existente é carregado viaConfiguracaoProvisaoPLR.LoadObject(idObjeto.Value). - As propriedades
DataFimVigencia,DataInicioVigencia,ValorValorTeto,ValorPercentualAdiantamento,ValorFatorMultiplicadoreValorAdicionalAdiantamentodo objetoConfiguracaoProvisaoPLRsã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
HistoricoVigenciapode verificar a necessidade de confirmação de senha máster (ValidarNecessidadeConfirmacaoUsuarioParaSalvar). (Code-behind da tela e UserControlHistoricoVigencia.ascx.cs, BLLConfiguracaoProvisaoPLR)
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
HistoricoVigenciasão carregadas com base noCodigoUsuarioLogadoe na categoria de permissãoConfiguracaoProvisaoPLR. (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)
- Verifica se é um
PostBack. - Se não for
PostBack: a. ChamaCarregarPermissoes()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. ChamaucHistoricoVigencia.Inicializar()para configurar o UserControl. d. ChamaucHistoricoVigencia_CarregarGrid()para carregar os dados iniciais na grid.
Carregar Grid de Histórico (ucHistoricoVigencia_CarregarGrid)
- Obtém os parâmetros de ordenação e paginação da
ucHistoricoVigencia.GridViewHistorico. - Chama
ConfiguracaoProvisaoPLR.ListarConfiguracaoProvisaoPLR()para obter os dados paginados. - Utiliza
UIHelper.CarregarGridView()para preencher aucHistoricoVigencia.GridViewHistoricocom os dados retornados.
Preencher Campos de Vigência (ucHistoricoVigencia_PreencherCamposVigencia)
- Recebe o
idObjeto(ID da configuração de PLR). - Carrega o objeto
ConfiguracaoProvisaoPLRcorrespondente usandoConfiguracaoProvisaoPLR.LoadObject(idObjeto). - Preenche os campos
txtValorAdicionalAdiantamento,txtValorFatorMultiplicador,txtValorPercentualAdiantamento,txtValorValorTeto,ucHistoricoVigencia.CampoDataInicioVigenciaeucHistoricoVigencia.CampoDataFimVigenciacom os valores do objeto carregado.
Validar para Salvar Vigência (ucHistoricoVigencia_ValidarParaSalvarVigencia)
- Chama
ConfiguracaoProvisaoPLR.ValidarDatasVigencias()para verificar se o período de vigência informado não se sobrepõe a outro existente. - 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. - Retorna
truese a validação for bem-sucedida.
Salvar Vigência (ucHistoricoVigencia_SalvarVigencia)
- Recebe
idObjeto(ID da configuração de PLR, pode ser nulo para nova inclusão). - Instancia ou carrega um objeto
ConfiguracaoProvisaoPLR. - Atribui os valores dos campos da tela às propriedades do objeto.
- Chama
objConfiguracao.Save()para persistir os dados. - Exibe mensagem de sucesso ou erro.
- Retorna
trueem caso de sucesso,falseem caso de erro.
Excluir Vigência (ucHistoricoVigencia_ExcluirVigencia)
- Recebe
idObjeto(ID da configuração de PLR a ser excluída). - Chama
ConfiguracaoProvisaoPLR.Delete(idObjeto)para excluir o registro. - Exibe mensagem de sucesso ou erro.
- Retorna
trueem caso de sucesso,falseem caso de erro.
Limpar Campos de Vigência (ucHistoricoVigencia_LimparCamposVigencia)
- Limpa os campos
txtValorValorTeto,txtValorPercentualAdiantamento,txtValorFatorMultiplicadoretxtValorAdicionalAdiantamentodefinindo seus textos comostring.Empty.
Clique no botão Adiantamento PLR (btlAdiantamentoPLR_Click)
- 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, chamaInsert(); caso contrário, chamaUpdate(). -
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 objetoConfiguracaoProvisaoPLRpelo ID. -
static ConfiguracaoProvisaoPLR LoadObject(int idConfiguracaoProvisaoPLR, SqlTransaction trans): Carrega um objetoConfiguracaoProvisaoPLRpelo 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. Retornatruese for válido,falsecaso 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 umEmployerGridcom dados de umIDataReader, definindo a contagem total de itens. Realiza oDisposedoIDataReader. -
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_Geradore em seguida exclui um registro da tabelaTAB_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_PLRpelo ID. -
SQL inline para paginação (ConfiguracaoProvisaoPLR_P1.cs, método
LoadDataReadercom 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 doDataTextBoxde data de início.CampoDataFimVigencia: Propriedade que retorna a instância doDataTextBoxde 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
ExibirMensagemno code-behind da tela) - “Registro salvo com sucesso.” (Aviso, exibida por
ExibirMensagemno code-behind da tela) - “Erro ao salvar registro.” (Erro, exibida por
ExibirMensagemno code-behind da tela) - “Registro excluído com sucesso.” (Aviso, exibida por
ExibirMensagemno code-behind da tela) - “Erro ao excluir registro.” (Erro, exibida por
ExibirMensagemno 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
ExibirMensagemno UserControlHistoricoVigencia.ascx.cs) - “Erro ao salvar histórico de vigência.” (Erro, exibida por
ExibirMensagemno UserControlHistoricoVigencia.ascx.cs) - “Erro ao excluir histórico de vigência.” (Erro, exibida por
ExibirMensagemno UserControlHistoricoVigencia.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 quandoRemoverModalé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 UserControlHistoricoVigencia.
🔎 10. Aprofundamento — Detalhes Internos de Métodos
Employer.Plataforma.BLL.Usuario
Arquivos:
C:\Webfopag\Etec.WebFopag\Employer.Plataforma.BLL\Usuario_P1.csC:\Webfopag\Etec.WebFopag\Employer.Plataforma.BLL\Usuario_P2.cs
Métodos
| Método | Assinatura | Propósito |
|---|---|---|
NumeroCPFFormatado | public string NumeroCPFFormatado { get; } | Retorna o CPF do usuário formatado (ex: “000.000.000-00”). |
GetParameters | private List<SqlParameter> GetParameters() | Prepara uma lista de parâmetros SQL para operações de insert e update. |
SetParameters | private void SetParameters(List<SqlParameter> parms) | Preenche uma lista de parâmetros SQL com os valores da instância atual da classe. |
LoadDataReader | private static IDataReader LoadDataReader(int usuario) | Retorna um IDataReader com as colunas de um registro de usuário específico. |
LoadDataReader | private 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. |
LoadDataReader | public 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. |
LoadObject | public static Usuario LoadObject(int usuario) | Carrega um objeto Usuario a partir do banco de dados pelo ID. |
LoadObject | public static Usuario LoadObject(int usuario, SqlTransaction trans) | Carrega um objeto Usuario a partir do banco de dados pelo ID, dentro de uma transação. |
CompleteObject | public bool CompleteObject() | Completa a instância atual de Usuario com dados do banco de dados. |
CompleteObject | public bool CompleteObject(SqlTransaction trans) | Completa a instância atual de Usuario com dados do banco de dados, dentro de uma transação. |
Salvar | public 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. |
Salvar | public void Salvar(PessoaFisica objPessoaFisica, SqlTransaction trans) | Salva a instância de Usuario e a PessoaFisica associada dentro de uma transação existente. |
SalvarAuditoria | private 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. |
CompletarInformacoesAuditoria | private static void CompletarInformacoesAuditoria(Usuario usuario, Usuario atual = null, bool consultarDescricaoReferencia = true) | Preenche informações adicionais necessárias para a auditoria do objeto Usuario. |
Insert | private 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. |
Insert | private void Insert(SqlTransaction trans) | Insere uma nova instância de Usuario no banco de dados, dentro de uma transação existente. |
Save | public void Save(bool auditar = true) | Salva a instância atual no banco de dados. Decide entre Insert() ou Update() e, opcionalmente, realiza auditoria. |
Save | public void Save(SqlTransaction trans) | Salva a instância atual no banco de dados, dentro de uma transação. Realiza auditoria. |
Delete | public static void Delete(int usuario) | Exclui um registro de Usuario pelo ID. |
Delete | public static void Delete(int usuario, SqlTransaction trans) | Exclui um registro de Usuario pelo ID, dentro de uma transação. |
Delete | public static void Delete(List<Usuario> usuario) | Exclui uma lista de registros de Usuario pelos IDs. |
Update | private 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. |
Update | private void Update(SqlTransaction trans) | Atualiza uma instância existente de Usuario no banco de dados, dentro de uma transação existente. |
ExisteCPF | public static Boolean ExisteCPF(decimal numCPF) | Verifica se existe um usuário para o CPF informado. |
RecuperarPorCPF | public static Usuario RecuperarPorCPF(decimal numCPF) | Recupera um objeto Usuario pelo CPF. |
CarregarObjetoCPF | public static Usuario CarregarObjetoCPF(string CPFUsuario) | Carrega um objeto Usuario pelo CPF (string). Retorna uma nova instância se não encontrado. |
CarregarObjetoCPF | public 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. |
ListarPorCPFNomeParcialAutoComplete | public static Dictionary<int, String> ListarPorCPFNomeParcialAutoComplete(string valor, int count) | Lista usuários por CPF ou nome parcial para autocomplete. |
CarregarPermissoes | public 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. |
RelatorioUsuarioSistema | public 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. |
ListaAgrupamentoUsuario | public 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. |
FormataCelular | private static string FormataCelular(DbDataReader dr) | Método auxiliar para formatar o número de celular a partir de um DbDataReader. |
RetornaQuantidadeUsuarios | public static int RetornaQuantidadeUsuarios(bool? bInternos, bool bAtivos, SqlTransaction tran = null) | Retorna a quantidade de usuários ativos/inativos, opcionalmente filtrando por usuários internos. |
CarregarPermissoes | public 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. |
TemPermissao | public 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. |
TemPermissao | public 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. |
CarregarPermissoes | public 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. |
ListarPorCodNomeParcial | public static IDataReader ListarPorCodNomeParcial(string cpf, string nome) | Lista usuários por CPF ou nome parcial, retornando um IDataReader. |
ListarPerfilPorUsuario | public static IDataReader ListarPerfilPorUsuario(int idUsuario, DateTime periodo) | Lista perfis de um usuário para um período específico. |
ListarPerfilPorUsuarioSistema | public 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. |
Listar | public static List<Usuario> Listar() | Retorna uma lista de todos os usuários. |
Listar | public 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. |
Listar | public 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. |
ListarUsuariosCadastradosFiltro | public 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. |
ListarPermissoesPorUsuario | public 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. |
ListarPermissoesDeVisualizacaoRelatorioESocialPorUsuario | public static List<PermissaoTipoInscricaoESocial> ListarPermissoesDeVisualizacaoRelatorioESocialPorUsuario(int idUsuario) | Retorna uma lista de permissões de visualização de relatórios eSocial para um usuário. |
ListarCPFs | public static List<decimal> ListarCPFs() | Retorna uma lista de todos os CPFs de usuários. |
SetInstance | private 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. |
GetNomeCPF | public static string GetNomeCPF(Int64 idfUsuario) | Retorna uma string formatada com o ID e CPF do usuário. |
RelatorioUsuariosPorPerfil | public static void RelatorioUsuariosPorPerfil(int pIdPerfil, List<ReportParameter> param, List<ReportDataSource> dsT) | Preenche dados para um relatório de usuários por perfil. |
CarregarUsuariosFilaAtualizcaoPonto | public static DataTable CarregarUsuariosFilaAtualizcaoPonto(int numeroTentativas) | Carrega usuários na fila de atualização de ponto com base no número de tentativas. |
VerificarFiliaisPonto | public static Dictionary<int, int> VerificarFiliaisPonto(decimal cpfUsuario, SqlTransaction trans) | Verifica as filiais de ponto que um usuário tem acesso. |
ExibirNomeFormatContaPagar | public static string ExibirNomeFormatContaPagar(int idUsuario) | Retorna o nome formatado de um usuário para o Contas a Pagar. |
RecuperarFiliaisQueUsuarioTemAcesso | public static DataTable RecuperarFiliaisQueUsuarioTemAcesso(int idfUsuario, int idEmpresa) | Retorna todas as filiais que um usuário tem acesso em uma empresa específica. |
CarregarPermissaoTela | public static DataTable CarregarPermissaoTela(Usuario usuario, Enumeradores.CategoriaPermissao categoria) | Retorna as permissões de uma tela para um usuário em uma categoria específica. |
AjustarUltimaEmpresaLogada | public static void AjustarUltimaEmpresaLogada(int idfUsuario) | Ajusta a última empresa logada do usuário se ele não tiver mais acesso a ela. |
PossuiAcesso | public static bool PossuiAcesso(int idfUsuario, int idfEmpresa) | Verifica se um usuário possui acesso a uma empresa específica. |
ValidaPerfilPrincipal | public static bool ValidaPerfilPrincipal(int idfUsuario) | Valida se o perfil principal do usuário não é um perfil de senha máster. |
PerfilUsuarioSistemaSenhaMaster | public 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. |
FilialPadraoDoUsuarioPorEmpresa | public 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. |
CarregarIdentificacaoUsuario | public 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
Usuarioe suaPessoaFisicaassociada em uma única transação de banco de dados, além de integrar com sistemas de fila de cálculo e auditoria.
- Abre uma nova conexão SQL e inicia uma transação.
- Dentro de um bloco
try-catch: a. ChamaobjPessoaFisica.Save(trans)para persistir os dados da pessoa física. b. Atribui aobjPessoaFisicaà propriedadePessoaFisicada instância atual doUsuario. c. Chamathis.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)). - 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.
- Verifica se a auditoria está habilitada globalmente (
GlobalSettingsSingleton.AuditoriaHabilitada). Se não estiver, retorna. - Determina o tipo de ação de auditoria (
OperacaoEventoMap.Delete,Insert,Update,Inativacao,Ativacao) com base nos parâmetrosehDeletee no estadoPreUpdateAuditoriaeFlagInativodo objeto. - Dentro de um bloco
try-catch: a. Se a ação não forDelete, chamaCompletarInformacoesAuditoria(auditoria)para garantir que todos os dados necessários para a auditoria estejam preenchidos. b. Cria uma instância deAuditoriaQueuecom 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)). - Em caso de exceção, registra o erro no log.
- Em um bloco
finally, limpa as propriedadesPreUpdateAuditoriadoUsuario,PessoaFisicaeLoginUsuariopara 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.
- Obtém e preenche os parâmetros SQL para a inserção do usuário.
- Abre uma nova conexão SQL e inicia uma transação.
- Dentro de um bloco
try-catch: a. Executa o comando SQLSPINSERTpara inserir o usuário e recupera oIdf_Usuariogerado. b. Gerenciamento de Perfil de Usuário: i. Tenta carregar umUsuarioPerfilexistente para o usuário e seu perfil principal. ii. Se não existir, cria um novoUsuarioPerfile o salva. c. Gerenciamento de Período de Permissão: i. Tenta carregar umPeriodoPermissaoexistente para o usuário, perfil principal e data atual. ii. Se existir, defineDataFimcomonull(indicando vigência contínua) e salva. iii. Se não existir, cria um novoPeriodoPermissaocomDataIniciocomoDateTime.Nowe o salva. d. Define_persistedcomotruee_modifiedcomofalse. e. Confirma a transação. f. Integra eventos de auditoria (AuditoriaEventMapTransaction.IntegrarAuditoriaEventMap(trans)). - 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_Usuarioe 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.
- Se
auditarfortrue: a. Carrega o estado atual do objeto antes da atualização (PreUpdateAuditoria = LoadObject(this.IdUsuario)). b. ChamaCompletarInformacoesAuditoria(PreUpdateAuditoria, null, false)para preencher dados de auditoria do estado anterior. - Se a instância foi modificada (
_modifiedétrue): a. Abre uma nova conexão SQL e inicia uma transação. b. Dentro de um blocotry-catch: i. Obtém e preenche os parâmetros SQL para a atualização do usuário. ii. Executa o comando SQLSPUPDATE. iii. Gerenciamento de Perfil de Usuário:
- Similar ao
Insert(), verifica se oUsuarioPerfilexiste e o cria/salva se necessário. iv. Gerenciamento de Período de Permissão: - Similar ao
Insert(), verifica se oPeriodoPermissaoexiste e o atualiza/cria se necessário. v. Define_modifiedcomofalse. 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.
- Inicializa uma lista vazia de inteiros para armazenar os IDs das permissões.
- Cria uma lista de
SqlParameterpara@Idf_Categoria_Permissaoe@Idf_Usuario. - Atribui os valores da
categoriae dousuario.IdUsuarioaos parâmetros. - Executa o comando SQL
SPSELECTPERMISSOESUSUARIO(SQL inline) usandoDataAccessLayer.ExecuteReader. - Itera sobre o
IDataReader: a. Para cada linha lida, adiciona o valor da coluna “Permissao” (convertido paraint) à lista de permissões. - Fecha e descarta o
IDataReader. - 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_InicioeDta_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.
- Cria uma lista de
SqlParameterpara@Idf_Configuracao_Provisao_PLR,@dta_inicio_vigenciae@dta_fim_vigencia. - Atribui os valores dos parâmetros. Se
idConfiguracaoProvisaoPLRoudtaFimVigenciaforem nulos,DBNull.Valueé usado. - Constrói uma query SQL inline complexa que conta o número de registros na tabela
TAB_Configuracao_Provisao_PLRque se sobrepõem ao período fornecido. A lógica de sobreposição considera:
- Se o
idConfiguracaoProvisaoPLRfor fornecido, ele exclui o próprio registro da verificação de sobreposição (permitindo a edição). - Verifica se a
dtaInicioVigenciafornecida está dentro de um período existente. - Verifica se a
dtaFimVigenciafornecida (se não nula) está dentro de um período existente. - A função
isnull(Dta_Fim_Vigencia, @dta_inicio_vigencia)ouisnull(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).
- Executa a query usando
DataAccessLayer.ExecuteScalare converte o resultado paraint. - Retorna
truese a contagem de registros sobrepostos for0(indicando que não há sobreposição),falsecaso 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_PLRcujos 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)
| Nome | Parâmetros | Propó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_Usuario | Atualiza um registro existente na tabela TAB_Usuario. |
SPDELETE | @Idf_Usuario, @Idf_Usuario_Gerador | Primeiro, atualiza o Idf_Usuario_Gerador do registro e, em seguida, exclui o registro da tabela TAB_Usuario. |
SPSELECTID | @Idf_Usuario | Seleciona um registro específico da tabela TAB_Usuario pelo ID. |
SQL inline para paginação e contagem (em LoadDataReader e Listar) | colunaOrdenacao, direcaoOrdenacao, paginaCorrente, tamanhoPagina | Retorna uma consulta paginada e a contagem total de registros da tabela TAB_Usuario. |
SPSELECTCPF | @Num_CPF | Seleciona um registro da tabela TAB_Usuario pelo CPF. |
SPSELECTCPFS | Nenhum | Seleciona todos os CPFs distintos da tabela TAB_Usuario. |
SQL inline para ListarPorCPFNomeParcialAutoComplete | @Valor, @Numero_Registros | Seleciona usuários por CPF ou nome parcial para autocomplete. |
SPSELECTPERMISSOESUSUARIO | @idf_usuario, @Idf_Categoria_Permissao | Seleciona 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_Usuario | Gera 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_Interno | Conta a quantidade de usuários ativos/inativos, opcionalmente filtrando por usuários internos. |
SQL inline para CarregarPermissoes(int _idfUsuario) | @Idf_Usuario | Seleciona IDs de permissão e categoria de permissão para um usuário. |
SQL inline para TemPermissao | @Idf_Usuario, @Idf_Sistema, @Idf_Permissao | Verifica 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_Sistema | Seleciona 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_Pessoa | Seleciona usuários por CPF ou nome parcial. |
SPSELPERFIL | @Idf_Usuario, @Dta_Periodo | Seleciona perfis de um usuário para um período específico. |
SPSELPERFILSISTEMA | @Idf_Usuario, @Dta_Periodo, @Idf_Sistema | Seleciona 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, @Status | Seleciona usuários pelo CPF e status. |
SPSELECTUSU | @Nome, @Status | Seleciona usuários pelo nome e status. |
SPSELPERMISSOES | @CurrentPage, @PageSize, @Idf_Usuario, @Pesquisa | Seleciona permissões de um usuário com pesquisa, paginação e ordenação. |
SPSELPERMISSOESVISUALIZACAOESOCIAL | @Idf_Usuario | Seleciona permissões de visualização de relatórios eSocial para um usuário. |
SPSELECTNOMECPF | @Idf_Usuario | Seleciona ID e CPF de um usuário. |
SELRELATORIOUSUARIOSPORPERFIL | @Idf_Perfil | Seleciona dados para o relatório de usuários por perfil. |
SPCARREGARUSUARIOSFILAATUALIZACAOPONTO | @Num_Tentativas | Seleciona usuários na fila de atualização de ponto com base no número de tentativas. |
SPVERIFICARFILIAISPONTO | @Num_CPF | Verifica as filiais de ponto que um usuário tem acesso. |
SELECTUSUARIOCONTAPAGAR | @Idf_Usuario | Seleciona o nome formatado de um usuário para o Contas a Pagar. |
SPRECUPERARFILIAISQUEUSUARIOTEMACESSO | @Idf_Usuario, @Idf_Empresa | Seleciona todas as filiais que um usuário tem acesso em uma empresa específica. |
SQL inline para CarregarPermissaoTela | @Idf_Categoria_Permissao, @Idf_Usuario | Seleciona as permissões de uma tela para um usuário em uma categoria específica. |
SQL inline para PossuiAcesso | @Idf_Usuario, @Idf_Empresa | Verifica 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_Usuario | Seleciona o perfil principal de um usuário. |
SPSELPERFILSISTEMASENHAMASTER | @Idf_Usuario, @Dta_Periodo, @Idf_Sistema | Verifica 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_Empresa | Seleciona 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