Пример #1
0
        internal Laudo ObterDadosPDF(int titulo, BancoDeDados banco = null)
        {
            Laudo laudo = new Laudo();

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                #region Dados do Titulo

                DadosPDF dados = DaEsp.ObterDadosTitulo(titulo, bancoDeDados);
                laudo.Titulo         = dados.Titulo;
                laudo.Protocolo      = dados.Protocolo;
                laudo.Empreendimento = dados.Empreendimento;

                #endregion

                #region Dados da Especificidade

                Comando comando = bancoDeDados.CriarComando(@"select e.id, e.protocolo, e.destinatario, e.data_vistoria, e.objetivo, e.consideracoes, e.descricao_parecer,
															e.conclusao, lc.texto conclusao_texto, e.restricoes, e.observacoes, e.tid, n.numero, n.ano, p.requerimento, p.protocolo protocolo_tipo 
															from {0}esp_laudo_vis_foment_fl e, {0}lov_esp_conclusao lc, {0}tab_titulo_numero n, {0}tab_protocolo p 
															where n.titulo(+) = e.titulo and e.protocolo = p.id(+) and e.titulo = :titulo and lc.id = e.conclusao"                                                            , EsquemaBanco);

                comando.AdicionarParametroEntrada("titulo", titulo, DbType.Int32);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    if (reader.Read())
                    {
                        laudo.Id              = Convert.ToInt32(reader["id"]);
                        laudo.Objetivo        = reader["objetivo"].ToString();
                        laudo.Destinatario.Id = Convert.ToInt32(reader["destinatario"]);

                        laudo.Consideracao       = reader["consideracoes"].ToString();
                        laudo.DescricaoParecer   = reader["descricao_parecer"].ToString();
                        laudo.ConclusaoTipoTexto = reader["conclusao_texto"].ToString();
                        laudo.Restricao          = reader["restricoes"].ToString();
                        laudo.Observacao         = reader["observacoes"].ToString();

                        if (reader["data_vistoria"] != null && !Convert.IsDBNull(reader["data_vistoria"]))
                        {
                            laudo.DataVistoria = Convert.ToDateTime(reader["data_vistoria"]).ToShortDateString();
                        }
                    }

                    reader.Close();
                }

                #endregion

                laudo.Destinatario = DaEsp.ObterDadosPessoa(laudo.Destinatario.Id, laudo.Empreendimento.Id, bancoDeDados);

                laudo.Responsavel = DaEsp.ObterDadosResponsavel(laudo.Responsavel.Id, laudo.Protocolo.Id.GetValueOrDefault(), bancoDeDados);

                laudo.AnaliseItens = DaEsp.ObterAnaliseItem(laudo.Protocolo.Id.GetValueOrDefault(), bancoDeDados);

                laudo.Anexos = DaEsp.ObterAnexos(titulo, bancoDeDados);
            }

            return(laudo);
        }
        internal Certificado ObterDadosPDF(int titulo, BancoDeDados banco = null)
        {
            Certificado certificado = new Certificado();

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                #region Título

                DadosPDF dados = DaEsp.ObterDadosTitulo(titulo, bancoDeDados);
                certificado.Titulo = dados.Titulo;
                certificado.Titulo.SetorEndereco = DaEsp.ObterEndSetor(certificado.Titulo.SetorId);
                certificado.Protocolo            = dados.Protocolo;
                certificado.Empreendimento       = dados.Empreendimento;

                #endregion

                #region Dados da Especificidade

                CertificadoCadastroProdutoAgrotoxico esp = ObterHistorico(titulo, dados.Titulo.SituacaoId, bancoDeDados);

                #endregion

                certificado.Destinatario = DaEsp.ObterDadosPessoa(esp.DestinatarioId, certificado.Empreendimento.Id, bancoDeDados);
                certificado.Agrotoxico   = new AgrotoxicoPDF(ObterAgrotoxico(esp.AgrotoxicoId, banco: bancoDeDados));
            }

            return(certificado);
        }
Пример #3
0
        internal Termo ObterDadosPDF(int titulo, BancoDeDados banco = null)
        {
            Termo termo = new Termo();

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                #region Título

                DadosPDF dados = DaEsp.ObterDadosTitulo(titulo, bancoDeDados);
                termo.Titulo = dados.Titulo;
                termo.Titulo.SetorEndereco = DaEsp.ObterEndSetor(termo.Titulo.SetorId);
                termo.Protocolo            = dados.Protocolo;
                termo.Empreendimento       = dados.Empreendimento;

                #endregion

                #region Dados da Especificidade

                AberturaLivroUnidadeProducao esp = ObterHistorico(titulo, dados.Titulo.SituacaoId, bancoDeDados);
                termo.TotalPaginasLivro = esp.TotalPaginasLivro;
                termo.PaginaInicial     = esp.PaginaInicial;
                termo.PaginaFinal       = esp.PaginaFinal;

                foreach (var item in esp.Unidades)
                {
                    termo.UnidadeProducao.Unidades.Add(new UnidadeProducaoItemPDF(item));
                }

                #endregion

                termo.Destinatario = DaEsp.ObterDadosPessoa(termo.Destinatario.Id, termo.Empreendimento.Id, bancoDeDados);
            }

            return(termo);
        }
        internal Termo ObterDadosPDF(int titulo, BancoDeDados banco = null)
        {
            Termo termo = new Termo();

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                #region Título

                DadosPDF dados = DaEsp.ObterDadosTitulo(titulo, bancoDeDados);
                termo.Titulo = dados.Titulo;
                termo.Titulo.SetorEndereco = DaEsp.ObterEndSetor(termo.Titulo.SetorId);
                termo.Protocolo            = dados.Protocolo;
                termo.Empreendimento       = dados.Empreendimento;

                #endregion

                #region Dados da Especificidade

                AberturaLivroUnidadeConsolidacao esp = ObterHistorico(titulo, dados.Titulo.SituacaoId, bancoDeDados);
                termo.TotalPaginasLivro = esp.TotalPaginasLivro;
                termo.PaginaInicial     = esp.PaginaInicial;
                termo.PaginaFinal       = esp.PaginaFinal;

                #endregion

                termo.Destinatario = DaEsp.ObterDadosPessoa(termo.Destinatario.Id, termo.Empreendimento.Id, bancoDeDados);

                termo.UnidadeConsolidacao = new UnidadeConsolidacaoPDF();
                termo.UnidadeConsolidacao.ResponsaveisEmpreendimento = DaEsp.ObterEmpreendimentoResponsaveis(termo.Empreendimento.Id.GetValueOrDefault());
            }

            return(termo);
        }
        internal Oficio ObterDadosPDF(int titulo, BancoDeDados banco = null)
        {
            Oficio oficio = new Oficio();

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                #region Dados do Título

                DadosPDF dados = DaEsp.ObterDadosTitulo(titulo, bancoDeDados);

                oficio.Titulo = dados.Titulo;
                oficio.Titulo.SetorEndereco = DaEsp.ObterEndSetor(oficio.Titulo.SetorId);
                oficio.Protocolo            = dados.Protocolo;
                oficio.Empreendimento       = dados.Empreendimento;

                #endregion

                #region Dados da Especificidade

                Comando comando = bancoDeDados.CriarComando(@"select e.dimensao, e.destinatario, e.descricao, ee.zona empreendimento_tipo
															from {0}esp_oficio_usucapiao e, {0}tab_protocolo p, {0}tab_empreendimento_endereco ee
															where e.protocolo = p.id and ee.empreendimento(+) = p.empreendimento and ee.correspondencia = 0 
															and e.titulo = :id"                                                            , EsquemaBanco);

                comando.AdicionarParametroEntrada("id", titulo, DbType.Int32);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    if (reader.Read())
                    {
                        oficio.DestinatarioPGE = reader["destinatario"].ToString();
                        oficio.Descricao       = reader["descricao"].ToString();
                        oficio.Dimensao        = Convert.ToDecimal(reader["dimensao"]).ToStringTrunc();

                        if (reader["empreendimento_tipo"] != null && !Convert.IsDBNull(reader["empreendimento_tipo"]))
                        {
                            oficio.EmpreendimentoTipo = reader.GetValue <Int32>("empreendimento_tipo");
                        }
                    }

                    reader.Close();
                }

                #endregion

                oficio.Destinatario = DaEsp.ObterDadosPessoa(oficio.Destinatario.Id, oficio.Empreendimento.Id, bancoDeDados);

                oficio.Anexos = DaEsp.ObterAnexos(titulo, bancoDeDados);
            }

            return(oficio);
        }
        internal Certidao ObterDadosPDF(int titulo, BancoDeDados banco = null)
        {
            Certidao certidao = new Certidao();

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                #region Dados do Titulo

                DadosPDF dados = DaEsp.ObterDadosTitulo(titulo, bancoDeDados);

                certidao.Titulo = dados.Titulo;
                certidao.Titulo.SetorEndereco = DaEsp.ObterEndSetor(certidao.Titulo.SetorId);
                certidao.Protocolo            = dados.Protocolo;
                certidao.Empreendimento       = dados.Empreendimento;

                #endregion

                #region Dados da Especificidade

                Comando comando = bancoDeDados.CriarComando(@" select e.id, e.descricao, d.matricula, d.cartorio, d.livro, d.folha, d.numero_ccri numero_ccir from {0}esp_certidao_carta_anuencia
					e, {0}crt_dominialidade_dominio d where e.titulo = :id and e.dominio = d.id "                    , EsquemaBanco);

                comando.AdicionarParametroEntrada("id", titulo, DbType.Int32);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    if (reader.Read())
                    {
                        certidao.Id         = Convert.ToInt32(reader["id"]);
                        certidao.Matricula  = reader["matricula"].ToString();
                        certidao.Cartorio   = reader["cartorio"].ToString();
                        certidao.Livro      = reader["livro"].ToString();
                        certidao.Folha      = reader["folha"].ToString();
                        certidao.NumeroCCIR = reader["numero_ccir"].ToString();
                        certidao.Descricao  = reader["descricao"].ToString();
                    }

                    reader.Close();
                }

                #endregion

                #region Destinatarios
                comando = bancoDeDados.CriarComando(@"select e.destinatario from {0}esp_certidao_carta_anuen_dest e where e.especificidade = :especificidade", EsquemaBanco);
                comando.AdicionarParametroEntrada("especificidade", certidao.Id, DbType.Int32);
                List <Int32> destinatarios = bancoDeDados.ExecutarList <Int32>(comando);
                certidao.Destinatarios = destinatarios.Select(x => DaEsp.ObterDadosPessoa(x, certidao.Empreendimento.Id, bancoDeDados)).ToList();
                #endregion
            }

            return(certidao);
        }
        internal Cadastro ObterDadosPDF(int titulo, BancoDeDados banco)
        {
            Cadastro cadastro = new Cadastro();

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                #region Dados do Titulo

                DadosPDF dados = DaEsp.ObterDadosTitulo(titulo, bancoDeDados);

                cadastro.Titulo = dados.Titulo;
                cadastro.Titulo.SetorEndereco = DaEsp.ObterEndSetor(cadastro.Titulo.SetorId);
                cadastro.Protocolo            = dados.Protocolo;
                cadastro.Empreendimento       = dados.Empreendimento;

                #endregion

                #region Dados da Especificidade

                Comando comando = bancoDeDados.CriarComando(@"select e.destinatario, e.protocolo, e.matricula, 
															(select count(1) from tab_empreendimento_responsavel er, tab_protocolo p, tab_titulo t 
															where er.empreendimento = p.empreendimento
															and er.responsavel <> e.destinatario
															and p.id = t.protocolo
															and t.id = e.titulo) possui_outros 
															from esp_cad_ambiental_rural e where e.titulo = :id"                                                            , EsquemaBanco);

                comando.AdicionarParametroEntrada("id", titulo, DbType.Int32);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    if (reader.Read())
                    {
                        cadastro.Destinatario.Id          = Convert.ToInt32(reader["destinatario"]);
                        cadastro.Protocolo.Id             = Convert.ToInt32(reader["protocolo"]);
                        cadastro.DestinatarioPossuiOutros = reader.GetValue <Int32>("possui_outros") > 0;
                        cadastro.Matricula = reader.GetValue <String>("matricula");
                    }

                    reader.Close();
                }

                #endregion

                cadastro.Destinatario = DaEsp.ObterDadosPessoa(cadastro.Destinatario.Id, cadastro.Empreendimento.Id, bancoDeDados);
            }

            return(cadastro);
        }
