internal void ObterValores(List <ConfiguracaoVegetalItem> itens) { using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia()) { Comando comando = bancoDeDados.CriarComando(@" select i.id, i.tid, i.texto, i.situacao, s.texto situacao_texto, i.motivo from tab_ingrediente_ativo i, lov_ingrediente_ativo_situacao s where i.situacao = s.id " , EsquemaBanco); comando.DbCommand.CommandText += comando.AdicionarIn("and", "i.id", DbType.Int32, itens.Select(x => x.Id).ToList()); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { ConfiguracaoVegetalItem ingredienteAtivo; while (reader.Read()) { ingredienteAtivo = itens.Single(x => x.Id == reader.GetValue <int>("id")); ingredienteAtivo.Texto = reader.GetValue <string>("texto"); ingredienteAtivo.SituacaoId = reader.GetValue <int>("situacao"); ingredienteAtivo.SituacaoTexto = reader.GetValue <string>("situacao_texto"); ingredienteAtivo.Motivo = reader.GetValue <string>("motivo"); ingredienteAtivo.Tid = reader.GetValue <string>("tid"); } reader.Close(); } } }
internal bool VerificarEncerrar(Atividade atividade, BancoDeDados banco = null) { using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco)) { Comando comando = null; List <int> modelosRequeridos = new List <int>(); if (atividade.Finalidades != null && atividade.Finalidades.Count > 0) { modelosRequeridos.AddRange(atividade.Finalidades.Select(x => x.TituloModelo).ToList()); } else { modelosRequeridos = ObterModelosRequeridos(atividade, banco); } comando = bancoDeDados.CriarComando(@"select count(*) from {0}tab_titulo_atividades ta, {0}tab_titulo tt where ta.protocolo = :protocolo and ta.atividade = :atividade and ta.titulo = tt.id and tt.situacao = 5 and tt.situacao_motivo not in (1,4) " , EsquemaBanco); comando.DbCommand.CommandText += comando.AdicionarIn("and ", "tt.modelo", DbType.Int32, modelosRequeridos); comando.AdicionarParametroEntrada("protocolo", atividade.Protocolo.Id, DbType.Int32); comando.AdicionarParametroEntrada("atividade", atividade.Id, DbType.Int32); return(Convert.ToInt32(bancoDeDados.ExecutarScalar(comando)) == modelosRequeridos.Count); } }
public List <Item> ObterItensProjetoDigital(List <Caracterizacao> caracterizacoes) { List <Item> itens = new List <Item>(); if (caracterizacoes.Count == 0) { return(itens); } using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia()) { #region Itens do roteiro Comando comando = bancoDeDados.CriarComando(@"select r.id, r.nome, r.condicionante, r.procedimento, r.tipo, l.texto tipo_texto, r.caracterizacao_tipo, lc.texto caracterizacao_tipo_texto, li.id situacao_id, li.texto situacao_texto, r.tid from tab_roteiro_item r, lov_roteiro_item_tipo l, lov_caracterizacao_tipo lc, lov_analise_item_situacao li where r.tipo = l.id and lc.id = r.caracterizacao_tipo and li.id = 1/*Recebido*/ and r.tipo = 3 /*Projeto Digital*/" , EsquemaBanco); comando.DbCommand.CommandText += comando.AdicionarIn("and", "r.caracterizacao_tipo", DbType.Int32, caracterizacoes.Select(x => (int)x.Tipo).ToList()); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { Item item = new Item(); while (reader.Read()) { item = new Item(); item.Id = Convert.ToInt32(reader["id"]); item.Nome = reader["nome"].ToString(); item.DataAnalise = DateTime.Today.ToString(); item.Recebido = true; item.Situacao = reader.GetValue <Int32>("situacao_id"); item.SituacaoTexto = reader.GetValue <String>("situacao_texto"); item.Condicionante = reader["condicionante"].ToString(); item.ProcedimentoAnalise = reader["procedimento"].ToString(); item.Tipo = reader.GetValue <int>("tipo"); item.TipoTexto = reader["tipo_texto"].ToString(); item.CaracterizacaoTipoId = reader.GetValue <int>("caracterizacao_tipo"); item.CaracterizacaoTipoTexto = reader.GetValue <string>("caracterizacao_tipo_texto"); item.Tid = reader["tid"].ToString(); item.TemProjetoGeografico = caracterizacoes.Any(x => (int)x.Tipo == item.CaracterizacaoTipoId && x.ProjetoId > 0); itens.Add(item); } reader.Close(); } #endregion } return(itens); }
internal List <string> ObterNomeModeloTitulo(List <int> codigoModeloConfigurado, BancoDeDados banco = null) { using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco)) { Comando comando = bancoDeDados.CriarComando(@"select nome from {0}tab_titulo_modelo m where ", EsquemaBanco); //comando.AdicionarParametroEntrada("codigoModelo", codigoModeloConfigurado, DbType.Int32); comando.DbCommand.CommandText += comando.AdicionarIn("", "m.codigo", DbType.Int32, codigoModeloConfigurado); List <string> lstModelos = bancoDeDados.ExecutarList <string>(comando); return(lstModelos); } }
internal bool ResponsavelTecnicoHabilitadoParaCultivar(int credenciadoId, List <int> cultivarIds, BancoDeDados banco = null) { using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco)) { Comando comando = bancoDeDados.CriarComandoPlSql(@"select count(*) from tab_hab_emi_cfo_cfoc th, tab_hab_emi_cfo_cfoc_praga p, tab_praga_cultura tpc, tab_cultura_cultivar tcc " , EsquemaBanco); comando.DbCommand.CommandText += String.Format(@" where th.id = p.habilitar_emi_id and p.praga = tpc.praga and tpc.cultura = tcc.cultura and th.responsavel = :credenciado_id {0}" , comando.AdicionarIn("and", "tcc.id", DbType.Int32, cultivarIds)); comando.AdicionarParametroEntrada("credenciado_id", credenciadoId, DbType.Int32); return(Convert.ToInt32(bancoDeDados.ExecutarScalar(comando)) > 0); } }
public List <string> ObterGrupoNome(List <ePermissao> permissoes) { using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia()) { Comando comando = bancoDeDados.CriarComando(@"select t.grupo||' - '||t.nome nome from lov_autenticacao_permissao t where "); comando.DbCommand.CommandText += comando.AdicionarIn("", "t.codigo", DbType.String, permissoes); IEnumerable <IDataReader> daReader = DaHelper.ObterLista(comando, bancoDeDados); List <string> lstPermissoes = new List <string>(); foreach (var item in daReader) { lstPermissoes.Add(item["nome"].ToString()); } return(lstPermissoes); } }
internal void ExcluirTodosNaoAssociadosBloqueio(LocalVistoria local, BancoDeDados banco) { using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco)) { List <int> listaIdExcluir = new List <int>(); Comando cmdConsulta = bancoDeDados.CriarComando(@"select lv.id from {0}CNF_LOCAL_VISTORIA_BLOQUEIO lv where lv.setor = :setorId", EsquemaBanco); cmdConsulta.DbCommand.CommandText += cmdConsulta.AdicionarNotIn("and", "lv.id", DbType.Int32, local.Bloqueios.Select(x => x.Id).ToList()); cmdConsulta.AdicionarParametroEntrada("setorId", local.SetorID, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(cmdConsulta)) { while (reader.Read()) { listaIdExcluir.Add(reader.GetValue <int>("id")); } reader.Close(); } if (listaIdExcluir.Count > 0) { Comando cmdUpdate = bancoDeDados.CriarComando(@"update {0}CNF_LOCAL_VISTORIA_BLOQUEIO set tid = :tid where ", EsquemaBanco); cmdUpdate.DbCommand.CommandText += cmdUpdate.AdicionarIn("", "id", DbType.Int32, listaIdExcluir); cmdUpdate.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual()); bancoDeDados.ExecutarNonQuery(cmdUpdate); //foreach (int idExcluido in listaIdExcluir) //{ // // Gerando historico para todos os itens excluidos // Historico.Gerar(idExcluido, eHistoricoArtefato.localvistoria, eHistoricoAcao.excluir, bancoDeDados); //} Comando comando = bancoDeDados.CriarComando("delete from {0}CNF_LOCAL_VISTORIA_BLOQUEIO lv where lv.setor = :setorId ", EsquemaBanco); comando.DbCommand.CommandText += comando.AdicionarNotIn("and", "lv.id", DbType.Int32, local.Bloqueios.Select(x => x.Id).ToList()); comando.AdicionarParametroEntrada("setorId", local.SetorID, DbType.Int32); bancoDeDados.ExecutarNonQuery(comando); } bancoDeDados.Commit(); } }
internal List <TituloModeloLst> ObterModelosAtividades(List <AtividadeSolicitada> atividades, bool renovacao = false, BancoDeDados banco = null) { List <TituloModeloLst> modelos = new List <TituloModeloLst>(); using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco)) { #region Roteiros Comando comando = bancoDeDados.CriarComando(@"select tm.id, tm.nome from cnf_atividade_atividades a, cnf_atividade_modelos m, tab_titulo_modelo tm where a.configuracao = m.configuracao and tm.id = m.modelo " ); comando.DbCommand.CommandText += comando.AdicionarIn("and", "a.atividade", DbType.Int32, atividades.Select(x => x.Id).ToList()); if (renovacao) { comando.DbCommand.CommandText += String.Format("and tm.id in (select r.modelo from {0}tab_titulo_modelo_regras r where r.regra = 6)", EsquemaBanco); } comando.DbCommand.CommandText += " group by tm.id, tm.nome"; bancoDeDados.ExecutarNonQuery(comando); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { TituloModeloLst modelo; while (reader.Read()) { modelo = new TituloModeloLst(); modelo.Id = Convert.ToInt32(reader["id"]); modelo.Texto = reader["nome"].ToString(); modelos.Add(modelo); } reader.Close(); } #endregion } return(modelos); }
public Resultados <Titulo> Filtrar(Filtro <TituloFiltro> filtros, BancoDeDados banco = null) { Resultados <Titulo> retorno = new Resultados <Titulo>(); using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco)) { string comandtxt = string.Empty; Comando comando = bancoDeDados.CriarComando(""); #region Adicionando Filtros comandtxt += comando.AdicionarIn("and", "t.situacao_id", DbType.Int32, new List <int>() { 3, 5, 6 }); comandtxt += comando.FiltroIn("t.modelo_id", "select re.modelo from tab_titulo_modelo_regras re where re.regra = :regra", "regra", 8); comandtxt += comando.FiltroAnd("t.modelo_id", "modelo", filtros.Dados.Modelo); comandtxt += comando.FiltroAnd("t.setor_id", "setor", filtros.Dados.Setor); comandtxt += comando.FiltroAndLike("t.numero || '/' || t.ano", "numero", filtros.Dados.Numero, true); comandtxt += comando.FiltroAndLike("t.protocolo_numero", "protocolo_numero", filtros.Dados.Protocolo.NumeroTexto, true); comandtxt += comando.FiltroAndLike("t.empreendimento_denominador", "empreendimento", filtros.Dados.Empreendimento, true); if (filtros.Dados.Modelo <= 0 && filtros.Dados.ModeloFiltrar != null && filtros.Dados.ModeloFiltrar.Count > 0) { comandtxt += comando.AdicionarIn("and", "t.modelo_id", DbType.Int32, filtros.Dados.ModeloFiltrar.Select(x => x).ToList()); } if (filtros.Dados.SituacoesFiltrar != null && filtros.Dados.SituacoesFiltrar.Count > 0) { comandtxt += comando.AdicionarIn("and", "t.situacao_id", DbType.Int32, filtros.Dados.SituacoesFiltrar.Select(x => x).ToList()); } List <String> ordenar = new List <String>(); List <String> colunas = new List <String>() { "numero", "modelo_sigla", "protocolo_numero", "empreendimento", "situacao_texto", "data_vencimento" }; if (filtros.OdenarPor > 0) { ordenar.Add(colunas.ElementAtOrDefault(filtros.OdenarPor - 1)); } else { ordenar.Add("numero"); } #endregion #region Quantidade de registro do resultado comando.DbCommand.CommandText = String.Format(@"select count(*) from {0}lst_titulo t where t.id > 0 " + comandtxt, (string.IsNullOrEmpty(EsquemaBanco) ? "" : ".")); retorno.Quantidade = Convert.ToInt32(bancoDeDados.ExecutarScalar(comando)); comando.AdicionarParametroEntrada("menor", filtros.Menor); comando.AdicionarParametroEntrada("maior", filtros.Maior); comandtxt = String.Format(@"select t.titulo_id id, t.titulo_tid, t.numero_completo, t.data_vencimento, t.autor_id, t.autor_nome, t.modelo_sigla, t.situacao_texto, t.modelo_id, t.modelo_nome, t.protocolo_id, t.protocolo protocolo_tipo, t.protocolo_numero, t.empreendimento_denominador empreendimento from {0}lst_titulo t where 1 = 1 " + comandtxt + DaHelper.Ordenar(colunas, ordenar), (string.IsNullOrEmpty(EsquemaBanco) ? "" : ".")); comando.DbCommand.CommandText = @"select * from (select a.*, rownum rnum from ( " + comandtxt + @") a) where rnum <= :maior and rnum >= :menor"; #endregion using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { #region Adicionando os dados na classe de retorno Titulo titulo; while (reader.Read()) { titulo = new Titulo(); titulo.Id = Convert.ToInt32(reader["id"]); titulo.Autor.Id = Convert.ToInt32(reader["autor_id"]); titulo.Autor.Nome = reader["autor_nome"].ToString(); titulo.Tid = reader["titulo_tid"].ToString(); if (reader["numero_completo"] != null && !Convert.IsDBNull(reader["numero_completo"])) { titulo.Numero.Texto = reader["numero_completo"].ToString(); } if (reader["modelo_id"] != null && !Convert.IsDBNull(reader["modelo_id"])) { titulo.Modelo.Id = Convert.ToInt32(reader["modelo_id"]); } if (reader["modelo_sigla"] != null && !Convert.IsDBNull(reader["modelo_sigla"])) { titulo.Modelo.Sigla = reader["modelo_sigla"].ToString(); } if (reader["modelo_nome"] != null && !Convert.IsDBNull(reader["modelo_nome"])) { titulo.Modelo.Nome = reader["modelo_nome"].ToString(); } if (reader["situacao_texto"] != null && !Convert.IsDBNull(reader["situacao_texto"])) { titulo.Situacao.Nome = reader["situacao_texto"].ToString(); } titulo.Protocolo.IsProcesso = (reader["protocolo_tipo"] != null && Convert.ToInt32(reader["protocolo_tipo"]) == 1); if (reader["protocolo_id"] != null && !Convert.IsDBNull(reader["protocolo_id"])) { ProtocoloNumero prot = new ProtocoloNumero(reader["protocolo_numero"].ToString()); titulo.Protocolo.Id = Convert.ToInt32(reader["protocolo_id"]); titulo.Protocolo.NumeroProtocolo = prot.Numero; titulo.Protocolo.Ano = prot.Ano; } if (reader["empreendimento"] != null && !Convert.IsDBNull(reader["empreendimento"])) { titulo.EmpreendimentoTexto = reader["empreendimento"].ToString(); } if (reader["data_vencimento"] != null && !Convert.IsDBNull(reader["data_vencimento"])) { titulo.DataVencimento.Data = Convert.ToDateTime(reader["data_vencimento"]); } retorno.Itens.Add(titulo); } reader.Close(); #endregion } } return(retorno); }
public List <Pessoa> ObterResponsaveis(int empreendimento, BancoDeDados bancoCredenciado) { var retorno = new List <Pessoa>(); var conj = new List <string>(); using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(bancoCredenciado, UsuarioCredenciado)) { bancoDeDados.IniciarTransacao(); #region Responsáveis do empreendimento Comando comando = bancoDeDados.CriarComando(@"select p.tipo Tipo, p.id Id, p.interno InternoId, nvl(p.nome, p.razao_social) NomeRazaoSocial, nvl(p.cpf, p.cnpj) CPFCNPJ, (select c.conjuge||'@'||c.pessoa from {0}tab_pessoa_conjuge c where c.pessoa = p.id or c.conjuge = p.id) conjuge from {0}tab_pessoa p, {0}tab_empreendimento_responsavel pc where p.id = pc.responsavel and pc.empreendimento = :empreendimento" , UsuarioCredenciado); comando.AdicionarParametroEntrada("empreendimento", empreendimento, DbType.Int32); Pessoa pessoa; using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { while (reader.Read()) { pessoa = new Pessoa(); pessoa.Id = reader.GetValue <int>("Id"); pessoa.Tipo = reader.GetValue <int>("Tipo"); pessoa.InternoId = reader.GetValue <int>("InternoId"); pessoa.NomeFantasia = reader.GetValue <string>("NomeRazaoSocial"); pessoa.CPFCNPJ = reader.GetValue <string>("CPFCNPJ"); if (!string.IsNullOrEmpty(reader.GetValue <string>("conjuge"))) { conj = reader.GetValue <string>("conjuge").Split('@').ToList(); pessoa.Fisica.ConjugeId = (Convert.ToInt32(conj[0]) == pessoa.Id) ? Convert.ToInt32(conj[1]) : Convert.ToInt32(conj[0]); } retorno.Add(pessoa); } reader.Close(); } #endregion //Obter CPF Conjuges comando = bancoDeDados.CriarComando(@"select p.id, p.cpf from {0}tab_pessoa p ", UsuarioCredenciado); comando.DbCommand.CommandText += comando.AdicionarIn("where", "p.id", DbType.Int32, retorno.Where(x => x.Fisica.ConjugeId > 0).Select(x => x.Fisica.ConjugeId).ToList()); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { while (reader.Read()) { pessoa = retorno.FirstOrDefault(x => x.Fisica.ConjugeId == reader.GetValue <int>("id")); if (pessoa != null) { pessoa.Fisica.ConjugeCPF = reader.GetValue <string>("cpf"); } } reader.Close(); } } return(retorno); }
internal List <Cultivar> ObterCultivares(List <int> culturas, BancoDeDados banco = null) { List <Cultivar> lstCultivar = new List <Cultivar>(); using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco)) { #region Cultivar Comando comando = bancoDeDados.CriarComando(@"select cc.id, cc.cultivar, cc.cultura from tab_cultura_cultivar cc ", EsquemaBanco); comando.DbCommand.CommandText += comando.AdicionarIn("where", "cultura", DbType.Int32, culturas); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { Cultivar lista = null; while (reader.Read()) { lista = new Cultivar(); lista.Id = reader.GetValue <int>("id"); lista.Nome = reader.GetValue <string>("cultivar"); lista.CulturaId = reader.GetValue <int>("cultura"); lstCultivar.Add(lista); } reader.Close(); } #endregion #region Cultivar_Configurações comando = bancoDeDados.CriarComando(@" select t.id, t.tid, t.cultivar, t.praga PragaId, p.nome_cientifico || nvl2(p.nome_comum,' - '||p.nome_comum,'') as PragaTexto, t.tipo_producao TipoProducaoId, lt.texto as TipoProducaoTexto, t.declaracao_adicional DeclaracaoAdicionalId, ld.texto as DeclaracaoAdicionalTexto, ld.texto_formatado as DeclaracaoAdicionalTextoHtml from {0}tab_cultivar_configuracao t, {0}tab_praga p, lov_cultivar_tipo_producao lt, lov_cultivar_declara_adicional ld where p.id = t.praga and lt.id = t.tipo_producao and ld.id = t.declaracao_adicional and t.cultivar = :id" , EsquemaBanco); lstCultivar.ForEach(x => { comando.AdicionarParametroEntrada("id", x.Id, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { while (reader.Read()) { x.LsCultivarConfiguracao.Add(new CultivarConfiguracao() { Id = reader.GetValue <int>("id"), Tid = reader.GetValue <string>("tid"), Cultivar = reader.GetValue <int>("cultivar"), PragaId = reader.GetValue <int>("PragaId"), PragaTexto = reader.GetValue <string>("PragaTexto"), TipoProducaoId = reader.GetValue <int>("TipoProducaoId"), TipoProducaoTexto = reader.GetValue <string>("TipoProducaoTexto"), DeclaracaoAdicionalId = reader.GetValue <int>("DeclaracaoAdicionalId"), DeclaracaoAdicionalTexto = reader.GetValue <string>("DeclaracaoAdicionalTexto"), DeclaracaoAdicionalTextoHtml = reader.GetValue <string>("DeclaracaoAdicionalTextoHtml"), }); } reader.Close(); } }); #endregion } return(lstCultivar); }
internal Agrotoxico ObterAgrotoxico(int id, bool simplificado = false, BancoDeDados banco = null) { Agrotoxico agrotoxico = new Agrotoxico(); using (BancoDeDados bancoDedados = BancoDeDados.ObterInstancia(banco)) { Comando comando = bancoDedados.CriarComando(@"select t.id, t.possui_cadastro, t.numero_cadastro, t.cadastro_ativo, t.motivo, t.nome_comercial, t.numero_registro_ministerio, t.numero_processo_sep, t.titular_registro, nvl(p.nome, p.razao_social) titular_registro_nome_razao, nvl(p.cpf, p.cnpj) titular_registro_cpf_cnpj, t.classificacao_toxicologica, c.texto class_toxicologica_texto, t.periculosidade_ambiental, pa.texto periculosidade_ambiental_texto, t.forma_apresentacao, t.observacao_interna, t.observacao_geral, t.arquivo, t.tid from tab_agrotoxico t, tab_pessoa p, tab_class_toxicologica c, tab_peric_ambiental pa where c.id = classificacao_toxicologica and p.id = t.titular_registro and pa.id = t.periculosidade_ambiental and t.id = :id" , EsquemaBanco); comando.AdicionarParametroEntrada("id", id, DbType.Int32); using (IDataReader reader = bancoDedados.ExecutarReader(comando)) { while (reader.Read()) { agrotoxico.Id = id; agrotoxico.Bula.Id = reader.GetValue <int>("arquivo"); agrotoxico.CadastroAtivo = reader.GetValue <bool>("cadastro_ativo"); agrotoxico.ClassificacaoToxicologica.Id = reader.GetValue <int>("classificacao_toxicologica"); agrotoxico.ClassificacaoToxicologica.Texto = reader.GetValue <string>("class_toxicologica_texto"); agrotoxico.FormaApresentacao.Id = reader.GetValue <int>("forma_apresentacao"); agrotoxico.MotivoId = reader.GetValue <int?>("motivo"); agrotoxico.NomeComercial = reader.GetValue <string>("nome_comercial"); agrotoxico.NumeroCadastro = reader.GetValue <int>("numero_cadastro"); agrotoxico.NumeroRegistroMinisterio = reader.GetValue <long>("numero_registro_ministerio"); agrotoxico.NumeroProcessoSep = reader.GetValue <long>("numero_processo_sep"); agrotoxico.ObservacaoGeral = reader.GetValue <string>("observacao_geral"); agrotoxico.ObservacaoInterna = reader.GetValue <string>("observacao_interna"); agrotoxico.PericulosidadeAmbiental.Id = reader.GetValue <int>("periculosidade_ambiental"); agrotoxico.PericulosidadeAmbiental.Texto = reader.GetValue <string>("periculosidade_ambiental_texto"); agrotoxico.PossuiCadastro = reader.GetValue <bool>("possui_cadastro"); agrotoxico.Tid = reader.GetValue <string>("tid"); agrotoxico.TitularRegistro.Id = reader.GetValue <int>("titular_registro"); agrotoxico.TitularRegistro.NomeRazaoSocial = reader.GetValue <string>("titular_registro_nome_razao"); agrotoxico.TitularRegistro.CPFCNPJ = reader.GetValue <string>("titular_registro_cpf_cnpj"); } reader.Close(); } if (simplificado) { return(agrotoxico); } #region Classes de Uso comando = bancoDedados.CriarComando(@"select t.id, t.agrotoxico, t.classe_uso, c.texto classe_uso_texto, t.tid from tab_agrotoxico_classe_uso t, tab_classe_uso c where t.classe_uso = c.id and t.agrotoxico =:agrotoxico", EsquemaBanco); comando.AdicionarParametroEntrada("agrotoxico", id, DbType.Int32); using (IDataReader reader = bancoDedados.ExecutarReader(comando)) { ConfiguracaoVegetalItem classeUso = null; while (reader.Read()) { classeUso = new ConfiguracaoVegetalItem(); classeUso.IdRelacionamento = reader.GetValue <int>("id"); classeUso.Id = reader.GetValue <int>("classe_uso"); classeUso.Texto = reader.GetValue <string>("classe_uso_texto"); classeUso.Tid = reader.GetValue <string>("tid"); agrotoxico.ClassesUso.Add(classeUso); } reader.Close(); } #endregion #region Ingredientes Ativos comando = bancoDedados.CriarComando(@"select t.id, t.agrotoxico, t.ingrediente_ativo, i.texto ingrediente_ativo_texto, i.situacao, t.concentracao, t.tid from tab_agrotoxico_ing_ativo t, tab_ingrediente_ativo i where t.ingrediente_ativo = i.id and t.agrotoxico = :agrotoxico", EsquemaBanco); comando.AdicionarParametroEntrada("agrotoxico", id, DbType.Int32); using (IDataReader reader = bancoDedados.ExecutarReader(comando)) { ConfiguracaoVegetalItem ingrediente = null; while (reader.Read()) { ingrediente = new ConfiguracaoVegetalItem(); ingrediente.IdRelacionamento = reader.GetValue <int>("id"); ingrediente.Id = reader.GetValue <int>("ingrediente_ativo"); ingrediente.Texto = reader.GetValue <string>("ingrediente_ativo_texto"); ingrediente.SituacaoId = reader.GetValue <int>("situacao"); ingrediente.Tid = reader.GetValue <string>("tid"); ingrediente.Concentracao = reader.GetValue <decimal>("concentracao"); agrotoxico.IngredientesAtivos.Add(ingrediente); } reader.Close(); } #endregion #region Grupos químicos comando = bancoDedados.CriarComando(@"select t.id, t.agrotoxico, t.grupo_quimico, g.texto grupo_quimico_texto, t.tid from tab_agrotoxico_grupo_quimico t, tab_grupo_quimico g where t.grupo_quimico = g.id and t.agrotoxico = :agrotoxico", EsquemaBanco); comando.AdicionarParametroEntrada("agrotoxico", id, DbType.Int32); using (IDataReader reader = bancoDedados.ExecutarReader(comando)) { ConfiguracaoVegetalItem grupo = null; while (reader.Read()) { grupo = new ConfiguracaoVegetalItem(); grupo.IdRelacionamento = reader.GetValue <int>("id"); grupo.Id = reader.GetValue <int>("grupo_quimico"); grupo.Texto = reader.GetValue <string>("grupo_quimico_texto"); grupo.Tid = reader.GetValue <string>("tid"); agrotoxico.GruposQuimicos.Add(grupo); } reader.Close(); } #endregion #region Culturas comando = bancoDedados.CriarComando(@"select t.id, t.agrotoxico, t.cultura, c.texto cultura_texto, t.intervalo_seguranca, t.tid from tab_agrotoxico_cultura t, tab_cultura c where t.cultura = c.id and t.agrotoxico = :agrotoxico" , EsquemaBanco); comando.AdicionarParametroEntrada("agrotoxico", id, DbType.Int32); using (IDataReader reader = bancoDedados.ExecutarReader(comando)) { AgrotoxicoCultura cultura = null; while (reader.Read()) { cultura = new AgrotoxicoCultura(); cultura.IdRelacionamento = reader.GetValue <int>("id"); cultura.Cultura.Id = reader.GetValue <int>("cultura"); cultura.Cultura.Nome = reader.GetValue <string>("cultura_texto"); cultura.IntervaloSeguranca = reader.GetValue <string>("intervalo_seguranca"); cultura.Tid = reader.GetValue <string>("tid"); agrotoxico.Culturas.Add(cultura); } reader.Close(); } #endregion #region Pragas das culturas comando = bancoDedados.CriarComando(@"select t.id, t.agrotoxico_cultura, t.praga, p.nome_cientifico, p.nome_comum, t.tid from tab_agrotoxico_cultura_praga t, tab_praga p ", EsquemaBanco); comando.DbCommand.CommandText += String.Format(" where t.praga = p.id {0}", comando.AdicionarIn("and", "t.agrotoxico_cultura", DbType.Int32, agrotoxico.Culturas.Select(x => x.IdRelacionamento).ToList())); using (IDataReader reader = bancoDedados.ExecutarReader(comando)) { Praga praga = null; while (reader.Read()) { praga = new Praga(); praga.IdRelacionamento = reader.GetValue <int>("id"); praga.Id = reader.GetValue <int>("praga"); praga.NomeCientifico = reader.GetValue <string>("nome_cientifico"); praga.NomeComum = reader.GetValue <string>("nome_comum"); praga.Tid = reader.GetValue <string>("tid"); if (agrotoxico.Culturas != null && agrotoxico.Culturas.Count > 0) { agrotoxico.Culturas.Single(x => x.IdRelacionamento == reader.GetValue <int>("agrotoxico_cultura")).Pragas.Add(praga); } } reader.Close(); } #endregion #region Modalidades de aplicacao das culturas comando = bancoDedados.CriarComando(@"select t.id, t.agrotoxico_cultura, t.modalidade_aplicacao, m.texto modalidade_texto, t.tid from tab_agro_cult_moda_aplicacao t, tab_modalidade_aplicacao m ", EsquemaBanco); comando.DbCommand.CommandText += String.Format(" where t.modalidade_aplicacao = m.id {0}", comando.AdicionarIn("and", "t.agrotoxico_cultura", DbType.Int32, agrotoxico.Culturas.Select(x => x.IdRelacionamento).ToList())); using (IDataReader reader = bancoDedados.ExecutarReader(comando)) { ConfiguracaoVegetalItem modalidade = null; while (reader.Read()) { modalidade = new ConfiguracaoVegetalItem(); modalidade.Id = reader.GetValue <int>("modalidade_aplicacao"); modalidade.IdRelacionamento = reader.GetValue <int>("id"); modalidade.Texto = reader.GetValue <string>("modalidade_texto"); if (agrotoxico.Culturas != null && agrotoxico.Culturas.Count > 0) { agrotoxico.Culturas.Single(x => x.IdRelacionamento == reader.GetValue <int>("agrotoxico_cultura")).ModalidadesAplicacao.Add(modalidade); } } reader.Close(); } #endregion } return(agrotoxico); }
public List <Caracterizacao> ObterCaracterizacoesAtuais(int empreendimento, List <CaracterizacaoLst> caracterizacoes, BancoDeDados banco = null) { List <Caracterizacao> lista = new List <Caracterizacao>(); String select = String.Empty; using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco)) { #region Lista das caracterizações Comando comando = bancoDeDados.CriarComando(@"select 'select ' || t.id || ' tipo, c.id caracterizacao_id, c.tid caracterizacao_tid from {0}' || t.tabela || ' c where c.empreendimento = :empreendimento union all ' resultado from {0}lov_caracterizacao_tipo t " , EsquemaBanco); comando.DbCommand.CommandText += comando.AdicionarIn("where", "t.id", DbType.Int32, caracterizacoes.Select(x => (int)x.Id).ToList()); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { while (reader.Read()) { select += reader.GetValue <string>("resultado"); } reader.Close(); } if (!string.IsNullOrEmpty(select)) { comando = bancoDeDados.CriarComando(@" select lc.id tipo, lc.texto tipo_texto, c.caracterizacao_id, c.caracterizacao_tid, pg.id projeto_id, pg.tid projeto_tid from {0}lov_caracterizacao_tipo lc, (" + select.Substring(0, select.Length - 10) + @") c, (select p.id, p.tid, p.empreendimento, p.caracterizacao from {0}crt_projeto_geo p where p.empreendimento = :empreendimento) pg where lc.id = pg.caracterizacao(+) and lc.id = c.tipo order by lc.id" , EsquemaBanco); comando.AdicionarParametroEntrada("empreendimento", empreendimento, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { Caracterizacao caracterizacao = null; while (reader.Read()) { caracterizacao = new Caracterizacao(); caracterizacao.Tipo = (eCaracterizacao)reader.GetValue <int>("tipo"); caracterizacao.Nome = reader.GetValue <string>("tipo_texto"); caracterizacao.Id = reader.GetValue <int>("caracterizacao_id"); caracterizacao.Tid = reader.GetValue <string>("caracterizacao_tid"); caracterizacao.ProjetoId = reader.GetValue <int>("projeto_id"); caracterizacao.ProjetoTid = reader.GetValue <string>("projeto_tid"); lista.Add(caracterizacao); } reader.Close(); } } #endregion } return(lista); }
internal List <Cultivar> ObterCultivares(List <int> culturas, int protocoloId, BancoDeDados banco = null) { List <Cultivar> cultivares = new List <Cultivar>(); using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco)) { Comando comando = bancoDeDados.CriarComando(@" select c.texto cultura, cc.cultivar, crt_c.capacidade_mes, lu.texto unidade_medida_texto from {0}crt_unidade_cons_cultivar crt_c, {0}tab_cultura c, {0}tab_cultura_cultivar cc, {0}lov_crt_un_conso_un_medida lu where crt_c.id in (select id from {0}crt_unidade_cons_cultivar @) and unidade_consolidacao in (select unidade_consolidacao from {0}crt_unidade_cons_cultivar where unidade_consolidacao = (select id from {0}crt_unidade_consolidacao where empreendimento = (select empreendimento from {0}tab_protocolo where id = :protocolo))) and crt_c.cultura = c.id and crt_c.cultivar = cc.id(+) and lu.id = crt_c.unidade_medida" , EsquemaBanco); comando.DbCommand.CommandText = comando.DbCommand.CommandText.Replace("@", "{0}"); comando.DbCommand.CommandText = string.Format(comando.DbCommand.CommandText, comando.AdicionarIn("where", "cultura", DbType.Int32, culturas)); comando.AdicionarParametroEntrada("protocolo", protocoloId, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { Cultivar cultivar; while (reader.Read()) { cultivar = new Cultivar(); cultivar.Nome = reader.GetValue <String>("cultivar"); cultivar.CulturaTexto = reader.GetValue <String>("cultura"); cultivar.CapacidadeMes = reader.GetValue <Decimal>("capacidade_mes"); cultivar.UnidadeMedidaTexto = reader.GetValue <String>("unidade_medida_texto"); cultivares.Add(cultivar); } reader.Close(); } } return(cultivares); }
internal Resultados <CulturaListarResultado> Filtrar(Filtro <CulturaListarFiltro> filtro) { Resultados <CulturaListarResultado> retorno = new Resultados <CulturaListarResultado>(); using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia()) { string comandtxt = string.Empty; string esquemaBanco = (string.IsNullOrEmpty(EsquemaBanco) ? "" : EsquemaBanco + "."); Comando comando = bancoDeDados.CriarComando(""); List <int> culturas = new List <int>(); #region Adicionando Filtros if (!string.IsNullOrEmpty(filtro.Dados.Cultivar)) { if (filtro.Dados.StraggCultivar) { comandtxt = comando.FiltroAndLike("cc.cultivar", "cultivar", filtro.Dados.Cultivar, true, true); comando.DbCommand.CommandText = String.Format(@"select distinct cc.cultura from tab_cultura_cultivar cc where cc.id > 0" + comandtxt, esquemaBanco); culturas = bancoDeDados.ExecutarList <int>(comando); comando = bancoDeDados.CriarComando(""); comandtxt = string.Empty; } else { comandtxt = comando.FiltroAndLike("cc.cultivar", "cultivar", filtro.Dados.Cultivar, true, true); } } comandtxt += comando.FiltroAndLike("c.texto", "cultura", filtro.Dados.Cultura, true, true); comandtxt += comando.AdicionarIn("and", "c.id", DbType.Int32, culturas); List <String> ordenar = new List <String>(); List <String> colunas = new List <String>() { "cultura", "cultivar" }; if (filtro.OdenarPor > 0) { ordenar.Add(colunas.ElementAtOrDefault(filtro.OdenarPor - 1)); } else { ordenar.Add("cultura"); } #endregion #region Quantidade de registro do resultado if (filtro.Dados.StraggCultivar) { comando.DbCommand.CommandText = String.Format(@"select count(*) from tab_cultura c where c.id > 0" + comandtxt, esquemaBanco); } else { comando.DbCommand.CommandText = String.Format(@"select count(*) from(select c.id, c.texto cultura, cc.cultivar from {0}tab_cultura c, {0}tab_cultura_cultivar cc where cc.cultura = c.id " + comandtxt + ")", esquemaBanco); } retorno.Quantidade = Convert.ToInt32(bancoDeDados.ExecutarScalar(comando)); comando.AdicionarParametroEntrada("menor", filtro.Menor); comando.AdicionarParametroEntrada("maior", filtro.Maior); if (filtro.Dados.StraggCultivar) { comandtxt = String.Format(@"select c.id, c.texto cultura, stragg(cc.cultivar) cultivar from {0}tab_cultura c, {0}tab_cultura_cultivar cc where cc.cultura(+) = c.id " + comandtxt + " group by c.id, c.texto " + DaHelper.Ordenar(colunas, ordenar), esquemaBanco); } else { comandtxt = String.Format(@"select c.id, c.texto cultura, cc.cultivar, cc.id cultivar_id from {0}tab_cultura c, {0}tab_cultura_cultivar cc where cc.cultura = c.id " + comandtxt + " group by c.id, c.texto, cc.cultivar, cc.id" + DaHelper.Ordenar(colunas, ordenar), esquemaBanco); } comando.DbCommand.CommandText = @"select * from (select a.*, rownum rnum from ( " + comandtxt + @") a) where rnum <= :maior and rnum >= :menor"; #endregion using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { CulturaListarResultado item; while (reader.Read()) { item = new CulturaListarResultado(); item.Id = reader.GetValue <int>("id"); item.Cultura = reader.GetValue <string>("cultura"); item.Cultivar = reader.GetValue <string>("cultivar"); if (!filtro.Dados.StraggCultivar) { item.CultivarId = reader.GetValue <string>("cultivar_id"); } retorno.Itens.Add(item); } reader.Close(); } } return(retorno); }
internal List <LaudoLaboratorial> ObterLaudoLaboratorial(List <PTVProdutoRelatorio> origens) { using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(UsuarioCredenciado)) { List <PTVProdutoRelatorio> listaOrigem = ObterOrigens(origens); List <LaudoLaboratorial> retorno = new List <LaudoLaboratorial>(); Comando comando = null; if (listaOrigem.Exists(x => x.OrigemTipo == (int)eDocumentoFitossanitarioTipo.CFO)) { comando = bancoDeDados.CriarComando(@"select t.id, t.nome_laboratorio, t.numero_laudo_resultado_analise, t.estado, e.sigla estado_texto, t.municipio, m.texto municipio_texto from tab_cfo t, lov_estado e, lov_municipio m where e.id = t.estado and m.id = t.municipio and t.possui_laudo_laboratorial > 0 " , UsuarioCredenciado); comando.DbCommand.CommandText += comando.AdicionarIn("and", "t.id", DbType.Int32, listaOrigem.Where(x => x.OrigemTipo == (int)eDocumentoFitossanitarioTipo.CFO).Select(x => x.Origem).ToList()); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { while (reader.Read()) { retorno.Add(new LaudoLaboratorial() { Id = reader.GetValue <int>("id"), Nome = reader.GetValue <string>("nome_laboratorio"), LaudoResultadoAnalise = reader.GetValue <string>("numero_laudo_resultado_analise"), Estado = reader.GetValue <int>("estado"), EstadoTexto = reader.GetValue <string>("estado_texto"), Municipio = reader.GetValue <int>("municipio"), MunicipioTexto = reader.GetValue <string>("municipio_texto") }); } reader.Close(); } } if (listaOrigem.Exists(x => x.OrigemTipo == (int)eDocumentoFitossanitarioTipo.CFOC)) { comando = bancoDeDados.CriarComando(@"select t.id, t.nome_laboratorio, t.numero_laudo_resultado_analise, t.estado, e.sigla estado_texto, t.municipio, m.texto municipio_texto from tab_cfoc t, lov_estado e, lov_municipio m where e.id = t.estado and m.id = t.municipio and t.possui_laudo_laboratorial > 0 " , UsuarioCredenciado); comando.DbCommand.CommandText += comando.AdicionarIn("and", "t.id", DbType.Int32, listaOrigem.Where(x => x.OrigemTipo == (int)eDocumentoFitossanitarioTipo.CFOC).Select(x => x.Origem).ToList()); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { while (reader.Read()) { retorno.Add(new LaudoLaboratorial() { Id = reader.GetValue <int>("id"), Nome = reader.GetValue <string>("nome_laboratorio"), LaudoResultadoAnalise = reader.GetValue <string>("numero_laudo_resultado_analise"), Estado = reader.GetValue <int>("estado"), EstadoTexto = reader.GetValue <string>("estado_texto"), Municipio = reader.GetValue <int>("municipio"), MunicipioTexto = reader.GetValue <string>("municipio_texto") }); } reader.Close(); } } return(retorno); } }
internal List <Cultivar> ObterCultivares(List <int> culturas, List <int> lotes = null, int OutroEstado = 0, BancoDeDados banco = null) { List <Cultivar> lstCultivar = new List <Cultivar>(); LoteDa _loteDa = new LoteDa(); using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco)) { #region Cultivar Comando comando = bancoDeDados.CriarComando(@"select cc.id, cc.cultivar, cc.cultura from tab_cultura_cultivar cc ", EsquemaBanco); comando.DbCommand.CommandText += comando.AdicionarIn("where", "cultura", DbType.Int32, culturas); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { Cultivar lista = null; while (reader.Read()) { lista = new Cultivar(); lista.Id = reader.GetValue <int>("id"); lista.Nome = reader.GetValue <string>("cultivar"); lista.CulturaId = reader.GetValue <int>("cultura"); lstCultivar.Add(lista); } reader.Close(); } #endregion #region Cultivar_Configurações StringBuilder sbDecAdd = new StringBuilder(); List <LoteItem> lstLotesPtvOutro = new List <LoteItem>(); List <LoteItem> lstLotesCfo = new List <LoteItem>(); List <LoteItem> lstLotesCfoc = new List <LoteItem>(); string cmdSql = ""; // string strOutroEstado = ""; if (lotes != null && lotes.Count > 0 && lotes[0] != 0) { // strOutroEstado = "('0')"; foreach (int idLot in lotes) { Lote lot = _loteDa.Obter(idLot); // totaloutro = lot.Lotes.Where(z => z.OrigemTipo == (int)eDocumentoFitossanitarioTipo.PTVOutroEstado).ToList().Count; lstLotesPtvOutro.AddRange(lot.Lotes.Where(z => z.OrigemTipo == (int)eDocumentoFitossanitarioTipo.PTVOutroEstado).ToList()); lstLotesCfo.AddRange(lot.Lotes.Where(z => z.OrigemTipo == (int)eDocumentoFitossanitarioTipo.CFO).ToList()); lstLotesCfoc.AddRange(lot.Lotes.Where(z => z.OrigemTipo == (int)eDocumentoFitossanitarioTipo.CFOC).ToList()); //foreach (LoteItem item in lstLotes) //{ // sbDecAdd.Append(ObterDeclaracaoAdicionalPTVOutroEstado(item.Origem)); //} //if (lstLotes.Count > 0 && lstLotes.Count == lot.Lotes.Count) //{ // strOutroEstado = "('1')"; //} //else if (lstLotes.Count > 0 && lstLotes.Count != lot.Lotes.Count) // strOutroEstado = "('1','0')"; //else // strOutroEstado = "('0')"; } } else { cmdSql = string.Format(@" select t.id, t.tid, t.cultivar, t.praga PragaId, p.nome_cientifico || nvl2(p.nome_comum,' - '||p.nome_comum,'') as PragaTexto, t.tipo_producao TipoProducaoId, lt.texto as TipoProducaoTexto, t.declaracao_adicional DeclaracaoAdicionalId, ld.texto as DeclaracaoAdicionalTexto, ld.texto_formatado as DeclaracaoAdicionalTextoHtml from {0}tab_cultivar_configuracao t, {0}tab_praga p, lov_cultivar_tipo_producao lt, lov_cultivar_declara_adicional ld where p.id = t.praga and lt.id = t.tipo_producao and ld.id = t.declaracao_adicional and t.cultivar = :id and ld.outro_estado = '0'", EsquemaBanco); } //else if (OutroEstado == 1) // strOutroEstado = "('1')"; //else // strOutroEstado = "('0')"; // string cmdSql = string.Format(@"select t.id, t.tid, t.cultivar, t.praga PragaId, p.nome_cientifico || nvl2(p.nome_comum,' - '||p.nome_comum,'') as PragaTexto, t.tipo_producao TipoProducaoId, // lt.texto as TipoProducaoTexto, t.declaracao_adicional DeclaracaoAdicionalId, ld.texto as DeclaracaoAdicionalTexto, ld.texto_formatado as DeclaracaoAdicionalTextoHtml // from {0}tab_cultivar_configuracao t, {0}tab_praga p, lov_cultivar_tipo_producao lt, lov_cultivar_declara_adicional ld, tab_ptv_outrouf_declaracao ot // where p.id = t.praga and lt.id = t.tipo_producao and ld.id = t.declaracao_adicional and t.cultivar = :id and ld.id = ot.declaracao_adicional(+)", EsquemaBanco, strOutroEstado); string strLotes = ""; if ((lstLotesCfo != null && lstLotesCfo.Count > 0) || (lstLotesCfoc != null && lstLotesCfoc.Count > 0)) { string strCultivares = ""; if (lstLotesCfo != null && lstLotesCfo.Count > 0) { strCultivares = string.Join(",", lstLotesCfo .Select(x => string.Format("'{0}'", x.Cultivar.ToString()))); cmdSql = string.Format(@" select t.id, t.tid, t.cultivar, t.praga PragaId, p.nome_cientifico || nvl2(p.nome_comum,' - '||p.nome_comum,'') as PragaTexto, t.tipo_producao TipoProducaoId, lt.texto as TipoProducaoTexto, t.declaracao_adicional DeclaracaoAdicionalId, ld.texto as DeclaracaoAdicionalTexto, ld.texto_formatado as DeclaracaoAdicionalTextoHtml from {0}tab_cultivar_configuracao t, {0}tab_praga p, lov_cultivar_tipo_producao lt, lov_cultivar_declara_adicional ld where p.id = t.praga and lt.id = t.tipo_producao and ld.id = t.declaracao_adicional and t.cultivar in ({1}) and ld.outro_estado = '0'", EsquemaBanco, strCultivares); } else if (lstLotesCfoc != null && lstLotesCfoc.Count > 0) { strCultivares = string.Join(",", lstLotesCfoc .Select(x => string.Format("'{0}'", x.Cultivar.ToString()))); foreach (LoteItem ltItem in lstLotesCfoc) { Dictionary <int, int> lstTipoDocOrigem = BuscaTipoDocOrigemCFOC(ltItem.Origem, ltItem.Cultivar, bancoDeDados); foreach (KeyValuePair <int, int> kv in lstTipoDocOrigem) { if (kv.Key == (int)eDocumentoFitossanitarioTipo.PTVOutroEstado) { if (!string.IsNullOrEmpty(cmdSql)) { cmdSql += " union all "; } cmdSql += string.Format(@" select t.id, t.tid, t.cultivar, t.praga PragaId, p.nome_cientifico || nvl2(p.nome_comum,' - '||p.nome_comum,'') as PragaTexto, t.tipo_producao TipoProducaoId, lt.texto as TipoProducaoTexto, t.declaracao_adicional DeclaracaoAdicionalId, ld.texto as DeclaracaoAdicionalTexto, ld.texto_formatado as DeclaracaoAdicionalTextoHtml from tab_cultivar_configuracao t, tab_praga p, lov_cultivar_tipo_producao lt, lov_cultivar_declara_adicional ld, tab_ptv_outrouf_declaracao ot where p.id = t.praga and lt.id = t.tipo_producao and ld.id = t.declaracao_adicional and t.cultivar = :id and ld.id = ot.declaracao_adicional and ot.ptv = {1} ", EsquemaBanco, kv.Value); } if (kv.Key == (int)eDocumentoFitossanitarioTipo.CFO) { if (!string.IsNullOrEmpty(cmdSql)) { cmdSql += " union all "; } cmdSql += string.Format(@" select t.id, t.tid, t.cultivar, t.praga PragaId, p.nome_cientifico || nvl2(p.nome_comum,' - '||p.nome_comum,'') as PragaTexto, t.tipo_producao TipoProducaoId, lt.texto as TipoProducaoTexto, t.declaracao_adicional DeclaracaoAdicionalId, ld.texto as DeclaracaoAdicionalTexto, ld.texto_formatado as DeclaracaoAdicionalTextoHtml from {0}tab_cultivar_configuracao t, {0}tab_praga p, lov_cultivar_tipo_producao lt, lov_cultivar_declara_adicional ld where p.id = t.praga and lt.id = t.tipo_producao and ld.id = t.declaracao_adicional and t.cultivar = :id and ld.outro_estado = '0'", EsquemaBanco); } } } } } if (lstLotesPtvOutro != null && lstLotesPtvOutro.Count > 0) { strLotes = string.Join(",", lstLotesPtvOutro .Select(x => string.Format("'{0}'", x.Origem.ToString()))); if (!string.IsNullOrEmpty(cmdSql)) { cmdSql += " union all "; } cmdSql += string.Format(@" select t.id, t.tid, t.cultivar, t.praga PragaId, p.nome_cientifico || nvl2(p.nome_comum,' - '||p.nome_comum,'') as PragaTexto, t.tipo_producao TipoProducaoId, lt.texto as TipoProducaoTexto, t.declaracao_adicional DeclaracaoAdicionalId, ld.texto as DeclaracaoAdicionalTexto, ld.texto_formatado as DeclaracaoAdicionalTextoHtml from tab_cultivar_configuracao t, tab_praga p, lov_cultivar_tipo_producao lt, lov_cultivar_declara_adicional ld, tab_ptv_outrouf_declaracao ot where p.id = t.praga and lt.id = t.tipo_producao and ld.id = t.declaracao_adicional and t.cultivar = :id and ld.id = ot.declaracao_adicional and ot.ptv in ({1})", EsquemaBanco, strLotes); } //ld.outro_estado in {1} if (string.IsNullOrEmpty(cmdSql)) { return(lstCultivar); } comando = bancoDeDados.CriarComando(cmdSql, EsquemaBanco); lstCultivar.ForEach(x => { if (cmdSql.Contains(":")) { comando.AdicionarParametroEntrada("id", x.Id, DbType.Int32); } using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { while (reader.Read()) { //string Declaracao = ""; //if (lstLotes != null && lstLotes.Any(z => z.Cultivar == reader.GetValue<int>("cultivar"))) // Declaracao = sbDecAdd.ToString(); //else // Declaracao = reader.GetValue<string>("DeclaracaoAdicionalTexto"); x.LsCultivarConfiguracao.Add(new CultivarConfiguracao() { Id = reader.GetValue <int>("id"), Tid = reader.GetValue <string>("tid"), Cultivar = reader.GetValue <int>("cultivar"), PragaId = reader.GetValue <int>("PragaId"), PragaTexto = reader.GetValue <string>("PragaTexto"), TipoProducaoId = reader.GetValue <int>("TipoProducaoId"), TipoProducaoTexto = reader.GetValue <string>("TipoProducaoTexto"), DeclaracaoAdicionalId = reader.GetValue <int>("DeclaracaoAdicionalId"), DeclaracaoAdicionalTexto = reader.GetValue <string>("DeclaracaoAdicionalTexto"), DeclaracaoAdicionalTextoHtml = reader.GetValue <string>("DeclaracaoAdicionalTextoHtml") }); } reader.Close(); } }); #endregion } return(lstCultivar); }
internal Funcionario ObterFuncionarioAutenticacao(string login, List <String> permissoesGerencial) { Funcionario funcionario = new Funcionario(); Comando comando = null; using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia()) { comando = bancoDeDados.CriarComando(@"select f.id, f.usuario, f.nome, f.tipo, u.login, f.email, u.logon_anterior_ip, u.logon_anterior_data, t.texto tipo_texto, f.tid from tab_funcionario f, tab_usuario u, lov_funcionario_tipo t where u.login = :login and f.usuario = u.id and f.situacao = 1 and f.tipo = t.id" ); comando.AdicionarParametroEntrada("login", DbType.String, 30, login); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { while (reader.Read()) { funcionario.Id = Convert.ToInt32(reader["id"]); funcionario.Usuario.Id = Convert.ToInt32(reader["usuario"]); funcionario.Usuario.Login = reader["login"].ToString(); funcionario.Usuario.IpUltimoLogon = reader["logon_anterior_ip"].ToString(); funcionario.Usuario.DataUltimoLogon = (reader["logon_anterior_data"] != DBNull.Value) ? Convert.ToDateTime(reader["logon_anterior_data"]) : new DateTime?(); funcionario.Nome = reader["nome"].ToString(); funcionario.Email = reader["email"].ToString(); funcionario.Tipo = Convert.ToInt32(reader["tipo"]); funcionario.TipoTexto = reader["tipo_texto"].ToString(); funcionario.Tid = reader["tid"].ToString(); } reader.Close(); } #region Papel / Permissao comando = bancoDeDados.CriarComando(@"select da.codigo from ( select p.codigo from tab_funcionario_papel f, tab_autenticacao_papel_perm app, lov_autenticacao_permissao p where f.funcionario = :id and f.papel = app.papel and app.permissao = p.id union select p.codigo from tab_funcionario_permissao t, lov_autenticacao_permissao p where t.permissao = p.id and t.funcionario = :id) da" ); comando.AdicionarParametroEntrada("id", funcionario.Id, DbType.Int32); comando.DbCommand.CommandText += comando.AdicionarIn("where", "da.codigo", DbType.String, permissoesGerencial); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { while (reader.Read()) { if (!Enum.IsDefined(typeof(ePermissao), reader["codigo"].ToString())) { Validacao.Add(new Mensagem() { Tipo = eTipoMensagem.Erro, Texto = String.Format("Permissão \"{0}\" não definida! [Verifique Enumerado e commite !]", reader["codigo"].ToString()) }); continue; } funcionario.Permissoes.Add(new Permissao() { Codigo = (ePermissao)Enum.Parse(typeof(ePermissao), reader["codigo"].ToString()) }); } reader.Close(); } #endregion } return(funcionario); }
public List <Pessoa> ObterPessoas(int requerimento, BancoDeDados bancoCredenciado) { List <Pessoa> retorno = new List <Pessoa>(); List <int> ids = new List <int>(); using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(bancoCredenciado, UsuarioCredenciado)) { bancoDeDados.IniciarTransacao(); #region Pessoas relacionadas com o Projeto Digital Comando comando = bancoDeDados.CriarComando(@"select r.interessado id from {0}tab_requerimento r where r.id = :requerimento union all select er.responsavel id from {0}tab_requerimento r, {0}tab_empreendimento_responsavel er where r.id = :requerimento and r.empreendimento = er.empreendimento union all select rr.responsavel id from {0}tab_requerimento_responsavel rr where rr.requerimento = :requerimento" , UsuarioCredenciado); comando.AdicionarParametroEntrada("requerimento", requerimento, DbType.Int32); ids = bancoDeDados.ExecutarList <int>(comando); #region Responsáveis/Representantes ids = ids.Where(x => x > 0).ToList(); List <string> conj = new List <string>(); if (ids != null && ids.Count > 0) { comando = bancoDeDados.CriarComando(@"select p.tipo Tipo, p.id Id, p.interno InternoId, nvl(p.nome, p.razao_social) NomeRazaoSocial, nvl(p.cpf, p.cnpj) CPFCNPJ, (select c.conjuge||'@'||c.pessoa from {0}tab_pessoa_conjuge c where c.pessoa = p.id or c.conjuge = p.id) conjuge from {0}tab_pessoa p " , UsuarioCredenciado); comando.DbCommand.CommandText += comando.AdicionarIn("where", "p.id", DbType.Int32, ids); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { Pessoa pes; while (reader.Read()) { pes = new Pessoa(); pes.Id = reader.GetValue <int>("Id"); pes.Tipo = reader.GetValue <int>("Tipo"); pes.InternoId = reader.GetValue <int>("InternoId"); pes.NomeRazaoSocial = reader.GetValue <string>("NomeRazaoSocial"); pes.CPFCNPJ = reader.GetValue <string>("CPFCNPJ"); if (!string.IsNullOrEmpty(reader.GetValue <string>("conjuge"))) { conj = reader.GetValue <string>("conjuge").Split('@').ToList(); pes.Fisica.ConjugeId = (Convert.ToInt32(conj[0]) == pes.Id) ? Convert.ToInt32(conj[1]) : Convert.ToInt32(conj[0]); } retorno.Add(pes); } reader.Close(); } } if (retorno.Count > 0) { if (retorno.Exists(x => x.IsJuridica)) { //Representantes comando = bancoDeDados.CriarComando(@"select pc.pessoa, p.tipo Tipo, p.id Id, p.interno InternoId, nvl(p.nome, p.razao_social) NomeRazaoSocial, nvl(p.cpf, p.cnpj) CPFCNPJ, (select c.conjuge||'@'||c.pessoa from {0}tab_pessoa_conjuge c where c.pessoa = p.id or c.conjuge = p.id) conjuge from {0}tab_pessoa p, {0}tab_pessoa_representante pc where p.id = pc.representante" , UsuarioCredenciado); comando.DbCommand.CommandText += comando.AdicionarIn("and", "pc.pessoa", DbType.Int32, retorno.Where(x => x.IsJuridica).Select(x => x.Id).ToList()); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { Pessoa pes; while (reader.Read()) { pes = new Pessoa(); pes.Id = reader.GetValue <int>("Id"); pes.Tipo = reader.GetValue <int>("Tipo"); pes.InternoId = reader.GetValue <int>("InternoId"); pes.IdRelacionamento = reader.GetValue <int>("pessoa"); pes.NomeRazaoSocial = reader.GetValue <string>("NomeRazaoSocial"); pes.CPFCNPJ = reader.GetValue <string>("CPFCNPJ"); if (!string.IsNullOrEmpty(reader.GetValue <string>("conjuge"))) { conj = reader.GetValue <string>("conjuge").Split('@').ToList(); pes.Fisica.ConjugeId = (Convert.ToInt32(conj[0]) == pes.Id) ? Convert.ToInt32(conj[1]) : Convert.ToInt32(conj[0]); } retorno.Add(pes); } reader.Close(); } retorno.Where(x => x.IsJuridica).ToList().ForEach(x => { x.Juridica.Representantes = retorno.Where(y => y.IdRelacionamento == x.Id).ToList(); }); } if (retorno.Exists(x => x.IsFisica)) { //Conjuges comando = bancoDeDados.CriarComando(@"select p.tipo Tipo, p.id Id, p.interno InternoId, nvl(p.nome, p.razao_social) NomeRazaoSocial, nvl(p.cpf, p.cnpj) CPFCNPJ, (select c.conjuge||'@'||c.pessoa from {0}tab_pessoa_conjuge c where c.pessoa = p.id or c.conjuge = p.id) conjuge from {0}tab_pessoa p, {0}tab_pessoa_conjuge pc where p.id = pc.conjuge" , UsuarioCredenciado); comando.DbCommand.CommandText += comando.AdicionarIn("and", "pc.pessoa", DbType.Int32, retorno.Where(x => x.IsFisica).Select(x => x.Id).ToList()); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { Pessoa pes; while (reader.Read()) { pes = new Pessoa(); pes.Id = reader.GetValue <int>("Id"); pes.Tipo = reader.GetValue <int>("Tipo"); pes.InternoId = reader.GetValue <int>("InternoId"); pes.NomeRazaoSocial = reader.GetValue <string>("NomeRazaoSocial"); pes.CPFCNPJ = reader.GetValue <string>("CPFCNPJ"); if (!string.IsNullOrEmpty(reader.GetValue <string>("conjuge"))) { conj = reader.GetValue <string>("conjuge").Split('@').ToList(); pes.Fisica.ConjugeId = (Convert.ToInt32(conj[0]) == pes.Id) ? Convert.ToInt32(conj[1]) : Convert.ToInt32(conj[0]); } retorno.Add(pes); } reader.Close(); } //Obter CPF Conjuges comando = bancoDeDados.CriarComando(@"select p.id, p.cpf from {0}tab_pessoa p ", UsuarioCredenciado); comando.DbCommand.CommandText += comando.AdicionarIn("where", "p.id", DbType.Int32, retorno.Where(x => x.Fisica.ConjugeId > 0).Select(x => x.Fisica.ConjugeId).ToList()); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { Pessoa pes; while (reader.Read()) { pes = retorno.FirstOrDefault(x => x.Fisica.ConjugeId == reader.GetValue <int>("id")); if (pes != null) { pes.Fisica.ConjugeCPF = reader.GetValue <string>("cpf"); } } reader.Close(); } } } #endregion #endregion } retorno = retorno.GroupBy(x => x.Id).Select(y => new Pessoa { Id = y.First().Id, Tipo = y.First().Tipo, InternoId = y.First().InternoId, NomeRazaoSocial = y.First().NomeRazaoSocial, CPFCNPJ = y.First().CPFCNPJ, Fisica = y.First().Fisica, Juridica = y.First().Juridica, }).ToList(); return(retorno); }
internal void ExcluirTodosNaoAssociados(LocalVistoria local, BancoDeDados banco) { using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco)) { List <int> listaIdExcluir = new List <int>(); List <int> listaIdExcluirLogico = new List <int>(); Comando cmdConsulta = bancoDeDados.CriarComando(@"select lv.id from {0}CNF_LOCAL_VISTORIA lv where lv.setor = :setorId", EsquemaBanco); cmdConsulta.DbCommand.CommandText += cmdConsulta.AdicionarNotIn("and", "lv.id", DbType.Int32, local.DiasHorasVistoria.Select(x => x.Id).ToList()); cmdConsulta.AdicionarParametroEntrada("setorId", local.SetorID, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(cmdConsulta)) { while (reader.Read()) { int dataVistoriaId = reader.GetValue <int>("id"); if (PossuiHorarioAssociado(dataVistoriaId, banco: banco) > 0) { listaIdExcluirLogico.Add(dataVistoriaId); } else { listaIdExcluir.Add(dataVistoriaId); } } reader.Close(); } if (listaIdExcluir.Count > 0 || listaIdExcluirLogico.Count > 0) { if (listaIdExcluir.Count > 0) { Comando cmdUpdate = bancoDeDados.CriarComando(@"update {0}CNF_LOCAL_VISTORIA set tid = :tid where ", EsquemaBanco); cmdUpdate.DbCommand.CommandText += cmdUpdate.AdicionarIn("", "id", DbType.Int32, listaIdExcluir); cmdUpdate.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual()); bancoDeDados.ExecutarNonQuery(cmdUpdate); foreach (int idExcluido in listaIdExcluir) { // Gerando historico para todos os itens excluidos Historico.Gerar(idExcluido, eHistoricoArtefato.localvistoria, eHistoricoAcao.excluir, bancoDeDados); } Comando cmdDelete = bancoDeDados.CriarComando("delete from {0}cnf_local_vistoria lv where lv.setor = :setorId ", EsquemaBanco); cmdDelete.DbCommand.CommandText += cmdDelete.AdicionarIn("and", "lv.id", DbType.Int32, listaIdExcluir); cmdDelete.AdicionarParametroEntrada("setorId", local.SetorID, DbType.Int32); bancoDeDados.ExecutarNonQuery(cmdDelete); } if (listaIdExcluirLogico.Count > 0) { Comando cmdUpdate = bancoDeDados.CriarComando(@"update {0}CNF_LOCAL_VISTORIA set tid = :tid where ", EsquemaBanco); cmdUpdate.DbCommand.CommandText += cmdUpdate.AdicionarIn("", "id", DbType.Int32, listaIdExcluirLogico); cmdUpdate.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual()); bancoDeDados.ExecutarNonQuery(cmdUpdate); foreach (int idExcluido in listaIdExcluirLogico) { // Gerando historico para todos os itens excluidos Historico.Gerar(idExcluido, eHistoricoArtefato.localvistoria, eHistoricoAcao.excluir, bancoDeDados); } Comando comando = bancoDeDados.CriarComando("update {0}cnf_local_vistoria lv set situacao = 0 where lv.setor = :setorId ", EsquemaBanco); comando.DbCommand.CommandText += comando.AdicionarIn("and", "lv.id", DbType.Int32, listaIdExcluirLogico); comando.AdicionarParametroEntrada("setorId", local.SetorID, DbType.Int32); bancoDeDados.ExecutarNonQuery(comando); } } bancoDeDados.Commit(); } }
public RequerimentoRelatorio Obter(int id) { RequerimentoRelatorio requerimento = new RequerimentoRelatorio(); #region Banco do Credenciado using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(EsquemaBanco)) { #region Requerimento Comando comando = bancoDeDados.CriarComando(@" select r.id, r.credenciado, trunc(r.data_criacao) data_criacao, r.interessado, r.empreendimento, r.situacao, r.agendamento agendamento, to_char(r.data_criacao, 'dd') dia, to_char(r.data_criacao, 'MM') mes, to_char(r.data_criacao, 'yyyy') ano, r.setor, r.informacoes, p.situacao projeto_digital_situacao, (select pe.municipio from {0}tab_pessoa_endereco pe, {0}tab_credenciado c where pe.pessoa = c.pessoa and c.id = r.credenciado) municipio from {0}tab_requerimento r, tab_projeto_digital p where r.id = p.requerimento and r.id = :id" , EsquemaBanco); comando.AdicionarParametroEntrada("id", id, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { if (reader.Read()) { requerimento.Id = id; requerimento.AutorId = reader.GetValue <int>("credenciado"); requerimento.DataCadastro = Convert.ToDateTime(reader["data_criacao"]); requerimento.DiaCadastro = reader["dia"].ToString(); int mes = reader.GetValue <int>("mes"); requerimento.MesCadastro = _configSys.Obter <List <String> >(ConfiguracaoSistema.KeyMeses).ElementAt(mes - 1); requerimento.AnoCadastro = reader["ano"].ToString(); requerimento.MunicipioId = reader.GetValue <int>("municipio"); requerimento.Interessado.Id = reader.GetValue <int>("interessado"); requerimento.Empreendimento.Id = reader.GetValue <int>("empreendimento"); requerimento.ProjetoDigitalSituacaoId = reader.GetValue <int>("projeto_digital_situacao"); requerimento.SituacaoId = reader.GetValue <int>("situacao"); requerimento.AgendamentoVistoria = reader["agendamento"].ToString(); requerimento.SetorId = reader.GetValue <int>("setor"); requerimento.Informacoes = reader["informacoes"].ToString(); } reader.Close(); } #endregion #region Atividades comando = bancoDeDados.CriarComando(@" select a.id, a.atividade, a.tid from {0}tab_requerimento_atividade a where a.requerimento = :id" , EsquemaBanco); comando.AdicionarParametroEntrada("id", id, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { RequerimentoAtividadeRelatorio atividade; while (reader.Read()) { atividade = new RequerimentoAtividadeRelatorio(); atividade.Id = Convert.ToInt32(reader["atividade"]); atividade.IdRelacionamento = Convert.ToInt32(reader["id"]); #region Atividades/Finalidades/Modelos comando = bancoDeDados.CriarComando(@" select a.id, a.finalidade, a.modelo, a.titulo_anterior_tipo, a.titulo_anterior_id, a.titulo_anterior_numero, a.modelo_anterior_id, a.modelo_anterior_nome, a.modelo_anterior_sigla, a.orgao_expedidor from {0}tab_requerimento_ativ_finalida a where a.requerimento_ativ = :id" , EsquemaBanco); comando.AdicionarParametroEntrada("id", atividade.IdRelacionamento, DbType.Int32); using (IDataReader readerAux = bancoDeDados.ExecutarReader(comando)) { Finalidade fin; while (readerAux.Read()) { fin = new Finalidade(); fin.IdRelacionamento = Convert.ToInt32(readerAux["id"]); fin.OrgaoExpedidor = readerAux["orgao_expedidor"].ToString(); if (readerAux["finalidade"] != DBNull.Value) { fin.Id = Convert.ToInt32(readerAux["finalidade"]); } if (readerAux["modelo"] != DBNull.Value) { fin.TituloModelo = Convert.ToInt32(readerAux["modelo"]); } if (readerAux["modelo_anterior_id"] != DBNull.Value) { fin.TituloModeloAnteriorId = Convert.ToInt32(readerAux["modelo_anterior_id"]); } fin.TituloModeloAnteriorTexto = readerAux["modelo_anterior_nome"].ToString(); fin.TituloModeloAnteriorSigla = readerAux["modelo_anterior_sigla"].ToString(); if (readerAux["titulo_anterior_tipo"] != DBNull.Value) { fin.TituloAnteriorTipo = Convert.ToInt32(readerAux["titulo_anterior_tipo"]); } if (readerAux["titulo_anterior_id"] != DBNull.Value) { fin.TituloAnteriorId = Convert.ToInt32(readerAux["titulo_anterior_id"]); } fin.TituloAnteriorNumero = readerAux["titulo_anterior_numero"].ToString(); fin.EmitidoPorInterno = (fin.TituloAnteriorTipo != 3); atividade.Finalidades.Add(fin); } readerAux.Close(); } #endregion requerimento.Atividades.Add(atividade); } reader.Close(); } #endregion #region Interessado comando = bancoDeDados.CriarComando(@" select p.id, p.tipo, p.nome, p.cpf, p.rg, p.estado_civil, p.cnpj, p.razao_social, p.nome_fantasia, p.ie, p.apelido, tpp.profissao from {0}tab_pessoa p, {0}tab_pessoa_profissao tpp where p.id = tpp.pessoa(+) and p.id = :id" , EsquemaBanco); comando.AdicionarParametroEntrada("id", requerimento.Interessado.Id, DbType.Int32); PessoaRelatorio pessoa = new PessoaRelatorio(); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { if (reader.Read()) { pessoa.Id = requerimento.Interessado.Id; pessoa.Tipo = Convert.ToInt32(reader["tipo"]); if (pessoa.IsFisica) { pessoa.Fisica.Nome = reader["nome"].ToString(); pessoa.Fisica.CPF = reader["cpf"].ToString(); pessoa.Fisica.RG = reader["rg"].ToString(); pessoa.Fisica.Apelido = reader["apelido"].ToString(); } else // juridica { pessoa.Juridica.CNPJ = reader["cnpj"].ToString(); pessoa.Juridica.RazaoSocial = reader["razao_social"].ToString(); pessoa.Juridica.NomeFantasia = reader["nome_fantasia"].ToString(); pessoa.Juridica.IE = reader["ie"].ToString(); } } reader.Close(); } #region Meio de Contato comando = bancoDeDados.CriarComando(@"select a.id, a.pessoa, a.meio_contato tipo_contato_id, a.valor from {0}tab_pessoa_meio_contato a where a.pessoa = :pessoa" , EsquemaBanco); comando.AdicionarParametroEntrada("pessoa", pessoa.Id, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { ContatoRelatorio contato; while (reader.Read()) { contato = new ContatoRelatorio(); contato.Id = Convert.ToInt32(reader["id"]); contato.PessoaId = Convert.ToInt32(reader["pessoa"]); contato.TipoContato = (eTipoContato)Enum.Parse(contato.TipoContato.GetType(), reader["tipo_contato_id"].ToString()); contato.Valor = reader["valor"].ToString(); pessoa.MeiosContatos.Add(contato); } reader.Close(); } #endregion #region Endereços comando = bancoDeDados.CriarComando(@" select te.id, te.pessoa, te.cep, te.logradouro, te.bairro, te.estado estado_id, te.municipio municipio_id, te.numero, te.complemento, te.distrito from {0}tab_pessoa_endereco te where te.pessoa = :pessoa" , EsquemaBanco); comando.AdicionarParametroEntrada("pessoa", pessoa.Id, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { while (reader.Read()) { pessoa.Endereco.Id = Convert.ToInt32(reader["id"]); pessoa.Endereco.Cep = reader["cep"].ToString(); pessoa.Endereco.Logradouro = reader["logradouro"].ToString(); pessoa.Endereco.Bairro = reader["bairro"].ToString(); pessoa.Endereco.EstadoId = Convert.IsDBNull(reader["estado_id"]) ? 0 : Convert.ToInt32(reader["estado_id"]); pessoa.Endereco.MunicipioId = Convert.IsDBNull(reader["municipio_id"]) ? 0 : Convert.ToInt32(reader["municipio_id"]); pessoa.Endereco.Numero = reader["numero"].ToString(); pessoa.Endereco.Complemento = reader["complemento"].ToString(); pessoa.Endereco.Distrito = reader["distrito"].ToString(); } reader.Close(); } #endregion requerimento.Interessado = pessoa; #endregion #region Responsáveis comando = bancoDeDados.CriarComando(@" select pr.id, pr.responsavel, pr.funcao funcao, pr.numero_art, nvl(p.nome, p.razao_social) nome, nvl(p.cpf, p.cnpj) cpf_cnpj, nvl(p.rg, p.ie) rg_ie, p.tipo, trunc(p.data_nascimento) data_nascimento from {0}tab_requerimento_responsavel pr, {0}tab_pessoa p where pr.responsavel = p.id and pr.requerimento = :requerimento" , EsquemaBanco); comando.AdicionarParametroEntrada("requerimento", id, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { ResponsavelTecnicoRelatorio responsavel; while (reader.Read()) { responsavel = new ResponsavelTecnicoRelatorio(); responsavel.Id = Convert.ToInt32(reader["responsavel"]); responsavel.FuncaoTexto = reader["funcao"].ToString(); responsavel.CpfCnpj = reader["cpf_cnpj"].ToString(); responsavel.RgIe = reader["rg_ie"].ToString(); responsavel.NomeRazao = reader["nome"].ToString(); responsavel.NumeroArt = reader["numero_art"].ToString(); if (reader["data_nascimento"] != null && !Convert.IsDBNull(reader["data_nascimento"])) { responsavel.DataNascimento = Convert.ToDateTime(reader["data_nascimento"]).ToShortDateString(); } responsavel.DataVencimento = "Falta"; #region Meio de Contato comando = bancoDeDados.CriarComando(@"select a.id, a.pessoa, a.meio_contato tipo_contato_id, a.valor from tab_pessoa_meio_contato a where a.pessoa = :pessoa" , EsquemaBanco); comando.AdicionarParametroEntrada("pessoa", responsavel.Id, DbType.Int32); using (IDataReader readerAux = bancoDeDados.ExecutarReader(comando)) { ContatoRelatorio contato; while (readerAux.Read()) { contato = new ContatoRelatorio(); contato.Id = Convert.ToInt32(readerAux["id"]); contato.PessoaId = Convert.ToInt32(readerAux["pessoa"]); contato.TipoContato = (eTipoContato)Enum.Parse(contato.TipoContato.GetType(), readerAux["tipo_contato_id"].ToString()); contato.Valor = readerAux["valor"].ToString(); responsavel.MeiosContatos.Add(contato); } readerAux.Close(); } #endregion #region Endereços comando = bancoDeDados.CriarComando(@" select te.id, te.pessoa, te.cep, te.logradouro, te.bairro, te.estado estado_id, te.municipio municipio_id, te.numero, te.complemento, te.distrito from {0}tab_pessoa_endereco te where te.pessoa = :pessoa" , EsquemaBanco); comando.AdicionarParametroEntrada("pessoa", responsavel.Id, DbType.Int32); using (IDataReader readerAux = bancoDeDados.ExecutarReader(comando)) { while (readerAux.Read()) { responsavel.Endereco.Id = Convert.ToInt32(readerAux["id"]); responsavel.Endereco.Cep = readerAux["cep"].ToString(); responsavel.Endereco.Logradouro = readerAux["logradouro"].ToString(); responsavel.Endereco.Bairro = readerAux["bairro"].ToString(); responsavel.Endereco.EstadoId = Convert.IsDBNull(readerAux["estado_id"]) ? 0 : Convert.ToInt32(readerAux["estado_id"]); responsavel.Endereco.MunicipioId = Convert.IsDBNull(readerAux["municipio_id"]) ? 0 : Convert.ToInt32(readerAux["municipio_id"]); responsavel.Endereco.Numero = readerAux["numero"].ToString(); responsavel.Endereco.Complemento = readerAux["complemento"].ToString(); responsavel.Endereco.Distrito = readerAux["distrito"].ToString(); } readerAux.Close(); } #endregion requerimento.Responsaveis.Add(responsavel); } reader.Close(); } #endregion #region Empreendimento if (requerimento.Empreendimento.Id > 0) { comando = bancoDeDados.CriarComando(@" select e.id, e.codigo, e.segmento, e.denominador, e.cnpj, e.atividade, e.nome_fantasia, e.denominador razao_social from tab_empreendimento e where e.id = :id" , EsquemaBanco); comando.AdicionarParametroEntrada("id", requerimento.Empreendimento.Id, DbType.Int32); EmpreendimentoRelatorio empreendimento = new EmpreendimentoRelatorio(); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { if (reader.Read()) { empreendimento.Id = requerimento.Empreendimento.Id; empreendimento.Codigo = reader.GetValue <int>("codigo"); empreendimento.CNPJ = reader["cnpj"].ToString(); empreendimento.NomeFantasia = reader["nome_fantasia"].ToString(); empreendimento.Denominador = reader["denominador"].ToString(); empreendimento.SegmentoTexto = reader["segmento"].ToString(); empreendimento.AtividadeTexto = Convert.ToString(reader["atividade"]); empreendimento.NomeRazao = Convert.ToString(reader["razao_social"]); } reader.Close(); } #region Endereços comando = bancoDeDados.CriarComando(@" select te.id, te.empreendimento, te.correspondencia, te.cep, te.logradouro, te.bairro, te.estado estado_id, te.municipio municipio_id, te.numero, te.complemento, (case when te.zona = 1 then 'Urbana' else 'Rural' end) zona, te.distrito, te.corrego, te.complemento from tab_empreendimento_endereco te where te.empreendimento = :empreendimento" , EsquemaBanco); comando.AdicionarParametroEntrada("empreendimento", empreendimento.Id, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { EnderecoRelatorio end; while (reader.Read()) { end = new EnderecoRelatorio(); end.Id = Convert.ToInt32(reader["id"]); end.Correspondencia = Convert.IsDBNull(reader["correspondencia"]) ? 0 : Convert.ToInt32(reader["correspondencia"]); end.Cep = reader["cep"].ToString(); end.Logradouro = reader["logradouro"].ToString(); end.Bairro = reader["bairro"].ToString(); end.EstadoId = Convert.IsDBNull(reader["estado_id"]) ? 0 : Convert.ToInt32(reader["estado_id"]); end.MunicipioId = Convert.IsDBNull(reader["municipio_id"]) ? 0 : Convert.ToInt32(reader["municipio_id"]); end.Numero = reader["numero"].ToString(); end.Complemento = reader["complemento"].ToString(); end.Corrego = reader["corrego"].ToString(); end.Zona = reader["zona"].ToString(); end.Distrito = reader["distrito"].ToString(); end.Complemento = reader["complemento"].ToString(); empreendimento.Enderecos.Add(end); } reader.Close(); } #endregion #region Coordenada comando = bancoDeDados.CriarComando(@" select aec.id, aec.tipo_coordenada, aec.datum, aec.easting_utm, aec.northing_utm, aec.fuso_utm, aec.hemisferio_utm, aec.latitude_gms, aec.longitude_gms, aec.latitude_gdec, aec.longitude_gdec, aec.forma_coleta forma_coleta, aec.local_coleta local_coleta, aec.datum datum_texto, aec.hemisferio_utm hemisferio_utm_texto from {0}tab_empreendimento_coord aec where aec.empreendimento = :empreendimentoid" , EsquemaBanco); comando.AdicionarParametroEntrada("empreendimentoid", empreendimento.Id, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { if (reader.Read()) { empreendimento.Coordenada.Id = Convert.ToInt32(reader["id"]); empreendimento.Coordenada.EastingUtmTexto = Convert.ToString(reader["easting_utm"]); empreendimento.Coordenada.NorthingUtmTexto = Convert.ToString(reader["northing_utm"]); empreendimento.Coordenada.FusoUtm = Convert.IsDBNull(reader["fuso_utm"]) ? 0 : Convert.ToInt32(reader["fuso_utm"]); empreendimento.Coordenada.HemisferioUtm = Convert.IsDBNull(reader["hemisferio_utm"]) ? 0 : Convert.ToInt32(reader["hemisferio_utm"]); empreendimento.Coordenada.LatitudeGms = reader["latitude_gms"].ToString(); empreendimento.Coordenada.LongitudeGms = reader["longitude_gms"].ToString(); empreendimento.Coordenada.LatitudeGdec = Convert.IsDBNull(reader["latitude_gdec"]) ? 0 : Convert.ToDouble(reader["latitude_gdec"]); empreendimento.Coordenada.LongitudeGdec = Convert.IsDBNull(reader["longitude_gdec"]) ? 0 : Convert.ToDouble(reader["longitude_gdec"]); empreendimento.Coordenada.Datum.Id = Convert.ToInt32(reader["datum"]); empreendimento.Coordenada.Tipo.Id = Convert.ToInt32(reader["tipo_coordenada"]); empreendimento.Coordenada.FormaColetaTexto = Convert.ToString(reader["forma_coleta"]); empreendimento.Coordenada.LocalColetaTexto = Convert.ToString(reader["local_coleta"]); } reader.Close(); } #endregion #region Meio de Contato comando = bancoDeDados.CriarComando(@"select a.id, a.empreendimento, a.meio_contato tipo_contato_id, a.valor from {0}tab_empreendimento_contato a where a.empreendimento = :empreendimento" , EsquemaBanco); comando.AdicionarParametroEntrada("empreendimento", empreendimento.Id, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { ContatoRelatorio contato; while (reader.Read()) { contato = new ContatoRelatorio(); contato.Id = Convert.ToInt32(reader["id"]); contato.PessoaId = Convert.ToInt32(reader["empreendimento"]); contato.TipoContato = (eTipoContato)Enum.Parse(contato.TipoContato.GetType(), reader["tipo_contato_id"].ToString()); contato.Valor = reader["valor"].ToString(); empreendimento.MeiosContatos.Add(contato); } reader.Close(); } #endregion requerimento.Empreendimento = empreendimento; } #endregion #region Elaborador comando = bancoDeDados.CriarComando(@" select nvl(p.nome, p.razao_social) NomeRazaoSocial, lc.texto TipoTexto from {0}tab_credenciado c, {0}tab_pessoa p, {0}lov_credenciado_tipo lc where c.pessoa = p.id and c.tipo = lc.id and c.id = :id" , EsquemaBanco); comando.AdicionarParametroEntrada("id", requerimento.AutorId, DbType.Int32); requerimento.UsuarioCredenciado = bancoDeDados.ObterEntity <CredenciadoRelatorio>(comando); #endregion } #endregion #region Banco do Interno using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia()) { #region Requerimento requerimento.Municipio = ObterMunicipio(requerimento.MunicipioId, bancoDeDados); #region Situacao Comando comando = bancoDeDados.CriarComando(@"select l.texto situacao_texto from {0}lov_requerimento_situacao l where l.id = :id", EsquemaInterno); comando.AdicionarParametroEntrada("id", requerimento.SituacaoId, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { if (reader.Read()) { requerimento.SituacaoTexto = reader["situacao_texto"].ToString(); } reader.Close(); } #endregion #region Agendamento if (!string.IsNullOrWhiteSpace(requerimento.AgendamentoVistoria)) { comando = bancoDeDados.CriarComando(@"select l.texto agendamento from {0}lov_requerimento_agendamento l where l.id = :id", EsquemaInterno); comando.AdicionarParametroEntrada("id", Convert.ToInt32(requerimento.AgendamentoVistoria), DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { if (reader.Read()) { requerimento.AgendamentoVistoria = reader["agendamento"].ToString(); } reader.Close(); } } #endregion #region Setor if (requerimento.SetorId > 0) { comando = bancoDeDados.CriarComando(@"select m.texto from tab_setor_endereco se, lov_municipio m where se.municipio = m.id (+) and se.setor = :setor" , EsquemaInterno); comando.AdicionarParametroEntrada("setor", Convert.ToInt32(requerimento.SetorId), DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { if (reader.Read()) { requerimento.Municipio = reader["texto"].ToString(); } reader.Close(); } } #endregion #endregion if (requerimento.Atividades.Count > 0) { #region Atividades comando = bancoDeDados.CriarComando(@"select b.id, b.atividade atividade_texto, b.conclusao from {0}tab_atividade b", EsquemaInterno); comando.DbCommand.CommandText += comando.AdicionarIn("where", "b.id", DbType.Int32, requerimento.Atividades.Select(x => x.Id).ToList()); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { while (reader.Read()) { int idr = Convert.ToInt32(reader["id"]); RequerimentoAtividadeRelatorio atividade = requerimento.Atividades.FirstOrDefault(x => x.Id == idr); atividade.NomeAtividade = reader["atividade_texto"].ToString(); atividade.Conclusao = reader.GetValue <string>("conclusao"); } reader.Close(); } #endregion #region Atividades/Finalidades/Modelos comando = bancoDeDados.CriarComando(@" select ltf.texto finalidade_texto, tm.nome modelo_nome from {0}tab_titulo_modelo tm, {0}lov_titulo_finalidade ltf where tm.id = :modelo and ltf.id = :fin" , EsquemaInterno); comando.AdicionarParametroEntrada("fin", DbType.Int32); comando.AdicionarParametroEntrada("modelo", DbType.Int32); var finalidades = requerimento.Atividades.SelectMany(x => x.Finalidades); foreach (Finalidade f in finalidades) { comando.SetarValorParametro("fin", f.Id); comando.SetarValorParametro("modelo", f.TituloModelo); using (IDataReader readerAux = bancoDeDados.ExecutarReader(comando)) { if (readerAux.Read()) { f.Texto = readerAux["finalidade_texto"].ToString(); f.TituloModeloTexto = readerAux["modelo_nome"].ToString(); } readerAux.Close(); } } #endregion } #region Interessado #region Profissao if (!string.IsNullOrWhiteSpace(requerimento.Interessado.Fisica.Profissao)) { comando = bancoDeDados.CriarComando(@"select texto from {0}tab_profissao where id = :id", EsquemaInterno); comando.AdicionarParametroEntrada("id", Convert.ToInt32(requerimento.Interessado.Fisica.Profissao), DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { if (reader.Read()) { requerimento.Interessado.Fisica.Profissao = reader["texto"].ToString(); } reader.Close(); } } #endregion #region Meios de Contato comando = bancoDeDados.CriarComando(@"select b.id, b.texto, b.mascara from {0}tab_meio_contato b", EsquemaInterno); comando.DbCommand.CommandText += comando.AdicionarIn("where", "b.id", DbType.Int32, requerimento.Interessado.MeiosContatos.Select(x => x.Id).ToList()); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { while (reader.Read()) { int idr = Convert.ToInt32(reader["id"]); var contatos = requerimento.Interessado.MeiosContatos.Where(x => x.Id == idr).ToList(); contatos.ForEach(x => { x.TipoTexto = reader["texto"].ToString(); x.Mascara = reader.GetValue <string>("mascara"); }); } reader.Close(); } #endregion #region Endereco EnderecoRelatorio end = requerimento.Interessado.Endereco; end.MunicipioTexto = ObterMunicipio(end.MunicipioId, bancoDeDados); end.EstadoSigla = ObterEstado(end.EstadoId, bancoDeDados); #endregion #endregion #region Responsaveis #region Funcao comando = bancoDeDados.CriarComando(@"select lf.texto funcao from {0}lov_protocolo_resp_funcao lf where lf.id = :id", EsquemaInterno); comando.AdicionarParametroEntrada("id", DbType.Int32); foreach (var resp in requerimento.Responsaveis) { comando.SetarValorParametro("id", int.Parse(resp.FuncaoTexto)); resp.FuncaoTexto = bancoDeDados.ExecutarScalar <string>(comando); } #endregion #region Meios de Contato comando = bancoDeDados.CriarComando(@"select b.id, b.texto, b.mascara from {0}tab_meio_contato b", EsquemaInterno); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { while (reader.Read()) { int idr = Convert.ToInt32(reader["id"]); var contatos = requerimento.Responsaveis.SelectMany(x => x.MeiosContatos).Where(x => x.Id == idr).ToList(); contatos.ForEach(x => { x.TipoTexto = reader["texto"].ToString(); x.Mascara = reader.GetValue <string>("mascara"); }); } reader.Close(); } #endregion #region Endereços foreach (var endResp in requerimento.Responsaveis.Select(x => x.Endereco)) { endResp.MunicipioTexto = ObterMunicipio(endResp.MunicipioId, bancoDeDados); endResp.EstadoSigla = ObterEstado(endResp.EstadoId, bancoDeDados); } #endregion #endregion #region Empreendimento EmpreendimentoRelatorio emp = requerimento.Empreendimento; #region Atividade if (!string.IsNullOrWhiteSpace(emp.AtividadeTexto)) { comando = bancoDeDados.CriarComando(@"select a.atividade from {0}tab_empreendimento_atividade a where a.id = :id", EsquemaInterno); comando.AdicionarParametroEntrada("id", Convert.ToInt32(emp.AtividadeTexto), DbType.Int32); requerimento.Empreendimento.AtividadeTexto = bancoDeDados.ExecutarScalar <string>(comando); } #endregion #region Segmento if (!string.IsNullOrWhiteSpace(emp.SegmentoTexto)) { comando = bancoDeDados.CriarComando(@"select les.texto from {0}lov_empreendimento_segmento les where les.id = :id", EsquemaInterno); comando.AdicionarParametroEntrada("id", Convert.ToInt32(emp.SegmentoTexto), DbType.Int32); requerimento.Empreendimento.SegmentoTexto = bancoDeDados.ExecutarScalar <string>(comando); } #endregion #region Endereços foreach (var endEmp in emp.Enderecos) { endEmp.MunicipioTexto = ObterMunicipio(endEmp.MunicipioId, bancoDeDados); endEmp.EstadoSigla = ObterEstado(endEmp.EstadoId, bancoDeDados); } #endregion #region Meios de Contato comando = bancoDeDados.CriarComando(@"select b.id, b.texto, b.mascara from tab_meio_contato b", EsquemaInterno); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { while (reader.Read()) { int idr = Convert.ToInt32(reader["id"]); var contatos = emp.MeiosContatos.Where(x => x.Id == idr).ToList(); contatos.ForEach(x => { x.TipoTexto = reader["texto"].ToString(); x.Mascara = reader.GetValue <string>("mascara"); }); } reader.Close(); } #endregion #region Coordenada ListaBus bus = new ListaBus(); emp.Coordenada.DatumTexto = ObterDatum(emp.Coordenada.Datum.Id, bancoDeDados); emp.Coordenada.Tipo.Texto = ObterTipoCoordenada(emp.Coordenada.Tipo.Id, bancoDeDados); if (!string.IsNullOrWhiteSpace(emp.Coordenada.HemisferioUtmTexto)) { emp.Coordenada.HemisferioUtmTexto = bus.Hemisferios.FirstOrDefault(x => x.Id == Convert.ToInt32(emp.Coordenada.HemisferioUtmTexto)).Texto; } if (!string.IsNullOrWhiteSpace(emp.Coordenada.FormaColetaTexto)) { comando = bancoDeDados.CriarComando(@"select c.texto from {0}lov_empreendimento_forma_colet c where c.id = :id", EsquemaInterno); comando.AdicionarParametroEntrada("id", Convert.ToInt32(emp.Coordenada.FormaColetaTexto), DbType.Int32); emp.Coordenada.FormaColetaTexto = bancoDeDados.ExecutarScalar <string>(comando); } if (!string.IsNullOrWhiteSpace(emp.Coordenada.LocalColetaTexto)) { comando = bancoDeDados.CriarComando(@"select c.texto from {0}lov_empreendimento_local_colet c where c.id = :id", EsquemaInterno); comando.AdicionarParametroEntrada("id", Convert.ToInt32(emp.Coordenada.LocalColetaTexto), DbType.Int32); emp.Coordenada.LocalColetaTexto = bancoDeDados.ExecutarScalar <string>(comando); } #endregion #endregion } #endregion return(requerimento); }