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);
        }
コード例 #2
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);
        }
        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);
        }
コード例 #4
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);
        }