Пример #8
0
        internal Termo ObterDadosPDF(int titulo, BancoDeDados banco = null)
        {
            Termo  termo         = new Termo();
            string compromitente = string.Empty;

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                #region Título

                DadosPDF dados = DaEsp.ObterDadosTitulo(titulo, bancoDeDados);
                termo.Titulo         = dados.Titulo;
                termo.Protocolo      = dados.Protocolo;
                termo.Empreendimento = dados.Empreendimento;

                #endregion

                #region Dados da Especificidade

                Comando comando = bancoDeDados.CriarComando(@"
				select e.destinatario, e.descricao, num_lar.numero||'/'||num_lar.ano numero_lar,
				(case when e.representante is not null then (select p.nome from tab_pessoa p where p.id = e.representante)
				else (select p.nome from tab_pessoa p where p.id = e.destinatario) end) compromitente 
				from esp_termo_compr_amb e, tab_titulo_numero num_lar  where e.titulo = :titulo and num_lar.titulo = e.licenca"                , EsquemaBanco);

                comando.AdicionarParametroEntrada("titulo", titulo, DbType.Int32);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    if (reader.Read())
                    {
                        termo.Destinatario.Id = reader.GetValue <int>("destinatario");
                        termo.NumeroLAR       = reader.GetValue <string>("numero_lar");
                        termo.Descricao       = reader.GetValue <string>("descricao");
                        compromitente         = reader.GetValue <string>("compromitente");
                    }

                    reader.Close();
                }

                #endregion

                termo.Destinatario = DaEsp.ObterDadosPessoa(termo.Destinatario.Id, termo.Empreendimento.Id, bancoDeDados);
                termo.Titulo.AssinanteSource.Add(new AssinanteDefault {
                    Cargo = "Compromitente", Nome = compromitente
                });
            }

            return(termo);
        }
        internal Laudo ObterDadosPDF(int titulo, BancoDeDados banco = null)
        {
            Laudo laudo = new Laudo();

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                #region Dados do Título

                DadosPDF dados = DaEsp.ObterDadosTitulo(titulo, bancoDeDados);
                laudo.Titulo         = dados.Titulo;
                laudo.Protocolo      = dados.Protocolo;
                laudo.Empreendimento = dados.Empreendimento;

                #endregion

                #region Dados da Especificidade

                Comando comando = bancoDeDados.CriarComando(@"select e.objetivo, e.constatacao_parecer, e.destinatario, e.data_vistoria 
				from {0}esp_laudo_constatacao e where e.titulo = :id"                , EsquemaBanco);

                comando.AdicionarParametroEntrada("id", titulo, DbType.Int32);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    if (reader.Read())
                    {
                        laudo.Objetivo         = reader["objetivo"].ToString();
                        laudo.Parecer          = reader["constatacao_parecer"].ToString();
                        laudo.DescricaoParecer = reader["constatacao_parecer"].ToString();
                        laudo.Destinatario.Id  = Convert.ToInt32(reader["destinatario"]);

                        if (reader["data_vistoria"] != null && !Convert.IsDBNull(reader["data_vistoria"]))
                        {
                            laudo.DataVistoria = Convert.ToDateTime(reader["data_vistoria"]).ToShortDateString();
                        }
                    }

                    reader.Close();
                }

                #endregion

                laudo.Destinatario = DaEsp.ObterDadosPessoa(laudo.Destinatario.Id, laudo.Empreendimento.Id, bancoDeDados);

                laudo.Anexos = DaEsp.ObterAnexos(titulo, bancoDeDados);
            }

            return(laudo);
        }
