🛠️ Documentação Técnica: Cadastrar Setor SST
[!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\CadastrarSetorSST.aspx
👁️ 1. Visão Geral
A tela “Cadastrar Setor SST” permite o cadastro e gerenciamento de setores SST (Saúde e Segurança do Trabalho) para uma empresa. Ela possibilita vincular setores a contratos mãe, contratos filhos e centros de resultado, além de definir a situação (ativo/inativo) e pesquisar setores já cadastrados. O sistema se adapta ao tipo de estrutura gerencial da empresa, exibindo campos de Contrato Mãe/Filho ou Centro de Resultado conforme a configuração.
🗂️ 2. Tipos/Modalidades
A tela possui duas modalidades principais de comportamento, baseadas no TipoEstruturaGerencial da empresa:
- Estrutura Gerencial por Centro de Resultado:
- O campo “Contrato Mãe” e “Contrato Filho” são ocultados e desabilitados.
- O campo “Centro de Resultado” é exibido e habilitado.
- A coluna “Contrato” na grid de setores cadastrados é ocultada.
- Estrutura Gerencial por Contrato (padrão):
- O campo “Contrato Mãe” e “Contrato Filho” são exibidos e habilitados.
- O campo “Centro de Resultado” é ocultado e desabilitado.
- A coluna “Centro de Resultado” na grid de setores cadastrados é ocultada.
🖥️ 3. Interface — Campos e Controles
| Nome | Tipo | Obrigatório | Regra |
|---|---|---|---|
| lblTitulo | Label | ⚪ Não | Título da tela: “Cadastrar Setor SST” |
| vsValidacao | EmployerValidationSummary | ⚪ Não | Exibe mensagens de erro de validação do grupo “CadastroSetorSST” |
| txtContratoMae | Employer:LocalizarContrato | 🔴 Sim (condicional) | Campo para localizar o contrato mãe. Obrigatório se a estrutura gerencial não for por Centro de Resultado. TipoDeContrato=“ContratoMae”. |
| txtContratoFilho | Employer:LocalizarContrato | ⚪ Não (condicional) | Campo para localizar o contrato filho. TipoDeContrato=“ContratoFilho”. |
| txtCentroResultado | Employer:LocalizarCentroResultado | ⚪ Não (condicional) | Campo para localizar o centro de resultado. Obrigatório se a estrutura gerencial for por Centro de Resultado. TipoCentroResultado=“Ambos”. |
| txtDescricaoSetorSST | Employer:ControlAlfaNumerico | 🔴 Sim | Descrição do setor SST. |
| lsSituacao | Employer:ListaSugestoes | 🔴 Sim | Situação do setor SST (Ativo/Inativo). |
| btnSalvar | Button | ⚪ Não | Salva o setor SST. ValidationGroup=“CadastroSetorSST”. |
| btnLimpar | Button | ⚪ Não | Limpa os campos do formulário. |
| btnVoltar | Button | ⚪ Não | Redireciona para a página de Menu Mais Opções. |
| lblPesquisa | Label | ⚪ Não | Rótulo para o campo de pesquisa: “Pesquise por Contrato/CR, nome, código, setor.” |
| txtPesquisa | Employer:ControlAlfaNumerico | ⚪ Não | Campo de texto para pesquisa de setores SST. |
| btnPesquisar | Employer:Button | ⚪ Não | Aciona a pesquisa de setores SST. |
| gdvSetorSST | Employer:EmployerGrid | ⚪ Não | Grid para exibir os setores SST cadastrados. Colunas: Contrato, Centro de Resultado, Código Setor SST, Descrição, Situação, Data Cadastro, Ações (Editar, Excluir). |
| gdvSetorSST.btnEditar | ImageButton | ⚪ Não | Botão de edição para cada linha da grid. Visível se SST_Vinculado for falso. |
| gdvSetorSST.btnExcluir | ImageButton | ⚪ Não | Botão de exclusão para cada linha da grid. Visível se SST_Vinculado for falso. |
📑 4. Abas e Seções
A tela é dividida nas seguintes seções visuais:
- Título:
<h1>Cadastrar Setor SST</h1> - Painel de Validação:
pnlValidacao(contémvsValidacao) - Painel de Cadastro/Edição de Setor SST:
upSetorSST(contém os campos de Contrato Mãe, Contrato Filho, Centro de Resultado, Setor SST e Situação) divContratoMae: ContémlblContatoMaeetxtContratoMae. Visibilidade controlada dinamicamente.divContratoFilho: ContémlblContratoFilhoetxtContratoFilho. Visibilidade controlada dinamicamente.divCentroResultado: ContémlblCentroResultadoetxtCentroResultado. Visibilidade controlada dinamicamente.- Botões de Ação (acima da grid):
panel_botoes_secao(contémbtnSalvar,btnLimpar,btnVoltar) - Seção de Pesquisa:
upnPesquisa - Subtítulo:
<h2>Setores Cadastrados</h2> - Campos de Pesquisa:
lblPesquisa,txtPesquisa,btnPesquisar - Grid de Setores Cadastrados:
gdvSetorSST
🛡️ 5. Regras de Negócio
5.1. Validações de Campos
- txtContratoMae:
- Campo Obrigatório: “Campo Contrato Mãe é Obrigatório.” (Summary)
- Campo Inválido: “Campo Inválido.” (Formato), “Campo Contrato Mãe é Inválido.” (Summary)
- txtDescricaoSetorSST:
- Campo Obrigatório: “Campo descrição Setor SST é obrigatório.” (Summary)
- lsSituacao:
- Campo Obrigatório: “Campo Situação é obrigatório.” (Summary)
- Campo Inválido: “Campo Situação deve conter uma das sugetões.” (Summary)
- Setor SST Existente:
- Se a descrição do setor SST já estiver cadastrada para a mesma estrutura (Empresa/Centro de Resultado ou Contrato), exibe a mensagem: “Setor já cadastrado para o {estrutura} selecionado.” (Validacoes() no CadastrarSetorSST.aspx.cs)
- Alteração de Contrato Vinculado:
- Ao tentar salvar um setor SST existente, se o contrato filho for alterado e houver empregados vinculados a esse setor, exibe a mensagem: “Contrato vinculado ao Setor SST não pode ser alterado pois está referenciado por algum empregado.” (Salvar() no CadastrarSetorSST.aspx.cs)
- Edição de Setor SST Vinculado:
- Ao tentar editar um setor SST que possui histórico no registro de empregados, exibe a mensagem: “Não é possível realizar alteração no Setor SST que possui histórico no registro de empregados. Favor verificar.” (ValidarPreeencherCampos() no CadastrarSetorSST.aspx.cs)
5.2. Regras de Habilitação/Desabilitação e Visibilidade
- Permissão de Salvar: O botão
btnSalvaré desabilitado se o usuário não possuir a permissãoCadastrarSetorSST.Salvar(CarregarPermissoes() no CadastrarSetorSST.aspx.cs). - Adaptação por Tipo de Estrutura Gerencial (ConfigurarPorTipoEstruturaGerencial() no CadastrarSetorSST.aspx.cs):
- Se
Empresa.TipoEstruturaGerencialforCentroResultado: UtilizaCentroResultadoétrue.- Coluna “Contrato” (
gdvSetorSST.Columns[0]) na grid é ocultada. divContratoMaeetxtContratoMaesão ocultados etxtContratoMae.Obrigatorioéfalse.divContratoFilhoetxtContratoFilhosão ocultados etxtContratoFilho.Obrigatorioéfalse.divCentroResultadoetxtCentroResultadosão exibidos etxtCentroResultado.Obrigatorioéfalse.- Se
Contrato.CarregarContratoCentroResultadoretornar um contrato,txtContratoFilho.IdContratoSelecionadoé preenchido. - Caso contrário (estrutura gerencial não for por Centro de Resultado):
UtilizaCentroResultadoéfalse.- Coluna “Centro de Resultado” (
gdvSetorSST.Columns[1]) na grid é ocultada. divContratoMaeetxtContratoMaesão exibidos etxtContratoMae.Obrigatorioétrue.divCentroResultadoetxtCentroResultadosão ocultados etxtCentroResultado.Obrigatorioéfalse.- Visibilidade dos botões Editar e Excluir na Grid: Os botões
btnEditarebtnExcluirem cada linha da grid são visíveis apenas se o campoSST_Vinculadoda linha forfalse(gdvSetorSST no CadastrarSetorSST.aspx).
5.3. Regras de Inativação e Exclusão
- Exclusão de Setor SST Vinculado:
- Um setor SST não pode ser excluído se estiver referenciado por algum empregado (
EmpregadoSetorSST.ExisteSetorSSTVinculadoEmpregado). Se houver vínculo, exibe a mensagem “Setor SST não pode ser excluído pois está referenciado por algum empregado.” (Excluir() no CadastrarSetorSST.aspx.cs). - Se não houver vínculo, o setor SST é excluído (
SetorSST.Delete).
5.4. Regras de Salvar e Fluxo de Configuração
- Salvar (Salvar() no CadastrarSetorSST.aspx.cs):
- Se
IdSetorSSTtiver valor (edição): - Carrega o objeto
SetorSSTexistente. - Verifica se o contrato filho foi alterado e se há empregados vinculados ao setor (
EmpregadoSetorSST().ExisteSetorSSTVinculadoEmpregado). Se sim, impede a alteração e retornafalse. - Se
IdSetorSSTnão tiver valor (novo cadastro): - Cria um novo objeto
SetorSST. - Se
txtContratoFilho.IdContratoSelecionadotiver valor, adiciona-o à lista de contratos a serem salvos. - Caso contrário, lista os contratos filhos a partir do contrato mãe (
objContrato.ListarIdContratoFilhoPorContratoMae). - Itera sobre a lista de contratos (seja um único contrato filho ou múltiplos do contrato mãe):
- Associa
Empresa(comCodigoEmpresa). - Associa
ContratoMae(setxtContratoMae.IdContratoSelecionadotiver valor). - Associa
ContratoFilho(com oidContratoda iteração). - Associa
CentroResultado(setxtCentroResultado.IdCentroResultadoSelecionadotiver valor). - Define
DescricaoSetorSSTcom o texto detxtDescricaoSetorSST. - Define
FlagInativocom base no valor delsSituacao(decimal.One.ToString() para inativo, decimal.Zero.ToString() para ativo). - Chama
objSetorSST.Salvar(objSetorSST). - Cria um novo objeto
SetorSSTpara a próxima iteração (se houver múltiplos contratos filhos). - Em caso de sucesso, retorna
true. Em caso de exceção, exibe mensagem de erro e retornafalse.
5.5. Outras Regras Específicas da Tela
- Inicialização (Inicializar() no CadastrarSetorSST.aspx.cs):
- Carrega as permissões do usuário (
CarregarPermissoes()). - Configura os campos de UserControl (
ConfiguraCampos()). - Adapta a tela ao tipo de estrutura gerencial da empresa (
ConfigurarPorTipoEstruturaGerencial()). - Preenche os campos (se estiver em modo de edição) e carrega a lista de situação (
PreencherCampos()). - Carrega a grid de setores SST (
CarregarGrid()). - Limpar Campos (LimparCampos() no CadastrarSetorSST.aspx.cs):
- Limpa as propriedades
IdSetorSST(da sessão),IdContratoSelecionado,IdEmpresa,IdFilialdos controlestxtContratoMae,txtContratoFilho,txtCentroResultado. - Limpa o texto de
txtDescricaoSetorSST. - O
IdContratoSelecionadodetxtContratoFilhoé mantido seUtilizaCentroResultadofortrue. - Preencher Campos (PreencherCampos() no CadastrarSetorSST.aspx.cs):
- Carrega a
lsSituacaocom as opções “Ativo” (0) e “Inativo” (1). - Define o valor inicial de
lsSituacaocomo “Ativo” (0). - Se
IdSetorSSTfor maior que 0 (modo de edição): - Carrega o objeto
SetorSSTpeloIdSetorSST. - Preenche
txtContratoMae.IdContratoSelecionado,txtContratoFilho.IdContratoSelecionado,txtCentroResultado.IdCentroResultadoSelecionado,txtDescricaoSetorSST.TextelsSituacao.ValorBooleanocom os dados do objeto. - Atualiza o
UpdatePanelupnGeral. - Alteração de Contrato Mãe (txtContratoMae_ValorAlterado() no CadastrarSetorSST.aspx.cs):
- Define
txtContratoFilho.IdContratoMaecom o valor selecionado emtxtContratoMae. - Limpa os campos de
txtContratoFilho. - Alteração de Contrato Filho (txtContratoFilho_ValorAlterado() no CadastrarSetorSST.aspx.cs):
- Se
txtContratoFilho.IdContratoSelecionadotiver valor: - Carrega o objeto
Contratocorrespondente (Contrato.LoadObject). - Se o contrato tiver
FilialGestora, preenchetxtContratoMae.IdContratoSelecionado(se houver contrato mãe) etxtContratoFilho.IdFilial. - Define o foco para
txtDescricaoSetorSST. - Alteração de Centro de Resultado (txtCentroResultado_ValorAlterado() no CadastrarSetorSST.aspx.cs):
- Se
txtCentroResultado.IdCentroResultadoSelecionadotiver valor: - Carrega o objeto
CentroResultadocorrespondente (CentroResultado.LoadObject). - Se o centro de resultado tiver
Filial, preenchetxtCentroResultado.IdFilial. - Define o foco para
txtDescricaoSetorSST.
🔄 6. Fluxos Principais
6.1. Inicialização da Tela (Page_Load)
Page_Load(executado apenas no primeiro carregamento da página,!IsPostBack)Inicializar():
CarregarPermissoes():- Carrega as permissões do usuário logado para a categoria
CadastrarSetorSST(Usuario.CarregarPermissoes). - Se o usuário não tiver a permissão
CadastrarSetorSST.Visualizar, redireciona para a página de acesso negado (Response.Redirect(Configuracao.UrlAcessoNegado)). - Se o usuário não tiver a permissão
CadastrarSetorSST.Salvar, o botãobtnSalvaré desabilitado. ConfiguraCampos():- Define
IdEmpresaeIdUsuariopara os UserControlstxtContratoMae,txtContratoFilhoetxtCentroResultadocom base noIdEmpresaLogada()eCodigoUsuarioLogado. ConfigurarPorTipoEstruturaGerencial():- Carrega o objeto
Empresalogada (Empresa.LoadObject). - Verifica o
TipoEstruturaGerencialda empresa. - Se for
CentroResultado: - Define
UtilizaCentroResultado = true. - Oculta a coluna “Contrato” na
gdvSetorSST. - Oculta e desabilita
txtContratoMaeetxtContratoFilho. - Exibe e habilita
txtCentroResultado. - Tenta carregar um contrato associado ao centro de resultado (
Contrato.CarregarContratoCentroResultado) e preenchetxtContratoFilho.IdContratoSelecionadose encontrado. - Caso contrário:
- Define
UtilizaCentroResultado = false. - Oculta a coluna “Centro de Resultado” na
gdvSetorSST. - Exibe e habilita
txtContratoMae. - Oculta e desabilita
txtCentroResultado. PreencherCampos():- Carrega a
lsSituacaocom as opções “Ativo” e “Inativo”. - Define o valor padrão de
lsSituacaocomo “Ativo”. - Se
IdSetorSST(da sessão) tiver valor (modo de edição): - Carrega o objeto
SetorSST(SetorSST.LoadObject). - Preenche os campos
txtContratoMae.IdContratoSelecionado,txtContratoFilho.IdContratoSelecionado,txtCentroResultado.IdCentroResultadoSelecionado,txtDescricaoSetorSST.TextelsSituacao.ValorBooleanocom os dados do setor. - Atualiza o
UpdatePanelupnGeral. CarregarGrid():- Carrega a
gdvSetorSSTcom os dados retornados porSetorSST.ListarSetorSST, aplicando filtros de pesquisa, ordenação e paginação.
6.2. Salvar Setor SST (btnSalvar_Click)
btnSalvar_ClickUtil.ValidaPermissaoUsuario(): Verifica se o usuário tem a permissãoCadastrarSetorSST.Salvar. Se não, exibe mensagem de aviso e interrompe o fluxo.Validacoes():
- Verifica se a descrição do setor SST já existe para a estrutura selecionada (
SetorSST.ExisteSetor). Se sim, exibe mensagem de aviso e retornafalse. - Se todas as validações passarem, retorna
true.
- Se
Validacoes()retornartrue:
Salvar():- Se
IdSetorSSTtiver valor (edição): - Carrega o
SetorSSTexistente (SetorSST.LoadObject). - Verifica se o
IdContratoSelecionadodetxtContratoFilhofoi alterado e se o setor possui vínculo com empregados (EmpregadoSetorSST().ExisteSetorSSTVinculadoEmpregado). Se sim, exibe mensagem de erro e retornafalse. - Se
IdSetorSSTnão tiver valor (novo cadastro), cria um novoSetorSST. - Determina a lista de
idContratopara salvar: setxtContratoFilho.IdContratoSelecionadotiver valor, usa-o; caso contrário, lista os contratos filhos do contrato mãe (Contrato.ListarIdContratoFilhoPorContratoMae). - Itera sobre cada
idContratona lista: - Popula as propriedades do objeto
objSetorSST(Empresa, ContratoMae, ContratoFilho, CentroResultado, DescricaoSetorSST, FlagInativo). - Chama
objSetorSST.Salvar(objSetorSST)para persistir os dados. - Para múltiplos contratos filhos, reinicializa
objSetorSSTpara o próximo. - Retorna
trueem caso de sucesso,falseem caso de exceção.
- Se
Salvar()retornartrue:
- Exibe mensagem de sucesso (
MensagemAviso._100001). CarregarGrid(): Recarrega a grid para refletir as alterações.LimparCampos(): Limpa os campos do formulário.
- Em caso de exceção durante o
btnSalvar_Clickou seSalvar()retornarfalse, exibe mensagem de erro.
6.3. Limpar Campos (btnLimpar_Click)
btnLimpar_ClickLimparCampos():
- Define
IdSetorSST = null(limpa a sessão). - Limpa
IdContratoSelecionado,IdEmpresa,IdFilialdos controlestxtContratoMae,txtContratoFilhoetxtCentroResultado. - Limpa o texto de
txtDescricaoSetorSST.
6.4. Voltar (btnVoltar_Click)
btnVoltar_Click- Redireciona o navegador para
~/MenuMaisOpcoes.aspx?ID=A.
6.5. Pesquisar Setores SST (btnPesquisar_OnClick)
btnPesquisar_OnClickCarregarGrid(): Recarrega agdvSetorSSTaplicando o texto de pesquisa detxtPesquisa.
6.6. Ações na Grid (gdvSetorSST_RowCommand)
gdvSetorSST_RowCommand- Verifica se o
CommandNameé “Editar” ou “Excluir”. - Extrai
rowIndexedataKeyValue(que é oIdf_Setor_SST) da linha clicada. - Armazena
dataKeyValuena propriedadeIdSetorSST(sessão). - Case “Editar”:
ValidarPreeencherCampos(dataKeyValue):- Verifica se o setor SST possui vínculo com empregados (
EmpregadoSetorSST().ExisteSetorSSTVinculadoEmpregado). Se sim, exibe mensagem de erro e retorna. - Se não houver vínculo, chama
PreencherCampos()para carregar os dados do setor no formulário.
- Case “Excluir”:
Excluir(dataKeyValue):- Verifica se o setor SST possui vínculo com empregados (
EmpregadoSetorSST().ExisteSetorSSTVinculadoEmpregado). Se sim, exibe mensagem de erro e retorna. - Se não houver vínculo, chama
SetorSST.Delete(dataKeyValue)para excluir o setor. - Exibe mensagem de sucesso (
MensagemAviso._100002) ou erro. - Limpa os campos (
LimparCampos()) e recarrega a grid (CarregarGrid()).
6.7. Recarregar Grid (gdvSetorSST_CarregarGrid)
gdvSetorSST_CarregarGrid(evento disparado pelo controleEmployerGridpara paginação/ordenação)CarregarGrid(): Recarrega a grid com os parâmetros atuais.
6.8. Eventos de Alteração de Valor nos UserControls
- txtContratoMae_ValorAlterado:
- Define
txtContratoFilho.IdContratoMaecom oIdContratoSelecionadodetxtContratoMae. - Limpa os campos de
txtContratoFilho. - txtContratoFilho_ValorAlterado:
- Se
txtContratoFilho.IdContratoSelecionadotiver valor: - Carrega o objeto
Contrato(Contrato.LoadObject). - Se o contrato tiver
FilialGestora, preenchetxtContratoMae.IdContratoSelecionado(se houver contrato mãe) etxtContratoFilho.IdFilial. - Define o foco para
txtDescricaoSetorSST. - txtCentroResultado_ValorAlterado:
- Se
txtCentroResultado.IdCentroResultadoSelecionadotiver valor: - Carrega o objeto
CentroResultado(CentroResultado.LoadObject). - Se o centro de resultado tiver
Filial, preenchetxtCentroResultado.IdFilial. - Define o foco para
txtDescricaoSetorSST.
🔌 7. Integrações e Dependências
7.1. Classes BLL e Service utilizadas
-
Employer.Plataforma.BLL.CentroResultado
-
Arquivos:
C:\Webfopag\Etec.WebFopag\Employer.Plataforma.BLL\CentroResultado_P1.cs,C:\Webfopag\Etec.WebFopag\Employer.Plataforma.BLL\CentroResultado_P2.cs -
Métodos chamados:
-
LoadObject(int idCentroResultado): Carrega um objetoCentroResultadopelo seu ID. Utilizado para obter detalhes do centro de resultado selecionado, como a filial associada. -
Employer.Plataforma.BLL.Contrato
-
Arquivos:
C:\Webfopag\Etec.WebFopag\Employer.Plataforma.BLL\Contrato_P1.cs,C:\Webfopag\Etec.WebFopag\Employer.Plataforma.BLL\Contrato_P2.cs,C:\Webfopag\Etec.WebFopag\Employer.Plataforma.BLL\Contrato_P3.cs -
Métodos chamados:
-
CarregarContratoCentroResultado(int idEmpresa, out Contrato objContrato): Carrega um contrato que é um centro de resultado para a empresa especificada. Usado para preencher o contrato filho quando a estrutura gerencial da empresa é por centro de resultado. -
LoadObject(int idContrato): Carrega um objetoContratopelo seu ID. Utilizado para obter detalhes do contrato filho selecionado, como seu contrato mãe e filial gestora. -
ListarIdContratoFilhoPorContratoMae(int idEmpresa, int idContratoMae, int idUsuario): Retorna uma lista de IDs de contratos filhos associados a um contrato mãe específico, considerando a empresa e o usuário. Usado no processo de salvar quando um contrato mãe é selecionado, mas não um contrato filho específico. -
Employer.Plataforma.BLL.Empresa
-
Arquivos:
C:\Webfopag\Etec.WebFopag\Employer.Plataforma.BLL\Empresa_P1.cs,C:\Webfopag\Etec.WebFopag\Employer.Plataforma.BLL\Empresa_P2.cs,C:\Webfopag\Etec.WebFopag\Employer.Plataforma.BLL\Empresa_P3.cs -
Métodos chamados:
-
LoadObject(int idEmpresa): Carrega um objetoEmpresapelo seu ID. Utilizado para determinar oTipoEstruturaGerencialda empresa logada e adaptar a interface da tela. -
Employer.Plataforma.BLL.SetorSST
-
Arquivos:
C:\Webfopag\Etec.WebFopag\Employer.Plataforma.BLL\SetorSST_P1.cs,C:\Webfopag\Etec.WebFopag\Employer.Plataforma.BLL\SetorSST_P2.cs -
Métodos chamados:
-
Delete(int idSetorSST): Exclui um setor SST do banco de dados com base no seu ID. -
ListarSetorSST(int idEmpresa, string pesquisa, string colunaOrdenada, string direcaoOrdenacao, int pageSize, int pageIndex, out int total): Retorna uma lista paginada e ordenada de setores SST para uma empresa, com opção de filtro por texto de pesquisa. -
LoadObject(int idSetorSST): Carrega um objetoSetorSSTpelo seu ID. Usado para preencher os campos da tela em modo de edição e para obter dados para validações. -
ExisteSetor(int idEmpresa, int? idCentroResultado, int? idContratoMae, int? idContratoFilho, int? idSetorSST, string descricaoSetorSST): Verifica a existência de um setor SST com a mesma descrição para a combinação de empresa, centro de resultado, contrato mãe e contrato filho. Usado para evitar duplicidade no cadastro. -
Employer.Plataforma.Web.Code.UIHelper
-
Arquivo:
C:\Webfopag\Etec.WebFopag\Employer.Plataforma.Web.Code\UIHelper.cs -
Métodos chamados:
-
CarregarGridView(GridView grid, object dataSource, int totalRecords): Método utilitário para vincular uma fonte de dados a umGridViewe configurar a paginação. -
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 chamados:
-
CarregarPermissoes(Usuario usuario, Enum.CategoriaPermissao categoriaPermissao): Carrega as permissões de um usuário para uma categoria de permissão específica. Usado para controle de acesso e funcionalidades da tela. -
Employer.Plataforma.BLL.Util
-
Arquivo:
C:\Webfopag\Etec.WebFopag\Employer.Plataforma.BLL\Util.cs -
Métodos chamados:
-
ValidaPermissaoUsuario(List<int> permissoes, int permissao): Verifica se uma permissão específica está contida na lista de permissões do usuário. Usado para validar a permissão de salvar. -
Employer.Plataforma.BLL.EmpregadoSetorSST
-
Arquivos:
C:\Webfopag\Etec.WebFopag\Employer.Plataforma.BLL\EmpregadoSetorSST_P1.cs,C:\Webfopag\Etec.WebFopag\Employer.Plataforma.BLL\EmpregadoSetorSST_P2.cs -
Métodos chamados:
-
ExisteSetorSSTVinculadoEmpregado(int idSetorSST, int idEmpresa): Verifica se um setor SST está atualmente vinculado a algum empregado na empresa. Usado para impedir exclusão ou alteração de contrato de setores com vínculos.
7.2. Stored Procedures chamadas
- SP_SETOR_SST_DELETE
- Arquivo BLL onde aparece:
C:\Webfopag\Etec.WebFopag\Employer.Plataforma.BLL\SetorSST_P1.cs - Parâmetros SQL:
@Idf_Setor_SST - Propósito: Exclui um registro da tabela
TAB_Setor_SSTcom base no identificador do setor SST. - SP_SETOR_SST_LISTAR
- Arquivo BLL onde aparece:
C:\Webfopag\Etec.WebFopag\Employer.Plataforma.BLL\SetorSST_P1.cs - Parâmetros SQL:
@Idf_Empresa,@Des_Pesquisa,@Nom_Coluna_Ordenacao,@Des_Direcao_Ordenacao,@Num_Pagina,@Num_Linhas_Pagina,@Num_Total_Registros - Propósito: Retorna uma lista paginada e ordenada de setores SST para uma empresa, permitindo filtragem por descrição.
- SP_SETOR_SST_LOAD
- Arquivo BLL onde aparece:
C:\Webfopag\Etec.WebFopag\Employer.Plataforma.BLL\SetorSST_P1.cs - Parâmetros SQL:
@Idf_Setor_SST - Propósito: Carrega os dados de um setor SST específico da tabela
TAB_Setor_SSTcom base no seu identificador. - SP_SETOR_SST_EXISTE
- Arquivo BLL onde aparece:
C:\Webfopag\Etec.WebFopag\Employer.Plataforma.BLL\SetorSST_P1.cs - Parâmetros SQL:
@Idf_Empresa,@Idf_Centro_Resultado,@Idf_Contrato_Mae,@Idf_Contrato_Filho,@Idf_Setor_SST,@Des_Setor_SST - Propósito: Verifica a existência de um setor SST com a mesma descrição para a combinação de empresa, centro de resultado, contrato mãe e contrato filho.
- SP_SETOR_SST_SALVAR
- Arquivo BLL onde aparece:
C:\Webfopag\Etec.WebFopag\Employer.Plataforma.BLL\SetorSST_P1.cs - Parâmetros SQL:
@Idf_Setor_SST,@Idf_Empresa,@Idf_Contrato_Mae,@Idf_Contrato_Filho,@Idf_Centro_Resultado,@Des_Setor_SST,@Flg_Inativo - Propósito: Insere um novo registro ou atualiza um existente na tabela
TAB_Setor_SST. - SP_EMPREGADO_SETOR_SST_EXISTE_VINCULO
- Arquivo BLL onde aparece:
C:\Webfopag\Etec.WebFopag\Employer.Plataforma.BLL\EmpregadoSetorSST_P1.cs - Parâmetros SQL:
@Idf_Setor_SST,@Idf_Empresa - Propósito: Verifica se existe algum empregado vinculado a um setor SST específico para uma dada empresa.
- SP_CONTRATO_CARREGAR_CONTRATO_CENTRO_RESULTADO
- Arquivo BLL onde aparece:
C:\Webfopag\Etec.WebFopag\Employer.Plataforma.BLL\Contrato_P1.cs - Parâmetros SQL:
@Idf_Empresa - Propósito: Carrega o contrato que atua como centro de resultado para a empresa especificada.
- SP_CONTRATO_LOAD
- Arquivo BLL onde aparece:
C:\Webfopag\Etec.WebFopag\Employer.Plataforma.BLL\Contrato_P1.cs - Parâmetros SQL:
@Idf_Contrato - Propósito: Carrega os dados de um contrato específico da tabela
TAB_Contrato. - SP_CONTRATO_LISTAR_ID_CONTRATO_FILHO_POR_CONTRATO_MAE
- Arquivo BLL onde aparece:
C:\Webfopag\Etec.WebFopag\Employer.Plataforma.BLL\Contrato_P1.cs - Parâmetros SQL:
@Idf_Empresa,@Idf_Contrato_Mae,@Idf_Usuario - Propósito: Lista os identificadores dos contratos filhos associados a um contrato mãe, considerando a empresa e o usuário.
- SP_EMPRESA_LOAD
- Arquivo BLL onde aparece:
C:\Webfopag\Etec.WebFopag\Employer.Plataforma.BLL\Empresa_P1.cs - Parâmetros SQL:
@Idf_Empresa - Propósito: Carrega os dados de uma empresa específica da tabela
TAB_Empresa. - SP_USUARIO_CARREGAR_PERMISSOES
- Arquivo BLL onde aparece:
C:\Webfopag\Etec.WebFopag\Employer.Plataforma.BLL\Usuario_P1.cs - Parâmetros SQL:
@Idf_Usuario,@Idf_Categoria_Permissao - Propósito: Carrega as permissões de um usuário para uma categoria de permissão específica.
- SP_CENTRO_RESULTADO_LOAD
- Arquivo BLL onde aparece:
C:\Webfopag\Etec.WebFopag\Employer.Plataforma.BLL\CentroResultado_P1.cs - Parâmetros SQL:
@Idf_Centro_Resultado - Propósito: Carrega os dados de um centro de resultado específico da tabela
TAB_Centro_Resultado.
7.3. UserControls incluídos (.ascx)
- Employer:LocalizarContrato
- Caminho:
~/UserControls/LocalizarContrato.ascx(assumido, padrão da plataforma) - IDs:
txtContratoMae,txtContratoFilho - Propriedades expostas:
Width,Obrigatorio,ValidationGroup,MensagemErroFormato,MensagemErroFormatoSummary,MensagemErroObrigatorio,MensagemErroObrigatorioSummary,TipoDeContrato,IdEmpresa,IdUsuario,IdContratoSelecionado,IdFilial,IdContratoMae. - Eventos:
ValorAlterado(mapeado paratxtContratoMae_ValorAlterado,txtContratoFilho_ValorAlterado) - Métodos públicos chamados pela tela pai:
LimparCampos() - Employer:LocalizarCentroResultado
- Caminho:
~/UserControls/LocalizarCentroResultado.ascx(assumido, padrão da plataforma) - ID:
txtCentroResultado - Propriedades expostas:
ValidationGroup,TipoCentroResultado,MensagemErroObrigatorioSummary,MensagemErroFormatoSummary,IdEmpresa,IdUsuario,IdCentroResultadoSelecionado,IdFilial. - Eventos:
ValorAlterado(mapeado paratxtCentroResultado_ValorAlterado) - Employer:ControlAlfaNumerico
- Caminho:
~/UserControls/ControlAlfaNumerico.ascx(assumido, padrão da plataforma) - IDs:
txtDescricaoSetorSST,txtPesquisa - Propriedades expostas:
Width,Obrigatorio,ValidationGroup,MensagemErroObrigatorioSummary,Tamanho,CssClass. - Employer:ListaSugestoes
- Caminho:
~/UserControls/ListaSugestoes.ascx(assumido, padrão da plataforma) - ID:
lsSituacao - Propriedades expostas:
Obrigatorio,MensagemErroObrigatorioSummary,MensagemErroInvalidoSummary,ValidationGroup,Valor,ValorBooleano. - Métodos públicos chamados pela tela pai:
CarregarListaSugestoes(Dictionary<string, string> dataSource) - Employer:EmployerGrid
- Caminho:
~/UserControls/EmployerGrid.ascx(assumido, padrão da plataforma) - ID:
gdvSetorSST - Propriedades expostas:
AutoGenerateColumns,CellSpacing,CssClass,AlternatingRowStyle-CssClass,SkinID,HeaderStyle-CssClass,AllowPaging,AllowSorting,DataKeyNames,EmptyDataText,MockDirecaoOrdenacao,MockColunaOrdenada,PageSize,MockPageIndex. - Eventos:
RowCommand(mapeado paragdvSetorSST_RowCommand),CarregarGrid(mapeado paragdvSetorSST_CarregarGrid)
7.4. WebServices, APIs externas, filas
Não foram identificadas chamadas diretas a WebServices, APIs externas ou filas RabbitMQ no código-fonte analisado para esta tela.
8. Mensagens ao Usuário
- “Setor SST não pode ser excluído pois está referenciado por algum empregado.” (TipoMensagem.Erro - Excluir() no CadastrarSetorSST.aspx.cs)
- “Erro ao excluir Setor SST” (TipoMensagem.Erro - Excluir() no CadastrarSetorSST.aspx.cs)
- “Setor já cadastrado para o {estrutura} selecionado.” (TipoMensagem.Aviso - Validacoes() no CadastrarSetorSST.aspx.cs)
- “Contrato vinculado ao Setor SST não pode ser alterado pois está referenciado por algum empregado.” (TipoMensagem.Erro - Salvar() no CadastrarSetorSST.aspx.cs)
- “Não é possível realizar alteração no Setor SST que possui histórico no registro de empregados. Favor verificar.” (TipoMensagem.Erro - ValidarPreeencherCampos() no CadastrarSetorSST.aspx.cs)
- “Usuário não tem permissão para executar essa operação!” (TipoMensagem.Aviso - btnSalvar_Click no CadastrarSetorSST.aspx.cs)
MensagemAviso._100002: Mensagem de sucesso após a exclusão de um setor SST.MensagemAviso._100001: Mensagem de sucesso após o salvamento (cadastro ou edição) de um setor SST.
9. Permissões e Perfis
Enum.Permissoes.CadastrarSetorSST.Visualizar:- Controla o acesso à tela. Se o usuário não possuir esta permissão, ele é redirecionado para a página de acesso negado (
Configuracao.UrlAcessoNegado). (CarregarPermissoes() no CadastrarSetorSST.aspx.cs) Enum.Permissoes.CadastrarSetorSST.Salvar:- Controla a habilitação do botão “Salvar” (
btnSalvar.Enabled = falsese a permissão estiver ausente). (CarregarPermissoes() no CadastrarSetorSST.aspx.cs) - É verificada explicitamente antes da execução da lógica de salvar, exibindo uma mensagem de aviso se o usuário não tiver a permissão. (btnSalvar_Click no CadastrarSetorSST.aspx.cs)
10. Aprofundamento — Detalhes Internos de Métodos
Com certeza! Vou consolidar e detalhar a documentação dos métodos internos para as classes CentroResultado, Contrato e Empresa com base em todo o código que você me forneceu.
Employer.Plataforma.BLL.CentroResultado
Arquivos:
C:\Webfopag\Etec.WebFopag\Employer.Plataforma.BLL\CentroResultado_P1.csC:\Webfopag\Etec.WebFopag\Employer.Plataforma.BLL\CentroResultado_P2.cs
Métodos
| Método | Assinatura | Propósito |
|---|---|---|
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 de CentroResultado. |
Insert | private void Insert() | Insere uma nova instância de CentroResultado no banco de dados. |
Insert | private void Insert(SqlTransaction trans) | Insere uma nova instância de CentroResultado no banco de dados dentro de uma transação. |
Update | private void Update() | Atualiza uma instância existente de CentroResultado no banco de dados. |
Update | private void Update(SqlTransaction trans) | Atualiza uma instância existente de CentroResultado no banco de dados dentro de uma transação. |
Save | public void Save() | Salva uma instância de CentroResultado (insere se for nova, atualiza se já existir). |
Save | public void Save(SqlTransaction trans) | Salva uma instância de CentroResultado dentro de uma transação. |
Delete | public static void Delete(int idCentroResultado) | Exclui um CentroResultado pelo seu ID. |
Delete | public static void Delete(int idCentroResultado, SqlTransaction trans) | Exclui um CentroResultado pelo seu ID dentro de uma transação. |
Delete | public static void Delete(List<int> idCentroResultado) | Exclui uma lista de CentroResultado por seus IDs. |
LoadDataReader | private static IDataReader LoadDataReader(int idCentroResultado) | Retorna um IDataReader com as colunas de um registro de CentroResultado pelo ID. |
LoadDataReader | private static IDataReader LoadDataReader(int idCentroResultado, SqlTransaction trans) | Retorna um IDataReader com as colunas de um registro de CentroResultado pelo ID 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 de CentroResultado. |
LoadObject | public static CentroResultado LoadObject(int idCentroResultado) | Retorna uma instância de CentroResultado a partir do banco de dados pelo ID. |
LoadObject | public static CentroResultado LoadObject(int idCentroResultado, SqlTransaction trans) | Retorna uma instância de CentroResultado a partir do banco de dados pelo ID dentro de uma transação. |
CompleteObject | public bool CompleteObject() | Completa a instância atual de CentroResultado com dados do banco de dados. |
CompleteObject | public bool CompleteObject(SqlTransaction trans) | Completa a instância atual de CentroResultado com dados do banco de dados dentro de uma transação. |
SetInstance | private static bool SetInstance(IDataReader dr, CentroResultado objCentroResultado) | Método auxiliar utilizado pelos métodos LoadObject e CompleteObject para percorrer um IDataReader e vincular as colunas com os atributos da classe. |
ListarCRsCadastradosDS | public static DataSet ListarCRsCadastradosDS(Empresa objEmpresa) | Lista os Centros de Resultado cadastrados para uma empresa em um DataSet. |
ListarCRsCadastradosPaginado | public static DataTable ListarCRsCadastradosPaginado(int idEmpresa, int pagina, int tamPagina, string ordem, string direcaoOrdem, out int numRegistros) | Lista os Centros de Resultado cadastrados para uma empresa de forma paginada em um DataTable. |
CodigoReduzidoJaUsado | public static Boolean CodigoReduzidoJaUsado(String codigoReduzido, Empresa objEmpresa, CentroResultado objCentroResultado) | Verifica se um código reduzido já está em uso para um Centro de Resultado em uma empresa. |
DefinirResponsavel | public void DefinirResponsavel(PessoaFisica objPessoaFisica, SqlTransaction objTransaction) | Define o responsável atual para o Centro de Resultado. |
ExcluirCentroResultado | public static void ExcluirCentroResultado(int idEmpresa, int? idFilial, CentroResultado objCentroResultado, int idUsuarioLogado) | Exclui um Centro de Resultado e seus vínculos. |
InativarSupervisorCR | public static void InativarSupervisorCR(int idEmpresa, int? idFilial, CentroResultado objCentroResultado, ResponsavelCentroResultado objResponsavel, int idUsuarioLogado, SqlTransaction objTransaction) | Inativa o supervisor de CR e remove o vínculo de empregados. |
QuantidadeNiveisEmpresa | public static int QuantidadeNiveisEmpresa(Empresa objEmpresa) | Retorna a quantidade de níveis de CR existentes na empresa. |
QuantidadeNiveisEmpresa | public static int QuantidadeNiveisEmpresa(SqlTransaction objTransaction, Empresa objEmpresa) | Retorna a quantidade de níveis de CR existentes na empresa dentro de uma transação. |
ListarRelatorioCentroResultado | public static DataTable ListarRelatorioCentroResultado(Empresa objEmpresa, int situacao, CentroResultado objCrSuperior) | Lista Centros de Resultado para relatório, com filtros de situação e CR superior. |
SetInstance2 | private static bool SetInstance2(IDataReader dr, CentroResultado objCentroResultado) | Método auxiliar para preencher uma instância de CentroResultado a partir de um IDataReader (similar ao SetInstance). |
CarregarPorCentroResultadoSuperior | public static List<CentroResultado> CarregarPorCentroResultadoSuperior(SqlTransaction objTransaction, CentroResultado objCentroResultadoSuperior) | Carrega todos os Centros de Resultado filhos diretamente conectados a um CR superior (não recursivo). |
AtualizarEstrutura | public static void AtualizarEstrutura(SqlTransaction objTransaction, CentroResultado objCentroResultadoSuperior, String estruturaAntiga) | Atualiza a estrutura dos Centros de Resultado filhos de um CR superior. |
VerificarFilhos | public static Boolean VerificarFilhos(CentroResultado objCentroResultado, SqlTransaction pTrans = null) | Verifica se um Centro de Resultado possui filhos. |
RecuperarCRFilhos | public static DataTable RecuperarCRFilhos(int codEmpresa, int codUsuario, int? idCentroResultado) | Retorna os CRs filhos que o usuário tem permissão. |
RecuperarCRAnaliticos | public static List<int> RecuperarCRAnaliticos(int idEmpresa, int idUsuario, int? idCentroResultado) | Retorna os IDs dos CRs analíticos a partir de um CR sintético. |
RecuperarHistorico | public static DataSet RecuperarHistorico(int Idf_Empregado, String colunaOrdenada, String tipoOrdenacao, int tamanhoPagina, int paginaCorrente, out int total) | Recupera o histórico de CR de um funcionário de forma paginada. |
CarregarCentroResultadoPorDescEstCentResul | public static DataTable CarregarCentroResultadoPorDescEstCentResul(String Des_Estrutura_Centro_Resultado, int idempresa) | Carrega Centros de Resultado por descrição da estrutura e ID da empresa. |
ListarIDCentroResultadoAnaliticoAtivos | public static List<int> ListarIDCentroResultadoAnaliticoAtivos(int? pIdEmpresa, int? pIdCentroResultadoBase) | Carrega IDs de CRs analíticos ativos de uma empresa, opcionalmente a partir de um CR base. |
ListarIDCentroResultadoAnalitico | public static List<int> ListarIDCentroResultadoAnalitico(int? pIdEmpresa, int? pIdCentroResultadoBase, bool? flgInativo = null) | Carrega IDs de CRs analíticos de uma empresa, opcionalmente a partir de um CR base e filtrando por inatividade. |
ListarIDCentroResultadoAnaliticoAtivosRelatorioFolhaPagamento | public static List<int> ListarIDCentroResultadoAnaliticoAtivosRelatorioFolhaPagamento(int? pIdEmpresa, int? pIdCentroResultadoBase) | Carrega IDs de CRs analíticos ativos para relatório de folha de pagamento. |
ListarIDCentroResultadoAnaliticoRelatorioFolhaPagamento | public static List<int> ListarIDCentroResultadoAnaliticoRelatorioFolhaPagamento(int? pIdEmpresa, int? pIdCentroResultadoBase, bool? flgInativo = null) | Carrega IDs de CRs analíticos para relatório de folha de pagamento, com filtro de inatividade. |
ConsultaCentroResultadoPorListIdf | public static DataTable ConsultaCentroResultadoPorListIdf(string IdfCentroResultado, string Pesquisa, string colunaOrdenacao, string direcaoOrdenacao, int paginaCorrente, int tamanhoPagina, out int totalRegistros) | Consulta Centros de Resultado por uma lista de IDs, com pesquisa, ordenação e paginação. |
RecuperarCentroResultadoAnalitico | public static string RecuperarCentroResultadoAnalitico(int? pIdCentroResultado, int pIdEmpresa, bool? flgInativo = false) | Retorna uma string formatada com a lista de IDs de CRs analíticos para uso em queries. |
CarregarIdPorEstrutura | public static bool CarregarIdPorEstrutura(int pIdEmpresa, int? pIdfFilial, string pEstruturaCentroResultado, out int? idCentroResultado) | Carrega o ID de um Centro de Resultado pela estrutura e empresa/filial. |
CarregarPorEstrutura | public static bool CarregarPorEstrutura(int pIdEmpresa, int? pIdfFilial, string pEstruturaCentroResultado, out CentroResultado objCentroResultado, SqlTransaction pTrans = null, int? pIdUsuario = null) | Carrega um objeto CentroResultado pela estrutura, empresa/filial e usuário. |
CarregarPorEstrutura | [Obsolete] public static bool CarregarPorEstrutura(int pIdEmpresa, string pEstruturaCentroResultado, out CentroResultado objCentroResultado) | (Obsoleto) Carrega um objeto CentroResultado pela estrutura e empresa (não filtra por filial). |
CarregarPorEstrutura | public static bool CarregarPorEstrutura(SqlTransaction pTrans, int pIdEmpresa, string pEstruturaCentroResultado, out CentroResultado objCentroResultado) | Carrega um objeto CentroResultado pela estrutura e empresa dentro de uma transação. |
CarregarPorEstrutura | public static bool CarregarPorEstrutura(SqlTransaction pTrans, int pIdEmpresa, int? pIdFilial, string pEstruturaCentroResultado, out CentroResultado objCentroResultado, int? pIdUsuario = null) | Carrega um objeto CentroResultado pela estrutura, empresa/filial e usuário dentro de uma transação. |
CarregarPorEstruturaV2 | public static bool CarregarPorEstruturaV2(int pIdEmpresa, int? pIdfFilial, string pEstruturaCentroResultado, out CentroResultado objCentroResultado, SqlTransaction pTrans = null) | Carrega um objeto CentroResultado pela estrutura, empresa/filial (versão 2). |
CarregarPorEstruturaV2 | public static bool CarregarPorEstruturaV2(int pIdEmpresa, int? pIdfFilial, string pEstruturaCentroResultado, string pNomeCentroResultado, out CentroResultado objCentroResultado) | Carrega um objeto CentroResultado pela estrutura, nome, empresa/filial (versão 2). |
CarregarPorEstruturaV2 | public static CentroResultado CarregarPorEstruturaV2(int pIdEmpresa, int? pIdfFilial, string pEstruturaCentroResultado, string pNomeCentroResultado) | Carrega e retorna um objeto CentroResultado pela estrutura, nome, empresa/filial (versão 2). |
CarregarPorEmpresa | public static List<CentroResultado> CarregarPorEmpresa(int pIdEmpresa) | Carrega uma lista de CentroResultado para uma empresa específica. |
ListarParaImportacao | public static DataTable ListarParaImportacao(int? top, params object[] filtros) | Lista Centros de Resultado para importação dinâmica. |
ListarAutocomplete | public static IDataReader ListarAutocomplete(int count, string prefixText, bool ConsiderarCentroResultadoInativo, int? TipoCentroResultado, int? IdGrupoEconomico, int? IdEmpresa, int? IdFilial, int? IdCentroResultadoSuperior, int? IdCentroResultadoAtual, int? IdUsuario) | Retorna um IDataReader para autocomplete de Centros de Resultado com diversos filtros. |
ListarAutocompleteLista | public static IDataReader ListarAutocompleteLista(int count, string prefixText, bool ConsiderarCentroResultadoInativo, int? TipoCentroResultado, int? IdGrupoEconomico, int? IdEmpresa, int? IdFilial, int? IdCentroResultadoSuperior, int? IdCentroResultadoAtual, int? IdUsuario) | Retorna um IDataReader para autocomplete de Centros de Resultado com filtros (similar ao anterior, mas com construção de query diferente). |
ListarPaginadoComponenteConfLista | public static DataTable ListarPaginadoComponenteConfLista(int pagina, int tamPagina, string ordem, string direcaoOrdem, out int numRegistros, string prefixText, bool ConsiderarCentroResultadoInativo, int? TipoCentroResultado, int? IdGrupoEconomico, int? IdEmpresa, int? IdFilial, int? IdCentroResultadoSuperior, int? IdCentroResultadoAtual, int? IdUsuario, List<int?> lsIdCentroResultado = null) | Lista Centros de Resultado paginados para componente de configuração de lista. |
CarregarComponentePorCodigo | public static IDataReader CarregarComponentePorCodigo(int idCr) | Carrega um IDataReader para componente de Centro de Resultado pelo código. |
CentroCustoBuscaComponentePaginado | public static DataTable CentroCustoBuscaComponentePaginado(int inicio, int fim, string SortExpression, string SortDirection, out int iTotalRegistro, string BuscaTexto) | Busca Centros de Custo paginados para componente. |
CentroCustoListarAutocomplete | public static DataTable CentroCustoListarAutocomplete(string prefixText, int count) | Lista Centros de Custo para autocomplete. |
ListarCentroResultadoAtivo | public static List<CentroResultado> ListarCentroResultadoAtivo(SqlTransaction pTrans, int pIdEmpresa, int? pIdFilial, string pEstruturaCentroResultado, bool flgPermiteLancamento, int? idUsuario = null) | Retorna uma lista de Centros de Resultado ativos com filtros. |
ValidarDadosArquivoImportacao | public static void ValidarDadosArquivoImportacao(LoteImportacao objLote, SqlTransaction trans) | Valida os dados de um arquivo de importação de Centros de Resultado. |
ValidarDadosArquivoImportacaoErrosNosDados | private static LoteImportacao.CriticasValidacaoDados.CriticaLinha ValidarDadosArquivoImportacaoErrosNosDados(BLL.LoteImportacao objLote, SqlTransaction trans, LoteImportacao.DadosArquivo.LinhaValores linha, List<ProcessoArquivoColuna> lsColunas, Dictionary<int, Dictionary<int, string>> dicListasDinamicas) | Valida erros nos dados de uma linha do arquivo de importação. |
ValidarDadosArquivoImportacaoErrosNegocio | private static void ValidarDadosArquivoImportacaoErrosNegocio(BLL.LoteImportacao objLote, SqlTransaction trans, List<ProcessoArquivoColuna> lsColunas, Dictionary<int, Dictionary<int, string>> dicListasDinamicas) | Valida erros de negócio em um arquivo de importação. |
ValidaCentroResultadoDeMesmaEstrutura | private static void ValidaCentroResultadoDeMesmaEstrutura(int idEmpresa, string estrutura, Filial objFilial, CentroResultado objCentroResultadoSuperior, CriticaLinha criticaLinha) | Valida se já existe um Centro de Resultado com a mesma estrutura. |
LancarDadosArquivoImportacao | public static void LancarDadosArquivoImportacao(BLL.LoteImportacao objLote, SqlTransaction trans, List<Guid> lsLinhasLancar, int idUsuarioLogado) | Lança os dados de um arquivo de importação no banco de dados. |
ExcluirLoteImportacao | internal static void ExcluirLoteImportacao(LoteImportacao objLote, SqlTransaction trans) | Exclui um lote de importação de Centros de Resultado. |
ListarIdsCentroResultadoImportados | private static List<int> ListarIdsCentroResultadoImportados(LoteImportacao objLote) | Lista os IDs dos Centros de Resultado importados em um lote. |
ExcluirLinhaLoteCentroResultado | private static void ExcluirLinhaLoteCentroResultado(LoteImportacao objLote, SqlTransaction trans) | Exclui as linhas de um lote de importação de Centros de Resultado. |
BuscaCentroResultadoPorCodigoEstrutura | public static bool BuscaCentroResultadoPorCodigoEstrutura(string pDesEstruturaCR, int pIdEmpresa, out CentroResultado ojbCentroResultado) | Busca um Centro de Resultado por código de estrutura e empresa. |
VerificarExistenciaPorEstruturaCentroResultado | public static int VerificarExistenciaPorEstruturaCentroResultado(int pIdEmpresa, int? pIdfFilial, string pEstruturaCentroResultado, SqlTransaction pTrans = null) | Verifica a existência de um Centro de Resultado por estrutura, empresa e filial. |
ValidaCentroResultado | public static bool ValidaCentroResultado(int idEmpresa, string descCentroResultado, out int? idCentroResultado) | Valida um Centro de Resultado por descrição e empresa. |
Detalhamento de Métodos Importantes
GetParameters()
- Lógica: Este método privado é responsável por inicializar e retornar uma lista de objetos
SqlParameter. Cada parâmetro é configurado com seu nome (prefixado com ”@”), tipo de dado SQL e tamanho máximo. Ele prepara a estrutura para que os valores dos atributos da instância deCentroResultadopossam ser associados posteriormente. - Stored Procedures chamadas: Nenhuma diretamente. Prepara parâmetros para queries SQL textuais definidas como constantes na classe (
SPINSERT,SPUPDATE,SPDELETE,SPSELECTID). - Validações: Nenhuma.
- Regras de negócio: Nenhuma.
SetParameters(List parms)
- Lógica: Este método privado recebe uma lista de
SqlParameter(gerada porGetParameters) e preenche os valores de cada parâmetro com os atributos da instância atual deCentroResultado. - O
IdCentroResultadoé definido comoOutputse a instância não for persistida (novo registro), caso contrário, éInput. - Campos opcionais (
_filial,_centroResultadoSuperior,_flagPermiteLancamento,_dataFimVigencia,_descricaoCodigoReduzido) são definidos comoDBNull.Valuese forem nulos. _dataCadastroé definido comoDateTime.Nowse a instância não for persistida._usuarioGeradoré preenchido com oIdUsuarioda sessão HTTP atual ou com1se a sessão for nula (usuário padrão).- Stored Procedures chamadas: Nenhuma diretamente. Preenche parâmetros para queries SQL textuais.
- Validações: Nenhuma.
- Regras de negócio:
- Atribuição de
DateTime.Nowpara_dataCadastroem novos registros. - Obtenção do
IdUsuarioda sessão para_usuarioGerador.
Insert()
- Lógica: Este método privado insere os dados da instância atual de
CentroResultadono banco de dados.
- Chama
GetParameters()para obter a lista de parâmetros. - Chama
SetParameters(parms)para preencher os parâmetros com os valores da instância. - Abre uma conexão SQL e inicia uma transação.
- Executa a query
SPINSERT(um comando SQL textual de INSERT) usandoDataAccessLayer.ExecuteNonQueryCmd. - Recupera o
IdCentroResultadogerado pelo banco de dados (usandoSCOPE_IDENTITY()) e o atribui à propriedade_idCentroResultado. - Limpa os parâmetros do comando.
- Define
_persistedcomotruee_modifiedcomofalse. - Comita a transação.
- Em caso de exceção, a transação é revertida e a exceção é relançada.
- Stored Procedures chamadas:
SPINSERT(SQL textual:INSERT INTO TAB_Centro_Resultado (...) VALUES (...)). - Validações: Nenhuma explícita, mas a integridade do banco de dados pode causar exceções.
- Exceções: Lança exceções em caso de falha na operação de banco de dados.
Insert(SqlTransaction trans)
- Lógica: Similar ao
Insert()sem transação, mas utiliza uma transação SQL existente.
- Chama
GetParameters()eSetParameters(parms). - Executa a query
SPINSERTusandoDataAccessLayer.ExecuteNonQueryCmdcom a transação fornecida. - Recupera o
IdCentroResultadogerado e o atribui à propriedade_idCentroResultado. - Limpa os parâmetros do comando.
- Define
_persistedcomotruee_modifiedcomofalse.
- Stored Procedures chamadas:
SPINSERT(SQL textual:INSERT INTO TAB_Centro_Resultado (...) VALUES (...)). - Validações: Nenhuma explícita.
Update()
- Lógica: Este método privado atualiza os dados da instância atual de
CentroResultadono banco de dados, mas apenas se a instância tiver sido modificada (_modifiedfortrue).
- Verifica se
_modifiedétrue. - Chama
GetParameters()eSetParameters(parms). - Executa a query
SPUPDATE(um comando SQL textual de UPDATE) usandoDataAccessLayer.ExecuteNonQuery. - Define
_modifiedcomofalse.
- Stored Procedures chamadas:
SPUPDATE(SQL textual:UPDATE TAB_Centro_Resultado SET ... WHERE Idf_Centro_Resultado = @Idf_Centro_Resultado). - Validações: Nenhuma explícita.
Update(SqlTransaction trans)
- Lógica: Similar ao
Update()sem transação, mas utiliza uma transação SQL existente.
- Verifica se
_modifiedétrue. - Chama
GetParameters()eSetParameters(parms). - Executa a query
SPUPDATEusandoDataAccessLayer.ExecuteNonQuerycom a transação fornecida. - Define
_modifiedcomofalse.
- Stored Procedures chamadas:
SPUPDATE(SQL textual:UPDATE TAB_Centro_Resultado SET ... WHERE Idf_Centro_Resultado = @Idf_Centro_Resultado). - Validações: Nenhuma explícita.
Save()
- Lógica: Este método público é o ponto de entrada para persistir uma instância de
CentroResultado.
- Se a instância não for persistida (
_persistedéfalse), chamaInsert(). - Caso contrário (a instância já existe no banco), chama
Update().
- Stored Procedures chamadas: Nenhuma diretamente. Chama
Insert()ouUpdate(). - Validações: Nenhuma explícita.
Save(SqlTransaction trans)
- Lógica: Similar ao
Save()sem transação, mas utiliza uma transação SQL existente.
- Se a instância não for persistida (
_persistedéfalse), chamaInsert(trans). - Caso contrário, chama
Update(trans).
- Stored Procedures chamadas: Nenhuma diretamente. Chama
Insert(trans)ouUpdate(trans). - Validações: Nenhuma explícita.
Delete(int idCentroResultado)
- Lógica: Este método estático público exclui um registro de
CentroResultadodo banco de dados.
- Cria uma lista de
SqlParameter. - Adiciona
@Idf_Centro_Resultadocom o valor fornecido e@Idf_Usuario_Geradorcom oCodigoUsuarioda sessão. - Executa a query
SPDELETE(um comando SQL textual de DELETE) usandoDataAccessLayer.ExecuteNonQuery.
- Stored Procedures chamadas:
SPDELETE(SQL textual:UPDATE TAB_Centro_Resultado SET Idf_Usuario_Gerador = @Idf_Usuario_Gerador WHERE Idf_Centro_Resultado = @Idf_Centro_Resultado ; DELETE FROM TAB_Centro_Resultado WHERE Idf_Centro_Resultado = @Idf_Centro_Resultado). - Parâmetros SQL:
@Idf_Centro_Resultado:int, ID do Centro de Resultado a ser excluído.@Idf_Usuario_Gerador:int, ID do usuário que está realizando a exclusão.- Validações: Nenhuma explícita.
Delete(int idCentroResultado, SqlTransaction trans)
- Lógica: Similar ao
Delete(int idCentroResultado)sem transação, mas utiliza uma transação SQL existente.
- Cria uma lista de
SqlParameter. - Adiciona
@Idf_Centro_Resultadoe@Idf_Usuario_Gerador. - Executa a query
SPDELETEusandoDataAccessLayer.ExecuteNonQuerycom a transação fornecida.
- Stored Procedures chamadas:
SPDELETE(SQL textual:UPDATE TAB_Centro_Resultado SET Idf_Usuario_Gerador = @Idf_Usuario_Gerador WHERE Idf_Centro_Resultado = @Idf_Centro_Resultado ; DELETE FROM TAB_Centro_Resultado WHERE Idf_Centro_Resultado = @Idf_Centro_Resultado). - Parâmetros SQL:
@Idf_Centro_Resultado:int, ID do Centro de Resultado a ser excluído.@Idf_Usuario_Gerador:int, ID do usuário que está realizando a exclusão.- Validações: Nenhuma explícita.
Delete(List idCentroResultado)
- Lógica: Este método estático público exclui uma lista de registros de
CentroResultadodo banco de dados.
- Constrói dinamicamente duas queries SQL: uma para atualizar o
Idf_Usuario_Geradore outra para deletar os registros, ambas usando a cláusulaINcom parâmetros gerados dinamicamente (@parm0,@parm1, etc.). - Adiciona os IDs da lista como parâmetros.
- Adiciona o
Idf_Usuario_Geradorda sessão. - Executa a query combinada usando
DataAccessLayer.ExecuteNonQuery.
- Stored Procedures chamadas: Nenhuma diretamente. Utiliza SQL textual construído dinamicamente.
- Parâmetros SQL:
@parmX:int, IDs dos Centros de Resultado a serem excluídos.@Idf_Usuario_Gerador:int, ID do usuário que está realizando a exclusão.- Validações: Nenhuma explícita.
LoadDataReader(int idCentroResultado)
- Lógica: Este método privado estático retorna um
IDataReadercontendo os dados de umCentroResultadoespecífico.
- Cria uma lista de
SqlParameter. - Adiciona
@Idf_Centro_Resultadocom o ID fornecido. - Executa a query
SPSELECTID(um comando SQL textual de SELECT) usandoDataAccessLayer.ExecuteReader.
- Stored Procedures chamadas:
SPSELECTID(SQL textual:SELECT * FROM TAB_Centro_Resultado WHERE Idf_Centro_Resultado = @Idf_Centro_Resultado). - Parâmetros SQL:
@Idf_Centro_Resultado:int, ID do Centro de Resultado a ser carregado.- Validações: Nenhuma explícita.
LoadDataReader(int idCentroResultado, SqlTransaction trans)
- Lógica: Similar ao
LoadDataReader(int idCentroResultado)sem transação, mas utiliza uma transação SQL existente.
- Cria uma lista de
SqlParameter. - Adiciona
@Idf_Centro_Resultadocom o ID fornecido. - Executa a query
SPSELECTIDusandoDataAccessLayer.ExecuteReadercom a transação fornecida.
- Stored Procedures chamadas:
SPSELECTID(SQL textual:SELECT * FROM TAB_Centro_Resultado WHERE Idf_Centro_Resultado = @Idf_Centro_Resultado). - Parâmetros SQL:
@Idf_Centro_Resultado:int, ID do Centro de Resultado a ser carregado.- Validações: Nenhuma explícita.
LoadDataReader(string colunaOrdenacao, string direcaoOrdenacao, int paginaCorrente, int tamanhoPagina, out int totalRegistros)
- Lógica: Este método estático público retorna um
IDataReaderpara uma consulta paginada deCentroResultado.
- Calcula os valores de
inicioefimpara a paginação. - Constrói duas queries SQL textuais:
SPSELECTPAG(para a página atual, usandoROW_NUMBER() OVER (ORDER BY ...)para ordenação e paginação) eSPSELECTCOUNT(para contar o total de registros). - Executa
SPSELECTCOUNTusandoDataAccessLayer.ExecuteScalarpara obter ototalRegistros. - Executa
SPSELECTPAGusandoDataAccessLayer.ExecuteReaderpara obter os dados da página atual.
- Stored Procedures chamadas: Nenhuma diretamente. Utiliza SQL textual construído dinamicamente.
- Parâmetros SQL: Nenhum parâmetro explícito, mas a query é construída com base nos argumentos do método.
- Validações: Nenhuma explícita.
LoadObject(int idCentroResultado)
- Lógica: Este método estático público carrega e retorna uma instância de
CentroResultadoa partir do banco de dados.
- Chama
LoadDataReader(idCentroResultado)para obter umIDataReader. - Cria uma nova instância de
CentroResultado. - Chama
SetInstance(dr, objCentroResultado)para preencher a instância com os dados doIDataReader. - Se
SetInstanceretornartrue(registro encontrado), retorna a instância. - Caso contrário, lança uma
RecordNotFoundException.
- Stored Procedures chamadas: Nenhuma diretamente. Chama
LoadDataReadereSetInstance. - Validações: Verifica se o registro foi encontrado no banco de dados.
- Exceções: Lança
RecordNotFoundExceptionse o Centro de Resultado não for encontrado.
LoadObject(int idCentroResultado, SqlTransaction trans)
- Lógica: Similar ao
LoadObject(int idCentroResultado)sem transação, mas utiliza uma transação SQL existente.
- Chama
LoadDataReader(idCentroResultado, trans). - Cria uma nova instância de
CentroResultado. - Chama
SetInstance(dr, objCentroResultado). - Se
SetInstanceretornartrue, retorna a instância. - Caso contrário, lança uma
RecordNotFoundException.
- Stored Procedures chamadas: Nenhuma diretamente. Chama
LoadDataReadereSetInstance. - Validações: Verifica se o registro foi encontrado no banco de dados.
- Exceções: Lança
RecordNotFoundExceptionse o Centro de Resultado não for encontrado.
CompleteObject()
- Lógica: Este método público completa a instância atual de
CentroResultadocom dados do banco de dados, usando oIdCentroResultadoda própria instância.
- Chama
LoadDataReader(this._idCentroResultado). - Chama
SetInstance(dr, this)para preencher a própria instância. - Retorna o resultado de
SetInstance.
- Stored Procedures chamadas: Nenhuma diretamente. Chama
LoadDataReadereSetInstance. - Validações: Nenhuma explícita.
CompleteObject(SqlTransaction trans)
- Lógica: Similar ao
CompleteObject()sem transação, mas utiliza uma transação SQL existente.
- Chama
LoadDataReader(this._idCentroResultado, trans). - Chama
SetInstance(dr, this). - Retorna o resultado de
SetInstance.
- Stored Procedures chamadas: Nenhuma diretamente. Chama
LoadDataReadereSetInstance. - Validações: Nenhuma explícita.
SetInstance(IDataReader dr, CentroResultado objCentroResultado)
- Lógica: Este método privado estático é crucial para mapear os dados de um
IDataReaderpara as propriedades de um objetoCentroResultado.
- Tenta ler a próxima linha do
IDataReader(dr.Read()). - Se houver uma linha:
- Atribui os valores das colunas do
IDataReaderàs propriedades correspondentes deobjCentroResultado, realizando conversões de tipo. - Para campos que podem ser nulos no banco de dados (ex:
Idf_Filial,Idf_Centro_Resultado_Superior,Flg_Permite_Lancamento,Dta_Fim_Vigencia,Des_Codigo_Reduzido,Dta_Cadastro,Idf_Usuario_Gerador), verificaDBNull.Valueantes de converter. - Instancia objetos
Empresa,Filial,CentroResultado(para o superior) eUsuario(para o gerador) com base nos IDs lidos. - Define
_persistedcomotruee_modifiedcomofalse. - Retorna
true.
- Se não houver mais linhas, retorna
false. - Em caso de exceção durante a leitura ou conversão, a exceção é relançada.
- O
IDataReaderé descartado no blocofinally.
- Stored Procedures chamadas: Nenhuma diretamente. Mapeia resultados de queries SQL.
- Validações: Verifica
DBNull.Valuepara campos opcionais. - Exceções: Pode relançar exceções de conversão de tipo ou de acesso a dados.
ListarCRsCadastradosDS(Empresa objEmpresa)
- Lógica: Retorna um
DataSetcontendo uma lista de Centros de Resultado cadastrados para a empresa fornecida.
- Cria uma lista de
SqlParameter. - Adiciona
@Idf_Empresacom o ID da empresa. - Executa a query
SplistarCRCADASTRADOS(SQL textual) usandoDataAccessLayer.ExecuteReaderDs.
- Stored Procedures chamadas:
SplistarCRCADASTRADOS(SQL textual: uma CTE recursiva para listar CRs e seus superiores, juntamente com a filial, para uma empresa específica). - Parâmetros SQL:
@Idf_Empresa:int, ID da empresa.- Validações: Nenhuma explícita.
ListarCRsCadastradosPaginado(int idEmpresa, int pagina, int tamPagina, string ordem, string direcaoOrdem, out int numRegistros)
- Lógica: Retorna um
DataTablecom Centros de Resultado cadastrados para uma empresa, com suporte a paginação e ordenação.
- Cria uma lista de
SqlParameterpara@Idf_Empresa,@PageNumbere@RowspPage. - Define uma CTE recursiva (
arvore_cr) para construir a hierarquia de Centros de Resultado. - Constrói uma query
sCountpara contar o total de registros e executa-a usandoDataAccessLayer.ExecuteScalarpara preenchernumRegistros. - Constrói a query principal
sQueryque seleciona os dados da CTE, junta comTAB_Centro_ResultadoeTAB_Filial, aplica ordenação e paginação usandoOFFSETeFETCH NEXT. - Executa
sQueryusandoDataAccessLayer.ExecuteReaderDse retorna a primeira tabela doDataSet.
- Stored Procedures chamadas: Nenhuma diretamente. Utiliza SQL textual construído dinamicamente com CTEs.
- Parâmetros SQL:
@Idf_Empresa:int, ID da empresa.@PageNumber:int, número da página.@RowspPage:int, número de linhas por página.- Validações: Nenhuma explícita.
CodigoReduzidoJaUsado(String codigoReduzido, Empresa objEmpresa, CentroResultado objCentroResultado)
- Lógica: Verifica se um
codigoReduzidojá está em uso por outroCentroResultadona mesmaEmpresa.
- Cria uma lista de
SqlParameter. - Adiciona
@Idf_Centro_Resultado(nulo seobjCentroResultadofor nulo, caso contrário, o ID do CR). - Adiciona
@Des_Codigo_Reduzidoe@Idf_Empresa. - Executa a query
SPCODIGOREDUZIDOJAUSADO(SQL textual) usandoDataAccessLayer.ExecuteReader. - Retorna
truese o leitor puder ler uma linha (indicando que o código reduzido já está em uso),falsecaso contrário.
- Stored Procedures chamadas:
SPCODIGOREDUZIDOJAUSADO(SQL textual:SELECT 1 FROM TAB_Centro_Resultado WHERE (@Idf_Centro_Resultado IS NULL OR Idf_Centro_Resultado <> @Idf_Centro_Resultado) AND Des_Codigo_Reduzido = @Des_Codigo_Reduzido AND Idf_Empresa = @Idf_Empresa). - Parâmetros SQL:
@Idf_Centro_Resultado:int?, ID do Centro de Resultado atual (para exclusão do próprio registro na verificação).@Des_Codigo_Reduzido:varchar(50), código reduzido a ser verificado.@Idf_Empresa:int, ID da empresa.- Regras de negócio: Garante a unicidade do código reduzido dentro da mesma empresa, excluindo o próprio registro em caso de edição.
DefinirResponsavel(PessoaFisica objPessoaFisica, SqlTransaction objTransaction)
- Lógica: Define a
PessoaFisicacomo responsável atual peloCentroResultado.
- Carrega o responsável atual do CR usando
ResponsavelCentroResultado.CarregarResponsavelAtualCr. - Se já houver um responsável e for a mesma
PessoaFisica, o método retorna sem fazer nada. - Inativa os responsáveis vigentes para o CR usando
ResponsavelCentroResultado.InativarResponsaveisCr. - Cria um novo objeto
ResponsavelCentroResultado, preenche suas propriedades (CentroResultado,PessoaFisica,DataInicioVigencia,FlagInativo). - Salva o novo responsável usando
objResponsavel.Save(objTransaction).
- Stored Procedures chamadas: Nenhuma diretamente. Chama métodos da classe
ResponsavelCentroResultado. - Validações: Verifica se o novo responsável é o mesmo que o atual para evitar operações desnecessárias.
- Regras de negócio:
- Um CR só pode ter um responsável ativo por vez.
- A data de início de vigência do novo responsável é
DateTime.Now. - O
FlagInativodo novo responsável éfalse.
ExcluirCentroResultado(int idEmpresa, int? idFilial, CentroResultado objCentroResultado, int idUsuarioLogado)
- Lógica: Exclui um Centro de Resultado e seus dados relacionados em uma transação.
- Abre uma conexão SQL e inicia uma transação.
- Tenta:
- Completa o objeto
objCentroResultadocom dados do banco de dados (objCentroResultado.CompleteObject(objTransaction)). - Exclui o histórico de responsáveis do CR (
ResponsavelCentroResultado.ExcluirHistoricoCentroResultado). - Exclui o próprio CR usando a query
SPEXCLUIRCR. - Recupera a quantidade de níveis de CR da empresa (
QuantidadeNiveisEmpresa). - Remove apelidos de nível acima do nível máximo do CR (
ApelidoNivelCentroResultado.RemoverApelidosAcimaNivel). - Verifica um parâmetro de sistema (
UtilizaResponsavelCRSupervisorEmpregado). Se for “1”: - Carrega o responsável atual do CR.
- Chama
InativarSupervisorCRpara inativar o supervisor e remover vínculos de empregados. - Comita a transação.
- Em caso de exceção, a transação é revertida e a exceção é relançada.
- Stored Procedures chamadas:
SPEXCLUIRCR(SQL textual:DELETE FROM TAB_Centro_Resultado WHERE Idf_Centro_Resultado = @Idf_Centro_Resultado).SPQUANTIDADENIVEISEMPRESA(SQL textual: uma CTE recursiva para calcular o nível máximo de CRs).- Parâmetros SQL:
@Idf_Centro_Resultado:int, ID do Centro de Resultado a ser excluído.@Idf_Empresa:int, ID da empresa (paraQuantidadeNiveisEmpresa).- Validações: Nenhuma explícita, mas as chamadas a outros métodos podem conter validações internas.
- Regras de negócio:
- Exclusão em cascata de dados relacionados (histórico de responsáveis, apelidos de nível).
- Lógica condicional para inativar supervisor e remover vínculos de empregados baseada em um parâmetro de sistema.
- Exceções: Lança exceções em caso de falha na operação de banco de dados ou em métodos chamados.
InativarSupervisorCR(int idEmpresa, int? idFilial, CentroResultado objCentroResultado, ResponsavelCentroResultado objResponsavel, int idUsuarioLogado, SqlTransaction objTransaction)
- Lógica: Inativa o supervisor de CR e remove o vínculo de empregados.
- Se
objResponsavelnão for nulo, chamaSupervisor.VerificaInativaSupervisorCRpara inativar o supervisor. - Chama
Empregado.RemoveEmpregadoSupervisorCRpara remover o registro de empregado supervisor dos empregados do CR.
- Stored Procedures chamadas: Nenhuma diretamente. Chama métodos das classes
SupervisoreEmpregado. - Validações: Nenhuma explícita.
- Regras de negócio: Lógica de inativação e remoção de vínculos relacionada a supervisores e empregados.
QuantidadeNiveisEmpresa(Empresa objEmpresa)
- Lógica: Retorna a quantidade máxima de níveis de Centros de Resultado existentes para uma empresa.
- Cria uma lista de
SqlParameter. - Adiciona
@Idf_Empresacom o ID da empresa. - Executa a query
SPQUANTIDADENIVEISEMPRESA(SQL textual) usandoDataAccessLayer.ExecuteScalar. - Tenta converter o resultado para
int. Se falhar, retorna0.
- Stored Procedures chamadas:
SPQUANTIDADENIVEISEMPRESA(SQL textual: uma CTE recursiva que calcula o nível de cada CR e retorna o nível máximo). - Parâmetros SQL:
@Idf_Empresa:int, ID da empresa.- Validações: Nenhuma explícita.
QuantidadeNiveisEmpresa(SqlTransaction objTransaction, Empresa objEmpresa)
- Lógica: Similar ao
QuantidadeNiveisEmpresa(Empresa objEmpresa)sem transação, mas utiliza uma transação SQL existente.
- Cria uma lista de
SqlParameter. - Adiciona
@Idf_Empresacom o ID da empresa. - Executa a query
SPQUANTIDADENIVEISEMPRESAusandoDataAccessLayer.ExecuteScalarcom a transação fornecida. - Tenta converter o resultado para
int. Se falhar, retorna0.
- Stored Procedures chamadas:
SPQUANTIDADENIVEISEMPRESA(SQL textual: uma CTE recursiva que calcula o nível de cada CR e retorna o nível máximo). - Parâmetros SQL:
@Idf_Empresa:int, ID da empresa.- Validações: Nenhuma explícita.
ListarRelatorioCentroResultado(Empresa objEmpresa, int situacao, CentroResultado objCrSuperior)
- Lógica: Retorna um
DataTablecom dados de Centros de Resultado para um relatório, permitindo filtrar por empresa, situação e Centro de Resultado superior.
- Cria uma lista de
SqlParameter. - Adiciona
@Idf_Empresa,@Flg_Inativo(nullable) e@Idf_Cr_Superior(nullable). - Preenche
@Flg_Inativocomfalse(ativos),true(inativos) ouDBNull.Value(todos) com base no parâmetrosituacao. - Preenche
@Idf_Cr_Superiorcom o ID do CR superior ouDBNull.ValueseobjCrSuperiorfor nulo. - Executa a query
SPRELATORIOCENTRORESULTADO(SQL textual) usandoDataAccessLayer.ExecuteReaderDs.
- Stored Procedures chamadas:
SPRELATORIOCENTRORESULTADO(SQL textual: uma CTE recursiva para construir a árvore de CRs, juntando com responsáveis, filiais e matriz, e aplicando filtros de empresa, situação e vigência). - Parâmetros SQL:
@Idf_Empresa:int, ID da empresa.@Flg_Inativo:bit?, flag para filtrar por CRs inativos (0 = ativos, 1 = inativos, NULL = todos).@Idf_Cr_Superior:int?, ID do Centro de Resultado superior para filtrar a árvore.- Validações: Nenhuma explícita.
SetInstance2(IDataReader dr, CentroResultado objCentroResultado)
- Lógica: Este método é idêntico ao
SetInstanceemCentroResultado_P1.cs. Ele mapeia os dados de umIDataReaderpara as propriedades de um objetoCentroResultado.
- Tenta ler a próxima linha do
IDataReader(dr.Read()). - Se houver uma linha, atribui os valores das colunas às propriedades de
objCentroResultado, tratandoDBNull.Valuepara campos opcionais e instanciando objetos relacionados (Empresa,Filial,CentroResultadosuperior,Usuario). - Define
_persistedcomotruee_modifiedcomofalse. - Retorna
truese uma linha foi lida e mapeada,falsecaso contrário. - Em caso de exceção, a exceção é relançada.
- Stored Procedures chamadas: Nenhuma diretamente. Mapeia resultados de queries SQL.
- Validações: Verifica
DBNull.Valuepara campos opcionais. - Exceções: Pode relançar exceções de conversão de tipo ou de acesso a dados.
CarregarPorCentroResultadoSuperior(SqlTransaction objTransaction, CentroResultado objCentroResultadoSuperior)
- Lógica: Carrega uma lista de Centros de Resultado que são filhos diretos de um
objCentroResultadoSuperiorfornecido. Não é recursivo.
- Cria uma lista vazia de
CentroResultado. - Cria uma lista de
SqlParametere adiciona@Idf_Centro_Resultado_Superiorcom o ID do CR superior. - Executa a query
SPCARREGARPORCRSUPERIOR(SQL textual) usandoDataAccessLayer.ExecuteReadercom a transação fornecida. - Itera sobre o
IDataReader:
- Para cada linha, cria uma nova instância de
CentroResultado. - Chama
SetInstance2para preencher a instância. - Se
SetInstance2retornartrue, adiciona a instância à lista.
- Retorna a lista de Centros de Resultado filhos.
- Stored Procedures chamadas:
SPCARREGARPORCRSUPERIOR(SQL textual:SELECT * FROM TAB_Centro_Resultado WHERE Idf_Centro_Resultado_Superior = @Idf_Centro_Resultado_Superior). - Parâmetros SQL:
@Idf_Centro_Resultado_Superior:int, ID do Centro de Resultado superior.- Validações: Nenhuma explícita.
AtualizarEstrutura(SqlTransaction objTransaction, CentroResultado objCentroResultadoSuperior, String estruturaAntiga)
- Lógica: Atualiza recursivamente a descrição da estrutura dos Centros de Resultado filhos de um
objCentroResultadoSuperior.
- Chama
CarregarPorCentroResultadoSuperiorpara obter uma lista dos filhos diretos do CR superior. - Itera sobre cada
objCentroResultadona lista de filhos:
- Armazena a
DescricaoEstruturaCentroResultadoatual do filho (filhoEstruturaAntiga). - Constrói a nova
DescricaoEstruturaCentroResultadodo filho, concatenando a estrutura do superior com a parte restante da estrutura antiga do filho. - Salva o
objCentroResultadoatualizado usandoobjCentroResultado.Save(objTransaction). - Chama recursivamente
AtualizarEstruturapara o filho atual, passando sua estrutura antiga comoestruturaAntiga. - Stored Procedures chamadas: Nenhuma diretamente. Chama
CarregarPorCentroResultadoSuperioreSave. - Validações: Nenhuma explícita.
- Regras de negócio: Mantém a consistência da
DescricaoEstruturaCentroResultadoem uma hierarquia de CRs.
VerificarFilhos(CentroResultado objCentroResultado, SqlTransaction pTrans = null)
- Lógica: Verifica se um
CentroResultadopossui Centros de Resultado filhos.
- Cria uma lista de
SqlParameter. - Adiciona
@Idf_Centro_Resultado_Superiorcom o ID do CR a ser verificado. - Executa a query
SPVERIFICAFILHOS(SQL textual) usandoDataAccessLayer.ExecuteReader(com ou sem transação). - Retorna
truese o leitor puder ler uma linha (indicando a existência de filhos),falsecaso contrário.
- Stored Procedures chamadas:
SPVERIFICAFILHOS(SQL textual:SELECT 1 FROM TAB_Centro_Resultado WHERE Idf_Centro_Resultado_Superior = @Idf_Centro_Resultado_Superior). - Parâmetros SQL:
@Idf_Centro_Resultado_Superior:int, ID do Centro de Resultado a ser verificado.- Validações: Nenhuma explícita.
RecuperarCRFilhos(int codEmpresa, int codUsuario, int? idCentroResultado)
- Lógica: Retorna um
DataTablecontendo os Centros de Resultado filhos que o usuário tem permissão para acessar, a partir de um CR superior opcional.
- Cria um
DataTablevazio. - Cria uma lista de
SqlParameterpara@Idf_Cr_Atual,@Idf_Cr_Superior,@Idf_Empresae@Idf_Usuario. - Preenche os parâmetros com os valores fornecidos, tratando
idCentroResultadocomo nullable. - Executa a query
SPRECUPERARCRFILHOS(SQL textual) usandoDataAccessLayer.ExecuteReadere carrega o resultado noDataTable.
- Stored Procedures chamadas:
SPRECUPERARCRFILHOS(SQL textual: uma CTE recursiva para construir a árvore de CRs, filtrando por CR superior, CR atual, empresa, permissão de lançamento, inatividade, vigência e acesso do usuário viaTAB_SF_Usuario_Acesso). - Parâmetros SQL:
@Idf_Cr_Atual:int?, ID do Centro de Resultado atual (para exclusão na árvore).@Idf_Cr_Superior:int?, ID do Centro de Resultado superior.@Idf_Empresa:int, ID da empresa.@Idf_Usuario:int, ID do usuário.- Validações: Nenhuma explícita.
- Regras de negócio:
- Filtra por CRs que permitem lançamento (
Flg_Permite_Lancamento = 1). - Filtra por CRs ativos (
Flg_Inativo = 0) e dentro da vigência. - Aplica filtro de acesso do usuário (
TAB_SF_Usuario_Acesso).
RecuperarCRAnaliticos(int idEmpresa, int idUsuario, int? idCentroResultado)
- Lógica: Retorna uma lista de IDs de Centros de Resultado analíticos a partir de um Centro de Resultado sintético (base).
- Se
idCentroResultadotiver valor:
- Cria uma lista vazia de
int. - Cria uma lista de
SqlParameterpara@Idf_Centro_Resultado_Sintetico,@Idf_Empresae@Idf_Usuario. - Preenche os parâmetros.
- Executa a query
SPRECUPERARCRANALITICOS(SQL textual) usandoDataAccessLayer.ExecuteReaderDs. - Itera sobre as linhas do
DataTableresultante e adiciona os IDs à lista. - Retorna a lista.
- Se
idCentroResultadofor nulo, retornanull.
- Stored Procedures chamadas:
SPRECUPERARCRANALITICOS(SQL textual: uma CTE recursiva para encontrar CRs analíticos a partir de um CR sintético, filtrando por permissão de lançamento, inatividade, vigência e empresa). - Parâmetros SQL:
@Idf_Centro_Resultado_Sintetico:int, ID do Centro de Resultado sintético.@Idf_Empresa:int, ID da empresa.@Idf_Usuario:int, ID do usuário (não usado diretamente na SP, mas passado como parâmetro).- Validações: Nenhuma explícita.
- Regras de negócio:
- Filtra por CRs que permitem lançamento (
Flg_Permite_Lancamento = 1). - Filtra por CRs ativos (
Flg_Inativo = 0) e dentro da vigência.
RecuperarHistorico(int Idf_Empregado, String colunaOrdenada, String tipoOrdenacao, int tamanhoPagina, int paginaCorrente, out int total)
- Lógica: Recupera o histórico de Centros de Resultado de um empregado de forma paginada.
- Calcula os valores de
inicioefimpara a paginação. - Cria uma lista de
SqlParametere adiciona@Idf_Empregado. - Constrói a query principal (
query) que seleciona o histórico de CRs do empregado, adicionaROW_NUMBER()para ordenação e paginação. - Constrói uma query
contadorpara contar o total de registros e executa-a usandoDataAccessLayer.ExecuteScalarpara preenchertotal. - Ajusta a query principal para aplicar a paginação (
WHERE RowId BETWEEN inicio AND fim). - Executa a query paginada usando
DataAccessLayer.ExecuteReaderDse retorna oDataSet.
- Stored Procedures chamadas:
SPRECUPERARHISTORICO(SQL textual:SELECT Des_Estrutura_Centro_Resultado + ' - ' + Des_Centro_Resultado AS Centro_Resultado, EC.Dta_Inicio_Vigencia, EC.Dta_Fim_Vigencia FROM TAB_Empregado_Contrato EC JOIN TAB_Centro_Resultado CR ON EC.Idf_Centro_Resultado = CR.Idf_Centro_Resultado WHERE EC.Idf_Empregado = @Idf_Empregado). - Parâmetros SQL:
@Idf_Empregado:int, ID do empregado.- Validações: Nenhuma explícita.
CarregarCentroResultadoPorDescEstCentResul(String Des_Estrutura_Centro_Resultado, int idempresa)
- Lógica: Carrega um
DataTablecom Centros de Resultado que correspondem a uma descrição de estrutura e ID de empresa.
- Cria uma lista de
SqlParameterpara@Des_Estrutura_Centro_Resultadoe@Idf_Empresa. - Executa a query
SPCARREGACRPORDESCRICAOESTRUTURA(SQL textual) usandoDataAccessLayer.ExecuteReaderDs. - Se o
DataTableresultante tiver linhas, retorna-o; caso contrário, retornanull.
- Stored Procedures chamadas:
SPCARREGACRPORDESCRICAOESTRUTURA(SQL textual:SELECT * FROM TAB_Centro_Resultado WHERE Idf_Empresa = @Idf_Empresa AND Des_Estrutura_Centro_Resultado = @Des_Estrutura_Centro_Resultado). - Parâmetros SQL:
@Des_Estrutura_Centro_Resultado:varchar, descrição da estrutura do Centro de Resultado.@Idf_Empresa:int, ID da empresa.- Validações: Nenhuma explícita.
ListarIDCentroResultadoAnaliticoAtivos(int? pIdEmpresa, int? pIdCentroResultadoBase)
- Lógica: Chama
ListarIDCentroResultadoAnaliticocomflgInativo = falsepara obter apenas os IDs de Centros de Resultado analíticos ativos. - Stored Procedures chamadas: Nenhuma diretamente. Chama
ListarIDCentroResultadoAnalitico. - Validações: Nenhuma explícita.
ListarIDCentroResultadoAnalitico(int? pIdEmpresa, int? pIdCentroResultadoBase, bool? flgInativo = null)
- Lógica: Carrega uma lista de IDs de Centros de Resultado analíticos para uma empresa, opcionalmente a partir de um CR base e filtrando por inatividade.
- Cria uma lista de
SqlParameterpara@Idf_Empresa,@Idf_Centro_Resultado_Basee@Flg_Inativo. - Preenche os parâmetros, tratando valores nulos.
- Executa a query
SPSELIDCENTRORESULTADOANALITICOATIVO(SQL textual) usandoDataAccessLayer.ExecuteReaderDs. - Itera sobre as linhas do
DataTableresultante e adiciona os IDs à lista. - Retorna a lista de IDs.
- Stored Procedures chamadas:
SPSELIDCENTRORESULTADOANALITICOATIVO(SQL textual: uma CTE recursiva para encontrar CRs analíticos, filtrando por empresa, CR base, permissão de lançamento, inatividade e vigência, considerando o período de cálculo da filial). - Parâmetros SQL:
@Idf_Empresa:int?, ID da empresa.@Idf_Centro_Resultado_Base:int?, ID do Centro de Resultado base (sintético).@Flg_Inativo:bit?, flag para filtrar por inatividade (0 = ativos, 1 = inativos, NULL = todos).- Validações: Nenhuma explícita.
- Regras de negócio:
- Filtra por CRs que permitem lançamento (
Flg_Permite_Lancamento = 1). - Considera o
Flg_Inativoe a vigência do CR em relação ao período de cálculo da filial.
ListarIDCentroResultadoAnaliticoAtivosRelatorioFolhaPagamento(int? pIdEmpresa, int? pIdCentroResultadoBase)
- Lógica: Chama
ListarIDCentroResultadoAnaliticoRelatorioFolhaPagamentocomflgInativo = falsepara obter apenas os IDs de Centros de Resultado analíticos ativos para relatório de folha de pagamento. - Stored Procedures chamadas: Nenhuma diretamente. Chama
ListarIDCentroResultadoAnaliticoRelatorioFolhaPagamento. - Validações: Nenhuma explícita.
ListarIDCentroResultadoAnaliticoRelatorioFolhaPagamento(int? pIdEmpresa, int? pIdCentroResultadoBase, bool? flgInativo = null)
- Lógica: Carrega uma lista de IDs de Centros de Resultado analíticos para uma empresa, opcionalmente a partir de um CR base e filtrando por inatividade, especificamente para relatórios de folha de pagamento.
- Cria uma lista de
SqlParameterpara@Idf_Empresa,@Idf_Centro_Resultado_Basee@Flg_Inativo. - Preenche os parâmetros, tratando valores nulos.
- Executa a query
SPSELIDCENTRORESULTADOANALITICOATIVORELATORIOFOLHAPAGAMENTO(SQL textual) usandoDataAccessLayer.ExecuteReaderDs. - Itera sobre as linhas do
DataTableresultante e adiciona os IDs à lista. - Retorna a lista de IDs.
- Stored Procedures chamadas:
SPSELIDCENTRORESULTADOANALITICOATIVORELATORIOFOLHAPAGAMENTO(SQL textual: idêntica àSPSELIDCENTRORESULTADOANALITICOATIVO, mas com nome sugerindo uso específico para folha de pagamento. Utiliza CTE recursiva para encontrar CRs analíticos, filtrando por empresa, CR base, permissão de lançamento, inatividade e vigência, considerando o período de cálculo da filial). - Parâmetros SQL:
@Idf_Empresa:int?, ID da empresa.@Idf_Centro_Resultado_Base:int?, ID do Centro de Resultado base (sintético).@Flg_Inativo:bit?, flag para filtrar por inatividade (0 = ativos, 1 = inativos, NULL = todos).- Validações: Nenhuma explícita.
- Regras de negócio:
- Filtra por CRs que permitem lançamento (
Flg_Permite_Lancamento = 1). - Considera o
Flg_Inativoe a vigência do CR em relação ao período de cálculo da filial.
ConsultaCentroResultadoPorListIdf(string IdfCentroResultado, string Pesquisa, string colunaOrdenacao, string direcaoOrdenacao, int paginaCorrente, int tamanhoPagina, out int totalRegistros)
- Lógica: Consulta Centros de Resultado por uma lista de IDs (passada como string separada por vírgulas), com pesquisa textual, ordenação e paginação.
- Inicializa
totalRegistroscomo 0. - Calcula
inicioefimpara a paginação. - Cria uma lista de
SqlParameterpara@IdfCentroResultado,@Pesquisa,@colunaOrdenacao,@inicioe@fim. - Constrói duas queries SQL textuais:
SPSELECTCOUNT(para contar o total de registros) eSPSELECTPAG(para a página atual, usandoROW_NUMBER()para ordenação e paginação). Ambas as queries utilizam a constanteSPCONSULTACENTRORESULTADOPORLISTIDFcomo base. - Executa
SPSELECTCOUNTpara obtertotalRegistros. - Executa
SPSELECTPAGusandoDataAccessLayer.ExecuteReaderDse retorna a primeira tabela doDataSet.
- Stored Procedures chamadas:
SPCONSULTACENTRORESULTADOPORLISTIDF(SQL textual:SELECT Idf_Centro_Resultado, Des_Estrutura_Centro_Resultado, Des_Centro_Resultado FROM TAB_Centro_Resultado WHERE Idf_Centro_Resultado IN (SELECT VALOR FROM plataforma.TAB_SF_SplitNumerico(@IdfCentroResultado)) AND (@Pesquisa IS NULL OR Des_Centro_Resultado LIKE '%' + @Pesquisa + '%' OR Des_Estrutura_Centro_Resultado = @Pesquisa)). - Parâmetros SQL:
@IdfCentroResultado:varchar(2000), string de IDs de Centros de Resultado separados por vírgula.@Pesquisa:varchar(2000), texto para pesquisa na descrição ou estrutura do CR.@colunaOrdenacao:varchar(100), nome da coluna para ordenação.@inicio:int, linha inicial para paginação.@fim:int, linha final para paginação.- Validações: Nenhuma explícita.
RecuperarCentroResultadoAnalitico(int? pIdCentroResultado, int pIdEmpresa, bool? flgInativo = false)
- Lógica: Retorna uma string formatada com os IDs dos Centros de Resultado analíticos, para ser usada como parâmetro em outras queries.
- Inicializa uma lista vazia de
inte uma stringparametroListaIdCentroResultadovazia. - Se
pIdCentroResultadotiver valor:
- Chama
CentroResultado.ListarIDCentroResultadoAnaliticopara obter a lista de IDs de CRs analíticos. - Converte a lista de IDs em uma string separada por vírgulas.
- Retorna a string formatada.
- Stored Procedures chamadas: Nenhuma diretamente. Chama
CentroResultado.ListarIDCentroResultadoAnalitico. - Validações: Nenhuma explícita.
CarregarIdPorEstrutura(int pIdEmpresa, int? pIdfFilial, string pEstruturaCentroResultado, out int? idCentroResultado)
- Lógica: Carrega o ID de um Centro de Resultado com base na empresa, filial (opcional) e descrição da estrutura.
- Define uma query SQL textual para selecionar o
TOP 1 Idf_Centro_Resultado. - Cria uma lista de
SqlParameterpara@Idf_Empresa,@Idf_Filiale@Des_Estrutura_Centro_Resultado. - Preenche os parâmetros, tratando
pIdfFilialcomo nullable. - Executa a query usando
DataAccessLayer.ExecuteScalare converte o resultado paraint?usandoToIntOrDefault(). - Define
idCentroResultadocom o valor obtido. - Retorna
trueseidCentroResultadotiver valor,falsecaso contrário.
- Stored Procedures chamadas: Nenhuma diretamente. Utiliza SQL textual.
- Parâmetros SQL:
@Idf_Empresa:int, ID da empresa.@Idf_Filial:int?, ID da filial (opcional).@Des_Estrutura_Centro_Resultado:varchar(100), descrição da estrutura do Centro de Resultado.- Validações: Nenhuma explícita.
CarregarPorEstrutura(int pIdEmpresa, int? pIdfFilial, string pEstruturaCentroResultado, out CentroResultado objCentroResultado, SqlTransaction pTrans = null, int? pIdUsuario = null)
- Lógica: Carrega um objeto
CentroResultadopela estrutura, empresa/filial e usuário.
- Cria uma lista de
SqlParameterpara@Idf_Empresa,@Idf_Filial,@Des_Estrutura_Centro_Resultadoe@Idf_Usuario. - Preenche os parâmetros, tratando valores nulos.
- Executa a query
SELCENTRORESULTADOPOREMPRESAESTRUTURA(SQL textual) usandoDataAccessLayer.ExecuteReader(com ou sem transação). - Cria uma nova instância de
CentroResultado. - Chama
SetInstance(dr, objCentroResultado)para preencher a instância. - Se
SetInstanceretornartrue, retornatrue; caso contrário, defineobjCentroResultadocomonulle retornafalse.
- Stored Procedures chamadas:
SELCENTRORESULTADOPOREMPRESAESTRUTURA(SQL textual:SELECT * FROM TAB_Centro_Resultado cr WHERE cr.Idf_Empresa = @Idf_Empresa AND (@Idf_Filial IS NULL OR cr.Idf_Filial = @Idf_Filial) AND cr.Des_Estrutura_Centro_Resultado LIKE LTRIM(RTRIM(@Des_Estrutura_Centro_Resultado)) AND (@Idf_Usuario IS NULL OR cr.Idf_Centro_Resultado IN (SELECT UA.Idf_Centro_Resultado FROM TAB_SF_Usuario_Acesso(@Idf_Usuario, @Idf_Empresa) UA))). - Parâmetros SQL:
@Idf_Empresa:int, ID da empresa.@Idf_Filial:int?, ID da filial (opcional).@Des_Estrutura_Centro_Resultado:varchar(100), descrição da estrutura do Centro de Resultado.@Idf_Usuario:int?, ID do usuário (opcional, para filtro de acesso).- Validações: Nenhuma explícita.
CarregarPorEstrutura(int pIdEmpresa, string pEstruturaCentroResultado, out CentroResultado objCentroResultado)
- Lógica: (Obsoleto) Carrega um objeto
CentroResultadopela estrutura e empresa, sem filtrar por filial.
- Cria uma lista de
SqlParameterpara@Idf_Empresa,@Idf_Filial(sempreDBNull.Value) e@Des_Estrutura_Centro_Resultado. - Executa a query
SELCENTRORESULTADOPOREMPRESAESTRUTURA(SQL textual) usandoDataAccessLayer.ExecuteReader. - Cria uma nova instância de
CentroResultado. - Chama
SetInstance(dr, objCentroResultado)para preencher a instância. - Se
SetInstanceretornartrue, retornatrue; caso contrário, defineobjCentroResultadocomonulle retornafalse.
- Stored Procedures chamadas:
SELCENTRORESULTADOPOREMPRESAESTRUTURA(SQL textual). - Parâmetros SQL:
@Idf_Empresa:int, ID da empresa.@Idf_Filial:int?, sempreDBNull.Value.@Des_Estrutura_Centro_Resultado:varchar(100), descrição da estrutura do Centro de Resultado.- Validações: Nenhuma explícita.
- Regras de negócio: Este método é marcado como obsoleto devido à possibilidade de existirem múltiplos CRs com a mesma descrição e código em filiais diferentes, o que pode levar a resultados incorretos.
CarregarPorEstrutura(SqlTransaction pTrans, int pIdEmpresa, string pEstruturaCentroResultado, out CentroResultado objCentroResultado)
- Lógica: Chama
CarregarPorEstruturacompIdFilial = nullpara carregar um objetoCentroResultadopela empresa e descrição da estrutura dentro de uma transação. - Stored Procedures chamadas: Nenhuma diretamente. Chama
CarregarPorEstrutura. - Validações: Nenhuma explícita.
CarregarPorEstrutura(SqlTransaction pTrans, int pIdEmpresa, int? pIdFilial, string pEstruturaCentroResultado, out CentroResultado objCentroResultado, int? pIdUsuario = null)
- Lógica: Carrega um objeto
CentroResultadocom base na empresa, filial (opcional), descrição da estrutura (trimada) e usuário (opcional) dentro de uma transação.
- Se
pEstruturaCentroResultadofor nulo ou vazio, defineobjCentroResultadocomonulle retornafalse. - Cria uma lista de
SqlParameterpara@Idf_Empresa,@Idf_Filial,@Des_Estrutura_Centro_Resultadoe@Idf_Usuario. - Preenche os parâmetros, tratando valores nulos e trimando
pEstruturaCentroResultado. - Executa a query
SELCENTRORESULTADOPOREMPRESAESTRUTURA(SQL textual) usandoDataAccessLayer.ExecuteReadercom a transação fornecida. - Cria uma nova instância de
CentroResultado. - Chama
SetInstance(dr, objCentroResultado)para preencher a instância. - Se
SetInstanceretornartrue, retornatrue; caso contrário, defineobjCentroResultadocomonulle retornafalse.
- Stored Procedures chamadas:
SELCENTRORESULTADOPOREMPRESAESTRUTURA(SQL textual). - Parâmetros SQL:
@Idf_Empresa:int, ID da empresa.@Idf_Filial:int?, ID da filial (opcional).@Des_Estrutura_Centro_Resultado:varchar(100), descrição da estrutura do Centro de Resultado (trimada).@Idf_Usuario:int?, ID do usuário (opcional, para filtro de acesso).- Validações: Verifica se
pEstruturaCentroResultadoé nulo ou vazio.
CarregarPorEstruturaV2(int pIdEmpresa, int? pIdfFilial, string pEstruturaCentroResultado, out CentroResultado objCentroResultado, SqlTransaction pTrans = null)
- Lógica: Carrega um objeto
CentroResultadopela estrutura, empresa/filial (versão 2).
- Cria uma lista de
SqlParameterpara@Idf_Empresa,@Idf_Filiale@Des_Estrutura_Centro_Resultado. - Preenche os parâmetros, tratando
pIdfFilialcomo nullable. - Executa a query
SELCENTRORESULTADOPOREMPRESAESTRUTURAV2(SQL textual) usandoDataAccessLayer.ExecuteReader(com ou sem transação). - Cria uma nova instância de
CentroResultado. - Chama
SetInstance(dr, objCentroResultado)para preencher a instância. - Se
SetInstanceretornartrue, retornatrue; caso contrário, defineobjCentroResultadocomonulle retornafalse.
- Stored Procedures chamadas:
SELCENTRORESULTADOPOREMPRESAESTRUTURAV2(SQL textual: umaUNIONde duas selects, uma para CRs sem filial e outra para CRs com a filial especificada, ambas filtrando por empresa e descrição da estrutura). - Parâmetros SQL:
@Idf_Empresa:int, ID da empresa.@Idf_Filial:int?, ID da filial (opcional).@Des_Estrutura_Centro_Resultado:varchar(100), descrição da estrutura do Centro de Resultado.- Validações: Nenhuma explícita.
CarregarPorEstruturaV2(int pIdEmpresa, int? pIdfFilial, string pEstruturaCentroResultado, string pNomeCentroResultado, out CentroResultado objCentroResultado)
- Lógica: Carrega um objeto
CentroResultadopela estrutura, nome, empresa/filial (versão 2).
- Cria uma lista de
SqlParameterpara@Idf_Empresa,@Idf_Filial,@Des_Estrutura_Centro_Resultadoe@Des_Centro_Resultado. - Preenche os parâmetros, tratando valores nulos.
- Constrói a query
sQuery(SQL textual) que é umaUNIONde duas selects, similar àSELCENTRORESULTADOPOREMPRESAESTRUTURAV2, mas adicionando o filtro porDes_Centro_Resultado. - Executa a query usando
DataAccessLayer.ExecuteReader. - Cria uma nova instância de
CentroResultado. - Chama
SetInstance(dr, objCentroResultado)para preencher a instância. - Se
SetInstanceretornartrue, retornatrue; caso contrário, defineobjCentroResultadocomonulle retornafalse.
- Stored Procedures chamadas: Nenhuma diretamente. Utiliza SQL textual construído dinamicamente.
- Parâmetros SQL:
@Idf_Empresa:int, ID da empresa.@Idf_Filial:int?, ID da filial (opcional).@Des_Estrutura_Centro_Resultado:varchar(100), descrição da estrutura do Centro de Resultado.@Des_Centro_Resultado:varchar(100)?, nome do Centro de Resultado (opcional).- Validações: Nenhuma explícita.
CarregarPorEstruturaV2(int pIdEmpresa, int? pIdfFilial, string pEstruturaCentroResultado, string pNomeCentroResultado)
- Lógica: Carrega e retorna um objeto
CentroResultadopela estrutura, nome, empresa/filial (versão 2).
- Cria uma lista de
SqlParameterpara@Idf_Empresa,@Idf_Filial,@Des_Estrutura_Centro_Resultadoe@Des_Centro_Resultado. - Preenche os parâmetros, tratando valores nulos.
- Constrói a query
sQuery(SQL textual) que é umaUNIONde duas selects, similar àSELCENTRORESULTADOPOREMPRESAESTRUTURAV2, mas adicionando o filtro porDes_Centro_Resultado. - Executa a query usando
DataAccessLayer.ExecuteReader. - Cria uma nova instância de
CentroResultado. - Chama
SetInstance(dr, objCentroResultado)para preencher a instância. - Se
SetInstanceretornartrue, retorna a instância; caso contrário, defineobjCentroResultadocomonulle retornanull.
- Stored Procedures chamadas: Nenhuma diretamente. Utiliza SQL textual construído dinamicamente.
- Parâmetros SQL:
@Idf_Empresa:int, ID da empresa.@Idf_Filial:int?, ID da filial (opcional).@Des_Estrutura_Centro_Resultado:varchar(100), descrição da estrutura do Centro de Resultado.@Des_Centro_Resultado:varchar(100)?, nome do Centro de Resultado (opcional).- Validações: Nenhuma explícita.
CarregarPorEmpresa(int pIdEmpresa)
- Lógica: Carrega uma lista de todos os Centros de Resultado para uma empresa específica.
- Define uma query SQL textual para selecionar todos os campos de
TAB_Centro_Resultadofiltrando porIdf_Empresa. - Cria uma lista vazia de
CentroResultado. - Cria uma lista de
SqlParametere adiciona@Idf_Empresa. - Executa a query usando
DataAccessLayer.ExecuteReader. - Itera sobre o
IDataReader:
- Para cada linha, cria uma nova instância de
CentroResultado. - Preenche as propriedades da instância manualmente a partir do
IDataReader, tratandoDBNull.Valuepara campos opcionais e instanciando objetos relacionados (Empresa,Filial,CentroResultadosuperior,Usuario). - Adiciona a instância à lista.
- Retorna a lista de Centros de Resultado.
- Stored Procedures chamadas: Nenhuma diretamente. Utiliza SQL textual.
- Parâmetros SQL:
@Idf_Empresa:int, ID da empresa.- Validações: Nenhuma explícita.
ListarParaImportacao(int? top, params object[] filtros)
- Lógica: Lista Centros de Resultado para fins de importação dinâmica.
- Obtém o
idEmpresada sessão HTTP. - Constrói uma query SQL textual complexa com uma CTE recursiva (
arvore_cr) para obter a hierarquia de CRs. - A query seleciona diversos campos do CR, incluindo a descrição formatada (
Descricao), estrutura, nome, código reduzido, etc. - Opcionalmente, aplica um
TOPna seleção se o parâmetrotopfor fornecido. - Cria uma lista de
SqlParameterpara@tope@Idf_Empresa. - Executa a query usando
DataAccessLayer.ExecuteReaderDse retorna a primeira tabela doDataSet.
- Stored Procedures chamadas: Nenhuma diretamente. Utiliza SQL textual construído dinamicamente com CTEs.
- Parâmetros SQL:
@top:int?, número máximo de registros a retornar (opcional).@Idf_Empresa:int, ID da empresa.- Validações: Nenhuma explícita.
- Regras de negócio: Projetado especificamente para importação, não para uso geral.
ListarAutocomplete(int count, string prefixText, bool ConsiderarCentroResultadoInativo, int? TipoCentroResultado, int? IdGrupoEconomico, int? IdEmpresa, int? IdFilial, int? IdCentroResultadoSuperior, int? IdCentroResultadoAtual, int? IdUsuario)
- Lógica: Retorna um
IDataReaderpara preencher um controle de autocomplete de Centros de Resultado, com diversos filtros.
- Constrói uma query SQL textual complexa com uma CTE recursiva (
arvore_cr) para obter a hierarquia de CRs. - A query seleciona o
TOP (@count)de CRs, incluindo ID, descrição da estrutura, nome, código reduzido, CR superior, estrutura completa e vigência, além do apelido da filial. - Aplica vários filtros na cláusula
WHERE:
Flg_Inativo: considera CRs inativos seConsiderarCentroResultadoInativofortrue.TipoCr: filtra por CRs que permitem lançamento (analíticos) ou não (sintéticos).IdGrupoEconomico,IdEmpresa,IdFilial: filtros de hierarquia.IdCentroResultadoSuperior,IdCentroResultadoAtual: filtros para excluir o próprio CR ou limitar a busca a filhos de um superior.Pesquisa: busca porEstrutura,Des_Centro_ResultadoouDes_Codigo_Reduzido.Idf_Usuario: filtra por CRs que o usuário tem acesso (TAB_SF_Usuario_Acesso).
- Ordena os resultados por
Estrutura. - Cria uma lista de
SqlParametere preenche-a com todos os argumentos do método. - Executa a query usando
DataAccessLayer.ExecuteReader.
- Stored Procedures chamadas: Nenhuma diretamente. Utiliza SQL textual construído dinamicamente com CTEs.
- Parâmetros SQL:
@count:int, número máximo de resultados.@Pesquisa:varchar(500), texto para pesquisa.@Flg_Inativo:bit, flag para considerar inativos.@TipoCr:int, tipo de CR (0=todos, 1=permite lançamento, 2=não permite lançamento).@Idf_Grupo_Economico:int?, ID do grupo econômico.@Idf_Empresa:int?, ID da empresa.@Idf_Filial:int?, ID da filial.@Idf_Cr_Superior:int?, ID do CR superior.@Idf_Cr_Atual:int?, ID do CR atual.@Idf_Usuario:int?, ID do usuário.- Validações: Nenhuma explícita.
- Regras de negócio: Lógica complexa de filtragem para autocomplete, incluindo hierarquia, status, tipo e permissões de usuário.
ListarAutocompleteLista(int count, string prefixText, bool ConsiderarCentroResultadoInativo, int? TipoCentroResultado, int? IdGrupoEconomico, int? IdEmpresa, int? IdFilial, int? IdCentroResultadoSuperior, int? IdCentroResultadoAtual, int? IdUsuario)
- Lógica: Similar a
ListarAutocomplete, mas constrói a query de forma diferente, concatenando filtros em uma stringsFiltros.
- Constrói uma string
sFiltrosadicionando condiçõesANDbaseadas nos parâmetros de entrada. - Constrói a query SQL principal que seleciona o
TOP (@count)de CRs, juntando comTAB_EmpresaeTAB_Filial. - Aplica os filtros da string
sFiltrose a pesquisa textual. - Ordena os resultados por
Des_Estrutura_Centro_Resultado,Des_Centro_ResultadoeDes_Codigo_Reduzido. - Cria uma lista de
SqlParametere preenche-a com todos os argumentos do método. - Executa a query usando
DataAccessLayer.ExecuteReader.
- Stored Procedures chamadas: Nenhuma diretamente. Utiliza SQL textual construído dinamicamente.
- Parâmetros SQL: (Mesmos de
ListarAutocomplete) - Validações: Nenhuma explícita.
- Regras de negócio: Lógica de filtragem para autocomplete.
ListarPaginadoComponenteConfLista(int pagina, int tamPagina, string ordem, string direcaoOrdem, out int numRegistros, string prefixText, bool ConsiderarCentroResultadoInativo, int? TipoCentroResultado, int? IdGrupoEconomico, int? IdEmpresa, int? IdFilial, int? IdCentroResultadoSuperior, int? IdCentroResultadoAtual, int? IdUsuario, List<int?> lsIdCentroResultado = null)
- Lógica: Lista Centros de Resultado paginados para um componente de configuração de lista, com diversos filtros.
- Constrói uma string
sFiltrosadicionando condiçõesANDbaseadas nos parâmetros de entrada, incluindo um filtro para uma lista de IDs de CRs (lsIdCentroResultado). - Cria uma lista de
SqlParametere preenche-a com todos os argumentos do método, incluindo parâmetros de paginação (@PageNumber,@RowspPage). - Constrói a query SQL principal (
sQuery) que seleciona os CRs, juntando comTAB_EmpresaeTAB_Filial, e aplicando os filtros. - Constrói uma query
sCountpara contar o total de registros e executa-a usandoDataAccessLayer.ExecuteScalarpara preenchernumRegistros. - Constrói a query de paginação (
paginacao) adicionandoORDER BY,OFFSETeFETCH NEXTàsQuery. - Executa a query de paginação usando
DataAccessLayer.ExecuteReaderDse retorna a primeira tabela doDataSet.
- Stored Procedures chamadas: Nenhuma diretamente. Utiliza SQL textual construído dinamicamente.
- Parâmetros SQL: (Mesmos de
ListarAutocomplete, mais@PageNumber,@RowspPagee a lista de IDs de CRs). - Validações: Nenhuma explícita.
- Regras de negócio: Lógica de filtragem e paginação para componentes de lista.
CarregarComponentePorCodigo(int idCr)
- Lógica: Carrega um
IDataReaderpara um componente de Centro de Resultado pelo seu ID.
- Constrói uma query SQL textual com uma CTE recursiva (
arvore_cr) para obter a hierarquia de CRs. - A query seleciona ID, descrição da estrutura, nome, código reduzido, CR superior e apelido da filial, filtrando pelo
idCrfornecido. - Cria uma lista de
SqlParametere adiciona@Idf_Centro_Resultado. - Executa a query usando
DataAccessLayer.ExecuteReader.
- Stored Procedures chamadas: Nenhuma diretamente. Utiliza SQL textual construído dinamicamente com CTEs.
- Parâmetros SQL:
@Idf_Centro_Resultado:int, ID do Centro de Resultado.- Validações: Nenhuma explícita.
CentroCustoBuscaComponentePaginado(int inicio, int fim, string SortExpression, string SortDirection, out int iTotalRegistro, string BuscaTexto)
- Lógica: Busca Centros de Custo paginados para um componente, filtrando por código reduzido.
- Constrói uma query
TemplateBuscaque selecionaDes_Codigo_ReduzidodeTAB_Centro_Resultado, filtra por inativos e texto de busca, e agrupa porDes_Codigo_Reduzido. AdicionaROW_NUMBER()para paginação. - Constrói
SPSELECTCOUNTeSPSELECTPAGcom base emTemplateBusca. - Cria uma lista de
SqlParametere adiciona@BuscaTexto. - Executa
SPSELECTCOUNTpara obteriTotalRegistro. - Executa
SPSELECTPAGe retorna oDataTable.
- Stored Procedures chamadas: Nenhuma diretamente. Utiliza SQL textual construído dinamicamente.
- Parâmetros SQL:
@BuscaTexto:varchar(500), texto para busca no código reduzido.- Validações: Nenhuma explícita.
CentroCustoListarAutocomplete(string prefixText, int count)
- Lógica: Lista Centros de Custo para autocomplete, filtrando por código reduzido.
- Constrói uma query SQL textual que seleciona o
TOP (@top)deDes_Codigo_ReduzidodeTAB_Centro_Resultado, filtra por inativos e texto de busca, e agrupa/ordena porDes_Codigo_Reduzido. - Cria uma lista de
SqlParametere adiciona@BuscaTextoe@top. - Executa a query usando
DataAccessLayer.ExecuteReaderDse retorna oDataTable.
- Stored Procedures chamadas: Nenhuma diretamente. Utiliza SQL textual.
- Parâmetros SQL:
@BuscaTexto:varchar(500), texto para busca no código reduzido.@top:int, número máximo de resultados.- Validações: Nenhuma explícita.
ListarCentroResultadoAtivo(SqlTransaction pTrans, int pIdEmpresa, int? pIdFilial, string pEstruturaCentroResultado, bool flgPermiteLancamento, int? idUsuario = null)
- Lógica: Retorna uma lista de Centros de Resultado ativos com base na empresa, filial (opcional), descrição da estrutura (trimada), flag de permite lançamento e usuário (opcional).
- Se
pEstruturaCentroResultadofor nulo ou vazio, retorna uma lista vazia. - Cria uma lista de
SqlParameterpara@Idf_Empresa,@Idf_Filial,@Des_Estrutura_Centro_Resultado,@Flg_Permite_Lancamentoe@Idf_Usuario. - Preenche os parâmetros, tratando valores nulos e trimando
pEstruturaCentroResultado. - Executa a query
SplistarCENTRORESULTADOSATIVOS(SQL textual) usandoDataAccessLayer.ExecuteReadercom a transação fornecida. - Itera sobre o
IDataReadere adiciona novas instâncias deCentroResultado(apenas com o ID) à lista. - Retorna a lista de Centros de Resultado.
- Stored Procedures chamadas:
SplistarCENTRORESULTADOSATIVOS(SQL textual:SELECT cr.Idf_Centro_Resultado FROM TAB_Centro_Resultado cr WHERE cr.Idf_Empresa = @Idf_Empresa AND (@Idf_Filial IS NULL OR cr.Idf_Filial = @Idf_Filial) AND cr.Des_Estrutura_Centro_Resultado LIKE LTRIM(RTRIM(@Des_Estrutura_Centro_Resultado)) AND cr.Flg_Permite_Lancamento = @Flg_Permite_Lancamento AND cr.Flg_Inativo = 0 AND GETDATE() BETWEEN cr.Dta_Inicio_Vigencia AND ISNULL(cr.Dta_Fim_Vigencia, GETDATE()) AND (@Idf_Usuario IS NULL OR cr.Idf_Centro_Resultado IN (SELECT UA.Idf_Centro_Resultado FROM TAB_SF_Usuario_Acesso(@Idf_Usuario, @Idf_Empresa) UA))). - Parâmetros SQL:
@Idf_Empresa:int, ID da empresa.@Idf_Filial:int?, ID da filial (opcional).@Des_Estrutura_Centro_Resultado:varchar(100), descrição da estrutura do Centro de Resultado (trimada).@Flg_Permite_Lancamento:bit, flag que indica se o CR permite lançamento.@Idf_Usuario:int?, ID do usuário (opcional, para filtro de acesso).- Validações: Verifica se
pEstruturaCentroResultadoé nulo ou vazio. - Regras de negócio: Filtra por CRs ativos, dentro da vigência e com permissão de lançamento.
ValidarDadosArquivoImportacao(LoteImportacao objLote, SqlTransaction trans)
- Lógica: Orquestra a validação dos dados de um arquivo de importação de Centros de Resultado.
- Lista as colunas do processo de arquivo (
BLL.ProcessoArquivoColuna.Listar). - Retorna as listas dinâmicas associadas às colunas (
BLL.ProcessoArquivoColuna.RetornaListas). - Itera sobre cada linha dos valores do lote de importação (
objLote.DescricaoDadosArquivo.Valores):
- Chama
ValidarDadosArquivoImportacaoErrosNosDadospara validar erros nos dados da linha. - Se houver críticas, adiciona-as a
objLote.DescricaoCriticasValidacaoDados.
- Chama
ValidarDadosArquivoImportacaoErrosNegociopara validar erros de negócio. - Define
objLote.DataValidacaocomoDateTime.Now. - Salva o lote de importação (
objLote.Save(trans)).
- Stored Procedures chamadas: Nenhuma diretamente. Chama métodos de
ProcessoArquivoColunaeLoteImportacao. - Validações: Delega a validação para
ValidarDadosArquivoImportacaoErrosNosDadoseValidarDadosArquivoImportacaoErrosNegocio. - Regras de negócio: Fluxo de validação de importação.
ValidarDadosArquivoImportacaoErrosNosDados(BLL.LoteImportacao objLote, SqlTransaction trans, LoteImportacao.DadosArquivo.LinhaValores linha, List lsColunas, Dictionary<int, Dictionary<int, string>> dicListasDinamicas)
- Lógica: Valida erros nos dados de uma linha específica do arquivo de importação de Centros de Resultado.
- Cria um objeto
CriticaLinha. - Chama
LoteImportacao.ValidarObrigatoriospara verificar campos obrigatórios. Se houver erros, retorna a crítica. - Tenta:
- Chama
LoteImportacao.ValidarTipospara validar os tipos de dados. - Recupera os valores dos campos da planilha (Nome CR, Nível Superior, Estrutura, Código Reduzido, Vigência Início/Fim, Responsável, Permite Lançamento, Filial).
- Validação FILIAL: Se
pFilialnão for vazio, tenta carregar a filial por apelido (Filial.CarregarPorApelido). Se não encontrar, adiciona erro. - Validação VIGÊNCIA FIM: Se
pDtaFimVigenciativer valor e for menor quepDtaInicioVigencia, adiciona erro. - Validação RESPONSÁVEL: Se
pResponsavelnão for vazio, tenta converter para CPF e recuperar aPessoaFisica(PessoaFisica.RecuperarPorCPF). Se não encontrar ou o formato for inválido, adiciona erro. - Validação PERMITE LANÇAMENTO / FILIAL: Se
pFlgPermiteLancamentofor “1” (permite lançamento) eobjFilialfor nulo, adiciona erro (exige filial para CRs que permitem lançamento).
- Em caso de exceção, adiciona um erro genérico “Erro não tratado ao validar a linha.”.
- Se houver erros na crítica, retorna a crítica; caso contrário, retorna
null.
- Stored Procedures chamadas: Nenhuma diretamente. Chama métodos de
FilialePessoaFisica. - Validações:
- Campos obrigatórios (delegado a
LoteImportacao.ValidarObrigatorios). - Tipos de dados (delegado a
LoteImportacao.ValidarTipos). - Existência da Filial.
- Vigência Fim não pode ser menor que Vigência Início.
- Formato e existência do Responsável (CPF).
- Exigência de Filial para CRs que permitem lançamento.
- Exceções: Captura exceções genéricas e adiciona uma crítica.
ValidarDadosArquivoImportacaoErrosNegocio(BLL.LoteImportacao objLote, SqlTransaction trans, List lsColunas, Dictionary<int, Dictionary<int, string>> dicListasDinamicas)
- Lógica: Valida erros de negócio em cada linha do arquivo de importação de Centros de Resultado.
- Itera sobre cada linha dos valores do lote de importação.
- Cria um objeto
CriticaLinha. - Recupera os valores dos campos da planilha (Nível Superior, Nome CR, Filial, Estrutura, Permite Lançamento).
- Tenta carregar a
Filialpor apelido. - Se a linha não tiver críticas de dados (já validadas anteriormente):
- Validação NÍVEL SUPERIOR: Se
pNivelSuperiornão for vazio e o CR permitir lançamento (ou não exigir filial): - Tenta carregar o
CentroResultadoSuperiorpor estrutura e filial (CentroResultado.CarregarPorEstruturaV2). - Se o superior não for encontrado (ou tiver ID 0) E não houver outro CR com a mesma estrutura na planilha, adiciona erro.
- Chama
ValidaCentroResultadoDeMesmaEstruturapara verificar duplicidade de estrutura.
- Se a linha JÁ TIVER críticas de dados:
- Repete a lógica de validação de Nível Superior e
ValidaCentroResultadoDeMesmaEstrutura(parece ser um fallback ou revalidação).
- Validação Estrutura Duplicada na Planilha: Verifica se a combinação de
ESTRUTURAeFILIALestá duplicada na própria planilha de importação. - Se houver erros na
criticaLinha, adiciona-a aobjLote.DescricaoCriticasValidacaoDados.
- Stored Procedures chamadas: Nenhuma diretamente. Chama
Filial.CarregarPorApelidoeCentroResultado.CarregarPorEstruturaV2. - Validações:
- Existência e pertinência do Nível Superior (considerando a filial).
- Duplicidade de estrutura de Centro de Resultado já existente no banco de dados.
- Duplicidade de estrutura na própria planilha de importação.
ValidaCentroResultadoDeMesmaEstrutura(int idEmpresa, string estrutura, Filial objFilial, CentroResultado objCentroResultadoSuperior, CriticaLinha criticaLinha)
- Lógica: Verifica se já existe um Centro de Resultado registrado com a mesma estrutura.
- Inicializa
objCRRegistradocomonull. - Constrói a
estruturaValidacao: se houver umobjCentroResultadoSuperior, concatena sua estrutura com a estrutura fornecida; caso contrário, usa apenas a estrutura fornecida. - Se
estruturaValidacaonão for nula ou vazia, tenta carregar umCentroResultadopor essa estrutura e filial (CentroResultado.CarregarPorEstruturaV2). - Se
objCRRegistradofor encontrado e tiver umIdCentroResultadomaior que 0, adiciona um erro àcriticaLinhaindicando que a estrutura já existe.
- Stored Procedures chamadas: Nenhuma diretamente. Chama
CentroResultado.CarregarPorEstruturaV2. - Validações: Verifica a unicidade da estrutura do Centro de Resultado no banco de dados.
LancarDadosArquivoImportacao(BLL.LoteImportacao objLote, SqlTransaction trans, List lsLinhasLancar, int idUsuarioLogado)
- Lógica: Lança os dados validados de um arquivo de importação de Centros de Resultado no banco de dados. O processo ocorre em duas fases: primeiro, a criação dos CRs, e depois, a associação dos CRs superiores.
- Filtra as linhas do lote de importação que devem ser lançadas (
lsLinhasLancar). - Primeira Fase (Criação dos CRs):
- Itera sobre as linhas filtradas:
- Recupera os valores dos campos da planilha.
- Cria uma nova instância de
CentroResultado. - Preenche as propriedades do
objCentroResultadocom os dados da linha (Nome, Filial, Estrutura, Código Reduzido, Vigência, Permite Lançamento, Empresa). - Se
pFilialnão for vazio, tenta carregar a filial e associá-la. - Define
CentroResultadoSuperiorcomonullinicialmente. - Salva o
objCentroResultado(objCentroResultado.Save(trans)). - Se
pResponsavelnão for vazio, tenta definir o responsável para o CR recém-criado (ResponsavelCentroResultado.DefinirResponsavelCR). - Marca a linha como importada no lote (
objLote.ImportouLinha).
- Segunda Fase (Associação dos CRs Superiores):
- Itera novamente sobre as linhas filtradas:
- Recupera o
idCentroResultadodo CR que foi salvo na primeira fase. - Carrega o
objCentroResultadopelo ID. - Se
pFilialnão for vazio, tenta carregar a filial. - Se
pNivelSuperiornão for vazio e oCentroResultadoSuperiorpuder ser carregado por estrutura e filial (CentroResultado.CarregarPorEstruturaV2): - Associa o
objCentroResultadoSuperioraoobjCentroResultado. - Atualiza a
DescricaoEstruturaCentroResultadodo filho. - Caso contrário, define
CentroResultadoSuperiorcomonulle usa apEstruturaoriginal. - Salva o
objCentroResultadoatualizado (objCentroResultado.Save(trans)). - Stored Procedures chamadas: Nenhuma diretamente. Chama
Filial.CarregarPorApelido,CentroResultado.Save,ResponsavelCentroResultado.DefinirResponsavelCR,CentroResultado.LoadObject,CentroResultado.CarregarPorEstruturaV2. - Validações: Nenhuma explícita, assume que os dados já foram validados.
- Regras de negócio:
- Processo em duas etapas para lidar com dependências de hierarquia.
- Criação de
ResponsavelCentroResultadose o campoRESPONSÁVELfor preenchido.
ExcluirLoteImportacao(LoteImportacao objLote, SqlTransaction trans)
- Lógica: Delega a exclusão de um lote de importação de Centros de Resultado para
ExcluirLinhaLoteCentroResultado. - Stored Procedures chamadas: Nenhuma diretamente. Chama
ExcluirLinhaLoteCentroResultado. - Validações: Nenhuma explícita.
ListarIdsCentroResultadoImportados(LoteImportacao objLote)
- Lógica: Lista os IDs dos Centros de Resultado que foram importados e marcados para exclusão no lote.
- Itera sobre as linhas do lote que foram marcadas como excluídas (
objLote.ListarValoresExcluidos()). - Para cada linha, recupera o
IdRegistroassociado (que é o ID do Centro de Resultado). - Tenta converter o
IdRegistroparainte adiciona-o à lista. - Retorna a lista de IDs.
- Stored Procedures chamadas: Nenhuma diretamente.
- Validações: Nenhuma explícita.
ExcluirLinhaLoteCentroResultado(LoteImportacao objLote, SqlTransaction trans)
- Lógica: Exclui os Centros de Resultado associados a um lote de importação.
- Obtém a lista de IDs de CRs importados a serem excluídos (
ListarIdsCentroResultadoImportados). - Primeira Fase (Remover Vínculos Superiores):
- Itera sobre os IDs de CRs a serem excluídos:
- Carrega o
objCRUpdatepelo ID. - Se o CR tiver um
CentroResultadoSuperiorque também está na lista de exclusão, defineCentroResultadoSuperiorcomonulle salva oobjCRUpdate. Isso evita problemas de integridade referencial.
- Segunda Fase (Exclusão dos CRs):
- Itera sobre os IDs de CRs a serem excluídos:
- Carrega o
objCRpelo ID. - Validação: Verifica se o CR possui filhos (
CentroResultado.VerificarFilhos) ou empregados vinculados (objCR.PossuiEmpregados). Se sim, lança umaImportacaoArquivoException. - Se não houver vínculos:
- Carrega o responsável atual do CR (
ResponsavelCentroResultado.CarregarResponsavelAtualCr). - Se houver responsável, exclui-o (
ResponsavelCentroResultado.Delete). - Exclui o próprio CR (
CentroResultado.Delete). - Stored Procedures chamadas: Nenhuma diretamente. Chama
CentroResultado.LoadObject,CentroResultado.Save,CentroResultado.VerificarFilhos,ResponsavelCentroResultado.CarregarResponsavelAtualCr,ResponsavelCentroResultado.Delete,CentroResultado.Delete. - Validações:
- Impede a exclusão de CRs que possuem filhos.
- Impede a exclusão de CRs que possuem empregados vinculados.
- Regras de negócio:
- Exclusão em duas fases para gerenciar dependências.
- Exclusão em cascata de responsáveis.
- Exceções: Lança
ImportacaoArquivoExceptionse houver vínculos que impedem a exclusão.
BuscaCentroResultadoPorCodigoEstrutura(string pDesEstruturaCR, int pIdEmpresa, out CentroResultado ojbCentroResultado)
- Lógica: Busca um Centro de Resultado por código de estrutura e ID da empresa.
- Define uma query SQL textual (
SELECTCRPORDESESTRUTURA) que seleciona todos os campos deTAB_VW_Centro_Resultado(uma view) filtrando por empresa, descrição da estrutura e inatividade. - Cria uma lista de
SqlParameterpara@Des_Codigo_Reduzidoe@Idf_Empresa. - Preenche os parâmetros.
- Executa a query usando
DataAccessLayer.ExecuteReader. - Cria uma nova instância de
CentroResultado. - Chama
SetInstance(dr, ojbCentroResultado)para preencher a instância. - Se
SetInstanceretornartrue, retornatrue; caso contrário, defineojbCentroResultadocomonulle retornafalse.
- Stored Procedures chamadas: Nenhuma diretamente. Utiliza SQL textual.
- Parâmetros SQL:
@Des_Codigo_Reduzido:varchar(50), descrição da estrutura do Centro de Resultado.@Idf_Empresa:int, ID da empresa.- Validações: Nenhuma explícita.
VerificarExistenciaPorEstruturaCentroResultado(int pIdEmpresa, int? pIdfFilial, string pEstruturaCentroResultado, SqlTransaction pTrans = null)
- Lógica: Verifica a existência de um Centro de Resultado por estrutura, empresa e filial, considerando a vigência em relação ao período de cálculo.
- Define uma query SQL textual complexa que conta os registros de
TAB_Centro_Resultado. - A query utiliza
CROSS APPLYpara obter informações do período de cálculo da filial. - Filtra por empresa, vigência (comparando
Dta_Fim_VigenciacomPC.Dta_Fim), filial (opcional) e descrição da estrutura. - Cria uma lista de
SqlParameterpara@Idf_Empresa,@Idf_Filiale@Des_Estrutura_Centro_Resultado. - Preenche os parâmetros.
- Executa a query usando
DataAccessLayer.ExecuteScalar(com ou sem transação) e converte o resultado paraint?usandoToIntOrDefault(), retornando0se for nulo.
- Stored Procedures chamadas: Nenhuma diretamente. Utiliza SQL textual.
- Parâmetros SQL:
@Idf_Empresa:int, ID da empresa.@Idf_Filial:int?, ID da filial (opcional).@Des_Estrutura_Centro_Resultado:varchar(100), descrição da estrutura do Centro de Resultado.- Validações: Nenhuma explícita.
- Regras de negócio: Considera a vigência do CR em relação ao período de cálculo da filial.
ValidaCentroResultado(int idEmpresa, string descCentroResultado, out int? idCentroResultado)
- Lógica: Valida um Centro de Resultado por sua descrição formatada e ID da empresa.
- Define uma query SQL textual que seleciona o
Idf_Centro_ResultadodeTAB_Centro_ResultadoeTAB_Filial. - Filtra por empresa, inatividade e uma descrição formatada do CR (concatenando estrutura, nome e apelido da filial) que corresponde ao
descCentroResultado. - Cria uma lista de
SqlParameterpara@Idf_Empresae@Des_Centro_Resultado. - Preenche os parâmetros.
- Executa a query usando
DataAccessLayer.ExecuteScalare converte o resultado paraint?. - Define
idCentroResultadocom o valor obtido. - Retorna
trueseidCentroResultadotiver valor,falsecaso contrário.
- Stored Procedures chamadas: Nenhuma diretamente. Utiliza SQL textual.
- Parâmetros SQL:
@Idf_Empresa:int, ID da empresa.@Des_Centro_Resultado:varchar, descrição do Centro de Resultado a ser validado.- Validações: Verifica a existência de um CR ativo com a descrição fornecida.
Stored Procedures
| Nome | Parâmetros | Propósito |
|---|---|---|
SPINSERT | @Idf_Centro_Resultado (OUTPUT), @Idf_Empresa, @Idf_Filial, @Idf_Centro_Resultado_Superior, @Des_Centro_Resultado, @Des_Estrutura_Centro_Resultado, @Flg_Permite_Lancamento, @Dta_Inicio_Vigencia, @Dta_Fim_Vigencia, @Des_Codigo_Reduzido, @Flg_Inativo, @Dta_Cadastro, @Idf_Usuario_Gerador | Insere um novo registro na tabela TAB_Centro_Resultado. |
SPUPDATE | @Idf_Empresa, @Idf_Filial, @Idf_Centro_Resultado_Superior, @Des_Centro_Resultado, @Des_Estrutura_Centro_Resultado, @Flg_Permite_Lancamento, @Dta_Inicio_Vigencia, @Dta_Fim_Vigencia, @Des_Codigo_Reduzido, @Flg_Inativo, @Dta_Cadastro, @Idf_Usuario_Gerador, @Idf_Centro_Resultado | Atualiza um registro existente na tabela TAB_Centro_Resultado. |
SPDELETE | @Idf_Centro_Resultado, @Idf_Usuario_Gerador | Atualiza o Idf_Usuario_Gerador e exclui um registro da tabela TAB_Centro_Resultado. |
SPSELECTID | @Idf_Centro_Resultado | Seleciona todos os campos de um registro da tabela TAB_Centro_Resultado pelo seu ID. |
SplistarCRCADASTRADOS | @Idf_Empresa | Lista Centros de Resultado cadastrados para uma empresa, incluindo sua hierarquia e apelido da filial. |
SPCODIGOREDUZIDOJAUSADO | @Idf_Centro_Resultado, @Des_Codigo_Reduzido, @Idf_Empresa | Verifica se um código reduzido já está em uso por outro Centro de Resultado na mesma empresa. |
SPVERIFICARULTIMONIVEL | @Idf_Centro_Resultado | Verifica se um Centro de Resultado é o último nível na hierarquia (não possui filhos). |
SPVERIFICAREXISTEMLANCAMENTOS | @Idf_Centro_Resultado | Verifica se um Centro de Resultado possui lançamentos de empregados. |
SPEXCLUIRCR | @Idf_Centro_Resultado | Exclui um registro da tabela TAB_Centro_Resultado. |
SPQUANTIDADENIVEISEMPRESA | @Idf_Empresa | Retorna a quantidade máxima de níveis de Centros de Resultado existentes para uma empresa. |
SPRELATORIOCENTRORESULTADO | @Idf_Empresa, @Flg_Inativo, @Idf_Cr_Superior | Lista Centros de Resultado para relatório, com filtros de empresa, situação e CR superior, incluindo dados de responsável e filial. |
SPCARREGARPORCRSUPERIOR | @Idf_Centro_Resultado_Superior | Carrega todos os Centros de Resultado filhos diretamente conectados a um CR superior. |
SPVERIFICAFILHOS | @Idf_Centro_Resultado_Superior | Verifica se um Centro de Resultado possui filhos. |
SPRECUPERARCRFILHOS | @Idf_Cr_Atual, @Idf_Cr_Superior, @Idf_Empresa, @Idf_Usuario | Retorna os Centros de Resultado filhos que o usuário tem permissão para acessar. |
SPRECUPERARCRANALITICOS | @Idf_Centro_Resultado_Sintetico, @Idf_Empresa, @Idf_Usuario | Retorna os IDs dos Centros de Resultado analíticos a partir de um CR sintético. |
SPRECUPERARHISTORICO | @Idf_Empregado | Recupera o histórico de Centros de Resultado de um empregado. |
SPCARREGACRPORDESCRICAOESTRUTURA | @Des_Estrutura_Centro_Resultado, @Idf_Empresa | Carrega Centros de Resultado por descrição da estrutura e ID da empresa. |
SPSELIDCENTRORESULTADOANALITICOATIVO | @Idf_Empresa, @Idf_Centro_Resultado_Base, @Flg_Inativo | Carrega IDs de CRs analíticos ativos de uma empresa, opcionalmente a partir de um CR base, considerando o período de cálculo da filial. |
SPSELIDCENTRORESULTADOANALITICOATIVORELATORIOFOLHAPAGAMENTO | @Idf_Empresa, @Idf_Centro_Resultado_Base, @Flg_Inativo | Carrega IDs de CRs analíticos ativos para relatório de folha de pagamento, similar à SPSELIDCENTRORESULTADOANALITICOATIVO. |
SPCONSULTACENTRORESULTADOPORLISTIDF | @IdfCentroResultado, @Pesquisa | Consulta Centros de Resultado por uma lista de IDs e texto de pesquisa. |
SELCENTRORESULTADOPOREMPRESAESTRUTURA | @Idf_Empresa, @Idf_Filial, @Des_Estrutura_Centro_Resultado, @Idf_Usuario | Seleciona Centros de Resultado por empresa, filial, descrição da estrutura e acesso do usuário. |
SELCENTRORESULTADOPOREMPRESAESTRUTURAV2 | @Idf_Empresa, @Idf_Filial, @Des_Estrutura_Centro_Resultado | Seleciona Centros de Resultado por empresa, filial e descrição da estrutura (versão 2, tratando filiais nulas/não nulas). |
SplistarCENTRORESULTADOSATIVOS | @Idf_Empresa, @Idf_Filial, @Des_Estrutura_Centro_Resultado, @Flg_Permite_Lancamento, @Idf_Usuario | Lista IDs de Centros de Resultado ativos com filtros de empresa, filial, estrutura, permissão de lançamento e acesso do usuário. |
SELECTCRPORDESESTRUTURA | @Des_Codigo_Reduzido, @Idf_Empresa | Busca um Centro de Resultado por código de estrutura e empresa (utiliza TAB_VW_Centro_Resultado). |
plataforma.TAB_SF_SplitNumerico | @IdfCentroResultado | Função de tabela para dividir uma string de números separados por vírgula em uma tabela. |
TAB_SF_Usuario_Acesso | @Idf_Usuario, @Idf_Empresa | Função de tabela para obter os Centros de Resultado aos quais um usuário tem acesso em uma empresa. |
Employer.Plataforma.BLL.Contrato
Arquivos:
C:\Webfopag\Etec.WebFopag\Employer.Plataforma.BLL\Contrato_P1.csC:\Webfopag\Etec.WebFopag\Employer.Plataforma.BLL\Contrato_P2.csC:\Webfopag\Etec.WebFopag\Employer.Plataforma.BLL\Contrato_P3.cs
Métodos
| Método | Assinatura | Propósito |
|---|---|---|
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 de Contrato. |
Insert | private void Insert() | Insere uma nova instância de Contrato no banco de dados. |
Insert | private void Insert(SqlTransaction trans) | Insere uma nova instância de Contrato no banco de dados dentro de uma transação. |
Update | private void Update() | Atualiza uma instância existente de Contrato no banco de dados. |
Update | private void Update(SqlTransaction trans) | Atualiza uma instância existente de Contrato no banco de dados dentro de uma transação. |
Save | public void Save() | Salva uma instância de Contrato (insere se for nova, atualiza se já existir). |
Save | public void Save(SqlTransaction trans) | Salva uma instância de Contrato dentro de uma transação. |
Delete | public static void Delete(int idContrato) | Exclui um Contrato pelo seu ID. |
Delete | public static void Delete(int idContrato, SqlTransaction trans) | Exclui um Contrato pelo seu ID dentro de uma transação. |
Delete | public static void Delete(List<int> idContrato) | Exclui uma lista de Contrato por seus IDs. |
LoadDataReader | private static IDataReader LoadDataReader(int idContrato) | Retorna um IDataReader com as colunas de um registro de Contrato pelo ID. |
LoadDataReader | private static IDataReader LoadDataReader(int idContrato, SqlTransaction trans) | Retorna um IDataReader com as colunas de um registro de Contrato pelo ID 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 de Contrato. |
LoadObject | public static Contrato LoadObject(int idContrato) | Retorna uma instância de Contrato a partir do banco de dados pelo ID. |
LoadObject | public static Contrato LoadObject(int idContrato, SqlTransaction trans) | Retorna uma instância de Contrato a partir do banco de dados pelo ID dentro de uma transação. |
CompleteObject | public bool CompleteObject() | Completa a instância atual de Contrato com dados do banco de dados. |
CompleteObject | public bool CompleteObject(SqlTransaction trans) | Completa a instância atual de Contrato com dados do banco de dados dentro de uma transação. |
RetornaCodigoContrato | public string RetornaCodigoContrato() | Retorna o código formatado do contrato (ex: Tipo.Mae.Filho). |
RetornaCodigoContrato | public string RetornaCodigoContrato(SqlTransaction trans) | Retorna o código formatado do contrato dentro de uma transação. |
SetInstance | private static bool SetInstance(IDataReader dr, Contrato objContrato) | Método auxiliar utilizado pelos métodos LoadObject e CompleteObject para percorrer um IDataReader e vincular as colunas com os atributos da classe. |
ListarAutoComplete | public static string[] ListarAutoComplete(int pNumeroRegistros, int pIdEmpresa, int pIdUsuario, int? pIdFilial, int? pIdTipoContrato, int? pCodigoContratoFilho, int? pCodigoContratoMae, string pApelido, bool? pFlgContratoMae, int? pIdContratoMae, bool pFiltrarPorUsuarioLogado) | Retorna um array de strings para autocomplete de contratos, com diversos filtros. |
ListarAutoComplete | public static string[] ListarAutoComplete(int pNumeroRegistros, int pIdEmpresa, int pIdUsuario, int? pIdFilial, string CodContrato, string pApelido, bool? pFlgContratoMae, int? pIdContratoMae, bool pFiltrarPorUsuarioLogado) | Retorna um array de strings para autocomplete de contratos, com filtros por código de contrato e apelido. |
ListarContratoAutoCompleteMae | public static string[] ListarContratoAutoCompleteMae(int pNumeroRegistros, int pIdUsuario, int pIdEmpresa, string pApelido, int pCodigoContrato, int pTipoContrato) | Retorna um array de strings para autocomplete de contratos mãe. |
ListarContratoAutoCompleteFilho | public static string[] ListarContratoAutoCompleteFilho(int pNumeroRegistros, int pIdUsuario, int pIdEmpresa, string pApelido, int pCodigoContratoMae, int pCodigoContratoFilho, int pTipoContrato) | Retorna um array de strings para autocomplete de contratos filho. |
ListarAutoCompleteDicionario | public static Dictionary<int, String> ListarAutoCompleteDicionario(int pNumeroRegistros, int pIdEmpresa, int pIdUsuario, int? pIdFilial, int? pIdTipoContrato, int? pCodigoContratoFilho, int? pCodigoContratoMae, string pApelido, bool? pFlgContratoMae, int? pIdContratoMae, bool pFiltrarPorUsuarioLogado) | Retorna um dicionário para autocomplete de contratos, com diversos filtros. |
ListarAutoCompleteParaContaPagar | public static Dictionary<int, String> ListarAutoCompleteParaContaPagar(int pNumeroRegistros, int pIdEmpresa, int pIdUsuario, string pApelido, bool bolPesquisarContratoMae) | Retorna um dicionário para autocomplete de contratos para contas a pagar. |
ListarAutoCompleteParaContaPagar | public static Dictionary<int, String> ListarAutoCompleteParaContaPagar(int pNumeroRegistros, int pIdEmpresa, string pApelido) | Retorna um dicionário para autocomplete de contratos para contas a pagar (versão simplificada). |
ListarAtivosPermitidos | private static IDataReader ListarAtivosPermitidos(int quantidadeRegistros, int idEmpresa, int idUsuario, int? idTipoContrato, int? codContratoMae, int? codContratoFilho, string apelidoParcial) | Lista contratos ativos permitidos para o usuário, com filtros. |
ListarAtivosPermitidosComponente | private static IDataReader ListarAtivosPermitidosComponente(int quantidadeRegistros, int idEmpresa, int idUsuario, int? idTipoContrato, int? codContratoMae, int? codContratoFilho, string apelidoParcial) | Lista contratos mãe ativos permitidos para o usuário, com filtros para componente. |
ListarContratosPermitidos | private static IDataReader ListarContratosPermitidos(int quantidadeRegistros, int idEmpresa, int idUsuario, int? idTipoContrato, int? codContratoMae, int? codContratoFilho, string apelidoParcial) | Lista contratos (mãe/filho) ativos permitidos para o usuário, com filtros. |
ListarContratosPermitidos | private static IDataReader ListarContratosPermitidos(int quantidadeRegistros, int idEmpresa, int idUsuario, int? idContratoMae, int? codContratoFilho, string apelidoParcial) | Lista contratos (mãe/filho) ativos permitidos para o usuário, com filtros. |
ListarArrayAtivosParaAutoComplete | public static string[] ListarArrayAtivosParaAutoComplete(int quantidadeRegistros, int idEmpresa, int idUsuario, int? idTipoContrato, int? codContratoMae, int? codContratoFilho, string apelidoParcial) | Retorna um array de strings de contratos ativos para autocomplete. |
ListarArrayMaesAtivosParaAutoComplete | public static string[] ListarArrayMaesAtivosParaAutoComplete(int quantidadeRegistros, int idEmpresa, int idUsuario, int? idTipoContrato, int? codContratoMae, int? codContratoFilho, string apelidoParcial) | Retorna um array de strings de contratos mãe ativos para autocomplete. |
ListarContratoMaePorCodNomeParcial | public static Dictionary<int, string> ListarContratoMaePorCodNomeParcial(int quantidadeRegistros, int idEmpresa, int idUsuario, int? idTipoContrato, int? codContratoMae, string apelidoParcial) | Retorna um dicionário de contratos mãe por código e nome parcial. |
ListarArrayFilhosAtivosParaAutoComplete | [Obsolete] public static string[] ListarArrayFilhosAtivosParaAutoComplete(int quantidadeRegistros, int idEmpresa, int idUsuario, int? idTipoContrato, int? codContratoMae, int? codContratoFilho, string apelidoParcial) | (Obsoleto) Retorna um array de strings de contratos filho ativos para autocomplete. |
ListarContratosFilhosAutoComplete | public static string[] ListarContratosFilhosAutoComplete(int quantidadeRegistros, int idEmpresa, int idUsuario, int? idTipoContrato, int? codContratoMae, int? codContratoFilho, string apelidoParcial) | Lista contratos filhos para autocomplete. |
ListarContratoFilhoPorContratoMae_CodNomeParcial | public static Dictionary<int, string> ListarContratoFilhoPorContratoMae_CodNomeParcial(int quantidadeRegistros, int idEmpresa, int idUsuario, int? idContratoMae, int? codContratoFilho, string apelidoParcial) | Retorna um dicionário de contratos filho por contrato mãe, código e nome parcial. |
ListarMaePorTipoECodigo | private static IDataReader ListarMaePorTipoECodigo(int idTipo, int codContrato) | Lista contratos mãe por tipo e código. |
ListarMaePorEmpresaTipo | private static IDataReader ListarMaePorEmpresaTipo(int idEmpresa, int idTipo) | Lista contratos mãe por empresa e tipo. |
ListarMaePorEmpresaTipo | private static IDataReader ListarMaePorEmpresaTipo(int idEmpresa, int idTipo, SqlTransaction trans) | Lista contratos mãe por empresa e tipo dentro de uma transação. |
ListarPorFilialNaoPrestadora | private static IDataReader ListarPorFilialNaoPrestadora(int idFilial) | Lista contratos de filiais não prestadoras. |
ListarPorFilialPrestadora | private static IDataReader ListarPorFilialPrestadora(int idFilial) | Lista contratos de filiais prestadoras. |
ListarContratoFilho | public static DataTable ListarContratoFilho(int? idContrato, string Pesquisa, String colunaOrdenada, String tipoOrdenacao, int tamanhoPagina, int paginaCorrente, out int total) | Lista contratos filho de forma paginada. |
SeperaTipoValorAutoComplete | private static void SeperaTipoValorAutoComplete(ref string Valor, ref string Tipo, ref string Codigo, bool CodigoComponto) | Método auxiliar para separar tipo, código e valor de uma string de autocomplete. |
ListarAutoCompleteSemRestricao | [Obsolete] public static Dictionary<int, string> ListarAutoCompleteSemRestricao(string Valor, int Idf_Empresa, int count, int Idf_Usuario) | (Obsoleto) Lista contratos para autocomplete sem restrição de acesso. |
ListarAutoCompleteSemRestricaoPaginacao | public static Dictionary<int, string> ListarAutoCompleteSemRestricaoPaginacao(string Valor, int Idf_Empresa, int Idf_Usuario, int paginaCorrente, int tamanhoPagina, out int totalRegistros) | Lista contratos para autocomplete sem restrição de acesso, com paginação. |
ListarAutoCompletePorCliente | public static Dictionary<int, string> ListarAutoCompletePorCliente(int idCliente, string Valor, int Idf_Empresa, int count) | Lista contratos para autocomplete por cliente. |
ListarPorClienteModal | public static IDataReader ListarPorClienteModal(string colunaOrdenacao, string direcaoOrdenacao, int paginaCorrente, int tamanhoPagina, int idCliente, out int totalRegistros, int Idf_Empresa) | Lista contratos para modal de cliente, com paginação. |
ListarContratoUsuarioEmpresaPorCodNomeParcial | public static IDataReader ListarContratoUsuarioEmpresaPorCodNomeParcial(int idUsuario, int idEmpresa, string valor, int numeroRegistros, int? tipoContrato) | Lista contratos por usuário, empresa, código/nome parcial. |
ListarContratoUsuarioEmpresaFilialPorCodNomeParcial | public static IDataReader ListarContratoUsuarioEmpresaFilialPorCodNomeParcial(int idUsuario, int idEmpresa, int idFilial, string valor, int numeroRegistros) | Lista contratos por usuário, empresa, filial, código/nome parcial. |
ListarPorCodigo | private static IDataReader ListarPorCodigo(int idUsuario, int idEmpresa, int idTipoContrato, int codigoContratoMae, int codigoContrato) | Lista contratos por código e tipo, considerando permissões. |
ListarPorID | private static IDataReader ListarPorID(int idEmpresa, int idTipoContrato, int idContratoMae, int idContrato) | Lista contratos por ID e tipo. |
ListarPorIdTipoECodMae | public static IDataReader ListarPorIdTipoECodMae(int idTipo, int codMae) | Lista contratos por tipo e código do contrato mãe. |
ListarPorApelidoParcial | public static IDataReader ListarPorApelidoParcial(string apelidoContrato) | Lista contratos por apelido parcial. |
ListarPorIdTipoCodMaeCodFilho | public static IDataReader ListarPorIdTipoCodMaeCodFilho(int idTipoContrato, int codContratoMae, int codContratoFilho) | Lista contratos por tipo, código mãe e código filho. |
ListarPorIdTipoCodMaeCodFilhoEmpresa | public static IDataReader ListarPorIdTipoCodMaeCodFilhoEmpresa(int idTipoContrato, int codContratoMae, int codContratoFilho, int idEmpresa) | Lista contratos por tipo, código mãe, código filho e empresa. |
ListarPorCodNomeParcial | public static IDataReader ListarPorCodNomeParcial(string nomeColuna, string direcaoOrdenacao, int paginaCorrente, int tamanhoPagina, out int totalRegistros, string codNomeContrato, int idEmpresa) | Lista contratos paginados por código/nome parcial e empresa. |
ListarPaginacao | public static DataTable ListarPaginacao(int? idTipoContrato, bool buscarContratoFilho, bool buscarContratoMae, string text, string nomeColuna, string direcaoOrdenacao, int paginaCorrente, int tamanhoPagina, int idEmpresaLogada, out int totalRegistros) | Lista contratos paginados com filtros de tipo, busca por filho/mãe e texto. |
ListarPaginacao | public static IDataReader ListarPaginacao(string colunaOrdenacao, string direcaoOrdenacao, string expressao, int paginaCorrente, int tamanhoPagina, out int totalRegistros) | Lista contratos paginados com expressão SQL customizada. |
ListarCodNomeParcial2 | public static IDataReader ListarCodNomeParcial2(int idTipoContrato, int codContrato, int codContratoFilho, string apelido) | Lista contratos por tipo, código, código filho e apelido. |
ListarCodNomeParcial | public static IDataReader ListarCodNomeParcial(int? idTipoContrato, int? codContrato, int idEmpresa, string apelido) | Lista contratos por tipo, código, empresa e apelido. |
ListarCodNomeParcial | public static IDataReader ListarCodNomeParcial(int? idTipoContrato, int? codContrato, int idEmpresa, string apelido, int numeroRegistros) | Lista contratos por tipo, código, empresa, apelido e número de registros. |
ListarFilhosPorIdTipoCodMaeCodFilho | public static IDataReader ListarPorIdTipoCodMaeCodFilho(int? idTipoContrato, int? codContratoMae, int? codContratoFilho, string apelidoContrato) | Lista contratos filhos por tipo, código mãe, código filho e apelido. |
ListarAFaturarPorContratos | public static IDataReader ListarAFaturarPorContratos(string colunaOrdenacao, string direcaoOrdenacao, int? idTipoContrato, decimal? DocCliente, int? idContrato, int? idEmpresa) | Lista contratos a serem faturados por tipo, documento do cliente e contrato. |
ListarAFaturarPorCentroCusto | public static IDataReader ListarAFaturarPorCentroCusto(string colunaOrdenacao, string direcaoOrdenacao, int? idContrato) | Lista contratos a serem faturados por centro de custo. |
Listar | public static IDataReader Listar() | Retorna todos os registros de contrato. |
ListarIdContratoFilhoPorContratoMae | public List<int> ListarIdContratoFilhoPorContratoMae(int pIdEmrpesa, int pIdContratoMae, int pIdUsuario) | Lista os IDs dos contratos filhos de um contrato mãe, considerando permissões do usuário. |
RecuperaPorEmpresa | public static int RecuperaPorEmpresa(int Idf_Empresa) | Recupera o ID do contrato de uma empresa. |
CarregarAutoComplete | public static bool CarregarAutoComplete(int pIdEmpresa, int pIdUsuario, int pIdTipoContrato, int? pCodigoContratoMae, int pCodigoContratoFilho, string pApelido, bool pFiltrarPorUsuarioLogado, out Contrato pObjContrato) | Carrega um objeto contrato a partir dos parâmetros de autocomplete. |
CarregarAutoComplete | public static bool CarregarAutoComplete(int pIdEmpresa, int pIdUsuario, int pIdTipoContrato, int? pCodigoContratoMae, int pCodigoContratoFilho, bool pFiltrarPorUsuarioLogado, out Contrato pObjContrato) | Carrega um objeto contrato a partir dos parâmetros de autocomplete (versão sem apelido). |
CarregarMaePorTipoECodigo | public static bool CarregarMaePorTipoECodigo(int idTipo, int codContrato, out Contrato objContrato) | Carrega um contrato mãe por tipo e código. |
CarregarPorIdTipoCodMaeCodFilho | [Obsolete] public static bool CarregarPorIdTipoCodMaeCodFilho(int idTipoContrato, int codContratoMae, int codContratoFilho, out Contrato objContratoFilho) | (Obsoleto) Carrega um contrato filho por tipo, código mãe e código filho. |
CarregarPorIdTipoCodMaeCodFilho | public static bool CarregarPorIdTipoCodMaeCodFilho(int idTipoContrato, int codContratoMae, int codContratoFilho, int idEmpresa, out Contrato objContratoFilho) | Carrega um contrato filho por tipo, código mãe, código filho e empresa. |
CarregarMaePorEmpresaTipo | public static bool CarregarMaePorEmpresaTipo(int idEmpresa, int idTipo, out Contrato objContrato) | Preenche um contrato mãe por empresa e tipo. |
CarregarMaePorEmpresaTipo | public static bool CarregarMaePorEmpresaTipo(int idEmpresa, int idTipo, out Contrato objContrato, SqlTransaction trans) | Preenche um contrato mãe por empresa e tipo dentro de uma transação. |
CarregarPorFilialNaoPrestadora | public static bool CarregarPorFilialNaoPrestadora(int idFilial, out Contrato objContrato) | Carrega um contrato de filial não prestadora. |
CarregarContratoFilialNaoPrestadora | public static bool CarregarContratoFilialNaoPrestadora(int idFilial, out Contrato objContrato) | Carrega um contrato de filial não prestadora. |
CarregarPorFilialPrestadora | public static bool CarregarPorFilialPrestadora(int idFilial, out Contrato objContrato) | Carrega um contrato de filial prestadora. |
CarregarPorCodigo | public static bool CarregarPorCodigo(int pIdUsuario, int pIdEmpresa, string pCodigoContrato, out Contrato objContrato) | Carrega um contrato por código e empresa, considerando permissões do usuário. |
CarregarPorCodigo | public static bool CarregarPorCodigo(SqlTransaction pTrans, int pIdUsuario, int pIdEmpresa, string pCodigoContrato, out Contrato objContrato) | Carrega um contrato por código e empresa, considerando permissões do usuário, dentro de uma transação. |
CarregarPorCodigo | public static bool CarregarPorCodigo(int idUsuario, int idEmpresa, int idTipoContrato, int codigoContratoMae, int codigoContrato, out Contrato objContrato) | Carrega um contrato por código, tipo, código mãe e empresa, considerando permissões. |
CarregarPorCodigo | [Obsolete] public static bool CarregarPorCodigo(int idEmpresa, int idTipoContrato, int codigoContratoMae, int codigoContrato, out Contrato objContrato) | (Obsoleto) Carrega um contrato por código, tipo, código mãe e empresa (sem usuário). |
CarregarPorID | public static bool CarregarPorID(int idEmpresa, int idTipoContrato, int idContratoMae, int idContrato, out Contrato objContrato) | Carrega um contrato por ID, tipo, ID mãe e empresa. |
CarregarPorUsuarioEmpresa | public static bool CarregarPorUsuarioEmpresa(int idEmpresa, int idUsuarioLogado, int idTipoContrato, int codigoContratoMae, int codigoContrato, string apelido, out Contrato objContrato) | Carrega um contrato por usuário, empresa, tipo, códigos e apelido. |
CarregarPorUsuarioEmpresaFilial | public static bool CarregarPorUsuarioEmpresaFilial(int idEmpresa, int idFilial, int idUsuarioLogado, int idTipoContrato, int codigoContratoMae, int codigoContrato, string apelido, out Contrato objContrato) | Carrega um contrato por usuário, empresa, filial, tipo, códigos e apelido. |
ListarPorUsuarioEmpresa | private static IDataReader ListarPorUsuarioEmpresa(int idFilial, int idEmpresa, int idUsuario, int idTipoContrato, int codigoContratoMae, int codigoContrato, string apelido) | Lista contratos por filial, empresa, usuário, tipo, códigos e apelido. |
ListarPorUsuarioEmpresa | private static IDataReader ListarPorUsuarioEmpresa(int idEmpresa, int idUsuario, int idTipoContrato, int codigoContratoMae, int? codigoContrato, string apelido) | Lista contratos por empresa, usuário, tipo, códigos e apelido. |
ListarPorUsuarioEmpresa | public static List<int> ListarPorUsuarioEmpresa(int idUsuario, int idEmpresa) | Lista os IDs dos contratos aos quais um usuário tem acesso em uma empresa. |
CarregarPorApelido | public static bool CarregarPorApelido(string apelido, out Contrato objContrato) | Carrega um contrato por apelido. |
CarregarPorApelido | [Obsolete] public static bool CarregarPorApelido(string apelido, int idFilial, out Contrato objContrato) | (Obsoleto) Carrega um contrato por apelido e filial (ignora tipo de contrato). |
CarregarPorApelido | public static bool CarregarPorApelido(int idfTipoContrato, string apelido, int idFilial, out Contrato objContrato) | Carrega um contrato por tipo, apelido e filial. |
CarregarPorEmpresa_CodigoContrato | public static bool CarregarPorEmpresa_CodigoContrato(int idEmpresa, int idTipoContrato, int codContrato, int? codContratoMae, out Contrato objContrato) | Carrega um contrato por empresa, tipo, código e código mãe. |
CarregarPorTipoContratoCodigo | public static Contrato CarregarPorTipoContratoCodigo(int idEmpresa, int idTipoContrato, int codContrato) | Carrega um contrato por empresa, tipo e código. |
CarregarPorTipoContratoCodigo | [Obsolete] public static Contrato CarregarPorTipoContratoCodigo(int idTipoContrato, int codContrato) | (Obsoleto) Carrega um contrato por tipo e código (sem empresa). |
CarregarContratosFilho | public static DataTable CarregarContratosFilho(int pIdContratoMae, Enumeradores.TipoCliente pTipoCliente, string pColunaOrdenacao, string pDirecaoOrdenacao, int pPaginaCorrente, int pTamanhoPagina, out int totalRegistros) | Carrega contratos filho de forma paginada, filtrando por tipo de cliente. |
CarregarContratosFilho | public static DataTable CarregarContratosFilho(int idContratoMae) | Carrega todos os contratos filho de um contrato mãe. |
CarregarContratosFilho | public static DataTable CarregarContratosFilho(int idContratoMae, SqlTransaction trans) | Carrega todos os contratos filho de um contrato mãe dentro de uma transação. |
CarregarContratosFilhoList | public static List<int> CarregarContratosFilhoList(int idEmpresa, int idUsuario, int idContratoMae, SqlTransaction trans) | Carrega uma lista de IDs de contratos filho de um contrato mãe, considerando permissões. |
CarregarContratosFilhoList | public static List<int> CarregarContratosFilhoList(int idContratoMae) | Carrega uma lista de IDs de contratos filho de um contrato mãe. |
CarregarContratosFilhoList | public static List<int> CarregarContratosFilhoList(int idContratoMae, SqlTransaction trans) | Carrega uma lista de IDs de contratos filho de um contrato mãe dentro de uma transação. |
CarregarContratosFilho | public static DataTable CarregarContratosFilho(int idContratoMae, string orderby) | Carrega contratos filho de um contrato mãe com ordenação. |
RecuperarIdFilialGestoraPorIdContrato | public static Int32? RecuperarIdFilialGestoraPorIdContrato(Int32 IdContrato) | Recupera o ID da filial gestora de um contrato. |
CarregarPorFilial | public static List<int> CarregarPorFilial(int IdFilial) | Carrega uma lista de IDs de contratos de uma filial. |
CarregarContratosFilhoPorFilial | public static List<int> CarregarContratosFilhoPorFilial(int IdFilial) | Carrega uma lista de IDs de contratos filho de uma filial. |
CarregarContratoFilhoPorEmpresa | public static bool CarregarContratoFilhoPorEmpresa(Empresa objEmpresa, TipoContrato objTipoContrato, out Contrato objContrato, Empresa objEmpresaPrestadora, SqlTransaction trans) | Carrega um contrato filho por empresa, tipo de contrato e empresa prestadora. |
RecuperarContratoPorTextoAutoComplete | public static bool RecuperarContratoPorTextoAutoComplete(string strTxtContrato, out Contrato objContrato) | Recupera um contrato a partir do texto de um autocomplete. |
RecuperarContratoPorTextoAutoComplete | public static bool RecuperarContratoPorTextoAutoComplete(string strTxtContrato, int codEmpresa, out Contrato objContrato) | Recupera um contrato a partir do texto de um autocomplete e código da empresa. |
RetornarCodigoContrato | public static int RetornarCodigoContrato(int idFilial) | Retorna o código de um contrato quando a empresa não é prestadora de serviço. |
LoadArray | public static string[] LoadArray(string text) | Carrega um array de strings de contratos por texto. |
LoadIdfByCodigo | public static int? LoadIdfByCodigo(string codigoContrato) | Carrega o ID de um contrato pelo código. |
LoadCodigoByIdf | public static string LoadCodigoByIdf(int idf) | Carrega o código de um contrato pelo ID. |
LoadDataReaderByText | private static IDataReader LoadDataReaderByText(string text, string codigo) | Carrega um IDataReader por texto ou código. |
GetCompletionList | public static string[] GetCompletionList(int idTipoContrato, int codContrato, int codContratoFilho, string prefixText) | Retorna uma lista de conclusão para autocomplete de contratos. |
Save | public void Save(List<ContratoVerbaFatura> lstContratoVerba, List<ContratoTributo> lstContratoTributo) | Salva o contrato, suas verbas de fatura e tributos. |
Save | public void Save(List<ContratoVerbaFatura> lstContratoVerba, List<ContratoTributo> lstContratoTributo, List<ContratoBeneficio> lstContratoBeneficio, List<Resposta> lstRespostaCheckList) | Salva o contrato, suas verbas de fatura, tributos, benefícios e respostas de checklist. |
ApelidoJaExiste | public static bool ApelidoJaExiste(string apelido, int codContratoMae) | Verifica se um apelido de contrato filho já existe para um contrato mãe. |
GerarCodigoContrato | public static int GerarCodigoContrato(int idCliente, int idTipoContrato) | Gera um novo código de contrato. |
GerarCodigoContrato | public static int GerarCodigoContrato(SqlTransaction trans, int idContratoMae) | Gera um novo código de contrato filho para um contrato mãe dentro de uma transação. |
GerarCodigoContrato | public static int GerarCodigoContrato(Contrato contratoMae, Empresa empresa) | Gera um novo código de contrato filho para um contrato mãe e empresa. |
GerarCodigoContrato | public static int GerarCodigoContrato(SqlTransaction trans, Cliente cliente, TipoContrato tipocontrato, Empresa empresa) | Gera um novo código de contrato mãe para um cliente, tipo de contrato e empresa dentro de uma transação. |
GerarCodigoContrato | public static int GerarCodigoContrato(Cliente cliente, TipoContrato tipocontrato, Empresa empresa) | Gera um novo código de contrato mãe para um cliente, tipo de contrato e empresa. |
GerarContratoFilho | public void GerarContratoFilho() | Gera contratos filhos a partir do contrato mãe. |
CopiarFuncoesExclusivasParaContratoFilho | public static void CopiarFuncoesExclusivasParaContratoFilho(Int32 IdfUsuario, Int32 IdfContrato) | Copia funções exclusivas do contrato mãe para o contrato filho. |
CopiarFuncoesExclusivasParaContratoFilho | public static void CopiarFuncoesExclusivasParaContratoFilho(Int32 IdfUsuario, Int32 IdfContrato, Int32 IdfContratoMae, SqlTransaction trans = null) | Copia funções exclusivas do contrato mãe para o contrato filho dentro de uma transação. |
UpdateContratoMae | private void UpdateContratoMae() | Atualiza um contrato mãe. |
UpdateContratoMae | private void UpdateContratoMae(SqlTransaction trans) | Atualiza um contrato mãe dentro de uma transação. |
UpdateContratoFilho | private void UpdateContratoFilho(SqlTransaction trans) | Atualiza os contratos filhos de um contrato mãe. |
CarregarContratosFilho | public static IDataReader CarregarContratosFilho(string colunaOrdenacao, string direcaoOrdenacao, int idfContratoMae, int paginaCorrente, int tamanhoPagina, out int totalRegistros) | Carrega contratos filhos de forma paginada. |
ListaPesquisaMaster | public static DataTable ListaPesquisaMaster(string colunaOrdenacao, string direcaoOrdenacao, int paginaCorrente, int tamanhoPagina, out int totalRegistros, int idfEmpresa, int idfUsuario, string pesquisa) | Lista contratos para pesquisa master, com paginação e filtros. |
AtualizarContratosFilho | public void AtualizarContratosFilho(bool bolDataInicioAlterado = false, bool bolDataTerminoAlterado = false) | Atualiza todos os contratos filhos de acordo com o contrato mãe. |
AtualizarContratosFilho | public void AtualizarContratosFilho(SqlTransaction trans) | Atualiza todos os contratos filhos de acordo com o contrato mãe dentro de uma transação. |
VerificarContatoContrato | public static bool VerificarContatoContrato(int idfContrato) | Verifica se um contrato possui contato de nota fiscal eletrônica. |
VerificarSeContratoTemDepartamento | public static bool VerificarSeContratoTemDepartamento(int Idf_Contrato) | Verifica se um contrato possui departamentos. |
CarregarContratoCentroResultado | public static bool CarregarContratoCentroResultado(int idEmpresa, out Contrato objContrato) | Carrega o contrato filho da empresa que utiliza centro de resultado. |
CarregarContratoCentroResultado | public static bool CarregarContratoCentroResultado(SqlTransaction pTrans, int idEmpresa, out Contrato objContrato) | Carrega o contrato filho da empresa que utiliza centro de resultado dentro de uma transação. |
RecuperarContratosFilhos | public static DataTable RecuperarContratosFilhos(int codEmpresa, int codUsuario, int? codContrato) | Retorna todos os contratos filhos que o usuário tem permissão. |
RetornarIdTipoCodContratoMaeCodContratoApelidoContratoFormatado | public static string RetornarIdTipoCodContratoMaeCodContratoApelidoContratoFormatado(int idContrato) | Retorna o código e apelido formatados de um contrato. |
RecuperarTotalContratosAtivos | public static int RecuperarTotalContratosAtivos(int idEmpresa) | Recupera o total de contratos ativos de uma empresa. |
VerificarSeContratoTemEmpregado | public static bool VerificarSeContratoTemEmpregado(int idContrato) | Verifica se um contrato possui empregados admitidos. |
CarregarUltimoContratoFilho | public static Contrato CarregarUltimoContratoFilho(int idContratoMae) | Carrega o último contrato filho de um contrato mãe. |
LoadDataReaderContratoFilho | private static IDataReader LoadDataReaderContratoFilho(int idContratoMae) | Retorna um IDataReader com o último contrato filho de um contrato mãe. |
ExisteContratoFilhoVigente | public static bool ExisteContratoFilhoVigente(int idCliente, int idFilial, int idEmpresa, int? idContrato) | Verifica se existe contrato filho vigente para um cliente, filial e empresa. |
HistoricoFiliaisGestoras | public static DataTable HistoricoFiliaisGestoras(int idEmpresa, int? idContrato, String colunaOrdenada, String tipoOrdenacao, int tamanhoPagina, int paginaCorrente, out int total) | Retorna o histórico de filiais gestoras de um contrato, paginado. |
ListarContratosPorFilialContrato | public static DataTable ListarContratosPorFilialContrato(Dictionary<int, bool> dic, string nomeColuna, string direcaoOrdenacao, int paginaCorrente, int tamanhoPagina, out int totalRegistros) | Lista contratos por filial e contrato, paginado. |
ListarContratosPorFilialContrato | public static Dictionary<int, bool> ListarContratosPorFilialContrato(int? pIdFilial, int? pIdContrato) | Lista contratos por filial e contrato em um dicionário. |
ExisteEmpregadoAtivoContratoFilho | public static bool ExisteEmpregadoAtivoContratoFilho(int IdContrato) | Verifica se existem contratos filhos ativos com empregados ativos para um contrato mãe. |
ExisteEmpregadoAtivoContratoFilho | public static bool ExisteEmpregadoAtivoContratoFilho(int IdContrato, SqlTransaction trans) | Verifica se existem contratos filhos ativos com empregados ativos para um contrato mãe dentro de uma transação. |
SalvarContratoFilho | public static bool SalvarContratoFilho(Contrato objContrato, Dictionary<int, bool[]> dicDeptos, AlteracaoMaster objAlteracaoMaster, int idfUsuario) | Salva um contrato filho, seus departamentos e alterações master. |
Salvar | public static bool Salvar(Contrato objContrato, AlteracaoMaster objAlteracaoMaster, int idfUsuarioGerador, Dictionary<int, bool[]> dicDeptos = null) | Salva um contrato (mãe), seus departamentos e alterações master. |
SalvarCargaHorariaPadrao | private static void SalvarCargaHorariaPadrao(Contrato objContrato, SqlTransaction trans) | Salva a carga horária padrão de um contrato. |
CarregarListaContratosPorIdf | public static DataTable CarregarListaContratosPorIdf(string IdfContrato, string Pesquisa, string colunaOrdenacao, string direcaoOrdenacao, int paginaCorrente, int tamanhoPagina, out int totalRegistros) | Carrega uma lista de contratos por IDs, com pesquisa, ordenação e paginação. |
RecuperarApelidoContrato | public static string RecuperarApelidoContrato(int Idf_Contrato) | Recupera o apelido de um contrato. |
CarregarContratoPorCNPJFilial | public static bool CarregarContratoPorCNPJFilial(Filial objFilial, TipoContrato objTipoContrato, out Contrato objContrato, Empresa objEmpresaPrestadora, SqlTransaction trans) | Carrega um contrato por CNPJ da filial, tipo de contrato e empresa prestadora. |
BuscarDadosContratosMae | public static DataTable BuscarDadosContratosMae(int pagina, int tamPagina, string ordem, string direcaoOrdem, out int numRegistros, List<int?> lsIdContratoMae) | Busca dados de contratos mãe, paginado. |
BuscaComponente | public static DataTable BuscaComponente(int inicio, int fim, string SortExpression, string string SortDirection, out int iTotalRegistro, string BuscaTexto, int? TipoDeContrato, bool ConsiderarContratoInativo, int? IdGrupoEconomico, int? IdEmpresa, int? IdUsuario, int? IdFilial, int? IdCliente, bool? ContratoComFilialGestora, int? IdContratoMae, int? IdTipocontrato, List<int> ListaItensIgnorar, bool comPaginacao, Enumeradores.TipoVinculo? tipoVinculo, List<int?> lsIdContrato) | Busca contratos para componente, com diversos filtros e paginação. |
BuscaComponenteSelecionados | public static DataTable BuscaComponenteSelecionados(int inicio, int fim, string SortExpression, string SortDirection, out int iTotalRegistro, string BuscaTexto, List<int> ListaItensIgnorar, bool comPaginacao) | Busca contratos selecionados para componente, com paginação. |
ListarAutocomplete | public static DataTable ListarAutocomplete(string prefixText, int count, int TipoDeContrato, bool ConsiderarContratoInativo, int? IdGrupoEconomico, int? IdEmpresa, int? IdUsuario, int? IdFilial, int? IdCliente, bool? ContratoComFilialGestora, int? IdContratoMae, int? IdTipocontrato, Enumeradores.TipoVinculo? tipoVinculo) | Lista contratos para autocomplete de componente, com diversos filtros. |
ConsultaRelatorioContratosFilhoWFAT | public static DataTable ConsultaRelatorioContratosFilhoWFAT(int IdContrato) | Consulta contratos filho para relatório WFAT. |
VerificarCheckListFaturamento | public static bool VerificarCheckListFaturamento(int idfContrato, out string strMensagemValidacao) | Verifica o checklist de faturamento de um contrato. |
EsocialBuscarParametroCS | public static string EsocialBuscarParametroCS(int tipoLayout, string id) | Busca parâmetro de Centro de Serviço para eSocial. |
EsocialBuscarParametroCSporContrato | public static string EsocialBuscarParametroCSporContrato(int idContrato) | Busca parâmetro de Centro de Serviço para eSocial por contrato. |
VerificaContrato | public bool VerificaContrato(string pContrato) | Verifica a existência de um contrato por código formatado. |
VerificaCadastraSST | public static void VerificaCadastraSST(Contrato objContrato) | Verifica e cadastra um Setor SST para o contrato. |
VerificaCadastraSSTWEBFOPAG | public static void VerificaCadastraSSTWEBFOPAG(Contrato objContrato, int idContratoFilho) | Verifica e cadastra um Setor SST para o contrato (específico para WebFoPag). |
Detalhamento de Métodos Importantes
GetParameters()
- Lógica: Este método privado é responsável por inicializar e retornar uma lista de objetos
SqlParameter. Cada parâmetro é configurado com seu nome (prefixado com ”@”), tipo de dado SQL e tamanho máximo, cobrindo todos os atributos da classeContrato. Ele prepara a estrutura para que os valores dos atributos da instância deContratopossam ser associados posteriormente. - Stored Procedures chamadas: Nenhuma diretamente. Prepara parâmetros para queries SQL textuais definidas como constantes na classe (
SPINSERT,SPUPDATE,SPDELETE,SPSELECTID). - Validações: Nenhuma.
- Regras de negócio: Nenhuma.
SetParameters(List parms)
- Lógica: Este método privado recebe uma lista de
SqlParameter(gerada porGetParameters) e preenche os valores de cada parâmetro com os atributos da instância atual deContrato. - O
IdContratoé definido comoOutputse a instância não for persistida (novo registro), caso contrário, éInput. - Campos opcionais (como
_contratoMae,_proposta,_tipoContrato,_dataTermino,_tipoVencimento,_diaVencimentoMensal,_diaSemana,_quantidadeDiasPrazo,_tipoCobranca,_contaEmpresa,_endereco,_pessoaFisica,_filialGestora,_iSSFaturamento,_tipoAgrupamento,_flagTributosTaxa,_flagAgruparCidade,_flagEnviaSMSConfirmacaoCredito,_flagEnviaEmailConfirmacaoCredito,_numeroApoliceSeguro,_nomeSeguradora,_motivoContratacaoTemporario,_flagUtilizaUnidadedeTrabalho) são definidos comoDBNull.Valuese forem nulos. _dataCadastroé definido comoDateTime.Nowse a instância não for persistida._usuarioGeradoré preenchido com oIdUsuarioda sessão HTTP atual ou com1se a sessão for nula (usuário padrão).- Stored Procedures chamadas: Nenhuma diretamente. Preenche parâmetros para queries SQL textuais.
- Validações: Nenhuma.
- Regras de negócio:
- Atribuição de
DateTime.Nowpara_dataCadastroem novos registros. - Obtenção do
IdUsuarioda sessão para_usuarioGerador.
Insert()
- Lógica: Este método privado insere os dados da instância atual de
Contratono banco de dados.
- Chama
GetParameters()para obter a lista de parâmetros. - Chama
SetParameters(parms)para preencher os parâmetros com os valores da instância. - Abre uma conexão SQL e inicia uma transação.
- Executa a query
SPINSERT(um comando SQL textual de INSERT) usandoDataAccessLayer.ExecuteNonQueryCmd. - Recupera o
IdContratogerado pelo banco de dados (usandoSCOPE_IDENTITY()) e o atribui à propriedade_idContrato. - Limpa os parâmetros do comando.
- Define
_persistedcomotruee_modifiedcomofalse. - Comita a transação.
- Em caso de exceção, a transação é revertida e a exceção é relançada.
- Stored Procedures chamadas:
SPINSERT(SQL textual:INSERT INTO TAB_Contrato (...) VALUES (...)). - Validações: Nenhuma explícita, mas a integridade do banco de dados pode causar exceções.
- Exceções: Lança exceções em caso de falha na operação de banco de dados.
Insert(SqlTransaction trans)
- Lógica: Similar ao
Insert()sem transação, mas utiliza uma transação SQL existente.
- Chama
GetParameters()eSetParameters(parms). - Executa a query
SPINSERTusandoDataAccessLayer.ExecuteNonQueryCmdcom a transação fornecida. - Recupera o
IdContratogerado e o atribui à propriedade_idContrato. - Limpa os parâmetros do comando.
- Define
_persistedcomotruee_modifiedcomofalse.
- Stored Procedures chamadas:
SPINSERT(SQL textual:INSERT INTO TAB_Contrato (...) VALUES (...)). - Validações: Nenhuma explícita.
Update()
- Lógica: Este método privado atualiza os dados da instância atual de
Contratono banco de dados, mas apenas se a instância tiver sido modificada (_modifiedfortrue).
- Verifica se
_modifiedétrue. - Chama
GetParameters()eSetParameters(parms). - Executa a query
SPUPDATE(um comando SQL textual de UPDATE) usandoDataAccessLayer.ExecuteNonQuery. - Define
_modifiedcomofalse.
- Stored Procedures chamadas:
SPUPDATE(SQL textual:UPDATE TAB_Contrato SET ... WHERE Idf_Contrato = @Idf_Contrato). - Validações: Nenhuma explícita.
Update(SqlTransaction trans)
- Lógica: Similar ao
Update()sem transação, mas utiliza uma transação SQL existente.
- Verifica se
_modifiedétrue. - Chama
GetParameters()eSetParameters(parms). - Executa a query
SPUPDATEusandoDataAccessLayer.ExecuteNonQuerycom a transação fornecida. - Define
_modifiedcomofalse.
- Stored Procedures chamadas:
SPUPDATE(SQL textual:UPDATE TAB_Contrato SET ... WHERE Idf_Contrato = @Idf_Contrato). - Validações: Nenhuma explícita.
Save()
- Lógica: Este método público é o ponto de entrada para persistir uma instância de
Contrato.
- Se a instância não for persistida (
_persistedéfalse), chamaInsert(). - Caso contrário (a instância já existe no banco), chama
Update().
- Stored Procedures chamadas: Nenhuma diretamente. Chama
Insert()ouUpdate(). - Validações: Nenhuma explícita.
Save(SqlTransaction trans)
- Lógica: Similar ao
Save()sem transação, mas utiliza uma transação SQL existente.
- Se a instância não for persistida (
_persistedéfalse), chamaInsert(trans). - Caso contrário, chama
Update(trans).
- Stored Procedures chamadas: Nenhuma diretamente. Chama
Insert(trans)ouUpdate(trans). - Validações: Nenhuma explícita.
Delete(int idContrato)
- Lógica: Este método estático público exclui um registro de
Contratodo banco de dados.
- Cria uma lista de
SqlParameter. - Adiciona
@Idf_Contratocom o valor fornecido e@Idf_Usuario_Geradorcom oCodigoUsuarioda sessão. - Executa a query
SPDELETE(um comando SQL textual de DELETE) usandoDataAccessLayer.ExecuteNonQuery.
- Stored Procedures chamadas:
SPDELETE(SQL textual:UPDATE TAB_Contrato SET Idf_Usuario_Gerador = @Idf_Usuario_Gerador WHERE Idf_Contrato = @Idf_Contrato ; DELETE FROM TAB_Contrato WHERE Idf_Contrato = @Idf_Contrato). - Parâmetros SQL:
@Idf_Contrato:int, ID do Contrato a ser excluído.@Idf_Usuario_Gerador:int, ID do usuário que está realizando a exclusão.- Validações: Nenhuma explícita.
Delete(int idContrato, SqlTransaction trans)
- Lógica: Similar ao
Delete(int idContrato)sem transação, mas utiliza uma transação SQL existente.
- Cria uma lista de
SqlParameter. - Adiciona
@Idf_Contratoe@Idf_Usuario_Gerador. - Executa a query
SPDELETEusandoDataAccessLayer.ExecuteNonQuerycom a transação fornecida.
- Stored Procedures chamadas:
SPDELETE(SQL textual:UPDATE TAB_Contrato SET Idf_Usuario_Gerador = @Idf_Usuario_Gerador WHERE Idf_Contrato = @Idf_Contrato ; DELETE FROM TAB_Contrato WHERE Idf_Contrato = @Idf_Contrato). - Parâmetros SQL:
@Idf_Contrato:int, ID do Contrato a ser excluído.@Idf_Usuario_Gerador:int, ID do usuário que está realizando a exclusão.- Validações: Nenhuma explícita.
Delete(List idContrato)
- Lógica: Este método estático público exclui uma lista de registros de
Contratodo banco de dados.
- Constrói dinamicamente duas queries SQL: uma para atualizar o
Idf_Usuario_Geradore outra para deletar os registros, ambas usando a cláusulaINcom parâmetros gerados dinamicamente (@parm0,@parm1, etc.). - Adiciona os IDs da lista como parâmetros.
- Adiciona o
Idf_Usuario_Geradorda sessão. - Executa a query combinada usando
DataAccessLayer.ExecuteNonQuery.
- Stored Procedures chamadas: Nenhuma diretamente. Utiliza SQL textual construído dinamicamente.
- Parâmetros SQL:
@parmX:int, IDs dos Contratos a serem excluídos.@Idf_Usuario_Gerador:int, ID do usuário que está realizando a exclusão.- Validações: Nenhuma explícita.
LoadDataReader(int idContrato)
- Lógica: Este método privado estático retorna um
IDataReadercontendo os dados de umContratoespecífico.
- Cria uma lista de
SqlParameter. - Adiciona
@Idf_Contratocom o ID fornecido. - Executa a query
SPSELECTID(um comando SQL textual de SELECT) usandoDataAccessLayer.ExecuteReader.
- Stored Procedures chamadas:
SPSELECTID(SQL textual:SELECT * FROM TAB_Contrato WHERE Idf_Contrato = @Idf_Contrato). - Parâmetros SQL:
@Idf_Contrato:int, ID do Contrato a ser carregado.- Validações: Nenhuma explícita.
LoadDataReader(int idContrato, SqlTransaction trans)
- Lógica: Similar ao
LoadDataReader(int idContrato)sem transação, mas utiliza uma transação SQL existente.
- Cria uma lista de
SqlParameter. - Adiciona
@Idf_Contratocom o ID fornecido. - Executa a query
SPSELECTIDusandoDataAccessLayer.ExecuteReadercom a transação fornecida.
- Stored Procedures chamadas:
SPSELECTID(SQL textual:SELECT * FROM TAB_Contrato WHERE Idf_Contrato = @Idf_Contrato). - Parâmetros SQL:
@Idf_Contrato:int, ID do Contrato a ser carregado.- Validações: Nenhuma explícita.
LoadDataReader(string colunaOrdenacao, string direcaoOrdenacao, int paginaCorrente, int tamanhoPagina, out int totalRegistros)
- Lógica: Este método estático público retorna um
IDataReaderpara uma consulta paginada deContrato.
- Calcula os valores de
inicioefimpara a paginação. - Constrói duas queries SQL textuais:
SPSELECTPAG(para a página atual, usandoROW_NUMBER() OVER (ORDER BY ...)para ordenação e paginação) eSPSELECTCOUNT(para contar o total de registros). - Executa
SPSELECTCOUNTusandoDataAccessLayer.ExecuteScalarpara obter ototalRegistros. - Executa
SPSELECTPAGusandoDataAccessLayer.ExecuteReaderpara obter os dados da página atual.
- Stored Procedures chamadas: Nenhuma diretamente. Utiliza SQL textual construído dinamicamente.
- Parâmetros SQL: Nenhum parâmetro explícito, mas a query é construída com base nos argumentos do método.
- Validações: Nenhuma explícita.
LoadObject(int idContrato)
- Lógica: Este método estático público carrega e retorna uma instância de
Contratoa partir do banco de dados.
- Chama
LoadDataReader(idContrato)para obter umIDataReader. - Cria uma nova instância de
Contrato. - Chama
SetInstance(dr, objContrato)para preencher a instância com os dados doIDataReader. - Se
SetInstanceretornartrue(registro encontrado), retorna a instância. - Caso contrário, lança uma
RecordNotFoundException.
- Stored Procedures chamadas: Nenhuma diretamente. Chama
LoadDataReadereSetInstance. - Validações: Verifica se o registro foi encontrado no banco de dados.
- Exceções: Lança
RecordNotFoundExceptionse o Contrato não for encontrado.
LoadObject(int idContrato, SqlTransaction trans)
- Lógica: Similar ao
LoadObject(int idContrato)sem transação, mas utiliza uma transação SQL existente.
- Chama
LoadDataReader(idContrato, trans). - Cria uma nova instância de
Contrato. - Chama
SetInstance(dr, objContrato). - Se
SetInstanceretornartrue, retorna a instância. - Caso contrário, lança uma
RecordNotFoundException.
- Stored Procedures chamadas: Nenhuma diretamente. Chama
LoadDataReadereSetInstance. - Validações: Verifica se o registro foi encontrado no banco de dados.
- Exceções: Lança
RecordNotFoundExceptionse o Contrato não for encontrado.
CompleteObject()
- Lógica: Este método público completa a instância atual de
Contratocom dados do banco de dados, usando oIdContratoda própria instância.
- Chama
LoadDataReader(this._idContrato). - Chama
SetInstance(dr, this)para preencher a própria instância. - Retorna o resultado de
SetInstance.
- Stored Procedures chamadas: Nenhuma diretamente. Chama
LoadDataReadereSetInstance. - Validações: Nenhuma explícita.
CompleteObject(SqlTransaction trans)
- Lógica: Similar ao
CompleteObject()sem transação, mas utiliza uma transação SQL existente.
- Chama
LoadDataReader(this._idContrato, trans). - Chama
SetInstance(dr, this). - Retorna o resultado de
SetInstance.
- Stored Procedures chamadas: Nenhuma diretamente. Chama
LoadDataReadereSetInstance. - Validações: Nenhuma explícita.
RetornaCodigoContrato()
- Lógica: Retorna o código formatado do contrato.
- Se o contrato tiver um
ContratoMae:
- Completa o objeto
ContratoMae. - Retorna a string formatada como “TipoContrato.IdTipoContrato.ContratoMae.CodigoContrato.CodigoContrato”.
- Caso contrário (é um contrato mãe):
- Retorna a string formatada como “TipoContrato.IdTipoContrato.CodigoContrato”.
- Stored Procedures chamadas: Nenhuma diretamente. Chama
CompleteObject()emTipoContratoeContratoMae. - Validações: Nenhuma explícita.
- Regras de negócio: Formatação específica do código do contrato.
RetornaCodigoContrato(SqlTransaction trans)
- Lógica: Similar a
RetornaCodigoContrato(), mas utiliza uma transação SQL existente para completar oContratoMae.
- Se o contrato tiver um
ContratoMae:
- Completa o objeto
ContratoMaeusando a transação. - Retorna a string formatada.
- Caso contrário:
- Retorna a string formatada.
- Stored Procedures chamadas: Nenhuma diretamente. Chama
CompleteObject(trans)emTipoContratoeContratoMae. - Validações: Nenhuma explícita.
- Regras de negócio: Formatação específica do código do contrato.
SetInstance(IDataReader dr, Contrato objContrato)
- Lógica: Este método privado estático é crucial para mapear os dados de um
IDataReaderpara as propriedades de um objetoContrato.
- Tenta ler a próxima linha do
IDataReader(dr.Read()). - Se houver uma linha:
- Atribui os valores das colunas do
IDataReaderàs propriedades correspondentes deobjContrato, realizando conversões de tipo. - Para campos que podem ser nulos no banco de dados, verifica
DBNull.Valueantes de converter. - Instancia objetos
Contrato(para o contrato mãe),Proposta,Empresa,Cliente,TipoContrato,TipoVencimento,DiaSemana,TipoCobranca,ContaEmpresa,Endereco,PessoaFisica,Filial,ISSFaturamento,TipoAgrupamento,UsuarioeMotivoContratacaoTemporariocom base nos IDs lidos. - Define
_persistedcomotruee_modifiedcomofalse. - Retorna
true.
- Se não houver mais linhas, retorna
false. - Em caso de exceção durante a leitura ou conversão, a exceção é relançada.
- O
IDataReaderé descartado no blocofinally.
- Stored Procedures chamadas: Nenhuma diretamente. Mapeia resultados de queries SQL.
- Validações: Verifica
DBNull.Valuepara campos opcionais. - Exceções: Pode relançar exceções de conversão de tipo ou de acesso a dados.
ListarAutoComplete(int pNumeroRegistros, int pIdEmpresa, int pIdUsuario, int? pIdFilial, int? pIdTipoContrato, int? pCodigoContratoFilho, int? pCodigoContratoMae, string pApelido, bool? pFlgContratoMae, int? pIdContratoMae, bool pFiltrarPorUsuarioLogado)
- Lógica: Retorna um array de strings formatadas de contratos para um controle de autocomplete.
- Cria uma lista de
SqlParametere preenche com todos os parâmetros de entrada, tratando valores nulos. - Executa a query
SplistarAUTOCOMPLETE(SQL textual) usandoDataAccessLayer.ExecuteReader. - Itera sobre o
IDataReader:
- Para cada linha, formata a descrição do contrato (incluindo tipo, código mãe, código filho e apelido) e adiciona à lista de strings.
- Retorna a lista como um array.
- Stored Procedures chamadas:
SplistarAUTOCOMPLETE(SQL textual: seleciona contratos com filtros de inatividade, empresa, filial, contrato mãe, permissão de usuário (TAB_SF_Usuario_Acesso), tipo de contrato, código de contrato filho, código de contrato mãe e apelido parcial). - Parâmetros SQL:
@Num_Registro:int, número máximo de registros.@Idf_Empresa:int, ID da empresa.@Idf_Usuario:int, ID do usuário.@Idf_Filial:int?, ID da filial.@Idf_Tipo_Contrato:int?, ID do tipo de contrato.@Cod_Contrato_Filho:int?, código do contrato filho.@Cod_Contrato_Mae:int?, código do contrato mãe.@Ape_Contrato:varchar, apelido parcial do contrato.@Flg_Contrato_Mae:bit?, flag para filtrar por contrato mãe (1=mãe, 0=filho, NULL=ambos).@Idf_Contrato_Mae:int?, ID do contrato mãe.@Flg_Filtrar_Por_Usuario_Logado:bit, flag para aplicar filtro de permissão por usuário.- Validações: Nenhuma explícita.
- Regras de negócio: Lógica de filtragem complexa para autocomplete, incluindo hierarquia, status e permissões de usuário.
ListarAutoComplete(int pNumeroRegistros, int pIdEmpresa, int pIdUsuario, int? pIdFilial, string CodContrato, string pApelido, bool? pFlgContratoMae, int? pIdContratoMae, bool pFiltrarPorUsuarioLogado)
- Lógica: Similar ao método anterior, mas aceita o
CodContratocomo string e utiliza a querySplistarAUTOCOMPLETE3.
- Cria uma lista de
SqlParametere preenche com os parâmetros de entrada. - Executa a query
SplistarAUTOCOMPLETE3(SQL textual) usandoDataAccessLayer.ExecuteReader. - Itera sobre o
IDataReadere formata a descrição do contrato. - Retorna a lista como um array.
- Stored Procedures chamadas:
SplistarAUTOCOMPLETE3(SQL textual: similar àSplistarAUTOCOMPLETE, mas com uma lógica de filtro de código de contrato mais flexível que permite buscar por código formatado “Tipo.Mae.Filho”). - Parâmetros SQL: (Similar ao método anterior, mas
@Cod_Contratoévarchar). - Validações: Nenhuma explícita.
- Regras de negócio: Lógica de filtragem complexa para autocomplete.
ListarContratoAutoCompleteMae(int pNumeroRegistros, int pIdUsuario, int pIdEmpresa, string pApelido, int pCodigoContrato, int pTipoContrato)
- Lógica: Retorna um array de strings formatadas de contratos mãe para autocomplete.
- Cria uma lista de
SqlParametere preenche com os parâmetros de entrada. - Executa a query
SPSELECT(SQL textual) que filtra por contratos mãe, apelido, empresa, inatividade, tipo de contrato, código de contrato e permissão de usuário. - Itera sobre o
IDataReadere formata a descrição do contrato. - Retorna a lista como um array.
- Stored Procedures chamadas:
SPSELECT(SQL textual: seleciona contratos mãe com filtros de apelido, empresa, inatividade, tipo de contrato, código de contrato e acesso do usuário (TAB_SF_Usuario_Acesso)). - Parâmetros SQL:
@Num_Registro:int, número máximo de registros.@Idf_Empresa:int, ID da empresa.@Ape_Contrato:varchar, apelido parcial do contrato.@Idf_Tipo_Contrato:int?, ID do tipo de contrato.@Cod_Contrato:int?, código do contrato.@Idf_Usuario:int, ID do usuário.- Validações: Nenhuma explícita.
ListarContratoAutoCompleteFilho(int pNumeroRegistros, int pIdUsuario, int pIdEmpresa, string pApelido, int pCodigoContratoMae, int pCodigoContratoFilho, int pTipoContrato)
- Lógica: Retorna um array de strings formatadas de contratos filho para autocomplete.
- Cria uma lista de
SqlParametere preenche com os parâmetros de entrada. - Executa a query
SPSELECT(SQL textual) que filtra por contratos filho, apelido, empresa, inatividade, tipo de contrato, código do contrato mãe, código do contrato filho e permissão de usuário. - Itera sobre o
IDataReadere formata a descrição do contrato. - Retorna a lista como um array.
- Stored Procedures chamadas:
SPSELECT(SQL textual: seleciona contratos filho com filtros de apelido, empresa, inatividade, tipo de contrato, código do contrato mãe, código do contrato filho e acesso do usuário (TAB_SF_Usuario_Acesso)). - Parâmetros SQL:
@Num_Registro:int, número máximo de registros.@Idf_Empresa:int, ID da empresa.@Ape_Contrato:varchar, apelido parcial do contrato.@Idf_Tipo_Contrato:int?, ID do tipo de contrato.@Cod_Contrato_Mae:int?, código do contrato mãe.@Cod_Contrato_Filho:int?, código do contrato filho.@Idf_Usuario:int, ID do usuário.- Validações: Nenhuma explícita.
ListarAutoCompleteDicionario(int pNumeroRegistros, int pIdEmpresa, int pIdUsuario, int? pIdFilial, int? pIdTipoContrato, int? pCodigoContratoFilho, int? pCodigoContratoMae, string pApelido, bool? pFlgContratoMae, int? pIdContratoMae, bool pFiltrarPorUsuarioLogado)
- Lógica: Retorna um dicionário (ID do contrato, descrição formatada) para um controle de autocomplete.
- Cria uma lista de
SqlParametere preenche com os parâmetros de entrada. - Executa a query
SplistarAUTOCOMPLETE2(SQL textual) usandoDataAccessLayer.ExecuteReader. - Itera sobre o
IDataReadere adiciona o ID do contrato e aDescricaoContratoformatada ao dicionário. - Retorna o dicionário.
- Stored Procedures chamadas:
SplistarAUTOCOMPLETE2(SQL textual: seleciona contratos com filtros de inatividade, empresa, filial, contrato mãe, permissão de usuário (TAB_SF_Usuario_Acesso), tipo de contrato e apelido parcial, retornando a descrição formatada). - Parâmetros SQL: (Mesmos de
ListarAutoComplete). - Validações: Nenhuma explícita.
- Exceções: Captura e relança exceções.
ListarAutoCompleteParaContaPagar(int pNumeroRegistros, int pIdEmpresa, int pIdUsuario, string pApelido, bool bolPesquisarContratoMae)
- Lógica: Retorna um dicionário (ID do contrato, descrição formatada) para autocomplete de contratos para contas a pagar.
- Chama
SeperaTipoValorAutoCompletepara extrair tipo e código do apelido. - Se todos os campos de pesquisa estiverem vazios, retorna um dicionário vazio.
- Cria uma lista de
SqlParametere preenche com os parâmetros de entrada, incluindo um flag para pesquisar contrato mãe. - Constrói uma query SQL textual complexa com CTEs (
BUSCACONTRATO) que combina a busca por contratos filho (com tipo 8) e contratos gerais (com ou sem contrato mãe, dependendo do flagbolPesquisarContratoMae), aplicando filtros de inatividade, empresa, permissão de usuário, tipo e código. - Executa a query usando
DataAccessLayer.ExecuteReader. - Itera sobre o
IDataReadere adiciona o ID do contrato e aDescricaoContratoformatada ao dicionário. - Retorna o dicionário.
- Stored Procedures chamadas: Nenhuma diretamente. Utiliza SQL textual construído dinamicamente com CTEs e a função
TAB_SF_Usuario_Acesso. - Parâmetros SQL:
@Num_Registro:int, número máximo de registros.@Idf_Empresa:int, ID da empresa.@Idf_Usuario:int, ID do usuário.@Flg_Pesquisar_Contrato_Mae:int, flag (1=pesquisar mãe, 0=não pesquisar mãe).@Ape_Contrato:varchar(250)?, apelido parcial.@Tipo:varchar(200)?, tipo de contrato.@idf_tipo:int?, ID do tipo de contrato.@cod_Contrato_Mae:int?, código do contrato mãe.@cod_Contrato:int?, código do contrato.- Validações: Verifica se os campos de pesquisa estão vazios.
- Regras de negócio: Lógica de busca específica para contas a pagar, incluindo contratos do tipo 8 e permissões de usuário.
ListarAutoCompleteParaContaPagar(int pNumeroRegistros, int pIdEmpresa, string pApelido)
- Lógica: Similar ao método anterior, mas sem o parâmetro
pIdUsuarioebolPesquisarContratoMae. A lógica de construção da query é mais complexa, utilizandoSPSELECT1,SPSELECT2eSELECT_FIMpara montar a consulta.
- Chama
SeperaTipoValorAutoCompletepara extrair tipo e código do apelido. - Se todos os campos de pesquisa estiverem vazios, retorna um dicionário vazio.
- Cria uma lista de
SqlParametere preenche com os parâmetros de entrada. - Constrói as queries
SPSELECT1,SPSELECT2eSELECT_FIMdinamicamente, adicionando cláusulasWHEREcom base nos parâmetros. - Executa a query combinada usando
DataAccessLayer.ExecuteReader. - Itera sobre o
IDataReadere adiciona o ID do contrato e aDescricaoContratoformatada ao dicionário. - Retorna o dicionário.
- Stored Procedures chamadas: Nenhuma diretamente. Utiliza SQL textual construído dinamicamente.
- Parâmetros SQL:
@Num_Registro:int, número máximo de registros.@Idf_Empresa:int, ID da empresa.@Ape_Contrato:varchar(250)?, apelido parcial.@Tipo:varchar(200)?, tipo de contrato.@idf_tipo:int?, ID do tipo de contrato.@cod_Contrato_Mae:int?, código do contrato mãe.@cod_Contrato:int?, código do contrato.- Validações: Verifica se os campos de pesquisa estão vazios.
ListarAtivosPermitidos(int quantidadeRegistros, int idEmpresa, int idUsuario, int? idTipoContrato, int? codContratoMae, int? codContratoFilho, string apelidoParcial)
- Lógica: Retorna um
IDataReadercom contratos ativos que o usuário tem permissão para acessar.
- Constrói uma query SQL textual (
SELECTATIVOSAUTOCOMPLETE) dinamicamente, adicionando cláusulasWHEREcom base nos parâmetros de entrada. - Cria uma lista de
SqlParametere preenche com os parâmetros. - Executa a query usando
DataAccessLayer.ExecuteReader.
- Stored Procedures chamadas:
SELECTATIVOSAUTOCOMPLETE(SQL textual: seleciona contratos ativos, filtrando por empresa, permissão de usuário (TAB_SF_Usuario_Acesso), tipo de contrato, código de contrato mãe/filho e apelido parcial). - Parâmetros SQL:
@Qtd_Registros:int, quantidade de registros.@Idf_Empresa:int, ID da empresa.@Idf_Usuario:int, ID do usuário.@Idf_Tipo_Contrato:int?, ID do tipo de contrato.@Cod_Contrato_Mae:int?, código do contrato mãe.@Cod_Contrato_Filho:int?, código do contrato filho.@Ape_Contrato:varchar(250), apelido parcial.- Validações: Nenhuma explícita.
ListarAtivosPermitidosComponente(int quantidadeRegistros, int idEmpresa, int idUsuario, int? idTipoContrato, int? codContratoMae, int? codContratoFilho, string apelidoParcial)
- Lógica: Similar a
ListarAtivosPermitidos, mas com uma lógica de filtro ligeiramente diferente, focada em contratos mãe para componentes.
- Constrói uma query SQL textual (
SELECTATIVOSAUTOCOMPLETE) dinamicamente, adicionando cláusulasWHEREcom base nos parâmetros de entrada. - Cria uma lista de
SqlParametere preenche com os parâmetros. - Executa a query usando
DataAccessLayer.ExecuteReader.
- Stored Procedures chamadas:
SELECTATIVOSAUTOCOMPLETE(SQL textual: seleciona contratos ativos, filtrando por empresa, permissão de usuário (TAB_SF_Usuario_Acesso), tipo de contrato, código de contrato mãe/filho e apelido parcial). - Parâmetros SQL: (Mesmos de
ListarAtivosPermitidos). - Validações: Nenhuma explícita.
ListarContratosPermitidos(int quantidadeRegistros, int idEmpresa, int idUsuario, int? idTipoContrato, int? codContratoMae, int? codContratoFilho, string apelidoParcial)
- Lógica: Retorna um
IDataReadercom contratos (mãe/filho) ativos que o usuário tem permissão para acessar.
- Constrói uma query SQL textual (
SELECTCONTRATOSAUTOCOMPLETE) dinamicamente, adicionando cláusulasWHEREcom base nos parâmetros de entrada. - Cria uma lista de
SqlParametere preenche com os parâmetros. - Executa a query usando
DataAccessLayer.ExecuteReader.
- Stored Procedures chamadas:
SELECTCONTRATOSAUTOCOMPLETE(SQL textual: seleciona contratos ativos, filtrando por inatividade, código de contrato, tipo de contrato, apelido parcial, código de contrato mãe e permissão de usuário (TAB_SF_Usuario_Acesso)). - Parâmetros SQL:
@Qtd_Registros:int, quantidade de registros.@Idf_Empresa:int, ID da empresa.@Idf_Usuario:int, ID do usuário.@Idf_Tipo_Contrato:int?, ID do tipo de contrato.@Cod_Contrato_Mae:int?, código do contrato mãe.@Cod_Contrato:int?, código do contrato.@Ape_Contrato:varchar(250), apelido parcial.- Validações: Nenhuma explícita.
ListarContratosPermitidos(int quantidadeRegistros, int idEmpresa, int idUsuario, int? idContratoMae, int? codContratoFilho, string apelidoParcial)
- Lógica: Similar ao método anterior, mas com parâmetros ligeiramente diferentes.
- Constrói uma query SQL textual (
SELECTCONTRATOSATIVOS) dinamicamente, adicionando cláusulasWHEREcom base nos parâmetros de entrada. - Cria uma lista de
SqlParametere preenche com os parâmetros. - Executa a query usando
DataAccessLayer.ExecuteReader.
- Stored Procedures chamadas:
SELECTCONTRATOSATIVOS(SQL textual: seleciona contratos ativos, filtrando por inatividade, código de contrato, ID de contrato mãe, apelido parcial e permissão de usuário (TAB_SF_Usuario_Acesso)). - Parâmetros SQL:
@Qtd_Registros:int, quantidade de registros.@Idf_Empresa:int, ID da empresa.@Idf_Usuario:int, ID do usuário.@Idf_Contrato_Mae:int?, ID do contrato mãe.@Cod_Contrato:int?, código do contrato.@Ape_Contrato:varchar(250), apelido parcial.- Validações: Nenhuma explícita.
ListarArrayAtivosParaAutoComplete(int quantidadeRegistros, int idEmpresa, int idUsuario, int? idTipoContrato, int? codContratoMae, int? codContratoFilho, string apelidoParcial)
- Lógica: Retorna um array de strings formatadas de contratos ativos para autocomplete.
- Chama
ListarAtivosPermitidospara obter umIDataReader. - Itera sobre o
IDataReadere formata a descrição do contrato (com ou sem código mãe) e adiciona à lista de strings. - Retorna a lista como um array.
- Stored Procedures chamadas: Nenhuma diretamente. Chama
ListarAtivosPermitidos. - Validações: Nenhuma explícita.
ListarArrayMaesAtivosParaAutoComplete(int quantidadeRegistros, int idEmpresa, int idUsuario, int? idTipoContrato, int? codContratoMae, int? codContratoFilho, string apelidoParcial)
- Lógica: Retorna um array de strings formatadas de contratos mãe ativos para autocomplete.
- Chama
ListarAtivosPermitidosComponentepara obter umIDataReader. - Itera sobre o
IDataReadere formata a descrição do contrato (apenas com tipo, código e apelido) e adiciona à lista de strings. - Retorna a lista como um array.
- Stored Procedures chamadas: Nenhuma diretamente. Chama
ListarAtivosPermitidosComponente. - Validações: Nenhuma explícita.
ListarContratoMaePorCodNomeParcial(int quantidadeRegistros, int idEmpresa, int idUsuario, int? idTipoContrato, int? codContratoMae, string apelidoParcial)
- Lógica: Retorna um dicionário (ID do contrato, descrição formatada) de contratos mãe por código e nome parcial.
- Chama
ListarAtivosPermitidosComponente(passandonullparacodContratoFilho) para obter umIDataReader. - Itera sobre o
IDataReadere adiciona o ID do contrato e a descrição formatada ao dicionário. - Retorna o dicionário.
- Stored Procedures chamadas: Nenhuma diretamente. Chama
ListarAtivosPermitidosComponente. - Validações: Nenhuma explícita.
ListarArrayFilhosAtivosParaAutoComplete(int quantidadeRegistros, int idEmpresa, int idUsuario, int? idTipoContrato, int? codContratoMae, int? codContratoFilho, string apelidoParcial)
- Lógica: (Obsoleto) Retorna um array de strings formatadas de contratos filho ativos para autocomplete.
- Chama
ListarAtivosPermitidospara obter umIDataReader. - Itera sobre o
IDataReadere, se o contrato tiver um código mãe, formata a descrição e adiciona à lista. - Retorna a lista como um array.
- Stored Procedures chamadas: Nenhuma diretamente. Chama
ListarAtivosPermitidos. - Validações: Nenhuma explícita.
- Regras de negócio: Este método é marcado como obsoleto, sugerindo o uso de
ListarContratosFilhosAutoComplete.
ListarContratosFilhosAutoComplete(int quantidadeRegistros, int idEmpresa, int idUsuario, int? idTipoContrato, int? codContratoMae, int? codContratoFilho, string apelidoParcial)
- Lógica: Lista contratos filhos para autocomplete.
- Chama
ListarContratosPermitidospara obter umIDataReader. - Itera sobre o
IDataReadere, se o contrato tiver um código mãe, formata a descrição e adiciona à lista. - Retorna a lista como um array.
- Stored Procedures chamadas: Nenhuma diretamente. Chama
ListarContratosPermitidos. - Validações: Nenhuma explícita.
ListarContratoFilhoPorContratoMae_CodNomeParcial(int quantidadeRegistros, int idEmpresa, int idUsuario, int? idContratoMae, int? codContratoFilho, string apelidoParcial)
- Lógica: Retorna um dicionário (ID do contrato, descrição formatada) de contratos filho por contrato mãe, código e nome parcial.
- Chama
ListarContratosPermitidospara obter umIDataReader. - Itera sobre o
IDataReadere, se o contrato tiver um código mãe, adiciona o ID e a descrição formatada ao dicionário. - Retorna o dicionário.
- Stored Procedures chamadas: Nenhuma diretamente. Chama
ListarContratosPermitidos. - Validações: Nenhuma explícita.
ListarMaePorTipoECodigo(int idTipo, int codContrato)
- Lógica: Retorna um
IDataReadercom contratos mãe que correspondem ao tipo e código fornecidos.
- Cria uma lista de
SqlParameterpara@Cod_Contratoe@Idf_Tipo_Contrato. - Preenche os parâmetros.
- Executa a query
SELECTMAEPORTIPOECODIGO(SQL textual) usandoDataAccessLayer.ExecuteReader.
- Stored Procedures chamadas:
SELECTMAEPORTIPOECODIGO(SQL textual: seleciona contratos mãe por código e tipo de contrato). - Parâmetros SQL:
@Cod_Contrato:int, código do contrato.@Idf_Tipo_Contrato:int, ID do tipo de contrato.- Validações: Nenhuma explícita.
ListarMaePorEmpresaTipo(int idEmpresa, int idTipo)
- Lógica: Retorna um
IDataReadercom contratos mãe que correspondem à empresa e tipo fornecidos.
- Cria uma lista de
SqlParameterpara@Idf_Empresae@Idf_Tipo_Contrato. - Preenche os parâmetros.
- Executa a query
SPSELMAEEMPRESATIPO(SQL textual) usandoDataAccessLayer.ExecuteReader.
- Stored Procedures chamadas:
SPSELMAEEMPRESATIPO(SQL textual: seleciona contratos mãe por empresa e tipo de contrato). - Parâmetros SQL:
@Idf_Empresa:int, ID da empresa.@Idf_Tipo_Contrato:int, ID do tipo de contrato.- Validações: Nenhuma explícita.
ListarMaePorEmpresaTipo(int idEmpresa, int idTipo, SqlTransaction trans)
- Lógica: Similar ao método anterior, mas utiliza uma transação SQL existente.
- Cria uma lista de
SqlParameterpara@Idf_Empresae@Idf_Tipo_Contrato. - Preenche os parâmetros.
- Executa a query
SPSELMAEEMPRESATIPOusandoDataAccessLayer.ExecuteReadercom a transação fornecida.
- Stored Procedures chamadas:
SPSELMAEEMPRESATIPO(SQL textual). - Parâmetros SQL:
@Idf_Empresa:int, ID da empresa.@Idf_Tipo_Contrato:int, ID do tipo de contrato.- Validações: Nenhuma explícita.
ListarPorFilialNaoPrestadora(int idFilial)
- Lógica: Retorna um
IDataReadercom contratos de filiais não prestadoras.
- Cria uma lista de
SqlParameterpara@Idf_Filial. - Preenche o parâmetro.
- Executa a query
SPSELFILIALNAOPREST(SQL textual) usandoDataAccessLayer.ExecuteReader.
- Stored Procedures chamadas:
SPSELFILIALNAOPREST(SQL textual: seleciona contratos filho de clientes cuja filial é a filial gestora do contrato e não é prestadora). - Parâmetros SQL:
@Idf_Filial:int, ID da filial.- Validações: Nenhuma explícita.
ListarPorFilialPrestadora(int idFilial)
- Lógica: Retorna um
IDataReadercom contratos de filiais prestadoras.
- Cria uma lista de
SqlParameterpara@Idf_Filial. - Preenche o parâmetro.
- Executa a query
SPSELFILIALPREST(SQL textual) usandoDataAccessLayer.ExecuteReader.
- Stored Procedures chamadas:
SPSELFILIALPREST(SQL textual: seleciona contratos filho de clientes cuja filial é a filial gestora do contrato e é prestadora). - Parâmetros SQL:
@Idf_Filial:int, ID da filial.- Validações: Nenhuma explícita.
ListarContratoFilho(int? idContrato, string Pesquisa, String colunaOrdenada, String tipoOrdenacao, int tamanhoPagina, int paginaCorrente, out int total)
- Lógica: Lista contratos filho de forma paginada, com pesquisa e ordenação.
- Calcula
iniciopara a paginação. - Cria uma lista de
SqlParameterpara@Idf_Contrato,@Pesquisa,@Inicioe@PageSize. - Constrói uma query SQL textual que utiliza
SplistarCONTRATOFILHOcomo subquery, adicionaROW_NUMBER()para ordenação e paginação, e conta o total de registros. - Executa a query usando
DataAccessLayer.ExecuteReaderDs. - Extrai o
totalde registros da primeira tabela e retorna a segunda tabela (com os dados paginados).
- Stored Procedures chamadas:
SplistarCONTRATOFILHO(SQL textual: seleciona contratos filho de um contrato mãe, com informações de CNPJ/CEI, apelido da filial, situação e datas de vigência, aplicando filtro de pesquisa). - Parâmetros SQL:
@Idf_Contrato:int?, ID do contrato mãe.@Pesquisa:varchar(150)?, texto para pesquisa.@Inicio:int, linha inicial para paginação.@PageSize:int, tamanho da página.- Validações: Nenhuma explícita.
SeperaTipoValorAutoComplete(ref string Valor, ref string Tipo, ref string Codigo, bool CodigoComponto)
- Lógica: Método auxiliar para parsear uma string de autocomplete de contrato, separando o código (composto por tipo, código mãe e código filho), o tipo e o valor restante.
- Remove espaços em branco do
Valor. - Tenta dividir o
Valorpelo caractere ’-’ para separar o código do restante. - Se
CodigoCompontofortrue, usa uma expressão regular (^([0-9]+\\.[0-9]+\\.[0-9]+)(.*)) para extrair um código no formato “X.Y.Z” e o restante do valor. - Tenta separar o tipo do valor usando uma expressão regular (
([^\\(\\)]+)) para encontrar texto entre parênteses.
- Stored Procedures chamadas: Nenhuma.
- Validações: Nenhuma explícita.
- Regras de negócio: Lógica de parsing para strings de autocomplete.
ListarAutoCompleteSemRestricao(string Valor, int Idf_Empresa, int count, int Idf_Usuario)
- Lógica: (Obsoleto) Retorna um dicionário (ID do contrato, descrição formatada) de contratos sem restrição de acesso, para autocomplete.
- Chama
SeperaTipoValorAutoCompletepara extrair tipo e código doValor. - Cria uma lista de
SqlParametere preenche com os parâmetros de entrada. - Constrói uma query SQL textual complexa com CTE (
ConsultaSemRestricao) que seleciona contratos, calculaROW_NUMBER()para ordenação, e aplica filtros de empresa, tipo, código e valor. - Executa a query usando
DataAccessLayer.ExecuteReaderDs. - Itera sobre as linhas do
DataTablee adiciona o ID do contrato e a descrição formatada ao dicionário. - Retorna o dicionário.
- Stored Procedures chamadas: Nenhuma diretamente. Utiliza SQL textual construído dinamicamente com CTEs e a função
TAB_SF_Usuario_Acesso. - Parâmetros SQL:
@Count:int, número máximo de registros.@Idf_Empresa:int, ID da empresa.@Idf_Usuario:int, ID do usuário.@Valor:varchar(200)?, texto para pesquisa.@Tipo:varchar(200)?, tipo de contrato.@idf_tipo:int?, ID do tipo de contrato.@cod_Contrato_Mae:int?, código do contrato mãe.@cod_Contrato:int?, código do contrato.- Validações: Nenhuma explícita.
- Regras de negócio: Este método é marcado como obsoleto, sugerindo o uso de
ListarAutoCompleteSemRestricaoPaginacao.
ListarAutoCompleteSemRestricaoPaginacao(string Valor, int Idf_Empresa, int Idf_Usuario, int paginaCorrente, int tamanhoPagina, out int totalRegistros)
- Lógica: Retorna um dicionário (ID do contrato, descrição formatada) de contratos sem restrição de acesso, com paginação.
- Inicializa
totalRegistroscomo 0. - Calcula
inicioefimpara a paginação. - Chama
SeperaTipoValorAutoCompletepara extrair tipo e código doValor. - Cria uma lista de
SqlParametere preenche com os parâmetros de entrada, incluindo os de paginação. - Constrói uma query SQL textual complexa com CTE (
ConsultaSemRestricao) que seleciona contratos, calculaROW_NUMBER()para ordenação e paginação, e aplica filtros de empresa, tipo, código e valor. - Executa a query usando
DataAccessLayer.ExecuteReaderDs. - Extrai
totalRegistrosda primeira linha doDataTable. - Itera sobre as linhas do
DataTablee adiciona o ID do contrato e a descrição formatada ao dicionário. - Retorna o dicionário.
- Stored Procedures chamadas: Nenhuma diretamente. Utiliza SQL textual construído dinamicamente com CTEs e a função
TAB_SF_Usuario_Acesso. - Parâmetros SQL:
@Idf_Empresa:int, ID da empresa.@Idf_Usuario:int, ID do usuário.@Valor:varchar(200)?, texto para pesquisa.@Tipo:varchar(200)?, tipo de contrato.@idf_tipo:int?, ID do tipo de contrato.@cod_Contrato_Mae:int?, código do contrato mãe.@cod_Contrato:int?, código do contrato.@inicio:int, linha inicial para paginação.@fim:int, linha final para paginação.- Validações: Nenhuma explícita.
ListarAutoCompletePorCliente(int idCliente, string Valor, int Idf_Empresa, int count)
- Lógica: Retorna um dicionário (ID do contrato, descrição formatada) de contratos para autocomplete, filtrando por cliente.
- Chama
SeperaTipoValorAutoCompletepara extrair tipo doValor. - Constrói uma query SQL textual (
SPSELECTPORCLIENTE) que seleciona contratos, juntando comTAB_Tipo_ContratoeTAB_Contrato(para contrato mãe), filtrando por cliente, apelido, filial gestora não nula, empresa e contrato mãe não nulo. - Opcionalmente, adiciona filtro por tipo de contrato.
- Cria uma lista de
SqlParametere preenche com os parâmetros de entrada. - Executa a query usando
DataAccessLayer.ExecuteReader. - Itera sobre o
IDataReadere adiciona o ID do contrato e a descrição formatada ao dicionário. - Retorna o dicionário.
- Stored Procedures chamadas: Nenhuma diretamente. Utiliza SQL textual.
- Parâmetros SQL:
@idf_cliente:int, ID do cliente.@Valor:varchar(200), texto para pesquisa no apelido.@Count:int, número máximo de registros.@Idf_Empresa:int, ID da empresa.@Tipo:varchar(200)?, tipo de contrato (opcional).- Validações: Nenhuma explícita.
ListarPorClienteModal(string colunaOrdenacao, string direcaoOrdenacao, int paginaCorrente, int tamanhoPagina, int idCliente, out int totalRegistros, int Idf_Empresa)
- Lógica: Lista contratos para um modal de cliente, com paginação e ordenação.
- Calcula
inicioefimpara a paginação. - Constrói uma query SQL textual (
SPSELECTPAG) que seleciona contratos, incluindo uma descrição formatada (DescContratoModal), e aplica filtros por cliente, contrato mãe não nulo, filial gestora não nula e empresa. - Constrói
SPSELECTCOUNTpara contar o total de registros. - Executa
SPSELECTCOUNTpara obtertotalRegistros. - Executa
SPSELECTPAGe retorna oIDataReader.
- Stored Procedures chamadas: Nenhuma diretamente. Utiliza SQL textual.
- Parâmetros SQL: Nenhum parâmetro explícito, mas a query é construída com base nos argumentos do método.
- Validações: Nenhuma explícita.
ListarContratoUsuarioEmpresaPorCodNomeParcial(int idUsuario, int idEmpresa, string valor, int numeroRegistros, int? tipoContrato)
- Lógica: Lista contratos por usuário, empresa e código/nome parcial.
- Cria uma lista de
SqlParametere preenche com os parâmetros de entrada. - Executa a query
SPSELECTCODNOME2(SQL textual) usandoDataAccessLayer.ExecuteReader.
- Stored Procedures chamadas:
SPSELECTCODNOME2(SQL textual: seleciona contratos, juntando com contrato mãe, filial e tipo de contrato, filtrando por permissão de usuário, texto de pesquisa no código/apelido, empresa e tipo de contrato). - Parâmetros SQL:
@Idf_Usuario:int, ID do usuário.@Idf_Empresa:int, ID da empresa.@Valor:varchar(70), texto para pesquisa.@Numero_Registros:int, número máximo de registros.@Tipo_Contrato:int?, tipo de contrato.- Validações: Nenhuma explícita.
ListarContratoUsuarioEmpresaFilialPorCodNomeParcial(int idUsuario, int idEmpresa, int idFilial, string valor, int numeroRegistros)
- Lógica: Lista contratos por usuário, empresa, filial e código/nome parcial.
- Cria uma lista de
SqlParametere preenche com os parâmetros de entrada. - Constrói a query
SPSELECTCODNOME4(SQL textual) dinamicamente, adicionando filtros por empresa e filial se forem fornecidos. - Executa a query usando
DataAccessLayer.ExecuteReader.
- Stored Procedures chamadas:
SPSELECTCODNOME4(SQL textual: seleciona contratos, juntando com contrato mãe, filial e tipo de contrato, filtrando por permissão de usuário, texto de pesquisa no código/apelido, e opcionalmente por empresa e filial). - Parâmetros SQL:
@Idf_Usuario:int, ID do usuário.@Valor:varchar(70), texto para pesquisa.@Numero_Registros:int, número máximo de registros.@Idf_Empresa:int, ID da empresa (opcional).@Idf_Filial:int, ID da filial (opcional).- Validações: Nenhuma explícita.
ListarPorCodigo(int idUsuario, int idEmpresa, int idTipoContrato, int codigoContratoMae, int codigoContrato)
- Lógica: Retorna um
IDataReadercom contratos que correspondem aos códigos e tipo fornecidos, considerando permissões do usuário.
- Cria uma lista de
SqlParametere preenche com os parâmetros de entrada. - Executa a query
SPSELECTCONTRATOCODIGO(SQL textual) usandoDataAccessLayer.ExecuteReader.
- Stored Procedures chamadas:
SPSELECTCONTRATOCODIGO(SQL textual: seleciona contratos, juntando com contrato mãe, filial e tipo de contrato, filtrando por código mãe, código filho, tipo de contrato, empresa e permissão de usuário (TAB_SF_Usuario_Acesso)). - Parâmetros SQL:
@Idf_Empresa:int, ID da empresa.@Idf_Tipo_Contrato:int, ID do tipo de contrato.@Cod_Contrato_Mae:int, código do contrato mãe.@Cod_Contrato:int, código do contrato.@Idf_Usuario:int, ID do usuário.- Validações: Nenhuma explícita.
ListarPorID(int idEmpresa, int idTipoContrato, int idContratoMae, int idContrato)
- Lógica: Retorna um
IDataReadercom contratos que correspondem aos IDs e tipo fornecidos.
- Cria uma lista de
SqlParametere preenche com os parâmetros de entrada. - Executa a query
SPSELECTCONTRATOID(SQL textual) usandoDataAccessLayer.ExecuteReader.
- Stored Procedures chamadas:
SPSELECTCONTRATOID(SQL textual: seleciona contratos, juntando com contrato mãe e tipo de contrato, filtrando por ID de contrato mãe, ID de contrato, tipo de contrato e empresa). - Parâmetros SQL:
@Idf_Empresa:int, ID da empresa.@Idf_Tipo_Contrato:int, ID do tipo de contrato.@Idf_Contrato_Mae:int, ID do contrato mãe.@Idf_Contrato:int, ID do contrato.- Validações: Nenhuma explícita.
ListarPorIdTipoECodMae(int idTipo, int codMae)
- Lógica: Retorna um
IDataReadercom contratos que correspondem ao tipo e código do contrato mãe.
- Cria uma lista de
SqlParameterpara@Idf_Tipo_Contratoe@Cod_Contrato_Mae. - Preenche os parâmetros.
- Executa a query
LISTARPORTIPOECODMAE(SQL textual) usandoDataAccessLayer.ExecuteReader.
- Stored Procedures chamadas:
LISTARPORTIPOECODMAE(SQL textual: seleciona contratos, juntando com contrato mãe, filtrando por inatividade, código do contrato mãe e tipo de contrato). - Parâmetros SQL:
@Idf_Tipo_Contrato:int, ID do tipo de contrato.@Cod_Contrato_Mae:int, código do contrato mãe.- Validações: Nenhuma explícita.
ListarPorApelidoParcial(string apelidoContrato)
- Lógica: Retorna um
IDataReadercom contratos que correspondem a um apelido parcial.
- Cria uma lista de
SqlParameterpara@Ape_Contrato. - Preenche o parâmetro.
- Executa a query
LISTARPORAPELIDOPARCIAL(SQL textual) usandoDataAccessLayer.ExecuteReader.
- Stored Procedures chamadas:
LISTARPORAPELIDOPARCIAL(SQL textual: seleciona contratos, juntando com contrato mãe, filtrando por inatividade e apelido parcial). - Parâmetros SQL:
@Ape_Contrato:varchar(250), apelido parcial do contrato.- Validações: Nenhuma explícita.
ListarPorIdTipoCodMaeCodFilho(int idTipoContrato, int codContratoMae, int codContratoFilho)
- Lógica: Retorna um
IDataReadercom contratos que correspondem ao tipo, código do contrato mãe e código do contrato filho.
- Cria uma lista de
SqlParameterpara@Idf_Tipo_Contrato,@Cod_Contratoe@Cod_ContratoFilho. - Preenche os parâmetros.
- Executa a query
SELECTBYTIPOCODCODFILHO(SQL textual) usandoDataAccessLayer.ExecuteReader.
- Stored Procedures chamadas:
SELECTBYTIPOCODCODFILHO(SQL textual: seleciona contratos, juntando com contrato mãe, filtrando por inatividade, tipo de contrato, código do contrato e código do contrato filho). - Parâmetros SQL:
@Idf_Tipo_Contrato:int, ID do tipo de contrato.@Cod_Contrato:int, código do contrato (mãe).@Cod_ContratoFilho:int, código do contrato filho.- Validações: Nenhuma explícita.
ListarPorIdTipoCodMaeCodFilhoEmpresa(int idTipoContrato, int codContratoMae, int codContratoFilho, int idEmpresa)
- Lógica: Retorna um
IDataReadercom contratos que correspondem ao tipo, código do contrato mãe, código do contrato filho e empresa.
- Cria uma lista de
SqlParameterpara@Idf_Tipo_Contrato,@Cod_Contrato,@Cod_ContratoFilhoe@Idf_Empresa. - Preenche os parâmetros.
- Executa a query
SELECTBYTIPOCODCODFILHOEMPRESA(SQL textual) usandoDataAccessLayer.ExecuteReader.
- Stored Procedures chamadas:
SELECTBYTIPOCODCODFILHOEMPRESA(SQL textual: seleciona contratos, juntando com contrato mãe, filtrando por inatividade, tipo de contrato, empresa, código do contrato e código do contrato filho). - Parâmetros SQL:
@Idf_Tipo_Contrato:int, ID do tipo de contrato.@Cod_Contrato:int, código do contrato (mãe).@Cod_ContratoFilho:int, código do contrato filho.@Idf_Empresa:int, ID da empresa.- Validações: Nenhuma explícita.
ListarPorCodNomeParcial(string nomeColuna, string direcaoOrdenacao, int paginaCorrente, int tamanhoPagina, out int totalRegistros, string codNomeContrato, int idEmpresa)
- Lógica: Lista contratos paginados por código/nome parcial e empresa.
- Cria uma lista de
SqlParameterpara@SortExpression,@Raz_Social,@Cod_Contratoe@Idf_Empresa. - Preenche os parâmetros, tratando
codNomeContratocomo texto ou número. - Calcula
inicioefimpara a paginação. - Constrói uma query SQL textual (
SPSELECTPAG) que seleciona contratos, juntando com cliente e filial, filtrando por empresa e, opcionalmente, por razão social ou código do contrato. - Constrói
SPSELECTCOUNTpara contar o total de registros. - Executa
SPSELECTCOUNTpara obtertotalRegistros. - Executa
SPSELECTPAGe retorna oIDataReader.
- Stored Procedures chamadas: Nenhuma diretamente. Utiliza SQL textual.
- Parâmetros SQL:
@SortExpression:varchar(50), expressão de ordenação.@Raz_Social:varchar(60)?, razão social para pesquisa.@Cod_Contrato:int?, código do contrato para pesquisa.@Idf_Empresa:int, ID da empresa.- Validações: Nenhuma explícita.
ListarPaginacao(int? idTipoContrato, bool buscarContratoFilho, bool buscarContratoMae, string text, string nomeColuna, string direcaoOrdenacao, int paginaCorrente, int tamanhoPagina, int idEmpresaLogada, out int totalRegistros)
- Lógica: Lista contratos paginados com filtros de tipo, busca por filho/mãe e texto.
- Inicializa
totalRegistroscomo 0. - Calcula
FirstReceLastRecpara a paginação. - Ajusta
nomeColunapara incluir a direção de ordenação. - Constrói uma query SQL textual (
iSelect) que seleciona contratos, juntando com tipo de contrato, contrato mãe, cliente, pessoa física e filial, aplicando filtros de empresa, tipo de contrato, busca por contrato filho/mãe e pesquisa textual em vários campos (código formatado, apelido, CPF, RG, nome da pessoa, CNPJ/CEI, razão social, apelido da filial, descrição do tipo de contrato). - Constrói
iSelectCounteiSelectPagcom base emiSelect. - Cria uma lista de
SqlParametere preenche com os parâmetros de entrada. - Executa
iSelectCountpara obtertotalRegistros. - Executa
iSelectPage retorna oDataTable.
- Stored Procedures chamadas: Nenhuma diretamente. Utiliza SQL textual.
- Parâmetros SQL:
@idTipoContrato:int?, ID do tipo de contrato.@text:varchar(100), texto para pesquisa.@buscarContratoFilho:bit, flag para buscar contratos filho.@buscarContratoMae:bit, flag para buscar contratos mãe.@Idf_Empresa:int, ID da empresa logada.- Validações: Nenhuma explícita.
ListarPaginacao(string colunaOrdenacao, string direcaoOrdenacao, string expressao, int paginaCorrente, int tamanhoPagina, out int totalRegistros)
- Lógica: Lista contratos paginados com uma expressão SQL customizada.
- Cria uma lista de
SqlParameterpara@CurrentPage,@PageSize,@SortExpressione@WhereExpression. - Preenche os parâmetros com os valores fornecidos.
- Executa a query
SplistarCONTRATOPAGINACAO(SQL textual) usandoDataAccessLayer.ExecuteReader. - Lê a primeira linha do
IDataReaderpara obtertotalRegistros. - Avança para o próximo conjunto de resultados e retorna o
IDataReader.
- Stored Procedures chamadas:
SplistarCONTRATOPAGINACAO(SQL textual: uma SP dinâmica que constrói queries de contagem e paginação com base em uma expressãoWHEREfornecida). - Parâmetros SQL:
@CurrentPage:int, página atual.@PageSize:int, tamanho da página.@SortExpression:varchar(150), expressão de ordenação.@WhereExpression:varchar(8000), expressãoWHEREcustomizada.- Validações: Nenhuma explícita.
ListarCodNomeParcial2(int idTipoContrato, int codContrato, int codContratoFilho, string apelido)
- Lógica: Lista contratos por tipo, código, código filho e apelido.
- Cria uma lista de
SqlParameterpara@Idf_Tipo_Contrato,@Cod_Contrato,@Cod_ContratoFilhoe@Ape_Contrato. - Preenche os parâmetros, tratando
apelidocomo nullable. - Executa a query
SPSELECTCODNOME3(SQL textual) usandoDataAccessLayer.ExecuteReader.
- Stored Procedures chamadas:
SPSELECTCODNOME3(SQL textual: seleciona contratos, juntando com contrato mãe, filtrando por inatividade, tipo de contrato, código do contrato (mãe/filho) e apelido parcial). - Parâmetros SQL:
@Idf_Tipo_Contrato:int, ID do tipo de contrato.@Cod_Contrato:int, código do contrato (mãe).@Cod_ContratoFilho:int, código do contrato filho.@Ape_Contrato:varchar(250)?, apelido parcial.- Validações: Nenhuma explícita.
ListarCodNomeParcial(int? idTipoContrato, int? codContrato, int idEmpresa, string apelido)
- Lógica: Lista contratos por tipo, código, empresa e apelido.
- Cria uma lista de
SqlParameterpara@Idf_Tipo_Contrato,@Cod_Contrato,@Ape_Contratoe@Idf_Empresa. - Preenche os parâmetros, tratando valores nulos.
- Executa a query
SPSELECTCODNOME(SQL textual) usandoDataAccessLayer.ExecuteReader.
- Stored Procedures chamadas:
SPSELECTCODNOME(SQL textual: seleciona contratos mãe por inatividade, código, apelido e tipo de contrato, ordenando por apelido). - Parâmetros SQL:
@Idf_Tipo_Contrato:int?, ID do tipo de contrato.@Cod_Contrato:varchar(100)?, código do contrato.@Ape_Contrato:varchar(250)?, apelido.@Idf_Empresa:int, ID da empresa.- Validações: Nenhuma explícita.
ListarCodNomeParcial(int? idTipoContrato, int? codContrato, int idEmpresa, string apelido, int numeroRegistros)
- Lógica: Lista contratos por tipo, código, empresa, apelido e número de registros.
- Cria uma lista de
SqlParameterpara@Idf_Tipo_Contrato,@Cod_Contrato,@Ape_Contrato,@Idf_Empresae@Numero_Registros. - Constrói a query
SPSELECTCODNOMENUMREG(SQL textual) dinamicamente, adicionando filtros por tipo de contrato e empresa. - Preenche os parâmetros.
- Executa a query usando
DataAccessLayer.ExecuteReader.
- Stored Procedures chamadas:
SPSELECTCODNOMENUMREG(SQL textual: selecionaTOP (@Numero_Registros)de contratos mãe por inatividade, código e apelido). - Parâmetros SQL:
@Idf_Tipo_Contrato:int?, ID do tipo de contrato.@Cod_Contrato:varchar(100)?, código do contrato.@Ape_Contrato:varchar(250)?, apelido.@Idf_Empresa:int, ID da empresa.@Numero_Registros:int, número máximo de registros.- Validações: Nenhuma explícita.
ListarFilhosPorIdTipoCodMaeCodFilho(int? idTipoContrato, int? codContratoMae, int? codContratoFilho, string apelidoContrato)
- Lógica: Lista contratos filhos para autocomplete.
- Cria uma lista de
SqlParameter. - Constrói a query
SELECTCONTRATOFILHO(SQL textual) dinamicamente, adicionando filtros por tipo de contrato, código do contrato mãe, código do contrato filho e apelido. - Preenche os parâmetros.
- Executa a query usando
DataAccessLayer.ExecuteReader.
- Stored Procedures chamadas:
SELECTCONTRATOFILHO(SQL textual: seleciona contratos filho, juntando com contrato mãe, e retorna o número do contrato formatado e o apelido). - Parâmetros SQL:
@Idf_Tipo_Contrato:int?, ID do tipo de contrato.@Cod_Contrato_Mae:int?, código do contrato mãe.@Cod_Contrato_Filho:int?, código do contrato filho.@Apelido_Contrato_Filho:int?, apelido do contrato filho.- Validações: Nenhuma explícita.
ListarAFaturarPorContratos(string colunaOrdenacao, string direcaoOrdenacao, int? idTipoContrato, decimal? DocCliente, int? idContrato, int? idEmpresa)
- Lógica: Lista contratos a serem faturados, com filtros de tipo de contrato, documento do cliente e ID do contrato.
- Cria uma lista de
SqlParameter. - Constrói a query
SELECTGRIDFATURARPORCONTRATO(SQL textual) dinamicamente, adicionando filtros por tipo de contrato, documento do cliente e ID do contrato. - Preenche os parâmetros.
- Adiciona ordenação à query.
- Executa a query usando
DataAccessLayer.ExecuteReader.
- Stored Procedures chamadas:
SELECTGRIDFATURARPORCONTRATO(SQL textual: seleciona pré-faturas distintas, juntando com contratos, clientes, pessoas físicas, filiais e tipos de contrato, filtrando por pré-faturas sem itens de fatura, sem departamento e não faturadas). - Parâmetros SQL:
@Idf_Tipo_Contrato:int?, ID do tipo de contrato.@Doc_Cliente:decimal?, documento do cliente (CPF/CNPJ).@idContrato:int?, ID do contrato.@idEmpresa:int?, ID da empresa.- Validações: Nenhuma explícita.
ListarAFaturarPorCentroCusto(string colunaOrdenacao, string direcaoOrdenacao, int? idContrato)
- Lógica: Lista contratos a serem faturados por centro de custo.
- Cria uma lista de
SqlParameter. - Constrói a query
SELECTGRIDFATURARPORCENTROCUSTO(SQL textual) dinamicamente, adicionando filtro por ID do contrato. - Preenche os parâmetros.
- Adiciona ordenação à query.
- Executa a query usando
DataAccessLayer.ExecuteReader.
- Stored Procedures chamadas:
SELECTGRIDFATURARPORCENTROCUSTO(SQL textual: seleciona pré-faturas distintas, juntando com departamentos, contratos e faturas, filtrando por faturas não geradas). - Parâmetros SQL:
@Idf_Contrato:int?, ID do contrato.- Validações: Nenhuma explícita.
Listar()
- Lógica: Retorna um
IDataReadercom todos os registros da tabelaTAB_Contrato.
- Executa a query
SPSELECTCONTRATOTODOS(SQL textual) usandoDataAccessLayer.ExecuteReader.
- Stored Procedures chamadas:
SPSELECTCONTRATOTODOS(SQL textual: seleciona ID, tipo, código, apelido, ID mãe e filial gestora de todos os contratos). - Validações: Nenhuma explícita.
ListarIdContratoFilhoPorContratoMae(int pIdEmrpesa, int pIdContratoMae, int pIdUsuario)
- Lógica: Lista os IDs dos contratos filhos de um contrato mãe, considerando permissões do usuário.
- Cria uma lista de
SqlParameterpara@Idf_Empresa,@Idf_Contratoe@Idf_Usuario. - Preenche os parâmetros.
- Constrói uma query SQL textual que seleciona
Idf_ContratodeTAB_Contrato, filtrando por inatividade, empresa, contrato mãe e permissão de usuário (TAB_SF_Usuario_Acesso). - Executa a query usando
DataAccessLayer.ExecuteReader. - Itera sobre o
IDataReadere adiciona os IDs à lista. - Retorna a lista de IDs.
- Stored Procedures chamadas: Nenhuma diretamente. Utiliza SQL textual e a função
TAB_SF_Usuario_Acesso. - Parâmetros SQL:
@Idf_Empresa:int, ID da empresa.@Idf_Contrato:int, ID do contrato mãe.@Idf_Usuario:int, ID do usuário.- Validações: Nenhuma explícita.
RecuperaPorEmpresa(int Idf_Empresa)
- Lógica: Recupera o ID do contrato de uma empresa.
- Cria uma lista de
SqlParameterpara@Idf_Empresae preenche com o ID da empresa. - Executa a query
SPCARREGARPOREMPRESA(SQL textual) usandoDataAccessLayer.ExecuteScalar.
- Stored Procedures chamadas:
SPCARREGARPOREMPRESA(SQL textual: seleciona oTOP 1 Idf_ContratodeTAB_Contratofiltrando por empresa). - Parâmetros SQL:
@Idf_Empresa:int, ID da empresa.- Validações: Nenhuma explícita.
CarregarAutoComplete(int pIdEmpresa, int pIdUsuario, int pIdTipoContrato, int? pCodigoContratoMae, int pCodigoContratoFilho, string pApelido, bool pFiltrarPorUsuarioLogado, out Contrato pObjContrato)
- Lógica: Carrega um objeto
Contratoa partir dos parâmetros de autocomplete.
- Cria uma lista de
SqlParametere preenche com os parâmetros de entrada. - Executa a query
SPCARREGARAUTOCOMPLETE(SQL textual) usandoDataAccessLayer.ExecuteReader. - Cria uma nova instância de
Contrato. - Chama
SetInstance(iDr, pObjContrato)para preencher a instância. - Se
SetInstanceretornartrue, retornatrue; caso contrário, definepObjContratocomonulle retornafalse.
- Stored Procedures chamadas:
SPCARREGARAUTOCOMPLETE(SQL textual: seleciona todos os campos deTAB_Contrato, juntando com contrato mãe e tipo de contrato, aplicando filtros de empresa, permissão de usuário, tipo de contrato, código de contrato filho, código de contrato mãe e apelido). - Parâmetros SQL:
@Idf_Empresa:int, ID da empresa.@Idf_Usuario:int, ID do usuário.@Idf_Tipo_Contrato:int, ID do tipo de contrato.@Cod_Contrato_Mae:int?, código do contrato mãe.@Cod_Contrato_Filho:int, código do contrato filho.@Ape_Contrato:varchar(250), apelido do contrato.@Flg_Filtrar_Por_Usuario_Logado:bit, flag para filtrar por usuário logado.- Validações: Nenhuma explícita.
CarregarAutoComplete(int pIdEmpresa, int pIdUsuario, int pIdTipoContrato, int? pCodigoContratoMae, int pCodigoContratoFilho, bool pFiltrarPorUsuarioLogado, out Contrato pObjContrato)
- Lógica: Similar ao método anterior, mas sem o parâmetro
pApelidoe utilizando a querySPCARREGARAUTOCOMPLETE2.
- Cria uma lista de
SqlParametere preenche com os parâmetros de entrada. - Executa a query
SPCARREGARAUTOCOMPLETE2(SQL textual) usandoDataAccessLayer.ExecuteReader. - Cria uma nova instância de
Contrato. - Chama
SetInstance(iDr, pObjContrato)para preencher a instância. - Se
SetInstanceretornartrue, retornatrue; caso contrário, definepObjContratocomonulle retornafalse.
- Stored Procedures chamadas:
SPCARREGARAUTOCOMPLETE2(SQL textual: seleciona todos os campos deTAB_Contrato, juntando com contrato mãe e tipo de contrato, aplicando filtros de inatividade, empresa, permissão de usuário, tipo de contrato, código de contrato filho e código de contrato mãe). - Parâmetros SQL:
@Idf_Empresa:int, ID da empresa.@Idf_Usuario:int, ID do usuário.@Idf_Tipo_Contrato:int, ID do tipo de contrato.@Cod_Contrato_Mae:int?, código do contrato mãe.@Cod_Contrato_Filho:int, código do contrato filho.@Flg_Filtrar_Por_Usuario_Logado:bit, flag para filtrar por usuário logado.- Validações: Nenhuma explícita.
CarregarMaePorTipoECodigo(int idTipo, int codContrato, out Contrato objContrato)
- Lógica: Carrega um contrato mãe por tipo e código.
- Chama
ListarMaePorTipoECodigopara obter umIDataReader. - Cria uma nova instância de
Contrato. - Chama
SetInstance(idr, objContrato)para preencher a instância. - Retorna o resultado de
SetInstance.
- Stored Procedures chamadas: Nenhuma diretamente. Chama
ListarMaePorTipoECodigo. - Validações: Nenhuma explícita.
CarregarPorIdTipoCodMaeCodFilho(int idTipoContrato, int codContratoMae, int codContratoFilho, out Contrato objContratoFilho)
- Lógica: (Obsoleto) Carrega um contrato filho por tipo, código mãe e código filho.
- Chama
ListarPorIdTipoCodMaeCodFilhopara obter umIDataReader. - Cria uma nova instância de
Contrato. - Chama
SetInstance(dr, objContratoFilho)para preencher a instância. - Se
SetInstanceretornartrue, retornatrue; caso contrário, defineobjContratoFilhocomonulle retornafalse.
- Stored Procedures chamadas: Nenhuma diretamente. Chama
ListarPorIdTipoCodMaeCodFilho. - Validações: Nenhuma explícita.
- Regras de negócio: Este método é marcado como obsoleto, sugerindo o uso da versão que inclui
IdEmpresa.
CarregarPorIdTipoCodMaeCodFilho(int idTipoContrato, int codContratoMae, int codContratoFilho, int idEmpresa, out Contrato objContratoFilho)
- Lógica: Carrega um contrato filho por tipo, código mãe, código filho e empresa.
- Chama
ListarPorIdTipoCodMaeCodFilhoEmpresapara obter umIDataReader. - Cria uma nova instância de
Contrato. - Chama
SetInstance(dr, objContratoFilho)para preencher a instância. - Se
SetInstanceretornartrue, retornatrue; caso contrário, defineobjContratoFilhocomonulle retornafalse.
- Stored Procedures chamadas: Nenhuma diretamente. Chama
ListarPorIdTipoCodMaeCodFilhoEmpresa. - Validações: Nenhuma explícita.
CarregarMaePorEmpresaTipo(int idEmpresa, int idTipo, out Contrato objContrato)
- Lógica: Preenche um contrato mãe por empresa e tipo.
- Chama
ListarMaePorEmpresaTipopara obter umIDataReader. - Cria uma nova instância de
Contrato. - Chama
SetInstance(dr, objContrato)para preencher a instância. - Se
SetInstanceretornartrue, retornatrue; caso contrário, defineobjContratocomonulle retornafalse.
- Stored Procedures chamadas: Nenhuma diretamente. Chama
ListarMaePorEmpresaTipo. - Validações: Nenhuma explícita.
CarregarMaePorEmpresaTipo(int idEmpresa, int idTipo, out Contrato objContrato, SqlTransaction trans)
- Lógica: Similar ao método anterior, mas utiliza uma transação SQL existente.
- Chama
ListarMaePorEmpresaTipo(com transação) para obter umIDataReader. - Cria uma nova instância de
Contrato. - Chama
SetInstance(dr, objContrato)para preencher a instância. - Se
SetInstanceretornartrue, retornatrue; caso contrário, defineobjContratocomonulle retornafalse.
- Stored Procedures chamadas: Nenhuma diretamente. Chama
ListarMaePorEmpresaTipo. - Validações: Nenhuma explícita.
CarregarPorFilialNaoPrestadora(int idFilial, out Contrato objContrato)
- Lógica: Carrega um contrato de filial não prestadora.
- Chama
ListarPorFilialNaoPrestadorapara obter umIDataReader. - Cria uma nova instância de
Contrato. - Chama
SetInstance(dr, objContrato)para preencher a instância. - Se
SetInstanceretornartrue, retornatrue; caso contrário, defineobjContratocomonulle retornafalse.
- Stored Procedures chamadas: Nenhuma diretamente. Chama
ListarPorFilialNaoPrestadora. - Validações: Nenhuma explícita.
CarregarContratoFilialNaoPrestadora(int idFilial, out Contrato objContrato)
- Lógica: Carrega um contrato de filial não prestadora.
- Chama
ListarPorFilialNaoPrestadorapara obter umIDataReader. - Cria uma nova instância de
Contrato. - Chama
SetInstance(dr, objContrato)para preencher a instância. - Fecha o
IDataReader. - Se
SetInstanceretornoufalse, defineobjContratocomonull. - Retorna o resultado de
SetInstance.
- Stored Procedures chamadas: Nenhuma diretamente. Chama
ListarPorFilialNaoPrestadora. - Validações: Nenhuma explícita.
CarregarPorFilialPrestadora(int idFilial, out Contrato objContrato)
- Lógica: Carrega um contrato de filial prestadora.
- Chama
ListarPorFilialPrestadorapara obter umIDataReader. - Cria uma nova instância de
Contrato. - Chama
SetInstance(dr, objContrato)para preencher a instância. - Se
SetInstanceretornartrue, retornatrue; caso contrário, defineobjContratocomonulle retornafalse.
- Stored Procedures chamadas: Nenhuma diretamente. Chama
ListarPorFilialPrestadora. - Validações: Nenhuma explícita.
CarregarPorCodigo(int pIdUsuario, int pIdEmpresa, string pCodigoContrato, out Contrato objContrato)
- Lógica: Carrega um contrato por código e empresa, considerando permissões do usuário.
- Inicializa
objContratocomonull. - Cria uma lista de
SqlParameterpara@Idf_Usuario,@Idf_Empresae@Codigo_Contrato. - Preenche os parâmetros, trimando
pCodigoContrato. - Executa a query
SELCONTRATOPORUSUARIOEMPRESACODIGO(SQL textual) usandoDataAccessLayer.ExecuteReader. - Cria uma nova instância de
Contrato. - Chama
SetInstance(dr, objContrato)para preencher a instância. - Se
SetInstanceretornartrue, retornatrue; caso contrário, defineobjContratocomonulle retornafalse.
- Stored Procedures chamadas:
SELCONTRATOPORUSUARIOEMPRESACODIGO(SQL textual: seleciona contratos, juntando comV_COD_CONTRATO, filtrando por empresa, código do contrato e permissão de usuário (TAB_SF_Usuario_Acesso)). - Parâmetros SQL:
@Idf_Usuario:int, ID do usuário.@Idf_Empresa:int, ID da empresa.@Codigo_Contrato:varchar, código do contrato (trimado).- Validações: Nenhuma explícita.
CarregarPorCodigo(SqlTransaction pTrans, int pIdUsuario, int pIdEmpresa, string pCodigoContrato, out Contrato objContrato)
- Lógica: Similar ao método anterior, mas utiliza uma transação SQL existente.
- Inicializa
objContratocomonull. - Cria uma lista de
SqlParameterpara@Idf_Usuario,@Idf_Empresae@Codigo_Contrato. - Preenche os parâmetros, trimando
pCodigoContrato. - Executa a query
SELCONTRATOPORUSUARIOEMPRESACODIGO(SQL textual) usandoDataAccessLayer.ExecuteReadercom a transação fornecida. - Cria uma nova instância de
Contrato. - Chama
SetInstance(dr, objContrato)para preencher a instância. - Se
SetInstanceretornartrue, retornatrue; caso contrário, defineobjContratocomonulle retornafalse.
- Stored Procedures chamadas:
SELCONTRATOPORUSUARIOEMPRESACODIGO(SQL textual). - Parâmetros SQL:
@Idf_Usuario:int, ID do usuário.@Idf_Empresa:int, ID da empresa.@Codigo_Contrato:varchar, código do contrato (trimado).- Validações: Nenhuma explícita.
CarregarPorCodigo(int idUsuario, int idEmpresa, int idTipoContrato, int codigoContratoMae, int codigoContrato, out Contrato objContrato)
- Lógica: Carrega um contrato por código, tipo, código mãe e empresa, considerando permissões.
- Chama
ListarPorCodigopara obter umIDataReader. - Cria uma nova instância de
Contrato. - Chama
SetInstance(dr, objContrato)para preencher a instância. - Se
SetInstanceretornartrue, retornatrue; caso contrário, defineobjContratocomonulle retornafalse.
- Stored Procedures chamadas: Nenhuma diretamente. Chama
ListarPorCodigo. - Validações: Nenhuma explícita.
CarregarPorCodigo(int idEmpresa, int idTipoContrato, int codigoContratoMae, int codigoContrato, out Contrato objContrato)
- Lógica: (Obsoleto) Carrega um contrato por código, tipo, código mãe e empresa (sem considerar permissões de usuário).
- Define
objContratocomonulle retornafalse. Este método é marcado como obsoleto e não implementa a lógica de carregamento.
- Stored Procedures chamadas: Nenhuma.
- Validações: Nenhuma explícita.
- Regras de negócio: Este método é obsoleto e não deve ser usado.
CarregarPorID(int idEmpresa, int idTipoContrato, int idContratoMae, int idContrato, out Contrato objContrato)
- Lógica: Carrega um contrato por ID, tipo, ID mãe e empresa.
- Chama
ListarPorIDpara obter umIDataReader. - Cria uma nova instância de
Contrato. - Chama
SetInstance(dr, objContrato)para preencher a instância. - Se
SetInstanceretornartrue, retornatrue; caso contrário, defineobjContratocomonulle retornafalse.
- Stored Procedures chamadas: Nenhuma diretamente. Chama
ListarPorID. - Validações: Nenhuma explícita.
CarregarPorUsuarioEmpresa(int idEmpresa, int idUsuarioLogado, int idTipoContrato, int codigoContratoMae, int codigoContrato, string apelido, out Contrato objContrato)
- Lógica: Carrega um contrato por usuário, empresa, tipo, códigos e apelido.
- Chama
ListarPorUsuarioEmpresapara obter umIDataReader. - Cria uma nova instância de
Contrato. - Chama
SetInstance(dr, objContrato)para preencher a instância. - Se
SetInstanceretornartrue, retornatrue; caso contrário, defineobjContratocomonulle retornafalse.
- Stored Procedures chamadas: Nenhuma diretamente. Chama
ListarPorUsuarioEmpresa. - Validações: Nenhuma explícita.
CarregarPorUsuarioEmpresaFilial(int idEmpresa, int idFilial, int idUsuarioLogado, int idTipoContrato, int codigoContratoMae, int codigoContrato, string apelido, out Contrato objContrato)
- Lógica: Carrega um contrato por usuário, empresa, filial, tipo, códigos e apelido.
- Chama
ListarPorUsuarioEmpresa(versão comidFilial) para obter umIDataReader. - Cria uma nova instância de
Contrato. - Chama
SetInstance(dr, objContrato)para preencher a instância. - Se
SetInstanceretornartrue, retornatrue; caso contrário, defineobjContratocomonulle retornafalse.
- Stored Procedures chamadas: Nenhuma diretamente. Chama
ListarPorUsuarioEmpresa. - Validações: Nenhuma explícita.
ListarPorUsuarioEmpresa(int idFilial, int idEmpresa, int idUsuario, int idTipoContrato, int codigoContratoMae, int codigoContrato, string apelido)
- Lógica: Retorna um
IDataReadercom contratos por filial, empresa, usuário, tipo, códigos e apelido.
- Cria uma lista de
SqlParametere preenche com os parâmetros de entrada. - Constrói a query
SPSELECTCONTRATOUSUARIOEMPRESAFILIAL(SQL textual) dinamicamente, adicionando filtros por empresa e filial se forem fornecidos. - Executa a query usando
DataAccessLayer.ExecuteReader.
- Stored Procedures chamadas:
SPSELECTCONTRATOUSUARIOEMPRESAFILIAL(SQL textual: seleciona contratos, juntando com contrato mãe, filial e tipo de contrato, filtrando por permissão de usuário, código de contrato, tipo de contrato, código de contrato mãe e apelido, e opcionalmente por empresa e filial). - Parâmetros SQL:
@Idf_Tipo_Contrato:int, ID do tipo de contrato.@Cod_Contrato_Mae:int, código do contrato mãe.@Cod_Contrato:int, código do contrato.@Idf_Usuario:int, ID do usuário.@Ape_Contrato:varchar(250), apelido.@Idf_Empresa:int, ID da empresa (opcional).@Idf_Filial:int, ID da filial (opcional).- Validações: Nenhuma explícita.
ListarPorUsuarioEmpresa(int idEmpresa, int idUsuario, int idTipoContrato, int codigoContratoMae, int? codigoContrato, string apelido)
- Lógica: Retorna um
IDataReadercom contratos por empresa, usuário, tipo, códigos e apelido.
- Cria uma lista de
SqlParametere preenche com os parâmetros de entrada. - Executa a query
SPSELECTCONTRATOUSUARIOEMPRESA(SQL textual) usandoDataAccessLayer.ExecuteReader.
- Stored Procedures chamadas:
SPSELECTCONTRATOUSUARIOEMPRESA(SQL textual: seleciona contratos, juntando com contrato mãe, filial e tipo de contrato, filtrando por inatividade, código de contrato, tipo de contrato, empresa e permissão de usuário, e opcionalmente por código de contrato mãe). - Parâmetros SQL:
@Idf_Empresa:int, ID da empresa.@Idf_Tipo_Contrato:int, ID do tipo de contrato.@Cod_Contrato_Mae:int, código do contrato mãe.@Cod_Contrato:int?, código do contrato.@Idf_Usuario:int, ID do usuário.@Ape_Contrato:varchar(250), apelido.- Validações: Nenhuma explícita.
ListarPorUsuarioEmpresa(int idUsuario, int idEmpresa)
- Lógica: Lista os IDs dos contratos aos quais um usuário tem acesso em uma empresa.
- Cria uma lista vazia de
int. - Cria uma lista de
SqlParameterpara@Idf_Usuarioe@Idf_Empresa. - Preenche os parâmetros.
- Executa a query
SplistarPORUSUARIOEMPRESA(SQL textual) usandoDataAccessLayer.ExecuteReader. - Itera sobre o
IDataReadere adiciona os IDs à lista. - Retorna a lista de IDs.
- Stored Procedures chamadas:
SplistarPORUSUARIOEMPRESA(SQL textual: seleciona IDs de contrato, juntando com filial, empresa, grupo econômico, filtrando por empresa e permissão de usuário). - Parâmetros SQL:
@Idf_Usuario:int, ID do usuário.@Idf_Empresa:int, ID da empresa.- Validações: Nenhuma explícita.
CarregarPorApelido(string apelido, out Contrato objContrato)
- Lógica: Carrega um contrato por apelido.
- Cria uma lista de
SqlParameterpara@Ape_Contrato. - Preenche o parâmetro.
- Executa uma query SQL textual (
SELECT TOP 1 * FROM TAB_Contrato WHERE Ape_Contrato = @Ape_Contrato AND Flg_Inativo = 0) usandoDataAccessLayer.ExecuteReader. - Cria uma nova instância de
Contrato. - Chama
SetInstance(dr, objContrato)para preencher a instância. - Se
SetInstanceretornartrue, retornatrue; caso contrário, defineobjContratocomonulle retornafalse.
- Stored Procedures chamadas: Nenhuma diretamente. Utiliza SQL textual.
- Parâmetros SQL:
@Ape_Contrato:varchar(250), apelido.- Validações: Nenhuma explícita.
CarregarPorApelido(string apelido, int idFilial, out Contrato objContrato)
- Lógica: (Obsoleto) Carrega um contrato por apelido e filial.
- Constrói uma query SQL textual (
SELECT TOP 1 * FROM TAB_Contrato WHERE Ape_Contrato = @Ape_Contrato AND Idf_Filial_Gestora = @idFilial AND Flg_Inativo = 0). - Cria uma lista de
SqlParameterpara@Ape_Contratoe@idFilial. - Preenche os parâmetros.
- Executa a query usando
DataAccessLayer.ExecuteReader. - Cria uma nova instância de
Contrato. - Chama
SetInstance(dr, objContrato)para preencher a instância. - Se
SetInstanceretornartrue, retornatrue; caso contrário, defineobjContratocomonulle retornafalse.
- Stored Procedures chamadas: Nenhuma diretamente. Utiliza SQL textual.
- Parâmetros SQL:
@Ape_Contrato:varchar(250), apelido.@idFilial:varchar(50), ID da filial.- Validações: Nenhuma explícita.
- Regras de negócio: Este método é obsoleto, pois pode não retornar o contrato correto se houver múltiplos contratos com o mesmo apelido em diferentes tipos de contrato.
CarregarPorApelido(int idfTipoContrato, string apelido, int idFilial, out Contrato objContrato)
- Lógica: Carrega um contrato por tipo, apelido e filial.
- Constrói uma query SQL textual (
SELECT * FROM TAB_Contrato WHERE Ape_Contrato = @Ape_Contrato AND Idf_Tipo_Contrato = @Idf_Tipo_Contrato AND Idf_Filial_Gestora = @Idf_Filial AND Flg_Inativo = 0). - Cria uma lista de
SqlParameterpara@Ape_Contrato,@Idf_Filiale@Idf_Tipo_Contrato. - Preenche os parâmetros.
- Executa a query usando
DataAccessLayer.ExecuteReader. - Cria uma nova instância de
Contrato. - Chama
SetInstance(dr, objContrato)para preencher a instância. - Se
SetInstanceretornartrue, retornatrue; caso contrário, defineobjContratocomonulle retornafalse.
- Stored Procedures chamadas: Nenhuma diretamente. Utiliza SQL textual.
- Parâmetros SQL:
@Ape_Contrato:varchar(250), apelido.@Idf_Filial:int, ID da filial.@Idf_Tipo_Contrato:int, ID do tipo de contrato.- Validações: Nenhuma explícita.
CarregarPorEmpresa_CodigoContrato(int idEmpresa, int idTipoContrato, int codContrato, int? codContratoMae, out Contrato objContrato)
- Lógica: Carrega um contrato por empresa, tipo, código e código mãe.
- Constrói uma query SQL textual dinamicamente, juntando
TAB_ContratocomTAB_Contrato(para contrato mãe), e aplicando filtros de inatividade, tipo de contrato, empresa, código do contrato e, opcionalmente, código do contrato mãe. - Executa a query usando
DataAccessLayer.ExecuteReader. - Cria uma nova instância de
Contrato. - Chama
SetInstance(dr, objContrato)para preencher a instância. - Se
SetInstanceretornartrue, retornatrue; caso contrário, defineobjContratocomonulle retornafalse.
- Stored Procedures chamadas: Nenhuma diretamente. Utiliza SQL textual construído dinamicamente.
- Parâmetros SQL: Nenhum parâmetro explícito, mas a query é construída com base nos argumentos do método.
- Validações: Nenhuma explícita.
CarregarPorTipoContratoCodigo(int idEmpresa, int idTipoContrato, int codContrato)
- Lógica: Carrega um contrato por empresa, tipo e código.
- Constrói uma query SQL textual dinamicamente, selecionando todos os campos de
TAB_Contrato, e aplicando filtros de tipo de contrato, empresa, código do contrato, contrato mãe nulo e inatividade. - Cria uma nova instância de
Contrato. - Chama
SetInstancepara preencher a instância com os dados doIDataReaderretornado pela execução da query. - Retorna a instância de
Contrato.
- Stored Procedures chamadas: Nenhuma diretamente. Utiliza SQL textual construído dinamicamente.
- Parâmetros SQL: Nenhum parâmetro explícito, mas a query é construída com base nos argumentos do método.
- Validações: Nenhuma explícita.
CarregarPorTipoContratoCodigo(int idTipoContrato, int codContrato)
- Lógica: (Obsoleto) Carrega um contrato por tipo e código (sem considerar a empresa).
- Constrói uma query SQL textual dinamicamente, selecionando todos os campos de
TAB_Contrato, e aplicando filtros de tipo de contrato, código do contrato, contrato mãe nulo e inatividade. - Cria uma nova instância de
Contrato. - Chama
SetInstancepara preencher a instância com os dados doIDataReaderretornado pela execução da query. - Retorna a instância de
Contrato.
- Stored Procedures chamadas: Nenhuma diretamente. Utiliza SQL textual construído dinamicamente.
- Parâmetros SQL: Nenhum parâmetro explícito, mas a query é construída com base nos argumentos do método.
- Validações: Nenhuma explícita.
- Regras de negócio: Este método é obsoleto, sugerindo o uso da versão que inclui
idEmpresa.
CarregarContratosFilho(int pIdContratoMae, Enumeradores.TipoCliente pTipoCliente, string pColunaOrdenacao, string pDirecaoOrdenacao, int pPaginaCorrente, int pTamanhoPagina, out int totalRegistros)
- Lógica: Carrega contratos filho de forma paginada, filtrando por tipo de cliente.
- Inicializa
totalRegistroscomo 0. - Calcula
inicioefimpara a paginação. - Cria uma lista de
SqlParameterpara@Idf_Contratoe preenche com o ID do contrato mãe. - Seleciona a query SQL (
SPSELECTFILHOPORCONTRATOMAEPESSOAFISICAouSPSELECTFILHOPORCONTRATOMAEPESSOAJURIDICA) com base nopTipoCliente. - Constrói
SPSELECTCOUNTeSPSELECTPAGcom base na query selecionada, adicionandoROW_NUMBER()para ordenação e paginação. - Executa
SPSELECTCOUNTpara obtertotalRegistros. - Executa
SPSELECTPAGe retorna oDataTable.
- Stored Procedures chamadas:
SPSELECTFILHOPORCONTRATOMAEPESSOAFISICA(SQL textual: seleciona contratos filho de pessoa física, juntando com cliente e pessoa física, filtrando por contrato mãe).SPSELECTFILHOPORCONTRATOMAEPESSOAJURIDICA(SQL textual: seleciona contratos filho de pessoa jurídica, juntando com cliente e filial, filtrando por contrato mãe).- Parâmetros SQL:
@Idf_Contrato:int, ID do contrato mãe.- Validações: Nenhuma explícita.
CarregarContratosFilho(int idContratoMae)
- Lógica: Carrega todos os contratos filho de um contrato mãe.
- Cria uma lista de
SqlParameterpara@Idf_Contratoe preenche com o ID do contrato mãe. - Executa a query
SPSELECTFILHOPORCONTRATOMAEPESSOAJURIDICA(SQL textual) usandoDataAccessLayer.ExecuteReaderDs.
- Stored Procedures chamadas:
SPSELECTFILHOPORCONTRATOMAEPESSOAJURIDICA(SQL textual). - Parâmetros SQL:
@Idf_Contrato:int, ID do contrato mãe.- Validações: Nenhuma explícita.
CarregarContratosFilho(int idContratoMae, SqlTransaction trans)
- Lógica: Similar ao método anterior, mas utiliza uma transação SQL existente.
- Cria uma lista de
SqlParameterpara@Idf_Contratoe preenche com o ID do contrato mãe. - Executa a query
SPSELECTFILHOPORCONTRATOMAEPESSOAJURIDICA(SQL textual) usandoDataAccessLayer.ExecuteReaderDscom a transação fornecida.
- Stored Procedures chamadas:
SPSELECTFILHOPORCONTRATOMAEPESSOAJURIDICA(SQL textual). - Parâmetros SQL:
@Idf_Contrato:int, ID do contrato mãe.- Validações: Nenhuma explícita.
CarregarContratosFilhoList(int idEmpresa, int idUsuario, int idContratoMae, SqlTransaction trans)
- Lógica: Carrega uma lista de IDs de contratos filho de um contrato mãe, considerando permissões do usuário.
- Cria uma lista de
SqlParameterpara@Idf_Empresa,@Idf_Usuarioe@Idf_Contrato_Mae. - Preenche os parâmetros.
- Cria uma lista vazia de
int. - Executa a query
SELECTFILHOSPORCONTRATOMAEATIVOSPERMITIDOS(SQL textual) usandoDataAccessLayer.ExecuteReadercom a transação fornecida. - Itera sobre o
IDataReadere adiciona os IDs à lista. - Retorna a lista de IDs.
- Stored Procedures chamadas:
SELECTFILHOSPORCONTRATOMAEATIVOSPERMITIDOS(SQL textual: seleciona contratos filho, juntando com contrato mãe, filial e tipo de contrato, filtrando por inatividade, ID de contrato mãe e permissão de usuário (TAB_SF_Usuario_Acesso)). - Parâmetros SQL:
@Idf_Empresa:int, ID da empresa.@Idf_Usuario:int, ID do usuário.@Idf_Contrato_Mae:int, ID do contrato mãe.- Validações: Nenhuma explícita.
CarregarContratosFilhoList(int idContratoMae)
- Lógica: Carrega uma lista de IDs de contratos filho de um contrato mãe.
- Cria uma lista de
SqlParameterpara@Idf_Contratoe preenche com o ID do contrato mãe. - Cria uma lista vazia de
int. - Executa a query
SPSELECTFILHOPORCONTRATOMAEPESSOAJURIDICA(SQL textual) usandoDataAccessLayer.ExecuteReader. - Itera sobre o
IDataReadere adiciona os IDs à lista. - Se a lista tiver elementos, retorna-a; caso contrário, retorna
null.
- Stored Procedures chamadas:
SPSELECTFILHOPORCONTRATOMAEPESSOAJURIDICA(SQL textual). - Parâmetros SQL:
@Idf_Contrato:int, ID do contrato mãe.- Validações: Nenhuma explícita.
CarregarContratosFilhoList(int idContratoMae, SqlTransaction trans)
- Lógica: Similar ao método anterior, mas utiliza uma transação SQL existente.
- Cria uma lista de
SqlParameterpara@Idf_Contratoe preenche com o ID do contrato mãe. - Cria uma lista vazia de
int. - Executa a query
SPSELECTFILHOPORCONTRATOMAEPESSOAJURIDICA(SQL textual) usandoDataAccessLayer.ExecuteReadercom a transação fornecida. - Itera sobre o
IDataReadere adiciona os IDs à lista. - Se a lista tiver elementos, retorna-a; caso contrário, retorna
null.
- Stored Procedures chamadas:
SPSELECTFILHOPORCONTRATOMAEPESSOAJURIDICA(SQL textual). - Parâmetros SQL:
@Idf_Contrato:int, ID do contrato mãe.- Validações: Nenhuma explícita.
CarregarContratosFilho(int idContratoMae, string orderby)
- Lógica: Carrega contratos filho de um contrato mãe com ordenação.
- Cria uma lista de
SqlParameterpara@Idf_Contratoe preenche com o ID do contrato mãe. - Constrói a query
SPSELECTFILHOPORCONTRATOMAEPESSOAJURIDICA(SQL textual) e adiciona a cláusulaORDER BY. - Executa a query usando
DataAccessLayer.ExecuteReaderDs.
- Stored Procedures chamadas:
SPSELECTFILHOPORCONTRATOMAEPESSOAJURIDICA(SQL textual). - Parâmetros SQL:
@Idf_Contrato:int, ID do contrato mãe.- Validações: Nenhuma explícita.
RecuperarIdFilialGestoraPorIdContrato(Int32 IdContrato)
- Lógica: Recupera o ID da filial gestora de um contrato.
- Define uma query SQL textual (
SELECT Idf_Filial_Gestora FROM TAB_Contrato WHERE Idf_Contrato = @Idf_Contrato). - Cria uma lista de
SqlParameterpara@Idf_Contratoe preenche com o ID do contrato. - Executa a query usando
DataAccessLayer.ExecuteReader. - Se houver uma linha e o valor não for
DBNull.Value, retorna o ID da filial gestora. - Caso contrário, retorna
null.
- Stored Procedures chamadas: Nenhuma diretamente. Utiliza SQL textual.
- Parâmetros SQL:
@Idf_Contrato:int, ID do contrato.- Validações: Nenhuma explícita.
CarregarPorFilial(int IdFilial)
- Lógica: Carrega uma lista de IDs de contratos de uma filial.
- Cria uma lista vazia de
int. - Cria uma lista de
SqlParameterpara@Idf_Filiale preenche com o ID da filial. - Executa a query
SplistarCONTRATOPORFILIAL(SQL textual) usandoDataAccessLayer.ExecuteReader. - Itera sobre o
IDataReadere adiciona os IDs à lista. - Retorna a lista de IDs.
- Stored Procedures chamadas:
SplistarCONTRATOPORFILIAL(SQL textual: seleciona contratos, juntando com cliente e filial, filtrando por filial e clientes ativos). - Parâmetros SQL:
@Idf_Filial:int, ID da filial.- Validações: Nenhuma explícita.
CarregarContratosFilhoPorFilial(int IdFilial)
- Lógica: Carrega uma lista de IDs de contratos filho de uma filial.
- Cria uma lista vazia de
int. - Cria uma lista de
SqlParameterpara@Idf_Filiale preenche com o ID da filial. - Executa a query
SplistarCONTRATOSFILHOSPORFILIAL(SQL textual) usandoDataAccessLayer.ExecuteReader. - Itera sobre o
IDataReadere adiciona os IDs à lista. - Retorna a lista de IDs.
- Stored Procedures chamadas:
SplistarCONTRATOSFILHOSPORFILIAL(SQL textual: seleciona contratos, filtrando por filial gestora, inatividade e contrato mãe não nulo). - Parâmetros SQL:
@Idf_Filial:int, ID da filial.- Validações: Nenhuma explícita.
CarregarContratoFilhoPorEmpresa(Empresa objEmpresa, TipoContrato objTipoContrato, out Contrato objContrato, Empresa objEmpresaPrestadora, SqlTransaction trans)
- Lógica: Carrega um contrato filho por empresa, tipo de contrato e empresa prestadora.
- Constrói uma query SQL textual que seleciona contratos, juntando com filial e cliente, filtrando por CNPJ da filial, contrato mãe não nulo, tipo de contrato, empresa prestadora e data de término maior ou igual à data atual.
- Cria uma lista de
SqlParameterpara@NUM_CNPJ,@IDF_TIPO_CONTRATOe@IDF_EMPRESA_PRESTADORA. - Preenche os parâmetros.
- Executa a query usando
DataAccessLayer.ExecuteReadercom a transação fornecida. - Cria uma nova instância de
Contrato. - Chama
SetInstance(dr, objContrato)para preencher a instância. - Se
SetInstanceretornartrue, retornatrue; caso contrário, retornafalse.
- Stored Procedures chamadas: Nenhuma diretamente. Utiliza SQL textual.
- Parâmetros SQL:
@NUM_CNPJ:decimal(14), CNPJ da empresa.@IDF_TIPO_CONTRATO:int, ID do tipo de contrato.@IDF_EMPRESA_PRESTADORA:int, ID da empresa prestadora.- Validações: Nenhuma explícita.
RecuperarContratoPorTextoAutoComplete(string strTxtContrato, out Contrato objContrato)
- Lógica: Recupera um contrato a partir do texto de um autocomplete.
- Divide a string
📌 Status: Concluído 👤 Responsável: Equipe de QA