Пример #10
0
        internal Notificacao ObterDadosPDF(int titulo, BancoDeDados banco = null)
        {
            Notificacao notificacao = new Notificacao();

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                #region Dados do Titulo

                DadosPDF dados = DaEsp.ObterDadosTitulo(titulo, bancoDeDados);

                notificacao.Titulo = dados.Titulo;
                notificacao.Titulo.SetorEndereco = DaEsp.ObterEndSetor(notificacao.Titulo.SetorId);
                notificacao.Protocolo            = dados.Protocolo;
                notificacao.Empreendimento       = dados.Empreendimento;

                #endregion

                #region Dados da Especificidade

                Comando comando = bancoDeDados.CriarComando(@"select e.id, a.atividade from {0}esp_notificacao_embargo e, {0}tab_atividade a where e.titulo = :id and e.atividade_embargo = a.id", EsquemaBanco);
                comando.AdicionarParametroEntrada("id", titulo, DbType.Int32);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    if (reader.Read())
                    {
                        notificacao.Id = Convert.ToInt32(reader["id"]);
                        notificacao.AtividadeEmbargada = reader.GetValue <String>("atividade");
                    }

                    reader.Close();
                }

                #endregion

                #region Destinatarios

                comando = bancoDeDados.CriarComando(@"select e.destinatario from {0}esp_notificacao_embargo_dest e where e.especificidade = :especificidade", EsquemaBanco);
                comando.AdicionarParametroEntrada("especificidade", notificacao.Id, DbType.Int32);
                List <Int32> destinatarios = bancoDeDados.ExecutarList <Int32>(comando);
                notificacao.Destinatarios = destinatarios.Select(x => DaEsp.ObterDadosPessoa(x, notificacao.Empreendimento.Id, bancoDeDados)).ToList();

                #endregion
            }

            return(notificacao);
        }
        internal Certidao ObterDadosPDF(int titulo, BancoDeDados banco = null)
        {
            Certidao certidao = new Certidao();

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                #region Dados do Titulo

                DadosPDF dados = DaEsp.ObterDadosTitulo(titulo, bancoDeDados);
                certidao.Titulo         = dados.Titulo;
                certidao.Protocolo      = dados.Protocolo;
                certidao.Empreendimento = dados.Empreendimento;

                #endregion

                #region Dados da Especificidade

                Comando comando = bancoDeDados.CriarComando(@"select e.id, e.certificacao from {0}esp_certidao_anuencia e where e.titulo = :id", EsquemaBanco);

                comando.AdicionarParametroEntrada("id", titulo, DbType.Int32);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    if (reader.Read())
                    {
                        certidao.Id           = reader.GetValue <Int32>("id");
                        certidao.Certificacao = reader.GetValue <string>("certificacao");
                    }

                    reader.Close();
                }

                #endregion

                #region Destinatarios

                comando = bancoDeDados.CriarComando(@"select e.destinatario from {0}esp_certidao_anuencia_dest e where e.especificidade = :especificidade", EsquemaBanco);
                comando.AdicionarParametroEntrada("especificidade", certidao.Id, DbType.Int32);
                List <Int32> destinatarios = bancoDeDados.ExecutarList <Int32>(comando);
                certidao.Destinatarios = destinatarios.Select(x => DaEsp.ObterDadosPessoa(x, certidao.Empreendimento.Id, bancoDeDados)).ToList();

                #endregion
            }

            return(certidao);
        }
        internal Outros ObterDadosPDF(int titulo, BancoDeDados banco = null)
        {
            Outros           outros  = new Outros();
            List <PessoaPDF> pessoas = new List <PessoaPDF>();

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                DadosPDF dados = DaEsp.ObterDadosTitulo(titulo, bancoDeDados);

                outros.Titulo = dados.Titulo;
                outros.Titulo.SetorEndereco = DaEsp.ObterEndSetor(outros.Titulo.SetorId);
                outros.Protocolo            = dados.Protocolo;
                outros.Empreendimento       = dados.Empreendimento;

                #region Pesssoas

                Comando comando = bancoDeDados.CriarComando(@"select ep.pessoa_tipo, nvl(p.nome, p.razao_social) nome_razao 
				from {0}esp_out_con_tra_dominio e, {0}esp_out_con_tra_dom_pes ep, {0}tab_pessoa p
				where e.id = ep.especificidade and ep.pessoa = p.id and e.titulo = :titulo"                , EsquemaBanco);

                comando.AdicionarParametroEntrada("titulo", titulo, DbType.Int32);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    while (reader.Read())
                    {
                        PessoaPDF pessoa = new PessoaPDF();
                        pessoa.Tipo            = reader.GetValue <int>("pessoa_tipo");
                        pessoa.NomeRazaoSocial = reader.GetValue <string>("nome_razao");
                        pessoas.Add(pessoa);
                    }

                    reader.Close();
                }

                outros.Destinatarios = pessoas.Where(x => x.Tipo == (int)ePessoaAssociacaoTipo.Destinatario).ToList();
                outros.Interessados  = pessoas.Where(x => x.Tipo == (int)ePessoaAssociacaoTipo.Interessado).ToList();
                outros.ResponsaveisEmpreendimento = pessoas.Where(x => x.Tipo == (int)ePessoaAssociacaoTipo.Responsavel).ToList();

                #endregion Pesssoas
            }

            return(outros);
        }
Пример #13
0
        internal Certificado ObterDadosPDF(int titulo, BancoDeDados banco = null)
        {
            Certificado certificado = new Certificado();

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                #region Dados do Titulo

                DadosPDF dados = DaEsp.ObterDadosTitulo(titulo, bancoDeDados);

                certificado.Titulo = dados.Titulo;
                certificado.Titulo.SetorEndereco = DaEsp.ObterEndSetor(certificado.Titulo.SetorId);
                certificado.Protocolo            = dados.Protocolo;
                certificado.Empreendimento       = dados.Empreendimento;

                #endregion

                #region Dados da Especificidade

                Comando comando = bancoDeDados.CriarComando(@"select e.id, e.tid, e.protocolo, e.destinatario, e.via, e.ano_exercicio
                    from {0}esp_cer_reg_ati_florestal e where e.titulo = :titulo ", EsquemaBanco);

                comando.AdicionarParametroEntrada("titulo", titulo, DbType.Int32);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    if (reader.Read())
                    {
                        certificado.Destinatario    = new PessoaPDF();
                        certificado.Destinatario.Id = Convert.ToInt32(reader["destinatario"]);
                        certificado.Vias            = reader["via"].ToString();
                        certificado.AnoExercicio    = reader["ano_exercicio"].ToString();
                    }

                    reader.Close();
                }

                #endregion

                certificado.Destinatario = DaEsp.ObterDadosPessoa(certificado.Destinatario.Id, certificado.Empreendimento.Id, bancoDeDados);
            }

            return(certificado);
        }
        internal Autorizacao ObterDadosPDF(int titulo, BancoDeDados banco = null)
        {
            Autorizacao autorizacao = new Autorizacao();

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                #region Dados do Titulo

                DadosPDF dados = DaEsp.ObterDadosTitulo(titulo, bancoDeDados);

                autorizacao.Titulo = dados.Titulo;
                autorizacao.Titulo.SetorEndereco = DaEsp.ObterEndSetor(autorizacao.Titulo.SetorId);
                autorizacao.Protocolo            = dados.Protocolo;
                autorizacao.Empreendimento       = dados.Empreendimento;

                #endregion

                #region Dados da Especificidade

                Comando comando = bancoDeDados.CriarComando(@"select e.destinatario, e.observacao from {0}esp_auto_exploracao_florestal e where titulo = :id", EsquemaBanco);
                comando.AdicionarParametroEntrada("id", titulo, DbType.Int32);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    if (reader.Read())
                    {
                        autorizacao.Destinatario.Id = Convert.ToInt32(reader["destinatario"]);
                        autorizacao.Observacao      = reader["observacao"].ToString();
                    }

                    reader.Close();
                }

                #endregion

                autorizacao.Destinatario = DaEsp.ObterDadosPessoa(autorizacao.Destinatario.Id, autorizacao.Empreendimento.Id, bancoDeDados);

                autorizacao.Anexos = DaEsp.ObterAnexos(titulo, bancoDeDados);
            }

            return(autorizacao);
        }
Пример #15
0
        internal Licenca ObterDadosPDF(int titulo, BancoDeDados banco = null)
        {
            Licenca Licenca = new Licenca();

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                #region Dados do Titulo

                DadosPDF dados = DaEsp.ObterDadosTitulo(titulo, bancoDeDados);

                Licenca.Titulo = dados.Titulo;
                Licenca.Titulo.SetorEndereco = DaEsp.ObterEndSetor(Licenca.Titulo.SetorId);
                Licenca.Protocolo            = dados.Protocolo;
                Licenca.Empreendimento       = dados.Empreendimento;

                #endregion
            }

            return(Licenca);
        }
        internal Outros ObterDadosPDF(int titulo, BancoDeDados banco = null)
        {
            Outros outros = new Outros();

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                #region Dados do Titulo

                DadosPDF dados = DaEsp.ObterDadosTitulo(titulo, bancoDeDados);

                outros.Titulo = dados.Titulo;
                outros.Titulo.SetorEndereco = DaEsp.ObterEndSetor(outros.Titulo.SetorId);
                outros.Protocolo            = dados.Protocolo;
                outros.Empreendimento       = dados.Empreendimento;

                #endregion

                #region Dados da Especificidade

                Comando comando = bancoDeDados.CriarComando(@"select e.destinatario from {0}esp_out_recibo_entrega_copia e where titulo = :id", EsquemaBanco);
                comando.AdicionarParametroEntrada("id", titulo, DbType.Int32);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    if (reader.Read())
                    {
                        outros.Destinatario.Id = Convert.ToInt32(reader["destinatario"]);
                    }

                    reader.Close();
                }

                #endregion

                outros.Destinatario = DaEsp.ObterDadosPessoa(outros.Destinatario.Id, outros.Empreendimento.Id, bancoDeDados);
            }

            return(outros);
        }
        internal Termo ObterDadosPDF(int titulo, BancoDeDados banco = null)
        {
            Termo termo = new Termo();

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                #region Dados do Título

                DadosPDF dados = DaEsp.ObterDadosTitulo(titulo, bancoDeDados);
                termo.Titulo         = dados.Titulo;
                termo.Protocolo      = dados.Protocolo;
                termo.Empreendimento = dados.Empreendimento;

                #endregion

                #region Dados da Especificidade

                TermoAprovacaoMedicao termoApvMed = Obter(titulo, bancoDeDados);
                termo.DataMedicaoDia      = DateTime.Parse(termoApvMed.DataMedicao.DataTexto).ToString("dd");
                termo.DataMedicaoMesTexto = DateTime.Parse(termoApvMed.DataMedicao.DataTexto).ToString("MMMM");
                termo.DataMedicaoAno      = DateTime.Parse(termoApvMed.DataMedicao.DataTexto).ToString("yyyy");
                termo.Destinatario        = DaEsp.ObterDadosPessoa(termoApvMed.Destinatario, termo.Empreendimento.Id, bancoDeDados);

                if (termoApvMed.TipoResponsavel == 1)
                {
                    termo.Funcionario = DaEsp.ObterDadosFuncionario(termoApvMed.Funcionario.Value, bancoDeDados);
                    termo.Responsavel = null;
                }
                else if (termoApvMed.TipoResponsavel == 2)
                {
                    termo.Responsavel = DaEsp.ObterDadosResponsavel(termoApvMed.ResponsavelMedicao.Value, termo.Protocolo.Id.Value, bancoDeDados);
                    termo.Funcionario = null;
                }

                #endregion
            }

            return(termo);
        }
Пример #18
0
        internal Licenca ObterDadosPDF(int titulo, BancoDeDados banco = null)
        {
            Licenca Licenca = new Licenca();

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                #region Dados do Titulo

                DadosPDF dados = DaEsp.ObterDadosTitulo(titulo, bancoDeDados);

                Licenca.Titulo = dados.Titulo;
                Licenca.Titulo.SetorEndereco = DaEsp.ObterEndSetor(Licenca.Titulo.SetorId);
                Licenca.Protocolo            = dados.Protocolo;
                Licenca.Empreendimento       = dados.Empreendimento;

                #endregion

                #region Dados da Especificidade

                Comando comando = bancoDeDados.CriarComando(@"select e.destinatario from {0}esp_licenca_ambiental_regulari e where titulo = :id", EsquemaBanco);
                comando.AdicionarParametroEntrada("id", titulo, DbType.Int32);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    if (reader.Read())
                    {
                        Licenca.Destinatario.Id = Convert.ToInt32(reader["destinatario"]);
                    }

                    reader.Close();
                }

                #endregion

                Licenca.Destinatario = DaEsp.ObterDadosPessoa(Licenca.Destinatario.Id, Licenca.Empreendimento.Id, bancoDeDados);
            }

            return(Licenca);
        }
        internal CertidaoDispensaLicenciamentoAmbientalPDF ObterDadosPDF(int titulo, BancoDeDados banco = null)
        {
            CertidaoDispensaLicenciamentoAmbientalPDF certidao = new CertidaoDispensaLicenciamentoAmbientalPDF();

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                #region Dados do Titulo

                DadosPDF dados = DaEsp.ObterDadosTitulo(titulo, bancoDeDados);
                certidao.Titulo         = dados.Titulo;
                certidao.Empreendimento = dados.Empreendimento;

                #endregion

                #region Dados da Especificidade

                Comando comando = bancoDeDados.CriarComando(@"select l.texto vinculo_propriedade, vinculo_propriedade_outro 
				from esp_cert_disp_amb e, tab_titulo t, lov_esp_cert_disp_amb l where t.id = e.titulo and l.id  = e.vinculo_propriedade and e.titulo = :id"                , EsquemaBanco);

                comando.AdicionarParametroEntrada("id", titulo, DbType.Int32);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    if (reader.Read())
                    {
                        certidao.VinculoPropriedade      = reader.GetValue <string>("vinculo_propriedade");
                        certidao.VinculoPropriedadeOutro = reader.GetValue <string>("vinculo_propriedade_outro");
                    }

                    reader.Close();
                }

                #endregion
            }

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(UsuarioCredenciado))
            {
                #region Dados da Especificidade

                Comando comando = bancoDeDados.CriarComando(@"select nvl(p.nome, p.razao_social) nome, nvl(p.cpf, p.cnpj) cpf 
				from tab_requerimento r, tab_pessoa p where p.id = r.interessado and r.id = :requerimento"                , UsuarioCredenciado);

                comando.AdicionarParametroEntrada("requerimento", certidao.Titulo.Requerimento.Numero, DbType.Int32);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    if (reader.Read())
                    {
                        certidao.Interessado.NomeRazaoSocial = reader.GetValue <string>("nome");
                        certidao.Interessado.CPFCNPJ         = reader.GetValue <string>("cpf");
                    }

                    reader.Close();
                }

                #endregion

                #region Pesssoas

                List <PessoaPDF> pessoas = new List <PessoaPDF>();

                comando = bancoDeDados.CriarComando(@"select nvl(p.nome, p.razao_social) nome_razao, 'Interessado' vinculo_tipo 
				from tab_requerimento r, tab_pessoa p where p.id = r.interessado and r.id = :requerimento
				union all 
				select nvl(p.nome, p.razao_social) nome_razao, 'Responsável Técnico' vinculo_tipo 
				from tab_requerimento_responsavel r, tab_pessoa p where p.id = r.responsavel and r.requerimento = :requerimento"                , EsquemaBanco);

                comando.AdicionarParametroEntrada("requerimento", certidao.Titulo.Requerimento.Numero, DbType.Int32);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    PessoaPDF pessoa = null;

                    while (reader.Read())
                    {
                        pessoa = new PessoaPDF();
                        pessoa.VinculoTipoTexto = reader.GetValue <string>("vinculo_tipo");
                        pessoa.NomeRazaoSocial  = reader.GetValue <string>("nome_razao");
                        pessoas.Add(pessoa);
                    }

                    reader.Close();
                }

                pessoas.ForEach(item =>
                {
                    certidao.Titulo.AssinanteSource.Add(new AssinanteDefault {
                        Cargo = item.VinculoTipoTexto, Nome = item.NomeRazaoSocial
                    });
                });

                #endregion Pesssoas
            }

            return(certidao);
        }
        internal Laudo ObterDadosPDF(int titulo, BancoDeDados banco = null)
        {
            Laudo laudo = new Laudo();

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                #region Dados do Titulo

                DadosPDF dados = DaEsp.ObterDadosTitulo(titulo, bancoDeDados);
                laudo.Titulo         = dados.Titulo;
                laudo.Protocolo      = dados.Protocolo;
                laudo.Empreendimento = dados.Empreendimento;

                #endregion

                #region Dados da Especificidade

                Comando comando = bancoDeDados.CriarComando(@"select e.id, e.protocolo, e.destinatario, e.data_vistoria, e.objetivo, e.plantio_app, e.plantio_app_area, 
															e.plantio_esp_flor_nativ, e.plantio_esp_flor_nativ_qtd, e.plantio_esp_flor_nativ_area, e.preparo_solo, e.preparo_solo_area, 
															e.resultado, lr.texto resultado_texto, e.resultado_quais, e.descricao_parecer, e.tid 
															from {0}esp_laudo_aud_foment_fl e, {0}lov_esp_laudo_aud_foment_resul lr where e.titulo = :id and lr.id = e.resultado"                                                            , EsquemaBanco);

                comando.AdicionarParametroEntrada("id", titulo, DbType.Int32);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    if (reader.Read())
                    {
                        laudo.Id              = Convert.ToInt32(reader["id"]);
                        laudo.Objetivo        = reader["objetivo"].ToString();
                        laudo.Destinatario.Id = Convert.ToInt32(reader["destinatario"]);

                        laudo.PlantioAPP     = Convert.ToInt32(reader["plantio_app"]) == 1 ? "Sim" : "Não";
                        laudo.PlantioAPPArea = reader["plantio_app_area"].ToString();

                        if (reader["data_vistoria"] != null && !Convert.IsDBNull(reader["data_vistoria"]))
                        {
                            laudo.DataVistoria = Convert.ToDateTime(reader["data_vistoria"]).ToShortDateString();
                        }

                        if (reader["resultado_quais"] != null && !Convert.IsDBNull(reader["resultado_quais"]))
                        {
                            laudo.ResultadoQuais = reader["resultado_quais"].ToString();
                        }

                        laudo.PlantioMudasEspeciesFlorestNativas     = Convert.ToInt32(reader["plantio_esp_flor_nativ"]) == 1 ? "Sim" : "Não";
                        laudo.PlantioMudasEspeciesFlorestNativasQtd  = reader["plantio_esp_flor_nativ_qtd"].ToString();
                        laudo.PlantioMudasEspeciesFlorestNativasArea = reader["plantio_esp_flor_nativ_area"].ToString();

                        laudo.PreparoSolo     = Convert.ToInt32(reader["preparo_solo"]) == 1 ? "Sim" : "Não";
                        laudo.PreparoSoloArea = reader["preparo_solo_area"].ToString();

                        laudo.ResultadoTipoTexto = reader["resultado_texto"].ToString();
                        laudo.DescricaoParecer   = reader["descricao_parecer"].ToString();
                    }

                    reader.Close();
                }

                #endregion

                laudo.Destinatario = DaEsp.ObterDadosPessoa(laudo.Destinatario.Id, laudo.Empreendimento.Id, bancoDeDados);

                laudo.Responsavel = DaEsp.ObterDadosResponsavel(laudo.Responsavel.Id, laudo.Protocolo.Id.GetValueOrDefault(), bancoDeDados);

                laudo.AnaliseItens = DaEsp.ObterAnaliseItem(laudo.Protocolo.Id.GetValueOrDefault(), bancoDeDados);

                laudo.Anexos = DaEsp.ObterAnexos(titulo, bancoDeDados);
            }

            return(laudo);
        }
        internal Outros ObterDadosPDF(int titulo, BancoDeDados banco = null)
        {
            Outros                    outros        = new Outros();
            InformacaoCorteBus        infoCorteBus  = new InformacaoCorteBus();
            InformacaoCorte           infoCorte     = null;
            InformacaoCorteInformacao infoCorteInfo = null;
            int infoCorteInfoId = 0;

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                #region Dados do Titulo

                DadosPDF dados = DaEsp.ObterDadosTitulo(titulo, bancoDeDados);

                outros.Titulo = dados.Titulo;
                outros.Titulo.SetorEndereco = DaEsp.ObterEndSetor(outros.Titulo.SetorId);
                outros.Protocolo            = dados.Protocolo;
                outros.Empreendimento       = dados.Empreendimento;

                #endregion

                #region Especificidade

                Comando comando = bancoDeDados.CriarComando(@" select e.destinatario, e.informacao_corte from {0}esp_out_informacao_corte e where e.titulo = :titulo ", EsquemaBanco);

                comando.AdicionarParametroEntrada("titulo", titulo, DbType.Int32);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    if (reader.Read())
                    {
                        outros.Destinatario = _daEsp.ObterDadosPessoa(reader.GetValue <int>("destinatario"), outros.Empreendimento.Id, bancoDeDados);
                        infoCorteInfoId     = reader.GetValue <int>("informacao_corte");
                    }

                    reader.Close();
                }

                #endregion

                #region Dominialidade

                DominialidadeBus _dominialidadeBus = new DominialidadeBus();

                outros.Dominialidade = new DominialidadePDF(_dominialidadeBus.ObterPorEmpreendimento(outros.Empreendimento.Id.GetValueOrDefault(), banco: bancoDeDados));

                #endregion

                #region Informação de corte

                infoCorte = infoCorteBus.ObterPorEmpreendimento(outros.Empreendimento.Id.GetValueOrDefault(), banco: bancoDeDados);

                if (infoCorte != null)
                {
                    infoCorteInfo = infoCorte.InformacoesCortes.SingleOrDefault(x => x.Id == infoCorteInfoId);

                    if (infoCorteInfo != null)
                    {
                        outros.InformacaoCorteInfo = new InformacaoCorteInfoPDF(infoCorteInfo);
                    }
                }

                #endregion
            }

            return(outros);
        }
Пример #22
0
        internal Termo ObterDadosPDF(int titulo, BancoDeDados banco = null)
        {
            Termo termo = new Termo();

            termo.Dominialidade = new DominialidadePDF();
            List <int> destinatarioIds = new List <int>();
            PessoaPDF  pessoa          = null;
            DateTime   dataEmissao;

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                #region Título

                DadosPDF dados = DaEsp.ObterDadosTitulo(titulo, bancoDeDados);
                termo.Titulo         = dados.Titulo;
                termo.Protocolo      = dados.Protocolo;
                termo.Empreendimento = dados.Empreendimento;
                termo.Dominialidade  = new DominialidadePDF(new DominialidadeBus().ObterPorEmpreendimento(dados.Empreendimento.Id.GetValueOrDefault()));

                #endregion

                #region Especificidade

                Comando comando = bancoDeDados.CriarComando(@"select e.data_emissao_titulo_anterior, e.numero_averbacao from {0}esp_termo_comp_pfarlr e where e.titulo = :titulo", EsquemaBanco);

                comando.AdicionarParametroEntrada("titulo", titulo, DbType.Int32);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    if (reader.Read())
                    {
                        dataEmissao           = reader.GetValue <DateTime>("data_emissao_titulo_anterior");
                        termo.NumeroAverbacao = reader.GetValue <string>("numero_averbacao");

                        GerenciadorConfiguracao _config = new GerenciadorConfiguracao(new ConfiguracaoSistema());
                        termo.Titulo.TituloAnteriorMesEmissao = _config.Obter <List <String> >(ConfiguracaoSistema.KeyMeses).ElementAt(dataEmissao.Month - 1);
                        termo.Titulo.TituloAnteriorDiaEmissao = dataEmissao.Day.ToString();
                        termo.Titulo.TituloAnteriorAnoEmissao = dataEmissao.Year.ToString();
                    }

                    reader.Close();
                }

                #endregion

                #region Informacões do cartorio

                comando = bancoDeDados.CriarComando(@"select stragg(distinct ' nº ' || b.numero_cartorio || ', folha(s) ' || b.numero_folha || ' do livro nº ' || b.numero_livro ||
													', no ' || b.nome_cartorio) cartorio from {0}esp_termo_comp_pfarlr a, {0}crt_dominialidade_reserva b, {0}tab_titulo t
													where b.dominio in (select id from {0}crt_dominialidade_dominio where dominialidade =  (select id from {0}crt_dominialidade 
													where empreendimento = t.empreendimento and t.id = a.titulo)) and a.titulo = :titulo and t.id = a.titulo"                                                    , EsquemaBanco);

                comando.AdicionarParametroEntrada("titulo", titulo, DbType.Int32);

                termo.InformacoesRegistro = bancoDeDados.ExecutarScalar <string>(comando);

                #endregion

                #region Interessado

                comando = bancoDeDados.CriarComando(@" select t.destinatario from {0}esp_termo_comp_pfarlr_destina t, {0}esp_termo_comp_pfarlr e where t.especificidade = e.id and e.titulo = :titulo ", EsquemaBanco);
                comando.AdicionarParametroEntrada("titulo", titulo, DbType.Int32);
                destinatarioIds    = bancoDeDados.ExecutarList <int>(comando);
                termo.Interessados = new List <PessoaPDF>();
                foreach (int destId in destinatarioIds)
                {
                    pessoa = _daEsp.ObterDadosPessoa(destId, dados.Empreendimento.Id, banco);
                    pessoa.VinculoTipoTexto = pessoa.VinculoTipoTexto == "Outro" ? "Representante" : pessoa.VinculoTipoTexto;
                    termo.Interessados.Add(pessoa);
                }

                #endregion

                #region ARLs

                comando = bancoDeDados.CriarComando(@"select r.identificacao, r.arl_croqui, null coordenadaN, null coordenadaE,
													r.situacao_vegetal from {0}crt_dominialidade_reserva r, {0}esp_termo_comp_pfarlr e where e.titulo = :titulo
													and r.dominio in (select id from {0}crt_dominialidade_dominio where dominialidade = :dominialidade)"                                                    , EsquemaBanco);

                comando.AdicionarParametroEntrada("titulo", titulo, DbType.Int32);
                comando.AdicionarParametroEntrada("dominialidade", termo.Dominialidade.Id, DbType.Int32);

                AreaReservaLegalPDF areaARLPdf = null;

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    termo.RLFormacao   = new List <AreaReservaLegalPDF>();
                    termo.RLPreservada = new List <AreaReservaLegalPDF>();

                    while (reader.Read())
                    {
                        areaARLPdf = new AreaReservaLegalPDF()
                        {
                            Tipo          = reader.GetValue <int>("situacao_vegetal"),
                            AreaCroqui    = Convert.ToDecimal(reader.GetValue <string>("arl_croqui")).ToStringTrunc(),
                            CoordenadaE   = reader.GetValue <string>("coordenadaE"),
                            CoordenadaN   = reader.GetValue <string>("coordenadaN"),
                            Identificacao = reader.GetValue <string>("identificacao")
                        };

                        if (areaARLPdf.Tipo == (int)eReservaLegalSituacaoVegetal.Preservada)
                        {
                            termo.RLPreservada.Add(areaARLPdf);
                        }
                        else if (areaARLPdf.Tipo == (int)eReservaLegalSituacaoVegetal.EmRecuperacao)
                        {
                            termo.RLFormacao.Add(areaARLPdf);
                        }
                    }

                    reader.Close();
                }

                termo.RLTotalPreservada = termo.RLPreservada.Sum(x => Convert.ToDecimal(x.AreaCroqui)).ToStringTrunc();
                termo.RLTotalFormacao   = termo.RLFormacao.Sum(x => Convert.ToDecimal(x.AreaCroqui)).ToStringTrunc();

                #endregion

                #region ARLs - Coordenadas

                comando = bancoDeDados.CriarComando(@"select arl.codigo, c.empreendimento, c.id dominialidade, pr.id, trunc(arl_o.column_value, 2) coordenada
													from {0}crt_dominialidade c, {0}crt_projeto_geo pr, {0}crt_dominialidade_reserva cr, {1}geo_arl arl,
													table(geometria9i.pontoIdeal(arl.geometry).SDO_ORDINATES) arl_o where c.id = :dominialidade and pr.empreendimento
													= c.empreendimento and arl.codigo = :codigo and pr.caracterizacao = 1 and cr.dominio in (select id from 
													{0}crt_dominialidade_dominio where dominialidade = c.id) and cr.identificacao = arl.codigo 
													and arl.projeto = pr.id"                                                    , EsquemaBanco, EsquemaBancoGeo);

                comando.AdicionarParametroEntrada("dominialidade", termo.Dominialidade.Id, DbType.Int32);
                comando.AdicionarParametroEntrada("codigo", DbType.String);

                foreach (var item in termo.RLFormacao)
                {
                    comando.SetarValorParametro("codigo", item.Identificacao);

                    using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                    {
                        if (reader.Read())
                        {
                            item.CoordenadaE = reader.GetValue <string>("coordenada");
                        }

                        if (reader.Read())
                        {
                            item.CoordenadaN = reader.GetValue <string>("coordenada");
                        }

                        reader.Close();
                    }
                }

                foreach (var item in termo.RLPreservada)
                {
                    comando.SetarValorParametro("codigo", item.Identificacao);

                    using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                    {
                        if (reader.Read())
                        {
                            item.CoordenadaE = reader.GetValue <string>("coordenada");
                        }

                        if (reader.Read())
                        {
                            item.CoordenadaN = reader.GetValue <string>("coordenada");
                        }

                        reader.Close();
                    }
                }

                #endregion
            }

            return(termo);
        }
Пример #23
0
        internal Termo ObterDadosPDF(int titulo, BancoDeDados banco = null)
        {
            Termo        termo        = new Termo();
            TermoCPFARLC termoCPFARLC = Obter(titulo, banco);

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                Comando comando = null;

                #region Título

                DadosPDF      dados = DaEsp.ObterDadosTitulo(titulo, bancoDeDados);
                Dominialidade dominialidadeCedente   = new DominialidadeBus().ObterPorEmpreendimento(dados.Empreendimento.Id.GetValueOrDefault());
                Dominialidade dominialidadeReceptora = new DominialidadeBus().ObterPorEmpreendimento(termoCPFARLC.ReceptorEmpreendimentoID);

                termo.Titulo = dados.Titulo;
                termo.Titulo.SetorEndereco = DaEsp.ObterEndSetor(termo.Titulo.SetorId);
                termo.Protocolo            = dados.Protocolo;
                termo.Empreendimento       = dados.Empreendimento;
                termo.Dominialidade        = new DominialidadePDF();

                #endregion

                #region Especificidade

                #region Empreendimento Cedente

                termo.Interessados = new List <PessoaPDF>();
                foreach (var interessado in termoCPFARLC.CedenteResponsaveisEmpreendimento)
                {
                    termo.Interessados.Add(new PessoaPDF()
                    {
                        NomeRazaoSocial = interessado.NomeRazao.Remove(0, interessado.NomeRazao.LastIndexOf('-') + 1).Trim(),
                        TipoTexto       = interessado.TipoTexto
                    });
                }

                #endregion

                #region Empreendimento Receptor

                comando = bancoDeDados.CriarComando(@"
					select e.denominador, e.codigo, tee.logradouro, tee.numero, tee.distrito, lm.texto endMunicipio, d.croqui_area from {0}tab_empreendimento e, {0}tab_empreendimento_endereco tee,
					{0}lov_municipio lm, {0}esp_termo_cpfarlc c, {0}crt_dominialidade d where tee.empreendimento = e.id and lm.id = tee.municipio and e.id = c.emp_receptor 
					and d.empreendimento = c.emp_receptor and c.titulo = :titulo"                    , EsquemaBanco);

                comando.AdicionarParametroEntrada("titulo", titulo, DbType.Int32);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    if (reader.Read())
                    {
                        termo.Empreendimento2.Denominador      = reader.GetValue <string>("denominador");
                        termo.Empreendimento2.Codigo           = reader.GetValue <string>("codigo");
                        termo.Empreendimento2.EndLogradouro    = reader.GetValue <string>("logradouro");
                        termo.Empreendimento2.EndNumero        = reader.GetValue <string>("numero");
                        termo.Empreendimento2.EndDistrito      = reader.GetValue <string>("distrito");
                        termo.Empreendimento2.EndMunicipio     = reader.GetValue <string>("endMunicipio");
                        termo.Empreendimento2.ATPCroquiDecimal = reader.GetValue <decimal>("croqui_area");
                    }

                    reader.Close();
                }

                termo.Interessados2 = new List <PessoaPDF>();
                foreach (var interessado in termoCPFARLC.ReceptorResponsaveisEmpreendimento)
                {
                    termo.Interessados2.Add(new PessoaPDF()
                    {
                        NomeRazaoSocial = interessado.NomeRazao.Remove(0, interessado.NomeRazao.LastIndexOf('-') + 1).Trim(),
                        TipoTexto       = interessado.TipoTexto
                    });
                }

                #endregion

                #region Matricula/Posse

                DominioPDF dominioCedentePDF = new DominioPDF(dominialidadeCedente.Dominios.SingleOrDefault(d => d.Id == termoCPFARLC.CedenteDominioID));
                dominioCedentePDF.TipoCompensacao = "Cedente";
                termo.Dominialidade.Dominios.Add(dominioCedentePDF);

                DominioPDF dominioReceptorPDF = new DominioPDF(dominialidadeReceptora.Dominios.SingleOrDefault(x => x.Id == termoCPFARLC.ReceptorDominioID));
                dominioReceptorPDF.TipoCompensacao = "Receptor";
                termo.Dominialidade.Dominios.Add(dominioReceptorPDF);

                #endregion

                #region ARL

                termo.RLPreservada = new List <AreaReservaLegalPDF>();
                termo.RLFormacao   = new List <AreaReservaLegalPDF>();

                List <ReservaLegal> reservas = dominialidadeCedente.Dominios.SelectMany(x => x.ReservasLegais).Where(x => termoCPFARLC.CedenteARLCompensacao.Select(y => y.Id).Any(y => y == x.Id)).ToList();

                reservas.ForEach(x =>
                {
                    AreaReservaLegalPDF areaARLPdf = new AreaReservaLegalPDF()
                    {
                        Tipo          = x.SituacaoVegetalId.GetValueOrDefault(),
                        AreaCroqui    = x.ARLCroqui.ToStringTrunc(),
                        Identificacao = x.Identificacao,
                        CoordenadaE   = x.Coordenada.EastingUtm.ToString(),
                        CoordenadaN   = x.Coordenada.NorthingUtm.ToString()
                    };

                    if (areaARLPdf.Tipo == (int)eReservaLegalSituacaoVegetal.Preservada)
                    {
                        termo.RLPreservada.Add(areaARLPdf);
                    }
                    else if (areaARLPdf.Tipo == (int)eReservaLegalSituacaoVegetal.EmRecuperacao)
                    {
                        termo.RLFormacao.Add(areaARLPdf);
                    }
                });

                termo.RLTotalPreservada = termo.RLPreservada.Sum(x => Convert.ToDecimal(x.AreaCroqui)).ToStringTrunc();
                termo.RLTotalFormacao   = termo.RLFormacao.Sum(x => Convert.ToDecimal(x.AreaCroqui)).ToStringTrunc();
                termo.Empreendimento2.ARLRecebidaDecimal = termo.Dominialidade.ARLCedente;

                #endregion

                #endregion
            }

            return(termo);
        }
        internal Laudo ObterDadosPDF(int titulo, BancoDeDados banco = null)
        {
            Laudo laudo            = new Laudo();
            var   protocoloLaudoId = 0;

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                #region Dados do Titulo

                DadosPDF dados = DaEsp.ObterDadosTitulo(titulo, bancoDeDados);
                laudo.Titulo         = dados.Titulo;
                laudo.Protocolo      = dados.Protocolo;
                laudo.Empreendimento = dados.Empreendimento;

                #endregion

                #region Dados da Especificidade

                Comando comando = bancoDeDados.CriarComando(@"select e.destinatario, e.responsavel, e.caracterizacao, lp.texto conclusao, e.data_vistoria, e.objetivo, e.consideracao, 
				e.restricao, e.descricao_parecer, e.parecer_desfavoravel, e.protocolo from {0}esp_laudo_vistoria_florestal e, {0}lov_esp_conclusao lp where e.conclusao = lp.id and e.titulo = :id"                , EsquemaBanco);

                comando.AdicionarParametroEntrada("id", titulo, DbType.Int32);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    if (reader.Read())
                    {
                        laudo.Objetivo                     = reader["objetivo"].ToString();
                        laudo.Destinatario.Id              = Convert.ToInt32(reader["destinatario"]);
                        laudo.CaracterizacaoTipo           = Convert.ToInt32(reader["caracterizacao"]);
                        laudo.ConclusaoTipoTexto           = reader["conclusao"].ToString();
                        laudo.Consideracao                 = reader["consideracao"].ToString();
                        laudo.Restricao                    = reader["restricao"].ToString();
                        laudo.DescricaoParecer             = reader["descricao_parecer"].ToString();
                        laudo.DescricaoParecerDesfavoravel = reader["parecer_desfavoravel"].ToString();

                        if (reader["data_vistoria"] != null && !Convert.IsDBNull(reader["data_vistoria"]))
                        {
                            laudo.DataVistoria = Convert.ToDateTime(reader["data_vistoria"]).ToShortDateString();
                        }

                        if (reader["responsavel"] != null && !Convert.IsDBNull(reader["responsavel"]))
                        {
                            laudo.Responsavel.Id = Convert.ToInt32(reader["responsavel"]);
                        }

                        if (reader["protocolo"] != null && !Convert.IsDBNull(reader["protocolo"]))
                        {
                            protocoloLaudoId = Convert.ToInt32(reader["protocolo"]);
                        }
                        else
                        {
                            protocoloLaudoId = laudo.Protocolo.Id.GetValueOrDefault(0);
                        }
                    }

                    reader.Close();
                }

                #endregion

                laudo.Destinatario = DaEsp.ObterDadosPessoa(laudo.Destinatario.Id, laudo.Empreendimento.Id, bancoDeDados);

                laudo.Responsavel = DaEsp.ObterDadosResponsavel(laudo.Responsavel.Id, protocoloLaudoId, bancoDeDados);

                laudo.AnaliseItens = DaEsp.ObterAnaliseItem(protocoloLaudoId, bancoDeDados);

                laudo.Anexos = DaEsp.ObterAnexos(titulo, bancoDeDados);
            }

            return(laudo);
        }
Пример #25
0
        internal Termo ObterDadosPDF(int titulo, BancoDeDados banco = null)
        {
            Termo termo = new Termo();

            termo.Dominialidade = new DominialidadePDF();
            List <int> destinatarioIds = new List <int>();
            PessoaPDF  pessoa          = null;

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                #region Título

                DadosPDF dados = DaEsp.ObterDadosTitulo(titulo, bancoDeDados);
                termo.Titulo         = dados.Titulo;
                termo.Protocolo      = dados.Protocolo;
                termo.Empreendimento = dados.Empreendimento;
                termo.Dominialidade  = new DominialidadePDF(new DominialidadeBus().ObterPorEmpreendimento(dados.Empreendimento.Id.GetValueOrDefault()));

                #endregion

                #region Especificidade

                List <ReservaLegalPDF> reservas = new List <ReservaLegalPDF>();
                termo.Dominialidade.Dominios.ForEach(dominio => { dominio.ReservasLegais.ForEach(r => { reservas.Add(r); }); });

                #endregion

                #region Interessado

                Comando comando = bancoDeDados.CriarComando(@" select t.destinatario from {0}esp_termo_comp_pfarl_destinat t, {0}esp_termo_comp_pfarl e where t.especificidade = e.id and e.titulo = :titulo ", EsquemaBanco);
                comando.AdicionarParametroEntrada("titulo", titulo, DbType.Int32);
                destinatarioIds    = bancoDeDados.ExecutarList <int>(comando);
                termo.Interessados = new List <PessoaPDF>();
                foreach (int destId in destinatarioIds)
                {
                    pessoa = _daEsp.ObterDadosPessoa(destId, dados.Empreendimento.Id, banco);
                    pessoa.VinculoTipoTexto = pessoa.VinculoTipoTexto == "Outro" ? "Representante" : pessoa.VinculoTipoTexto;
                    termo.Interessados.Add(pessoa);
                }

                #endregion

                #region ARLs

                comando = bancoDeDados.CriarComando(@"select r.identificacao, r.arl_croqui, null coordenadaN, null coordenadaE,
													r.situacao, r.situacao_vegetal from {0}crt_dominialidade_reserva r, {0}esp_termo_comp_pfarl e
													where e.titulo = :titulo and r.dominio in (select id from {0}crt_dominialidade_dominio 
													where dominialidade = :dominialidade)"                                                    , EsquemaBanco);

                comando.AdicionarParametroEntrada("titulo", titulo, DbType.Int32);
                comando.AdicionarParametroEntrada("dominialidade", termo.Dominialidade.Id, DbType.Int32);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    termo.RLFormacao   = new List <AreaReservaLegalPDF>();
                    termo.RLPreservada = new List <AreaReservaLegalPDF>();

                    while (reader.Read())
                    {
                        int situacaoVegetal = reader.GetValue <int>("situacao_vegetal");
                        int situacao        = reader.GetValue <int>("situacao");

                        switch (situacaoVegetal)
                        {
                        case (int)eReservaLegalSituacaoVegetal.Preservada:

                            if (situacao == (int)eReservaLegalSituacao.Proposta)
                            {
                                termo.RLPreservada.Add(new AreaReservaLegalPDF
                                {
                                    AreaCroqui    = Convert.ToDecimal(reader.GetValue <string>("arl_croqui")).ToStringTrunc(),
                                    CoordenadaE   = reader.GetValue <string>("coordenadaE"),
                                    CoordenadaN   = reader.GetValue <string>("coordenadaN"),
                                    Identificacao = reader.GetValue <string>("identificacao")
                                });
                            }
                            break;

                        case (int)eReservaLegalSituacaoVegetal.EmRecuperacao:

                            if (situacao == (int)eReservaLegalSituacao.Proposta)
                            {
                                termo.RLFormacao.Add(new AreaReservaLegalPDF
                                {
                                    AreaCroqui    = Convert.ToDecimal(reader.GetValue <string>("arl_croqui")).ToStringTrunc(),
                                    CoordenadaE   = reader.GetValue <string>("coordenadaE"),
                                    CoordenadaN   = reader.GetValue <string>("coordenadaN"),
                                    Identificacao = reader.GetValue <string>("identificacao")
                                });
                            }
                            break;
                        }
                    }

                    reader.Close();
                }

                termo.RLTotalPreservada = termo.RLPreservada.Sum(x => Convert.ToDecimal(x.AreaCroqui)).ToStringTrunc();
                termo.RLTotalFormacao   = termo.RLFormacao.Sum(x => Convert.ToDecimal(x.AreaCroqui)).ToStringTrunc();

                #endregion

                #region ARLs - Coordenadas

                comando = bancoDeDados.CriarComando(@"select arl.codigo, c.empreendimento, c.id dominialidade, pr.id, trunc(arl_o.column_value, 2) coordenada
													from {0}crt_dominialidade c, {0}crt_projeto_geo pr, {0}crt_dominialidade_reserva cr, {1}geo_arl arl,
													table(geometria9i.pontoIdeal(arl.geometry).SDO_ORDINATES) arl_o where pr.empreendimento = c.empreendimento
													and c.id = :dominialidade and arl.codigo = :codigo and pr.caracterizacao = 1 and cr.identificacao = arl.codigo
													and cr.dominio in (select id from {0}crt_dominialidade_dominio dm where dm.dominialidade = c.id)
													and arl.projeto = pr.id"                                                    , EsquemaBanco, EsquemaBancoGeo);

                comando.AdicionarParametroEntrada("dominialidade", termo.Dominialidade.Id, DbType.Int32);
                comando.AdicionarParametroEntrada("codigo", DbType.String);

                foreach (var item in termo.RLFormacao)
                {
                    comando.SetarValorParametro("codigo", item.Identificacao);

                    using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                    {
                        if (reader.Read())
                        {
                            item.CoordenadaE = reader.GetValue <string>("coordenada");
                        }

                        if (reader.Read())
                        {
                            item.CoordenadaN = reader.GetValue <string>("coordenada");
                        }

                        reader.Close();
                    }
                }

                foreach (var item in termo.RLPreservada)
                {
                    comando.SetarValorParametro("codigo", item.Identificacao);

                    using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                    {
                        if (reader.Read())
                        {
                            item.CoordenadaE = reader.GetValue <string>("coordenada");
                        }

                        if (reader.Read())
                        {
                            item.CoordenadaN = reader.GetValue <string>("coordenada");
                        }

                        reader.Close();
                    }
                }

                #endregion
            }

            return(termo);
        }
Пример #26
0
        internal Laudo ObterDadosPDF(int titulo, BancoDeDados banco = null)
        {
            Laudo laudo = new Laudo();

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                #region Dados do Titulo

                DadosPDF dados = DaEsp.ObterDadosTitulo(titulo, bancoDeDados);
                laudo.Titulo         = dados.Titulo;
                laudo.Protocolo      = dados.Protocolo;
                laudo.Empreendimento = dados.Empreendimento;

                #endregion

                #region Dados da Especificidade

                Comando comando = bancoDeDados.CriarComando(@"select destinatario, data_vistoria from {0}esp_laudo_vistoria_fundiaria e where e.titulo = :id", EsquemaBanco);

                comando.AdicionarParametroEntrada("id", titulo, DbType.Int32);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    if (reader.Read())
                    {
                        laudo.Destinatario.Id = Convert.ToInt32(reader["destinatario"]);

                        if (reader["data_vistoria"] != null && !Convert.IsDBNull(reader["data_vistoria"]))
                        {
                            laudo.DataVistoria = Convert.ToDateTime(reader["data_vistoria"]).ToShortDateString();
                        }
                    }

                    reader.Close();
                }

                comando = bancoDeDados.CriarComando(@"select d.id, d.numero_ccri, d.data_ultima_atualizacao, d.area_ccri, d.confrontante_norte, d.confrontante_sul, 
				d.confrontante_leste, d.confrontante_oeste from {0}esp_laudo_vistoria_fundiaria e, {0}crt_regularizacao_dominio r, {0}crt_dominialidade_dominio d
				where e.regularizacao_dominio = r.id and r.dominio = d.id and e.titulo = :titulo"                , EsquemaBanco);

                comando.AdicionarParametroEntrada("titulo", titulo, DbType.Int32);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    if (reader.Read())
                    {
                        laudo.Dominio = new DominioPDF
                        {
                            Id                = reader.GetValue <int>("id"),
                            NumeroCCIR        = reader.GetValue <long>("numero_ccri"),
                            DataAtualizacao   = reader.GetValue <string>("data_ultima_atualizacao"),
                            AreaCCIRDecimal   = reader.GetValue <decimal>("area_ccri"),
                            ConfrontacaoNorte = reader.GetValue <string>("confrontante_norte"),
                            ConfrontacaoSul   = reader.GetValue <string>("confrontante_sul"),
                            ConfrontacaoLeste = reader.GetValue <string>("confrontante_leste"),
                            ConfrontacaoOeste = reader.GetValue <string>("confrontante_oeste")
                        };
                    }

                    reader.Close();
                }

                #endregion

                laudo.Destinatario = DaEsp.ObterDadosPessoa(laudo.Destinatario.Id, laudo.Empreendimento.Id, bancoDeDados);

                laudo.AnaliseItens = DaEsp.ObterAnaliseItem(laudo.Protocolo.Id.GetValueOrDefault(), bancoDeDados);
            }

            return(laudo);
        }
        internal Outros ObterDadosPDF(int titulo, BancoDeDados banco = null)
        {
            Outros outros    = new Outros();
            int    dominioId = 0;

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                #region Dados do Titulo

                DadosPDF dados = DaEsp.ObterDadosTitulo(titulo, bancoDeDados);

                outros.Titulo = dados.Titulo;
                outros.Titulo.SetorEndereco = DaEsp.ObterEndSetor(outros.Titulo.SetorId);
                outros.Protocolo            = dados.Protocolo;
                outros.Empreendimento       = dados.Empreendimento;

                #endregion

                #region Especificidade

                Comando comando = bancoDeDados.CriarComando(@"
				select e.valor_terreno, e.dominio, e.is_inalienabilidade, lm.texto municipio_gleba_texto 
				from {0}esp_out_legitima_terr_devolut e, {0}lov_municipio lm where lm.id(+) = e.municipio_gleba and e.titulo = :titulo "                , EsquemaBanco);

                comando.AdicionarParametroEntrada("titulo", titulo, DbType.Int32);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    if (reader.Read())
                    {
                        dominioId                 = reader.GetValue <int>("dominio");
                        outros.ValorTerreno       = reader.GetValue <decimal>("valor_terreno").ToString("N2");
                        outros.IsInalienabilidade = reader.GetValue <bool>("is_inalienabilidade");
                        outros.Municipio          = reader.GetValue <string>("municipio_gleba_texto");
                    }

                    reader.Close();
                }

                #endregion

                #region Destinatarios

                comando = bancoDeDados.CriarComando(@" select d.destinatario from {0}esp_out_legitima_destinatario d, {0}esp_out_legitima_terr_devolut e 
				where d.especificidade = e.id and e.titulo = :tituloId "                , EsquemaBanco);
                comando.AdicionarParametroEntrada("tituloId", titulo, DbType.Int32);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    while (reader.Read())
                    {
                        var pessoa = DaEsp.ObterDadosPessoa(reader.GetValue <int>("destinatario"), banco: bancoDeDados);
                        outros.Destinatarios.Add(pessoa);
                        outros.Titulo.AssinanteSource.Add(new AssinanteDefault {
                            Cargo = "Titulado", Nome = pessoa.NomeRazaoSocial
                        });
                    }

                    reader.Close();
                }

                #endregion

                #region Dominialidade

                DominialidadeBus dominialidadeBus = new DominialidadeBus();
                outros.Dominialidade = new DominialidadePDF(dominialidadeBus.ObterPorEmpreendimento(outros.Empreendimento.Id.GetValueOrDefault(), banco: bancoDeDados));

                #endregion

                #region Regularizacao Fundiaria

                RegularizacaoFundiaria regularizacao = new RegularizacaoFundiariaBus().ObterPorEmpreendimento(outros.Empreendimento.Id.GetValueOrDefault());
                Posse posse = regularizacao.Posses.SingleOrDefault(x => x.Id.GetValueOrDefault() == dominioId);

                if (posse != null)
                {
                    PossePDF possePDF = new PossePDF(posse);
                    outros.RegularizacaoFundiaria.Posses.Add(possePDF);
                    outros.RegularizacaoFundiaria.Posse = possePDF;
                    outros.Dominio = outros.Dominialidade.Dominios.SingleOrDefault(x => x.Id == possePDF.DominioId);
                }

                #endregion
            }

            return(outros);
        }
Пример #28
0
        internal Oficio ObterDadosPDF(int titulo, BancoDeDados banco = null)
        {
            Oficio oficio = new Oficio();

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                #region Dados do Título

                DadosPDF dados = DaEsp.ObterDadosTitulo(titulo, bancoDeDados);

                oficio.Titulo = dados.Titulo;
                oficio.Titulo.SetorEndereco = DaEsp.ObterEndSetor(oficio.Titulo.SetorId);
                oficio.Protocolo            = dados.Protocolo;
                oficio.Empreendimento       = dados.Empreendimento;

                #endregion

                #region Dados da Especificidade

                Comando comando = bancoDeDados.CriarComando(@"select e.destinatario from {0}esp_oficio_notificacao e where e.titulo = :id", EsquemaBanco);

                comando.AdicionarParametroEntrada("id", titulo, DbType.Int32);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    if (reader.Read())
                    {
                        oficio.Destinatario.Id = Convert.ToInt32(reader["destinatario"]);
                    }

                    reader.Close();
                }

                #endregion

                oficio.Destinatario = DaEsp.ObterDadosPessoa(oficio.Destinatario.Id, oficio.Empreendimento.Id, bancoDeDados);

                #region Itens da analise

                comando = bancoDeDados.CriarComando(@"select ri.item_id, ri.nome, i.situacao situacao_id, lis.texto situacao_texto, i.motivo
				from {0}esp_oficio_notificacao p, {0}tab_analise_itens i, {0}hst_roteiro_item ri, {0}lov_analise_item_situacao lis
				where i.analise = p.analise_id and p.titulo = :id and i.item_id = ri.item_id and i.item_tid = ri.tid 
				and i.situacao = lis.id and i.situacao in (2,4)"                , EsquemaBanco);

                comando.AdicionarParametroEntrada("id", titulo, DbType.Int32);

                oficio.SituacoesGrupo = new List <AnaliseSituacaoGrupoPDF>();
                AnaliseSituacaoGrupoPDF situacaoGrupo = null;

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    AnaliseItemPDF item;

                    while (reader.Read())
                    {
                        item        = new AnaliseItemPDF();
                        item.Id     = Convert.ToInt32(reader["item_id"]);
                        item.Nome   = reader["nome"].ToString();
                        item.Motivo = reader["motivo"].ToString();

                        int situacaoId = Convert.ToInt32(reader["situacao_id"]);
                        situacaoGrupo = oficio.SituacoesGrupo.FirstOrDefault(x => x.Situacao == situacaoId);

                        if (situacaoGrupo == null)
                        {
                            situacaoGrupo               = new AnaliseSituacaoGrupoPDF();
                            situacaoGrupo.Situacao      = Convert.ToInt32(reader["situacao_id"]);
                            situacaoGrupo.SituacaoTexto = reader["situacao_texto"].ToString();
                            oficio.SituacoesGrupo.Add(situacaoGrupo);
                        }

                        situacaoGrupo.Itens.Add(item);
                    }

                    reader.Close();
                }

                #endregion
            }

            return(oficio);
        }