Exemplo n.º 1
0
        internal bool ValidarGeometria(int idGeometria, string tabelaRascunho, string primaryKey, int idLayerFeicao, int idProjeto, out string mensagem)
        {
            Comando comando = null;

            try
            {
                string       schemaUsuario = ConfigurationManager.AppSettings["SchemaUsuarioGeo"].ToUpper();
                BancoDeDados bancoDeDados  = BancoDeDadosFactory.CriarBancoDeDados("StringConexaoGeo");

                comando = bancoDeDados.GetComandoSql(@"select x.COLUMN_NAME from all_sdo_geom_metadata x where x.TABLE_NAME = :tabela and x.owner = :schema");
                comando.AdicionarParametroEntrada("tabela", DbType.String, 50, tabelaRascunho);
                comando.AdicionarParametroEntrada("schema", DbType.String, 50, schemaUsuario);
                object retorno = bancoDeDados.ExecutarScalar(comando);
                if (retorno == null)
                {
                    throw new Exception("Feição não encontrada");
                }

                bancoDeDados = BancoDeDadosFactory.CriarBancoDeDados("StringConexaoGeo");

                comando = bancoDeDados.GetComandoPlSql(String.Format(
                                                           @"declare
					v_geo_val mdsys.sdo_geometry;
					v_val varchar2(4000);
					v_projetoId number:= :idProjeto;
					v_idLayerFeicao number:= :idLayerFeicao;
				begin 
					:resposta := 'TRUE';

					for i in (select t.{0} geometry from {1}.{2} t where t.{3} = :id and t.projeto = v_projetoId and t.feicao = v_idLayerFeicao) loop
						
						v_val :=  DesenhadorWS.ValidarGeometria(i.geometry, v_projetoId);
						
						if v_val <> 'TRUE' then
							if :resposta = 'TRUE' then
								:resposta := '';
							end if;
							:resposta := :resposta||' '||v_val;
						end if;
				
					end loop;
					
				end;"                , retorno, schemaUsuario, tabelaRascunho, primaryKey));

                comando.AdicionarParametroEntrada("id", idGeometria, DbType.Int32);
                comando.AdicionarParametroEntrada("idProjeto", idProjeto, DbType.Int32);
                comando.AdicionarParametroEntrada("idLayerFeicao", idLayerFeicao, DbType.Int32);


                comando.AdicionarParametroSaida("resposta", DbType.String, 4000);
                bancoDeDados.ExecutarNonQuery(comando);
                retorno = comando.ObterValorDoParametro("resposta");
                if (retorno == null)
                {
                    throw new Exception("Geometria não encontrada");
                }
                mensagem = retorno.ToString();
            }
            finally
            {
                if (comando != null)
                {
                    comando.Dispose();
                }
            }
            return(mensagem == "TRUE");
        }
Exemplo n.º 2
0
        internal int?Criar(Suinocultura caracterizacao, BancoDeDados banco = null)
        {
            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                #region Suinocultura

                bancoDeDados.IniciarTransacao();

                Comando comando = bancoDeDados.CriarComando(@"insert into {0}crt_suinocultura c (id, empreendimento, atividade, fase, existe_biodigestor, possui_fabrica_racao, numero_max_cabecas, numero_max_matrizes,  geometria_coord_atv_x, geometria_coord_atv_y, geometria_id, geometria_tipo, tid)
															values(seq_crt_suinocultura.nextval, :empreendimento, :atividade, :fase, :existe_biodigestor, :possui_fabrica_racao, :numero_max_cabecas, :numero_max_matrizes, :geometria_coord_atv_x, :geometria_coord_atv_y, :geometria_id, :geometria_tipo, :tid ) 
															returning c.id into :id"                                                            , EsquemaBanco);

                comando.AdicionarParametroEntrada("empreendimento", caracterizacao.EmpreendimentoId, DbType.Int32);
                comando.AdicionarParametroEntrada("atividade", caracterizacao.Atividade, DbType.Int32);

                comando.AdicionarParametroEntrada("fase", caracterizacao.Fase, DbType.Int32);
                comando.AdicionarParametroEntrada("existe_biodigestor", caracterizacao.ExisteBiodigestor.GetValueOrDefault(0), DbType.Int32);
                comando.AdicionarParametroEntrada("possui_fabrica_racao", caracterizacao.PossuiFabricaRacao.GetValueOrDefault(0), DbType.Int32);
                comando.AdicionarParametroEntrada("numero_max_cabecas", (String.IsNullOrWhiteSpace(caracterizacao.NumeroCabecas)) ? (object)DBNull.Value : caracterizacao.NumeroCabecas, DbType.Decimal);
                comando.AdicionarParametroEntrada("numero_max_matrizes", (String.IsNullOrWhiteSpace(caracterizacao.NumeroMatrizes)) ? (object)DBNull.Value : caracterizacao.NumeroMatrizes, DbType.Decimal);

                comando.AdicionarParametroEntrada("geometria_id", caracterizacao.CoordenadaAtividade.Id, DbType.Int32);
                comando.AdicionarParametroEntrada("geometria_tipo", caracterizacao.CoordenadaAtividade.Tipo, DbType.Int32);
                comando.AdicionarParametroEntrada("geometria_coord_atv_x", caracterizacao.CoordenadaAtividade.CoordX, DbType.Decimal);
                comando.AdicionarParametroEntrada("geometria_coord_atv_y", caracterizacao.CoordenadaAtividade.CoordY, DbType.Decimal);
                comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual());
                comando.AdicionarParametroSaida("id", DbType.Int32);

                bancoDeDados.ExecutarNonQuery(comando);

                caracterizacao.Id = Convert.ToInt32(comando.ObterValorParametro("id"));

                #endregion

                #region Histórico

                Historico.Gerar(caracterizacao.Id, eHistoricoArtefatoCaracterizacao.suinocultura, eHistoricoAcao.criar, bancoDeDados, null);

                #endregion

                bancoDeDados.Commit();

                return(caracterizacao.Id);
            }
        }
Exemplo n.º 3
0
        public RoteiroRelatorio Obter(int id)
        {
            RoteiroRelatorio roteiro = new RoteiroRelatorio();

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia())
            {
                #region Roteiro

                Comando comando = bancoDeDados.CriarComando(@"
												select a.numero,
														a.versao,
														a.nome,
														a.observacoes,
														a.setor setor_id,
														ts.nome setor_texto
													from {0}tab_roteiro a, {0}tab_setor ts
													where a.setor = ts.id
													and a.id = :id"                                                    , EsquemaBanco);

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

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    if (reader.Read())
                    {
                        roteiro.Numero      = Convert.ToInt32(reader["numero"]);
                        roteiro.Versao      = Convert.ToInt32(reader["versao"]);
                        roteiro.Nome        = reader["nome"].ToString();
                        roteiro.SetorId     = Convert.ToInt32(reader["setor_id"]);
                        roteiro.SetorTexto  = reader["setor_texto"].ToString();
                        roteiro.Observacoes = reader["observacoes"].ToString();
                    }
                    reader.Close();
                }

                #endregion

                #region Itens do roteiro

                comando = bancoDeDados.CriarComando(@"
											select tri.nome, tri.condicionante, lrit.id tipo, tris.ordem
											  from {0}tab_roteiro_itens     tris,
												   {0}tab_roteiro_item      tri,
												   {0}lov_roteiro_item_tipo lrit
											 where tris.item = tri.id
											   and tri.tipo = lrit.id
											   and tris.roteiro = :roteiro
											 order by tris.ordem"                                            , EsquemaBanco);

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

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    ItemRelatorio item;
                    while (reader.Read())
                    {
                        item               = new ItemRelatorio();
                        item.Nome          = reader["nome"].ToString();
                        item.Condicionante = reader["condicionante"].ToString();
                        item.Tipo          = Convert.ToInt32(reader["tipo"]);
                        item.Ordem         = Convert.ToInt32(reader["ordem"]);
                        roteiro.Itens.Add(item);
                    }
                    reader.Close();
                }

                #endregion

                #region Arquivos do roteiro

                comando = bancoDeDados.CriarComando(@"
											select a.descricao, b.nome, b.extensao, b.id arquivo_id, b.caminho
												from {0}tab_roteiro_arquivo a, {0}tab_arquivo b
												where a.arquivo = b.id
												and a.roteiro = :roteiro
												order by a.ordem"                                                , EsquemaBanco);

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

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    AnexoRelatorio item;
                    while (reader.Read())
                    {
                        item           = new AnexoRelatorio();
                        item.Descricao = reader["descricao"].ToString();

                        item.Arquivo.Id       = Convert.ToInt32(reader["arquivo_id"]);
                        item.Arquivo.Caminho  = reader["caminho"].ToString();
                        item.Arquivo.Nome     = reader["nome"].ToString();
                        item.Arquivo.Extensao = reader["extensao"].ToString();

                        roteiro.Anexos.Add(item);
                    }
                    reader.Close();
                }

                #endregion
            }
            return(roteiro);
        }
        public Empreendimento Obter(int id, BancoDeDados bancoCredenciado, bool simplificado = false)
        {
            Empreendimento empreendimento = new Empreendimento();

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(bancoCredenciado, UsuarioCredenciado))
            {
                bancoDeDados.IniciarTransacao();

                #region Empreendimento

                Comando comando = bancoDeDados.CriarComando(@"select e.id, e.segmento, e.cnpj, e.denominador, e.nome_fantasia, e.atividade, e.interno, e.interno_tid, 
				e.credenciado, e.tid, e.codigo from {0}tab_empreendimento e where e.id = :id"                , UsuarioCredenciado);

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

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    if (reader.Read())
                    {
                        empreendimento.Id            = id;
                        empreendimento.Tid           = reader["tid"].ToString();
                        empreendimento.CredenciadoId = reader.GetValue <int?>("credenciado");
                        empreendimento.InternoId     = reader.GetValue <int?>("interno");
                        empreendimento.InternoTid    = reader.GetValue <string>("interno_tid");
                        empreendimento.Codigo        = reader.GetValue <long?>("codigo");
                        if (reader["segmento"] != null && !Convert.IsDBNull(reader["segmento"]))
                        {
                            empreendimento.Segmento = Convert.ToInt32(reader["segmento"]);
                        }

                        empreendimento.CNPJ         = reader["cnpj"].ToString();
                        empreendimento.Denominador  = reader["denominador"].ToString();
                        empreendimento.NomeFantasia = reader["nome_fantasia"].ToString();

                        if (reader["atividade"] != null && !Convert.IsDBNull(reader["atividade"]))
                        {
                            empreendimento.Atividade.Id = Convert.ToInt32(reader["atividade"]);
                        }
                    }

                    reader.Close();
                }

                #endregion

                if (empreendimento.Id <= 0 || simplificado)
                {
                    return(empreendimento);
                }

                #region Responsáveis

                comando = bancoDeDados.CriarComando(@"select pr.id, pr.empreendimento, pr.responsavel, nvl(p.nome, p.razao_social) nome, nvl(p.cpf, p.cnpj) cpf_cnpj, pr.tipo, pr.data_vencimento, pr.especificar 
				from {0}tab_empreendimento_responsavel pr, {0}tab_pessoa p where pr.responsavel = p.id and pr.empreendimento = :empreendimento"                , UsuarioCredenciado);

                comando.AdicionarParametroEntrada("empreendimento", empreendimento.Id, DbType.Int32);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    Responsavel responsavel;

                    while (reader.Read())
                    {
                        responsavel    = new Responsavel();
                        responsavel.Id = Convert.ToInt32(reader["responsavel"]);
                        responsavel.IdRelacionamento = Convert.ToInt32(reader["id"]);
                        responsavel.Tipo             = Convert.ToInt32(reader["tipo"]);

                        if (reader["data_vencimento"] != null && !Convert.IsDBNull(reader["data_vencimento"]))
                        {
                            responsavel.DataVencimento = Convert.ToDateTime(reader["data_vencimento"]);
                        }

                        responsavel.NomeRazao        = reader["nome"].ToString();
                        responsavel.CpfCnpj          = reader["cpf_cnpj"].ToString();
                        responsavel.EspecificarTexto = reader["especificar"].ToString();
                        empreendimento.Responsaveis.Add(responsavel);
                    }

                    reader.Close();
                }

                #endregion

                #region Endereços

                comando = bancoDeDados.CriarComando(@"select te.id, te.empreendimento, te.correspondencia, te.zona, te.cep, te.logradouro, te.bairro, te.estado, te.municipio, 
				te.numero, te.distrito, te.corrego, te.caixa_postal, te.complemento, te.tid from {0}tab_empreendimento_endereco te 
				where te.empreendimento = :empreendimento order by te.correspondencia"                , UsuarioCredenciado);

                comando.AdicionarParametroEntrada("empreendimento", empreendimento.Id, DbType.Int32);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    Endereco end;

                    while (reader.Read())
                    {
                        end                     = new Endereco();
                        end.Id                  = Convert.ToInt32(reader["id"]);
                        end.Tid                 = reader["tid"].ToString();
                        end.Correspondencia     = Convert.IsDBNull(reader["correspondencia"]) ? 0 : Convert.ToInt32(reader["correspondencia"]);
                        end.ZonaLocalizacaoId   = Convert.IsDBNull(reader["zona"]) ? 0 : Convert.ToInt32(reader["zona"]);
                        end.Cep                 = reader["cep"].ToString();
                        end.Logradouro          = reader["logradouro"].ToString();
                        end.Bairro              = reader["bairro"].ToString();
                        end.EstadoId            = Convert.IsDBNull(reader["estado"]) ? 0 : Convert.ToInt32(reader["estado"]);
                        end.MunicipioId         = Convert.IsDBNull(reader["municipio"]) ? 0 : Convert.ToInt32(reader["municipio"]);
                        end.Numero              = reader["numero"].ToString();
                        end.DistritoLocalizacao = reader["distrito"].ToString();
                        end.Corrego             = reader["corrego"].ToString();
                        end.CaixaPostal         = reader["caixa_postal"].ToString();
                        end.Complemento         = reader["complemento"].ToString();
                        empreendimento.Enderecos.Add(end);
                    }

                    reader.Close();
                }

                #endregion

                #region Coordenada

                comando = bancoDeDados.CriarComando(@"select aec.id, aec.tid, aec.tipo_coordenada, aec.datum, aec.easting_utm,
				aec.northing_utm, aec.fuso_utm, aec.hemisferio_utm, aec.latitude_gms,aec.longitude_gms, aec.latitude_gdec, aec.longitude_gdec, 
				aec.forma_coleta, aec.local_coleta from {0}tab_empreendimento_coord aec where aec.empreendimento = :empreendimentoid"                , UsuarioCredenciado);

                comando.AdicionarParametroEntrada("empreendimentoid", empreendimento.Id, DbType.Int32);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    if (reader.Read())
                    {
                        empreendimento.Coordenada.Id  = Convert.ToInt32(reader["id"]);
                        empreendimento.Coordenada.Tid = reader["tid"].ToString();

                        if (!Convert.IsDBNull(reader["easting_utm"]))
                        {
                            empreendimento.Coordenada.EastingUtm      = Convert.ToDouble(reader["easting_utm"]);
                            empreendimento.Coordenada.EastingUtmTexto = empreendimento.Coordenada.EastingUtm.ToString();
                        }

                        if (!Convert.IsDBNull(reader["northing_utm"]))
                        {
                            empreendimento.Coordenada.NorthingUtm      = Convert.ToDouble(reader["northing_utm"]);
                            empreendimento.Coordenada.NorthingUtmTexto = empreendimento.Coordenada.NorthingUtm.ToString();
                        }

                        empreendimento.Coordenada.FusoUtm       = Convert.IsDBNull(reader["fuso_utm"]) ? 0 : Convert.ToInt32(reader["fuso_utm"]);
                        empreendimento.Coordenada.HemisferioUtm = Convert.IsDBNull(reader["hemisferio_utm"]) ? 0 : Convert.ToInt32(reader["hemisferio_utm"]);
                        empreendimento.Coordenada.LatitudeGms   = reader["latitude_gms"].ToString();
                        empreendimento.Coordenada.LongitudeGms  = reader["longitude_gms"].ToString();

                        if (!Convert.IsDBNull(reader["latitude_gdec"]))
                        {
                            empreendimento.Coordenada.LatitudeGdec      = Convert.ToDouble(reader["latitude_gdec"]);
                            empreendimento.Coordenada.LatitudeGdecTexto = empreendimento.Coordenada.LatitudeGdec.ToString();
                        }

                        if (!Convert.IsDBNull(reader["longitude_gdec"]))
                        {
                            empreendimento.Coordenada.LongitudeGdec      = Convert.ToDouble(reader["longitude_gdec"]);
                            empreendimento.Coordenada.LongitudeGdecTexto = empreendimento.Coordenada.LongitudeGdec.ToString();
                        }

                        empreendimento.Coordenada.Datum.Id = Convert.ToInt32(reader["datum"]);
                        empreendimento.Coordenada.Tipo.Id  = Convert.ToInt32(reader["tipo_coordenada"]);

                        if (!Convert.IsDBNull(reader["forma_coleta"]))
                        {
                            empreendimento.Coordenada.FormaColeta = Convert.ToInt32(reader["forma_coleta"]);
                        }

                        if (!Convert.IsDBNull(reader["local_coleta"]))
                        {
                            empreendimento.Coordenada.LocalColeta = Convert.ToInt32(reader["local_coleta"]);
                        }
                    }

                    reader.Close();
                }

                #endregion

                #region Meio de Contato

                comando = bancoDeDados.CriarComando(@"select a.id, a.empreendimento, a.meio_contato tipo_contato_id,
				a.valor, a.tid from {0}tab_empreendimento_contato a where  a.empreendimento = :empreendimento"                , UsuarioCredenciado);

                comando.AdicionarParametroEntrada("empreendimento", empreendimento.Id, DbType.Int32);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    Contato contato;

                    while (reader.Read())
                    {
                        contato             = new Contato();
                        contato.Id          = Convert.ToInt32(reader["id"]);
                        contato.PessoaId    = Convert.ToInt32(reader["empreendimento"]);
                        contato.TipoContato = (eTipoContato)Enum.Parse(contato.TipoContato.GetType(), reader["tipo_contato_id"].ToString());
                        contato.Valor       = reader["valor"].ToString();
                        contato.Tid         = reader["tid"].ToString();
                        empreendimento.MeiosContatos.Add(contato);
                    }

                    reader.Close();
                }

                #endregion

                empreendimento.TemCorrespondencia = (empreendimento.Enderecos.Any(x => x.Correspondencia == 1) ? 1 : 0);
            }

            return(empreendimento);
        }
Exemplo n.º 5
0
        internal void Editar(Suinocultura caracterizacao, BancoDeDados banco = null)
        {
            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                #region Suinocultura

                bancoDeDados.IniciarTransacao();

                Comando comando = bancoDeDados.CriarComando(@"update crt_suinocultura c set c.empreendimento = :empreendimento, c.atividade = :atividade, c.fase = :fase,
															c.geometria_coord_atv_x = :geometria_coord_atv_x, c.existe_biodigestor = :existe_biodigestor, c.possui_fabrica_racao = :possui_fabrica_racao,
															c.numero_max_cabecas = :numero_max_cabecas, c.numero_max_matrizes = :numero_max_matrizes, c.geometria_coord_atv_y = :geometria_coord_atv_y, c.geometria_id = :geometria_id, c.geometria_tipo = :geometria_tipo, c.tid = :tid
															where c.id = :id"                                                            , EsquemaBanco);

                comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual());
                comando.AdicionarParametroEntrada("empreendimento", caracterizacao.EmpreendimentoId, DbType.Int32);
                comando.AdicionarParametroEntrada("atividade", caracterizacao.Atividade, DbType.Int32);
                comando.AdicionarParametroEntrada("fase", caracterizacao.Fase, DbType.Int32);
                comando.AdicionarParametroEntrada("existe_biodigestor", caracterizacao.ExisteBiodigestor.GetValueOrDefault(0), DbType.Int32);
                comando.AdicionarParametroEntrada("possui_fabrica_racao", caracterizacao.PossuiFabricaRacao.GetValueOrDefault(0), DbType.Int32);
                comando.AdicionarParametroEntrada("numero_max_cabecas", (String.IsNullOrWhiteSpace(caracterizacao.NumeroCabecas)) ? (object)DBNull.Value : caracterizacao.NumeroCabecas, DbType.Decimal);
                comando.AdicionarParametroEntrada("numero_max_matrizes", (String.IsNullOrWhiteSpace(caracterizacao.NumeroMatrizes)) ? (object)DBNull.Value : caracterizacao.NumeroMatrizes, DbType.Decimal);
                comando.AdicionarParametroEntrada("geometria_id", caracterizacao.CoordenadaAtividade.Id, DbType.Int32);
                comando.AdicionarParametroEntrada("geometria_tipo", caracterizacao.CoordenadaAtividade.Tipo, DbType.Int32);
                comando.AdicionarParametroEntrada("geometria_coord_atv_x", caracterizacao.CoordenadaAtividade.CoordX, DbType.Decimal);
                comando.AdicionarParametroEntrada("geometria_coord_atv_y", caracterizacao.CoordenadaAtividade.CoordY, DbType.Decimal);
                comando.AdicionarParametroEntrada("id", caracterizacao.Id, DbType.Int32);

                bancoDeDados.ExecutarNonQuery(comando);

                #endregion

                #region Histórico

                Historico.Gerar(caracterizacao.Id, eHistoricoArtefatoCaracterizacao.suinocultura, eHistoricoAcao.atualizar, bancoDeDados, null);

                #endregion

                bancoDeDados.Commit();
            }
        }
        public CARSolicitacaoRelatorio ObterHistorico(int id, BancoDeDados banco = null)
        {
            CARSolicitacaoRelatorio entidade = new CARSolicitacaoRelatorio();

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                #region Solicitação

                Comando comando = bancoDeDados.CriarComando(@"
				select hcs.tid,
                hcs.dominialidade_id,
                hcs.dominialidade_tid,
                hcs.numero,
                hcs.data_emissao,
                hcs.situacao_texto,
                (select count(*) from hst_empreendimento_responsavel her where her.id_hst = he.id and her.responsavel_id != hcs.declarante_id) +
                (select count(*) from hst_protocolo hp where hp.id_protocolo = hcs.protocolo_id and hp.tid = hcs.protocolo_tid and hp.interessado_id != hcs.declarante_id) possui_outros,
                hp.tipo declarante_tipo,
                (select her.tipo_texto from hst_empreendimento_responsavel her 
                where her.id_hst = he.id and her.responsavel_id = hcs.declarante_id and her.responsavel_tid = hcs.declarante_tid) declarante_tipo_texto,
                nvl(hp.nome, hp.razao_social) declarante_nome_razao,
                nvl(hp.cpf, hp.cnpj) declarante_cpf_cnpj,
                hpe.cep declarante_cep,
                hpe.logradouro declarante_logradouro,
                hpe.bairro declarante_bairro,
                hpe.municipio_texto declarante_municipio,
                hpe.distrito declarante_distrito,
                lem.sigla declarante_estado_sigla,
                he.denominador empreendimento_denominador,
				he.codigo empreendimento_codigo,
                he.cnpj empreendimento_cnpj,
                hee.correspondencia emp_endereco_correspondencia,
                hee.cep empreendimento_cep,
                hee.logradouro empreendimento_logradouro,
                hee.bairro empreendimento_bairro,
                hee.municipio_texto empreendimento_municipio,
                hee.distrito empreendimento_distrito,
                lee.sigla empreendimento_estado_sigla,
                hec.tipo_coordenada_texto emp_coordenada_texto,
                hec.datum_texto emp_datum_texto,
                hec.northing_utm emp_northing,
                hec.easting_utm emp_easting,
                hec.fuso_utm emp_fuso,
                hec.local_coleta_texto emp_local_coleta,
                hec.forma_coleta_texto emp_forma_coleta,        
                hcsicar.codigo_imovel numero_sicar,
                hcsicar.pendencias pendencias_sicar        
                from hst_car_solicitacao hcs, hst_pessoa hp, hst_pessoa_endereco hpe,lov_estado lem, hst_empreendimento he, 
                  hst_empreendimento_endereco hee, lov_estado lee, hst_empreendimento_coord hec, hst_controle_sicar hcsicar          
                where hp.pessoa_id = hcs.declarante_id and hp.tid = hcs.declarante_tid 
                and hp.id = hpe.id_hst
                and lem.id = hpe.estado_id
                and he.empreendimento_id = hcs.empreendimento_id and he.tid = hcs.empreendimento_tid
                and he.id = hee.id_hst
                and hee.correspondencia = 0
                and lee.id = hee.estado_id
                and hec.id_hst = he.id
                and hcs.solicitacao_id = :id
                and hcs.id = (select max(id) from hst_car_solicitacao hcs1 where hcs1.solicitacao_id = hcs.solicitacao_id)        
                and hcs.solicitacao_id = hcsicar.solicitacao_car(+)
                and ((select min(hctrs.id) from hst_controle_sicar hctrs where hctrs.solicitacao_car = hcs.solicitacao_id 
						and hctrs.solicitacao_car_esquema = 1 and hctrs.data_execucao >= hcs.data_execucao) = hcsicar.id or hcsicar.id is null)"                        , EsquemaBanco);

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

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    if (reader.Read())
                    {
                        entidade.Id               = id;
                        entidade.Numero           = reader.GetValue <int>("numero");
                        entidade.DataEmissao      = reader.GetValue <string>("data_emissao");
                        entidade.SituacaoTexto    = reader.GetValue <string>("situacao_texto");
                        entidade.DominialidadeId  = reader.GetValue <int>("dominialidade_id");
                        entidade.DominialidadeTid = reader.GetValue <string>("dominialidade_tid");

                        entidade.DeclarantePossuiOutros             = reader.GetValue <int>("possui_outros") > 0;
                        entidade.Declarante.Tipo                    = reader.GetValue <int>("declarante_tipo");
                        entidade.Declarante.TipoTexto               = reader.GetValue <string>("declarante_tipo_texto");
                        entidade.Declarante.NomeRazaoSocial         = reader.GetValue <string>("declarante_nome_razao");
                        entidade.Declarante.CPFCNPJ                 = reader.GetValue <string>("declarante_cpf_cnpj");
                        entidade.Declarante.Endereco.Cep            = reader.GetValue <string>("declarante_cep");
                        entidade.Declarante.Endereco.Logradouro     = reader.GetValue <string>("declarante_logradouro");
                        entidade.Declarante.Endereco.Bairro         = reader.GetValue <string>("declarante_bairro");
                        entidade.Declarante.Endereco.Distrito       = reader.GetValue <string>("declarante_distrito");
                        entidade.Declarante.Endereco.MunicipioTexto = reader.GetValue <string>("declarante_municipio");
                        entidade.Declarante.Endereco.EstadoSigla    = reader.GetValue <string>("declarante_estado_sigla");

                        entidade.Empreendimento.Codigo    = reader.GetValue <int>("empreendimento_codigo");
                        entidade.Empreendimento.NomeRazao = reader.GetValue <string>("empreendimento_denominador");
                        entidade.Empreendimento.CNPJ      = reader.GetValue <string>("empreendimento_cnpj");

                        entidade.Empreendimento.Enderecos.Add(new EnderecoRelatorio()
                        {
                            Correspondencia = reader.GetValue <int?>("emp_endereco_correspondencia"),
                            Cep             = reader.GetValue <string>("empreendimento_cep"),
                            Logradouro      = reader.GetValue <string>("empreendimento_logradouro"),
                            Bairro          = reader.GetValue <string>("empreendimento_bairro"),
                            Distrito        = reader.GetValue <string>("empreendimento_distrito"),
                            MunicipioTexto  = reader.GetValue <string>("empreendimento_municipio"),
                            EstadoSigla     = reader.GetValue <string>("empreendimento_estado_sigla")
                        });

                        entidade.Empreendimento.Coordenada.Tipo.Texto       = reader.GetValue <string>("emp_coordenada_texto");
                        entidade.Empreendimento.Coordenada.NorthingUtm      = reader.GetValue <double?>("emp_northing");
                        entidade.Empreendimento.Coordenada.EastingUtm       = reader.GetValue <double?>("emp_easting");
                        entidade.Empreendimento.Coordenada.FusoUtm          = reader.GetValue <int?>("emp_fuso");
                        entidade.Empreendimento.Coordenada.LocalColetaTexto = reader.GetValue <string>("emp_local_coleta");
                        entidade.Empreendimento.Coordenada.FormaColetaTexto = reader.GetValue <string>("emp_forma_coleta");
                        entidade.Empreendimento.Coordenada.DatumTexto       = reader.GetValue <string>("emp_datum_texto");

                        entidade.Sicar.NumeroSICAR = reader.GetValue <string>("numero_sicar");
                        entidade.Sicar.Pendencias  = reader.GetValue <string>("pendencias_sicar");
                    }

                    reader.Close();
                }

                #endregion Solicitação

                return(entidade);
            }
        }
Exemplo n.º 7
0
        internal CredenciadoPessoa Obter(int id, bool simplificado = false, BancoDeDados banco = null)
        {
            CredenciadoPessoa credenciado = null;

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco, UsuarioCredenciado))
            {
                #region Credenciado

                Comando comando = bancoDeDados.CriarComando(@"select c.id, c.chave, c.usuario, p.id pessoa, p.interno, p.tipo pessoa_tipo, nvl(p.nome, p.razao_social) nome_razao, 
				nvl(p.cpf, p.cnpj) cpf_cnpj, p.interno, c.situacao, c.tipo, lt.texto tipo_texto, (ts.sigla || ' - ' || ts.nome_local) unidade_sigla_nome ,c.orgao_parc, 
				c.orgao_parc_unid, c.tid, u.login, (case when trunc(sysdate) > trunc(u.senha_data+(prazo.dias)) then 1 else 0 end) senha_vencida, (select valor from tab_pessoa_meio_contato 
				where meio_contato = 5 and pessoa = p.id) email from {0}tab_credenciado c, {0}tab_orgao_parc_conv_sigla_unid ts, {0}tab_usuario u, {0}tab_pessoa p, 
				{0}lov_credenciado_tipo lt, (select to_number(c.valor) dias from {0}cnf_sistema c where c.campo = 'validadesenha') prazo where c.usuario = u.id(+) and 
				c.pessoa = p.id and c.tipo = lt.id and c.orgao_parc_unid = ts.id(+) and c.id = :id"                , EsquemaBanco);

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

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    while (reader.Read())
                    {
                        credenciado                               = new CredenciadoPessoa();
                        credenciado.Id                            = id;
                        credenciado.Tid                           = reader.GetValue <string>("tid");
                        credenciado.Tipo                          = reader.GetValue <int>("tipo");
                        credenciado.TipoTexto                     = reader.GetValue <string>("tipo_texto");
                        credenciado.Situacao                      = reader.GetValue <int>("situacao");
                        credenciado.OrgaoParceiroId               = reader.GetValue <int>("orgao_parc");
                        credenciado.OrgaoParceiroUnidadeId        = reader.GetValue <int>("orgao_parc_unid");
                        credenciado.Chave                         = reader.GetValue <string>("chave");
                        credenciado.OrgaoParceiroUnidadeSiglaNome = reader.GetValue <string>("unidade_sigla_nome");

                        if (reader["pessoa"] != null && !Convert.IsDBNull(reader["pessoa"]))
                        {
                            credenciado.Pessoa.Id   = Convert.ToInt32(reader["pessoa"]);
                            credenciado.Pessoa.Tipo = Convert.ToInt32(reader["pessoa_tipo"]);
                            credenciado.Pessoa.MeiosContatos.Add(new Contato {
                                Valor = reader.GetValue <string>("email"), TipoContato = eTipoContato.Email
                            });
                            if (credenciado.Pessoa.IsFisica)
                            {
                                credenciado.Pessoa.Fisica.Nome = reader["nome_razao"].ToString();
                                credenciado.Pessoa.Fisica.CPF  = reader["cpf_cnpj"].ToString();
                            }
                            else
                            {
                                credenciado.Pessoa.Juridica.RazaoSocial = reader["nome_razao"].ToString();
                                credenciado.Pessoa.Juridica.CNPJ        = reader["cpf_cnpj"].ToString();
                            }
                        }

                        if (reader["interno"] != null && !Convert.IsDBNull(reader["interno"]))
                        {
                            credenciado.Pessoa.InternoId = Convert.ToInt32(reader["interno"]);
                        }

                        if (reader["usuario"] != null && !Convert.IsDBNull(reader["usuario"]))
                        {
                            credenciado.Usuario.Id    = Convert.ToInt32(reader["usuario"]);
                            credenciado.Usuario.Login = reader["login"].ToString();
                            credenciado.AlterarSenha  = (reader["senha_vencida"].ToString() == "1");
                        }
                    }

                    reader.Close();
                }

                #endregion

                if (credenciado == null || simplificado)
                {
                    return(credenciado);
                }

                #region Papel

                comando = bancoDeDados.CriarComando(@"select p.id, t.id idrelacao, p.nome, p.credenciado_tipo, p.tid from tab_credenciado_papel t, 
				tab_autenticacao_papel p where t.papel = p.id and t.credenciado = :id"                );

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

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    while (reader.Read())
                    {
                        credenciado.Papeis.Add(new Papel()
                        {
                            Id        = Convert.ToInt32(reader["id"]),
                            IdRelacao = Convert.ToInt32(reader["idRelacao"]),
                            Nome      = reader["nome"].ToString()
                        });
                    }

                    reader.Close();
                }

                #endregion

                #region Permissao

                comando = bancoDeDados.CriarComando(@"select p.id, t.id idrelacao, p.nome, p.codigo, p.credenciado_tipo, p.descricao 
				from tab_credenciado_permissao t, lov_autenticacao_permissao p where t.permissao = p.id and t.credenciado = :id"                );

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

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    while (reader.Read())
                    {
                        credenciado.Permissoes.Add(new Permissao()
                        {
                            Id              = Convert.ToInt32(reader["id"]),
                            IdRelacao       = Convert.ToInt32(reader["idRelacao"]),
                            Nome            = reader["nome"].ToString(),
                            Codigo          = (ePermissao)Enum.Parse(typeof(ePermissao), reader["codigo"].ToString()),
                            CredenciadoTipo = Convert.ToInt32(reader["Credenciado_tipo"]),
                            Descricao       = reader["descricao"].ToString()
                        });
                    }

                    reader.Close();
                }

                #endregion
            }

            return(credenciado);
        }
Exemplo n.º 8
0
        internal SimuladorGeo Obter(int id, BancoDeDados banco = null, bool simplificado = false, bool finalizado = false)
        {
            SimuladorGeo simulador = new SimuladorGeo();

            string tabela = finalizado ? "crt_projeto_geo" : "tmp_projeto_geo";

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                #region Projeto Geográfico

                Comando comando = bancoDeDados.CriarComando(@"select g.id, ls.id situacao_id, ls.texto situacao_texto,
					lm.id mecanismo_elaboracao_id, lm.texto mecanismo_elaboracao_texto, g.easting, g.norhting northing,
					g.menor_x, g.menor_y, g.maior_x, g.maior_y, g.tid 
					from {0}tmp_projeto_geo g, {0}lov_crt_projeto_geo_situacao ls, {0}lov_crt_projeto_geo_nivel ln, {0}lov_crt_projeto_geo_mecanismo lm         
					where g.situacao = ls.id 
					and g.nivel_precisao = ln.id(+) 
					and g.mecanismo_elaboracao = lm.id(+) 
					and g.id = :id"                    , EsquemaBanco);

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

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    if (reader.Read())
                    {
                        simulador     = new SimuladorGeo();
                        simulador.Id  = id;
                        simulador.Tid = reader["tid"].ToString();

                        if (reader["situacao_id"] != null && !Convert.IsDBNull(reader["situacao_id"]))
                        {
                            simulador.SituacaoId    = Convert.ToInt32(reader["situacao_id"]);
                            simulador.SituacaoTexto = reader["situacao_texto"].ToString();
                        }

                        if (reader["mecanismo_elaboracao_id"] != null && !Convert.IsDBNull(reader["mecanismo_elaboracao_id"]))
                        {
                            simulador.MecanismoElaboracaoId    = Convert.ToInt32(reader["mecanismo_elaboracao_id"]);
                            simulador.MecanismoElaboracaoTexto = reader["mecanismo_elaboracao_texto"].ToString();
                        }

                        if (reader["easting"] != null && !Convert.IsDBNull(reader["easting"]))
                        {
                            simulador.Easting = Convert.ToDecimal(reader["easting"]).ToString("N4");
                        }

                        if (reader["northing"] != null && !Convert.IsDBNull(reader["northing"]))
                        {
                            simulador.Northing = Convert.ToDecimal(reader["northing"]).ToString("N4");
                        }

                        if (reader["menor_x"] != null && !Convert.IsDBNull(reader["menor_x"]))
                        {
                            simulador.MenorX = Convert.ToDecimal(reader["menor_x"]);
                        }

                        if (reader["menor_y"] != null && !Convert.IsDBNull(reader["menor_y"]))
                        {
                            simulador.MenorY = Convert.ToDecimal(reader["menor_y"]);
                        }

                        if (reader["maior_x"] != null && !Convert.IsDBNull(reader["maior_x"]))
                        {
                            simulador.MaiorX = Convert.ToDecimal(reader["maior_x"]);
                        }

                        if (reader["maior_y"] != null && !Convert.IsDBNull(reader["maior_y"]))
                        {
                            simulador.MaiorY = Convert.ToDecimal(reader["maior_y"]);
                        }
                    }

                    reader.Close();
                }

                if (simulador.Id <= 0 || simplificado)
                {
                    return(simulador);
                }

                #endregion
            }

            return(simulador);
        }
Exemplo n.º 9
0
        internal SimuladorGeo Obter(string cpf, BancoDeDados banco = null, bool simplificado = false, bool finalizado = false)
        {
            SimuladorGeo projeto = new SimuladorGeo();

            string tabela = finalizado ? "crt_projeto_geo" : "tmp_projeto_geo";

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                #region Projeto Geográfico

                Comando comando = bancoDeDados.CriarComando(@"select g.id, ls.id situacao_id, ls.texto situacao_texto,
					lm.id mecanismo_elaboracao_id, lm.texto mecanismo_elaboracao_texto, g.easting, g.norhting northing,
					g.menor_x, g.menor_y, g.maior_x, g.maior_y, g.tid 
					from {0}tmp_projeto_geo g, {0}lov_crt_projeto_geo_situacao ls, {0}lov_crt_projeto_geo_mecanismo lm 
					where g.situacao = ls.id 
					and g.mecanismo_elaboracao = lm.id(+) 
					and g.cpf = :cpf"                    , EsquemaBanco);

                comando.AdicionarParametroEntrada("cpf", DbType.String, 20, cpf);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    if (reader.Read())
                    {
                        projeto     = new SimuladorGeo();
                        projeto.Id  = Convert.ToInt32(reader["id"]);
                        projeto.Tid = reader["tid"].ToString();
                        projeto.Cpf = cpf;

                        if (reader["situacao_id"] != null && !Convert.IsDBNull(reader["situacao_id"]))
                        {
                            projeto.SituacaoId    = Convert.ToInt32(reader["situacao_id"]);
                            projeto.SituacaoTexto = reader["situacao_texto"].ToString();
                        }

                        if (reader["mecanismo_elaboracao_id"] != null && !Convert.IsDBNull(reader["mecanismo_elaboracao_id"]))
                        {
                            projeto.MecanismoElaboracaoId    = Convert.ToInt32(reader["mecanismo_elaboracao_id"]);
                            projeto.MecanismoElaboracaoTexto = reader["mecanismo_elaboracao_texto"].ToString();
                        }

                        if (reader["easting"] != null && !Convert.IsDBNull(reader["easting"]))
                        {
                            projeto.Easting = Convert.ToDecimal(reader["easting"]).ToString("F4");
                        }

                        if (reader["northing"] != null && !Convert.IsDBNull(reader["northing"]))
                        {
                            projeto.Northing = Convert.ToDecimal(reader["northing"]).ToString("F4");
                        }

                        if (reader["menor_x"] != null && !Convert.IsDBNull(reader["menor_x"]))
                        {
                            projeto.MenorX = Convert.ToDecimal(reader["menor_x"]);
                        }

                        if (reader["menor_y"] != null && !Convert.IsDBNull(reader["menor_y"]))
                        {
                            projeto.MenorY = Convert.ToDecimal(reader["menor_y"]);
                        }

                        if (reader["maior_x"] != null && !Convert.IsDBNull(reader["maior_x"]))
                        {
                            projeto.MaiorX = Convert.ToDecimal(reader["maior_x"]);
                        }

                        if (reader["maior_y"] != null && !Convert.IsDBNull(reader["maior_y"]))
                        {
                            projeto.MaiorY = Convert.ToDecimal(reader["maior_y"]);
                        }
                    }

                    reader.Close();
                }

                if (projeto.Id <= 0 || simplificado)
                {
                    return(projeto);
                }

                //Busca os arquivos
                if (projeto.Id > 0)
                {
                    projeto.Arquivos = ObterArquivos(projeto.Id, banco: bancoDeDados, finalizado: finalizado);
                }

                #endregion
            }

            return(projeto);
        }
Exemplo n.º 10
0
        internal Cultura Obter(int id)
        {
            Cultura cultura = new Cultura();

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia())
            {
                #region Cultura

                Comando comando = bancoDeDados.CriarComando(@"select t.id, t.texto, t.tid from {0}tab_cultura t where t.id = :id", EsquemaBanco);

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

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    if (reader.Read())
                    {
                        cultura.Id   = id;
                        cultura.Nome = reader.GetValue <string>("texto");
                        cultura.Tid  = reader.GetValue <string>("tid");
                    }

                    reader.Close();
                }

                #endregion

                #region Cultivar

                comando.DbCommand.CommandText = @" select cc.id, cc.cultivar nome, cc.tid from tab_cultura_cultivar cc where cc.cultura = :id";
                cultura.LstCultivar           = bancoDeDados.ObterEntityList <Cultivar>(comando);

                #endregion

                #region Cultivar_Configurações

                comando = bancoDeDados.CriarComando(@"
				select t.id, t.tid, t.cultivar, t.praga PragaId, p.nome_cientifico || nvl2(p.nome_comum,' - '||p.nome_comum,'') as PragaTexto, t.tipo_producao TipoProducaoId,
				lt.texto as TipoProducaoTexto, t.declaracao_adicional DeclaracaoAdicionalId, ld.texto as DeclaracaoAdicionalTexto, ld.texto_formatado as DeclaracaoAdicionalTextoHtml
				from {0}tab_cultivar_configuracao t, {0}tab_praga p, lov_cultivar_tipo_producao lt, lov_cultivar_declara_adicional ld
				where p.id = t.praga and lt.id = t.tipo_producao and ld.id = t.declaracao_adicional and t.cultivar = :id"                , EsquemaBanco);

                cultura.LstCultivar.ForEach(x =>
                {
                    comando.AdicionarParametroEntrada("id", x.Id, DbType.Int32);
                    using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                    {
                        while (reader.Read())
                        {
                            x.LsCultivarConfiguracao.Add(new CultivarConfiguracao()
                            {
                                Id                           = reader.GetValue <int>("id"),
                                Tid                          = reader.GetValue <string>("tid"),
                                Cultivar                     = reader.GetValue <int>("cultivar"),
                                PragaId                      = reader.GetValue <int>("PragaId"),
                                PragaTexto                   = reader.GetValue <string>("PragaTexto"),
                                TipoProducaoId               = reader.GetValue <int>("TipoProducaoId"),
                                TipoProducaoTexto            = reader.GetValue <string>("TipoProducaoTexto"),
                                DeclaracaoAdicionalId        = reader.GetValue <int>("DeclaracaoAdicionalId"),
                                DeclaracaoAdicionalTexto     = reader.GetValue <string>("DeclaracaoAdicionalTexto"),
                                DeclaracaoAdicionalTextoHtml = reader.GetValue <string>("DeclaracaoAdicionalTextoHtml"),
                            });
                        }

                        reader.Close();
                    }
                });

                #endregion
            }

            return(cultura);
        }
Exemplo n.º 11
0
        internal Enquadramento Editar(Enquadramento enquadramento, BancoDeDados banco = null)
        {
            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                #region Enquadramento

                bancoDeDados.IniciarTransacao();

                Comando comando = bancoDeDados.CriarComando(@"update {0}tab_fisc_enquadramento e set e.fiscalizacao = :fiscalizacao, e.tid = :tid
															where e.id = :id"                                                            , EsquemaBanco);

                comando.AdicionarParametroEntrada("fiscalizacao", enquadramento.FiscalizacaoId, DbType.Int32);
                comando.AdicionarParametroEntrada("id", enquadramento.Id, DbType.Int32);
                comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual());

                bancoDeDados.ExecutarNonQuery(comando);

                #endregion

                #region Limpar os dados do banco

                //Artigos
                comando = bancoDeDados.CriarComando("delete from {0}tab_fisc_enquadr_artig c ", EsquemaBanco);
                comando.DbCommand.CommandText += String.Format("where c.enquadramento_id = :enquadramento{0}",
                                                               comando.AdicionarNotIn("and", "c.id", DbType.Int32, enquadramento.Artigos.Select(x => x.Id).ToList()));
                comando.AdicionarParametroEntrada("enquadramento", enquadramento.Id, DbType.Int32);
                bancoDeDados.ExecutarNonQuery(comando);

                #endregion

                #region Artigos

                if (enquadramento.Artigos != null && enquadramento.Artigos.Count > 0)
                {
                    foreach (Artigo item in enquadramento.Artigos)
                    {
                        if (item.Id > 0)
                        {
                            comando = bancoDeDados.CriarComando(@"update {0}tab_fisc_enquadr_artig e set e.enquadramento_id = :enquadramento_id, 
																e.artigo = :artigo, e.artigo_paragrafo = :artigo_paragrafo, e.combinado_artigo = :combinado_artigo,
																e.combinado_artigo_paragrafo = :combinado_artigo_paragrafo, e.da_do = :da_do, e.tid = :tid 
																where e.id = :id"                                                                , EsquemaBanco);

                            comando.AdicionarParametroEntrada("id", item.Id, DbType.Int32);
                        }
                        else
                        {
                            comando = bancoDeDados.CriarComando(@"insert into {0}tab_fisc_enquadr_artig a
																(id, enquadramento_id, artigo, artigo_paragrafo, combinado_artigo, combinado_artigo_paragrafo, da_do, tid)
																values({0}seq_tab_fisc_enquadr_artig.nextval, :enquadramento_id, :artigo, :artigo_paragrafo, :combinado_artigo, 
																:combinado_artigo_paragrafo, :da_do, :tid) returning a.id into :id"                                                                , EsquemaBanco);

                            comando.AdicionarParametroSaida("id", DbType.Int32);
                        }

                        comando.AdicionarParametroEntrada("enquadramento_id", enquadramento.Id, DbType.Int32);
                        comando.AdicionarParametroEntrada("artigo", item.ArtigoTexto, DbType.String);
                        comando.AdicionarParametroEntrada("artigo_paragrafo", item.ArtigoParagrafo, DbType.String);
                        comando.AdicionarParametroEntrada("combinado_artigo", item.CombinadoArtigo, DbType.String);
                        comando.AdicionarParametroEntrada("combinado_artigo_paragrafo", item.CombinadoArtigoParagrafo, DbType.String);
                        comando.AdicionarParametroEntrada("da_do", item.DaDo, DbType.String);
                        comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual());

                        bancoDeDados.ExecutarNonQuery(comando);

                        if (item.Id <= 0)
                        {
                            item.Id = Convert.ToInt32(comando.ObterValorParametro("id"));
                        }
                    }
                }

                #endregion

                Historico.Gerar(enquadramento.FiscalizacaoId, eHistoricoArtefato.fiscalizacao, eHistoricoAcao.atualizar, bancoDeDados);

                Consulta.Gerar(enquadramento.FiscalizacaoId, eHistoricoArtefato.fiscalizacao, bancoDeDados);

                bancoDeDados.Commit();
            }

            return(enquadramento);
        }
Exemplo n.º 12
0
        internal Resultados <CulturaListarResultado> Filtrar(Filtro <CulturaListarFiltro> filtro)
        {
            Resultados <CulturaListarResultado> retorno = new Resultados <CulturaListarResultado>();

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia())
            {
                string     comandtxt    = string.Empty;
                string     esquemaBanco = (string.IsNullOrEmpty(EsquemaBanco) ? "" : EsquemaBanco + ".");
                Comando    comando      = bancoDeDados.CriarComando("");
                List <int> culturas     = new List <int>();

                #region Adicionando Filtros

                if (!string.IsNullOrEmpty(filtro.Dados.Cultivar))
                {
                    if (filtro.Dados.StraggCultivar)
                    {
                        comandtxt = comando.FiltroAndLike("cc.cultivar", "cultivar", filtro.Dados.Cultivar, true, true);

                        comando.DbCommand.CommandText = String.Format(@"select distinct cc.cultura from tab_cultura_cultivar cc where cc.id > 0" + comandtxt, esquemaBanco);
                        culturas = bancoDeDados.ExecutarList <int>(comando);

                        comando   = bancoDeDados.CriarComando("");
                        comandtxt = string.Empty;
                    }
                    else
                    {
                        comandtxt = comando.FiltroAndLike("cc.cultivar", "cultivar", filtro.Dados.Cultivar, true, true);
                    }
                }

                comandtxt += comando.FiltroAndLike("c.texto", "cultura", filtro.Dados.Cultura, true, true);

                comandtxt += comando.AdicionarIn("and", "c.id", DbType.Int32, culturas);

                List <String> ordenar = new List <String>();
                List <String> colunas = new List <String>()
                {
                    "cultura", "cultivar"
                };

                if (filtro.OdenarPor > 0)
                {
                    ordenar.Add(colunas.ElementAtOrDefault(filtro.OdenarPor - 1));
                }
                else
                {
                    ordenar.Add("cultura");
                }

                #endregion

                #region Quantidade de registro do resultado

                if (filtro.Dados.StraggCultivar)
                {
                    comando.DbCommand.CommandText = String.Format(@"select count(*) from tab_cultura c where c.id > 0" + comandtxt, esquemaBanco);
                }
                else
                {
                    comando.DbCommand.CommandText = String.Format(@"select count(*) from(select c.id, c.texto cultura, cc.cultivar 
					from {0}tab_cultura c, {0}tab_cultura_cultivar cc where cc.cultura = c.id "                     + comandtxt + ")", esquemaBanco);
                }

                retorno.Quantidade = Convert.ToInt32(bancoDeDados.ExecutarScalar(comando));

                comando.AdicionarParametroEntrada("menor", filtro.Menor);
                comando.AdicionarParametroEntrada("maior", filtro.Maior);

                if (filtro.Dados.StraggCultivar)
                {
                    comandtxt = String.Format(@"select c.id, c.texto cultura, stragg(cc.cultivar) cultivar from {0}tab_cultura c, {0}tab_cultura_cultivar cc
					where cc.cultura(+) = c.id "                     + comandtxt + " group by c.id, c.texto " + DaHelper.Ordenar(colunas, ordenar), esquemaBanco);
                }
                else
                {
                    comandtxt = String.Format(@"select c.id, c.texto cultura, cc.cultivar, cc.id cultivar_id from {0}tab_cultura c, {0}tab_cultura_cultivar cc 
					where cc.cultura = c.id "                     + comandtxt + " group by c.id, c.texto, cc.cultivar, cc.id" + DaHelper.Ordenar(colunas, ordenar), esquemaBanco);
                }

                comando.DbCommand.CommandText = @"select * from (select a.*, rownum rnum from ( " + comandtxt + @") a) where rnum <= :maior and rnum >= :menor";

                #endregion

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

                    while (reader.Read())
                    {
                        item          = new CulturaListarResultado();
                        item.Id       = reader.GetValue <int>("id");
                        item.Cultura  = reader.GetValue <string>("cultura");
                        item.Cultivar = reader.GetValue <string>("cultivar");

                        if (!filtro.Dados.StraggCultivar)
                        {
                            item.CultivarId = reader.GetValue <string>("cultivar_id");
                        }

                        retorno.Itens.Add(item);
                    }

                    reader.Close();
                }
            }

            return(retorno);
        }
Exemplo n.º 13
0
        internal List <Cultivar> ObterCultivares(List <int> culturas, BancoDeDados banco = null)
        {
            List <Cultivar> lstCultivar = new List <Cultivar>();

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                #region Cultivar

                Comando comando = bancoDeDados.CriarComando(@"select cc.id, cc.cultivar, cc.cultura from tab_cultura_cultivar cc ", EsquemaBanco);
                comando.DbCommand.CommandText += comando.AdicionarIn("where", "cultura", DbType.Int32, culturas);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    Cultivar lista = null;

                    while (reader.Read())
                    {
                        lista           = new Cultivar();
                        lista.Id        = reader.GetValue <int>("id");
                        lista.Nome      = reader.GetValue <string>("cultivar");
                        lista.CulturaId = reader.GetValue <int>("cultura");

                        lstCultivar.Add(lista);
                    }

                    reader.Close();
                }

                #endregion

                #region Cultivar_Configurações

                comando = bancoDeDados.CriarComando(@"
				select t.id, t.tid, t.cultivar, t.praga PragaId, p.nome_cientifico || nvl2(p.nome_comum,' - '||p.nome_comum,'') as PragaTexto, t.tipo_producao TipoProducaoId,
				lt.texto as TipoProducaoTexto, t.declaracao_adicional DeclaracaoAdicionalId, ld.texto as DeclaracaoAdicionalTexto, ld.texto_formatado as DeclaracaoAdicionalTextoHtml
				from {0}tab_cultivar_configuracao t, {0}tab_praga p, lov_cultivar_tipo_producao lt, lov_cultivar_declara_adicional ld
				where p.id = t.praga and lt.id = t.tipo_producao and ld.id = t.declaracao_adicional and t.cultivar = :id"                , EsquemaBanco);

                lstCultivar.ForEach(x =>
                {
                    comando.AdicionarParametroEntrada("id", x.Id, DbType.Int32);
                    using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                    {
                        while (reader.Read())
                        {
                            x.LsCultivarConfiguracao.Add(new CultivarConfiguracao()
                            {
                                Id                           = reader.GetValue <int>("id"),
                                Tid                          = reader.GetValue <string>("tid"),
                                Cultivar                     = reader.GetValue <int>("cultivar"),
                                PragaId                      = reader.GetValue <int>("PragaId"),
                                PragaTexto                   = reader.GetValue <string>("PragaTexto"),
                                TipoProducaoId               = reader.GetValue <int>("TipoProducaoId"),
                                TipoProducaoTexto            = reader.GetValue <string>("TipoProducaoTexto"),
                                DeclaracaoAdicionalId        = reader.GetValue <int>("DeclaracaoAdicionalId"),
                                DeclaracaoAdicionalTexto     = reader.GetValue <string>("DeclaracaoAdicionalTexto"),
                                DeclaracaoAdicionalTextoHtml = reader.GetValue <string>("DeclaracaoAdicionalTextoHtml"),
                            });
                        }

                        reader.Close();
                    }
                });

                #endregion
            }

            return(lstCultivar);
        }
Exemplo n.º 14
0
        internal Resultados <Protocolo> Filtrar(Filtro <ListarProtocoloFiltro> filtros, BancoDeDados banco = null)
        {
            Resultados <Protocolo> retorno = new Resultados <Protocolo>();

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                string  comandtxt = string.Empty;
                Comando comando   = bancoDeDados.CriarComando("");

                #region Adicionando Filtros

                comandtxt += comando.FiltroAnd("e.protocolo", "protocolo", filtros.Dados.ProtocoloId);

                comandtxt += comando.FiltroAnd("e.numero", "numero", filtros.Dados.Protocolo.Numero);

                comandtxt += comando.FiltroAnd("e.ano", "ano", filtros.Dados.Protocolo.Ano);

                comandtxt += comando.FiltroAndLike("e.numero_autuacao", "numero_autuacao", filtros.Dados.NumeroAutuacao);

                comandtxt += comando.FiltroIn("e.setor_criacao_id", string.Format("select tse.setor from {0}tab_setor_endereco tse where tse.municipio = :municipio", (string.IsNullOrEmpty(EsquemaBanco) ? "" : ".")), "municipio", filtros.Dados.Municipio);

                if (!filtros.Dados.DataRegistro.IsEmpty && filtros.Dados.DataRegistro.IsValido)
                {
                    comandtxt += comando.FiltroAnd("TO_DATE(e.data_criacao)", "data_criacao", filtros.Dados.DataRegistro.DataTexto);
                }

                if (!filtros.Dados.DataAutuacao.IsEmpty && filtros.Dados.DataAutuacao.IsValido)
                {
                    comandtxt += comando.FiltroAnd("TO_DATE(e.data_autuacao)", "data_autuacao", filtros.Dados.DataAutuacao.DataTexto);
                }

                comandtxt += comando.FiltroAnd("e.tipo_id", "tipo", filtros.Dados.Tipo);

                comandtxt += comando.FiltroIn("e.protocolo_id", String.Format("select s.protocolo from {0}tab_protocolo_atividades s where s.situacao = :atividade_situacao_id", EsquemaBanco),
                                              "atividade_situacao_id", filtros.Dados.SituacaoAtividade);

                comandtxt += comando.FiltroIn("e.protocolo_id", String.Format("select a.protocolo from {0}tab_protocolo_atividades a where a.atividade = :atividade_id", EsquemaBanco),
                                              "atividade_id", filtros.Dados.AtividadeSolicitada);

                comandtxt += comando.FiltroAndLike("e.interessado_nome_razao", "interessado_nome_razao", filtros.Dados.InteressadoNomeRazao, true);

                if (!String.IsNullOrWhiteSpace(filtros.Dados.InteressadoCpfCnpj))
                {
                    if (ValidacoesGenericasBus.Cpf(filtros.Dados.InteressadoCpfCnpj) ||
                        ValidacoesGenericasBus.Cnpj(filtros.Dados.InteressadoCpfCnpj))
                    {
                        comandtxt += comando.FiltroAnd("e.interessado_cpf_cnpj", "interessado_cpf_cnpj", filtros.Dados.InteressadoCpfCnpj);
                    }
                    else
                    {
                        comandtxt += comando.FiltroAndLike("e.interessado_cpf_cnpj", "interessado_cpf_cnpj", filtros.Dados.InteressadoCpfCnpj);
                    }
                }

                comandtxt += comando.FiltroAndLike("e.empreendimento_denominador", "empreendimento_denominador", filtros.Dados.EmpreendimentoRazaoDenominacao, true);

                if (!String.IsNullOrWhiteSpace(filtros.Dados.EmpreendimentoCnpj))
                {
                    if (ValidacoesGenericasBus.Cnpj(filtros.Dados.EmpreendimentoCnpj))
                    {
                        comandtxt += comando.FiltroAnd("e.empreendimento_cnpj", "empreendimento_cnpj", filtros.Dados.EmpreendimentoCnpj);
                    }
                    else
                    {
                        comandtxt += comando.FiltroAndLike("e.empreendimento_cnpj", "empreendimento_cnpj", filtros.Dados.EmpreendimentoCnpj);
                    }
                }

                List <String> ordenar = new List <String>();
                List <String> colunas = new List <String>()
                {
                    "numero,ano", "interessado_nome_razao", "empreendimento_denominador"
                };

                if (filtros.OdenarPor > 0)
                {
                    ordenar.Add(colunas.ElementAtOrDefault(filtros.OdenarPor - 1));
                }
                else
                {
                    ordenar.Add("numero,ano");
                }

                #endregion

                #region Quantidade de registro do resultado

                comando.DbCommand.CommandText = String.Format("select count(*) from {0}lst_protocolo e where e.id > 0 " + comandtxt, (string.IsNullOrEmpty(EsquemaBanco) ? "" : "."));

                retorno.Quantidade = Convert.ToInt32(bancoDeDados.ExecutarScalar(comando));

                comando.AdicionarParametroEntrada("menor", filtros.Menor);
                comando.AdicionarParametroEntrada("maior", filtros.Maior);

                comandtxt = String.Format(@"select id, protocolo_id, numero, ano, tipo_id, tipo_texto, data_criacao, interessado_id, interessado_tipo, 
					interessado_nome_razao, interessado_cpf_cnpj, interessado_rg_ie, empreendimento_id, 
					empreendimento_denominador, empreendimento_cnpj, situacao_id, situacao_texto from {0}lst_protocolo e where e.id > 0"
                                          + comandtxt + DaHelper.Ordenar(colunas, ordenar), (string.IsNullOrEmpty(EsquemaBanco) ? "" : "."));

                comando.DbCommand.CommandText = @"select * from (select a.*, rownum rnum from ( " + comandtxt + @") a) where rnum <= :maior and rnum >= :menor";

                #endregion

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    #region Adicionando os dados na classe de retorno

                    Protocolo item;

                    while (reader.Read())
                    {
                        item    = new Protocolo();
                        item.Id = Convert.ToInt32(reader["protocolo_id"]);
                        item.DataCadastro.Data = Convert.ToDateTime(reader["data_criacao"]);
                        item.Tipo.Id           = Convert.ToInt32(reader["tipo_id"]);

                        if (reader["numero"] != null && !Convert.IsDBNull(reader["numero"]))
                        {
                            item.NumeroProtocolo = Convert.ToInt32(reader["numero"]);
                        }

                        if (reader["ano"] != null && !Convert.IsDBNull(reader["ano"]))
                        {
                            item.Ano = Convert.ToInt32(reader["ano"]);
                        }

                        item.Tipo.Texto = reader["tipo_texto"].ToString();

                        if (reader["interessado_id"] != null && !Convert.IsDBNull(reader["interessado_id"]))
                        {
                            item.Interessado.Id   = Convert.ToInt32(reader["interessado_id"]);
                            item.Interessado.Tipo = Convert.ToInt32(reader["interessado_tipo"]);

                            if (reader["interessado_tipo"].ToString() == "1")
                            {
                                item.Interessado.Fisica.Nome = reader["interessado_nome_razao"].ToString();
                            }
                            else
                            {
                                item.Interessado.Juridica.RazaoSocial = reader["interessado_nome_razao"].ToString();
                            }
                        }

                        if (reader["empreendimento_id"] != null && !Convert.IsDBNull(reader["empreendimento_id"]))
                        {
                            item.Empreendimento.Id          = Convert.ToInt32(reader["empreendimento_id"]);
                            item.Empreendimento.Denominador = reader["empreendimento_denominador"].ToString();
                        }

                        if (reader["situacao_id"] != null && !Convert.IsDBNull(reader["situacao_id"]))
                        {
                            item.SituacaoId    = Convert.ToInt32(reader["situacao_id"]);
                            item.SituacaoTexto = reader["situacao_texto"].ToString();
                        }

                        retorno.Itens.Add(item);
                    }

                    reader.Close();

                    #endregion
                }
            }
            return(retorno);
        }
Exemplo n.º 15
0
        internal object ObterDadosPdfTitulo(int empreendimento, int atividade, IEspecificidade especificidade, BancoDeDados banco)
        {
            CaracterizacaoPDF caract = new CaracterizacaoPDF();

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                Comando comando = bancoDeDados.CriarComando(@"
				select ca.geometria_coord_atv_x, ca.geometria_coord_atv_y, ca.area_inundada, ca.num_viveiros_escavados, ca.num_unid_cultivo,
				(select sum(cc.volume) from crt_aquicultura_cultivos cc where cc.aquicultura = ca.id) volume, ca.area_cultivo
				from crt_aquicultura c, crt_aquicultura_aquic ca where ca.caracterizacao = c.id and c.empreendimento = :empreendimento and ca.atividade = :atividade"                , EsquemaBanco);

                comando.AdicionarParametroEntrada("empreendimento", empreendimento, DbType.Int32);
                comando.AdicionarParametroEntrada("atividade", atividade, DbType.Int32);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    if (reader.Read())
                    {
                        if (reader["area_inundada"] != null && !Convert.IsDBNull(reader["area_inundada"]))
                        {
                            caract.Campos.Add(new CaracterizacaoCampoPDF()
                            {
                                Nome = "Área total inundada (ha)", Valor = reader.GetValue <string>("area_inundada")
                            });
                        }

                        if (reader["num_viveiros_escavados"] != null && !Convert.IsDBNull(reader["num_viveiros_escavados"]))
                        {
                            caract.Campos.Add(new CaracterizacaoCampoPDF()
                            {
                                Nome = "Nº de viveiros escavados", Valor = reader.GetValue <string>("num_viveiros_escavados")
                            });
                        }

                        if (reader["num_unid_cultivo"] != null && !Convert.IsDBNull(reader["num_unid_cultivo"]))
                        {
                            caract.Campos.Add(new CaracterizacaoCampoPDF()
                            {
                                Nome = "Nº de unidade de cultivo", Valor = reader.GetValue <string>("num_unid_cultivo")
                            });
                        }

                        if (reader["volume"] != null && !Convert.IsDBNull(reader["volume"]))
                        {
                            caract.Campos.Add(new CaracterizacaoCampoPDF()
                            {
                                Nome = "Volume total de cultivo (m³)", Valor = reader.GetValue <string>("volume")
                            });
                        }

                        if (reader["area_cultivo"] != null && !Convert.IsDBNull(reader["area_cultivo"]))
                        {
                            caract.Campos.Add(new CaracterizacaoCampoPDF()
                            {
                                Nome = "Área de cultivo (m²)", Valor = reader.GetValue <string>("area_cultivo")
                            });
                        }

                        if (reader["geometria_coord_atv_x"] != null && !Convert.IsDBNull(reader["geometria_coord_atv_x"]))
                        {
                            caract.EastingLongitude = reader.GetValue <string>("geometria_coord_atv_x");
                            caract.NorthingLatitude = reader.GetValue <string>("geometria_coord_atv_y");
                        }
                    }

                    reader.Close();
                }
            }

            return(caract);
        }
Exemplo n.º 16
0
        internal Resultados <Profissao> Filtrar(Filtro <ProfissaoListarFiltros> filtros, BancoDeDados banco = null)
        {
            Resultados <Profissao> retorno = new Resultados <Profissao>();

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                string  comandtxt = string.Empty;
                Comando comando   = bancoDeDados.CriarComando("");

                #region Adicionando Filtros

                comandtxt += comando.FiltroAndLike("p.texto", "texto", filtros.Dados.Texto, true, true);

                List <String> ordenar = new List <String>()
                {
                    "texto"
                };
                List <String> colunas = new List <String>()
                {
                    "texto"
                };

                #endregion

                if (!string.IsNullOrEmpty(filtros.Dados.Texto))
                {
                    comandtxt += @" union all select p.id, p.texto, p.codigo, p.tid, p.origem, o.texto origem_texto, max(trunc(metaphone.jaro_winkler(:filtro_fonetico,p.texto),5)) 
								similaridade from tab_profissao p, lov_profissao_origem o where p.origem = o.id and p.texto_fonema like upper('%' || upper(metaphone.gerarCodigo(:filtro_fonetico)) || '%') 
								and metaphone.jaro_winkler(:filtro_fonetico,p.texto) >= to_number(:limite_similaridade) group by p.id, p.texto, p.codigo, p.tid, p.origem, o.texto"                                ;

                    comando.AdicionarParametroEntrada("filtro_fonetico", filtros.Dados.Texto, DbType.String);
                    comando.AdicionarParametroEntrada("limite_similaridade", ConfiguracaoSistema.LimiteSimilaridade, DbType.String);
                    colunas[0] = "similaridade";
                    ordenar[0] = "similaridade";
                }

                #region Executa a pesquisa nas tabelas
                comando.DbCommand.CommandText = "select count(*) from (select p.id, p.texto, p.codigo, p.tid, p.origem, o.texto origem_texto, 0 similaridade from tab_profissao p, lov_profissao_origem o where p.origem = o.id " + comandtxt + ")";

                retorno.Quantidade = Convert.ToInt32(bancoDeDados.ExecutarScalar(comando));

                comando.AdicionarParametroEntrada("menor", filtros.Menor);
                comando.AdicionarParametroEntrada("maior", filtros.Maior);

                comandtxt = String.Format(@"select p.id, p.texto, p.codigo, p.tid, p.origem, o.texto origem_texto, 1 similaridade 
				from tab_profissao p, lov_profissao_origem o where p.origem = o.id {0} {1}"                , comandtxt, DaHelper.Ordenar(colunas, ordenar, !string.IsNullOrEmpty(filtros.Dados.Texto)));

                comando.DbCommand.CommandText = @"select * from (select a.*, rownum rnum from ( " + comandtxt + @") a) where rnum <= :maior and rnum >= :menor";

                #endregion

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    Profissao profissao;

                    while (reader.Read())
                    {
                        profissao    = new Profissao();
                        profissao.Id = Convert.ToInt32(reader["id"]);

                        if (retorno.Itens.Exists(x => x.Id == profissao.Id))
                        {
                            continue;
                        }

                        profissao.Tid      = reader["tid"].ToString();
                        profissao.Texto    = reader["texto"].ToString();
                        profissao.Codigo   = reader["codigo"].ToString();
                        profissao.OrigemId = Convert.ToInt32(reader["origem"]);

                        retorno.Itens.Add(profissao);
                    }

                    reader.Close();
                }
            }

            return(retorno);
        }
Exemplo n.º 17
0
        internal int?Criar(Aquicultura caracterizacao, BancoDeDados banco = null)
        {
            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                bancoDeDados.IniciarTransacao();

                #region Aquicultura

                Comando comando = bancoDeDados.CriarComando(@"
				insert into {0}crt_aquicultura c(id, empreendimento, tid) values 
				(seq_crt_aquicultura.nextval, :empreendimento, :tid ) returning c.id into :id"                , EsquemaBanco);

                comando.AdicionarParametroEntrada("empreendimento", caracterizacao.EmpreendimentoId, DbType.Int32);
                comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual());
                comando.AdicionarParametroSaida("id", DbType.Int32);

                bancoDeDados.ExecutarNonQuery(comando);

                caracterizacao.Id = Convert.ToInt32(comando.ObterValorParametro("id"));

                #region Aquiculturas

                foreach (AquiculturaAquicult item in caracterizacao.AquiculturasAquicult)
                {
                    comando = bancoDeDados.CriarComando(@"
					insert into {0}crt_aquicultura_aquic c
					(id, atividade, caracterizacao, area_inundada, num_viveiros_escavados, area_cultivo, num_unid_cultivo, 
					geometria_coord_atv_x, geometria_coord_atv_y, geometria_id, geometria_tipo, tid)
					values(seq_crt_aquicultura_aquic.nextval, :atividade, :caracterizacao, :area_inundada, :num_viveiros_escavados, :area_cultivo, :num_unid_cultivo, 
					:geometria_coord_atv_x, :geometria_coord_atv_y, :geometria_id, :geometria_tipo, :tid ) returning c.id into :id"                    , EsquemaBanco);

                    comando.AdicionarParametroEntrada("atividade", item.Atividade, DbType.Int32);
                    comando.AdicionarParametroEntrada("caracterizacao", caracterizacao.Id, DbType.Int32);
                    comando.AdicionarParametroEntrada("area_inundada", (String.IsNullOrWhiteSpace(item.AreaInundadaTotal)) ? (object)DBNull.Value : item.AreaInundadaTotal, DbType.Decimal);
                    comando.AdicionarParametroEntrada("num_viveiros_escavados", (String.IsNullOrWhiteSpace(item.NumViveiros)) ? (object)DBNull.Value : item.NumViveiros, DbType.Decimal);
                    comando.AdicionarParametroEntrada("area_cultivo", (String.IsNullOrWhiteSpace(item.AreaCultivo)) ? (object)DBNull.Value : item.AreaCultivo, DbType.Decimal);
                    comando.AdicionarParametroEntrada("num_unid_cultivo", (String.IsNullOrWhiteSpace(item.NumUnidadeCultivos)) ? (object)DBNull.Value : item.NumUnidadeCultivos, DbType.Decimal);
                    comando.AdicionarParametroEntrada("geometria_id", item.CoordenadaAtividade.Id, DbType.Int32);
                    comando.AdicionarParametroEntrada("geometria_tipo", item.CoordenadaAtividade.Tipo, DbType.Int32);
                    comando.AdicionarParametroEntrada("geometria_coord_atv_x", item.CoordenadaAtividade.CoordX, DbType.Decimal);
                    comando.AdicionarParametroEntrada("geometria_coord_atv_y", item.CoordenadaAtividade.CoordY, DbType.Decimal);
                    comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual());
                    comando.AdicionarParametroSaida("id", DbType.Int32);

                    bancoDeDados.ExecutarNonQuery(comando);

                    item.Id = Convert.ToInt32(comando.ObterValorParametro("id"));

                    #region Cultivos

                    foreach (Cultivo cultivo in item.Cultivos)
                    {
                        comando = bancoDeDados.CriarComando(@"
						insert into {0}crt_aquicultura_cultivos c 
						(id, caracterizacao, aquicultura, identificador, volume, tid) values 
						(seq_crt_aquicultura_cultivos.nextval, :caracterizacao, :aquicultura, :identificador, :volume, :tid) returning c.id into :id"                        , EsquemaBanco);

                        comando.AdicionarParametroEntrada("caracterizacao", caracterizacao.Id, DbType.Int32);
                        comando.AdicionarParametroEntrada("aquicultura", item.Id, DbType.Int32);
                        comando.AdicionarParametroEntrada("identificador", cultivo.Identificador, DbType.Int32);
                        comando.AdicionarParametroEntrada("volume", cultivo.Volume, DbType.Decimal);
                        comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual());
                        comando.AdicionarParametroSaida("id", DbType.Int32);
                        bancoDeDados.ExecutarNonQuery(comando);

                        cultivo.Id = Convert.ToInt32(comando.ObterValorParametro("id"));
                    }

                    #endregion
                }

                #endregion

                #endregion

                Historico.Gerar(caracterizacao.Id, eHistoricoArtefatoCaracterizacao.aquicultura, eHistoricoAcao.criar, bancoDeDados, null);

                bancoDeDados.Commit();

                return(caracterizacao.Id);
            }
        }
Exemplo n.º 18
0
        internal ObjetoInfracao Obter(int fiscalizacaoId, BancoDeDados banco = null)
        {
            ObjetoInfracao objetoInfracao = new ObjetoInfracao();

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                #region Objeto de infracao

                Comando comando = bancoDeDados.CriarComando(@"select i.id, t.situacao situacao_id, i.area_embargada_atv_intermed, i.tei_gerado_pelo_sist, 
															i.tei_gerado_pelo_sist_serie, i.num_tei_bloco, data_lavratura_termo,
															i.opniao_area_danificada, i.desc_termo_embargo, i.existe_atv_area_degrad,
															i.existe_atv_area_degrad_especif, i.fundament_infracao, i.uso_solo_area_danif, i.declividade_media_area,
															i.infracao_result_erosao, i.caract_solo_area_danif, i.arquivo, a.nome arquivo_nome, i.tid, i.infr_result_er_especifique
															from tab_fisc_obj_infracao i, tab_fiscalizacao t, tab_arquivo a where i.fiscalizacao = :fiscalizacao 
															and i.arquivo = a.id(+) and t.id = i.fiscalizacao"                                                            , EsquemaBanco);

                comando.AdicionarParametroEntrada("fiscalizacao", fiscalizacaoId, DbType.Int32);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    if (reader.Read())
                    {
                        objetoInfracao.Id                                  = Convert.ToInt32(reader["id"]);
                        objetoInfracao.FiscalizacaoId                      = fiscalizacaoId;
                        objetoInfracao.FiscalizacaoSituacaoId              = Convert.ToInt32(reader["situacao_id"]);
                        objetoInfracao.AreaEmbargadaAtvIntermed            = Convert.ToInt32(reader["area_embargada_atv_intermed"]);
                        objetoInfracao.ExisteAtvAreaDegrad                 = Convert.ToInt32(reader["existe_atv_area_degrad"]);
                        objetoInfracao.ExisteAtvAreaDegradEspecificarTexto = reader["existe_atv_area_degrad_especif"].ToString();
                        objetoInfracao.FundamentoInfracao                  = reader["fundament_infracao"].ToString();
                        objetoInfracao.UsoSoloAreaDanificada               = reader["uso_solo_area_danif"].ToString();
                        objetoInfracao.AreaDeclividadeMedia                = reader.GetValue <decimal>("declividade_media_area").ToStringTrunc();

                        objetoInfracao.Tid = reader["tid"].ToString();

                        if (reader["infracao_result_erosao"] != null && !Convert.IsDBNull(reader["infracao_result_erosao"]))
                        {
                            objetoInfracao.InfracaoResultouErosaoTipo = Convert.ToInt32(reader["infracao_result_erosao"]) == 0 ? 2 : 1;
                        }
                        else
                        {
                            objetoInfracao.InfracaoResultouErosaoTipo = 0;
                        }

                        if (reader["tei_gerado_pelo_sist_serie"] != null && !Convert.IsDBNull(reader["tei_gerado_pelo_sist_serie"]))
                        {
                            objetoInfracao.TeiGeradoPeloSistemaSerieTipo = Convert.ToInt32(reader["tei_gerado_pelo_sist_serie"]);
                        }

                        if (reader["tei_gerado_pelo_sist"] != null && !Convert.IsDBNull(reader["tei_gerado_pelo_sist"]))
                        {
                            objetoInfracao.TeiGeradoPeloSistema = Convert.ToInt32(reader["tei_gerado_pelo_sist"]);
                        }

                        if (reader["caract_solo_area_danif"] != null && !Convert.IsDBNull(reader["caract_solo_area_danif"]))
                        {
                            objetoInfracao.CaracteristicaSoloAreaDanificada = Convert.ToInt32(reader["caract_solo_area_danif"]);
                        }

                        if (reader["data_lavratura_termo"] != null && !Convert.IsDBNull(reader["data_lavratura_termo"]))
                        {
                            objetoInfracao.DataLavraturaTermo.Data = Convert.ToDateTime(reader["data_lavratura_termo"]);
                        }

                        if (reader["num_tei_bloco"] != null && !Convert.IsDBNull(reader["num_tei_bloco"]))
                        {
                            objetoInfracao.NumTeiBloco = reader["num_tei_bloco"].ToString();
                        }

                        if (reader["opniao_area_danificada"] != null && !Convert.IsDBNull(reader["opniao_area_danificada"]))
                        {
                            objetoInfracao.OpniaoAreaDanificada = reader["opniao_area_danificada"].ToString();
                        }

                        if (reader["desc_termo_embargo"] != null && !Convert.IsDBNull(reader["desc_termo_embargo"]))
                        {
                            objetoInfracao.DescricaoTermoEmbargo = reader["desc_termo_embargo"].ToString();
                        }

                        if (reader["arquivo"] != null && !Convert.IsDBNull(reader["arquivo"]))
                        {
                            objetoInfracao.Arquivo.Id   = Convert.ToInt32(reader["arquivo"]);
                            objetoInfracao.Arquivo.Nome = reader["arquivo_nome"].ToString();
                        }

                        objetoInfracao.InfracaoResultouErosaoTipoTexto = reader.GetValue <string>("infr_result_er_especifique");
                    }
                    reader.Close();
                }

                #endregion
            }
            return(objetoInfracao);
        }
        public CARSolicitacaoRelatorio Obter(int id, BancoDeDados banco = null)
        {
            CARSolicitacaoRelatorio entidade = new CARSolicitacaoRelatorio();

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                #region Solicitação

                Comando comando = bancoDeDados.CriarComando(@"select s.tid,
				cd.id dominialidade_id,
				cd.tid dominialidade_tid,
				s.numero,
				s.data_emissao,
				lss.texto situacao_texto,
				(select count(*) from tab_empreendimento_responsavel er where er.empreendimento = e.id and er.responsavel != s.declarante) +
				(select count(*) from tab_protocolo pt where pt.id = s.protocolo and pt.interessado != s.declarante) possui_outros,
				p.tipo declarante_tipo,
				(select lert.texto tipo_texto from tab_empreendimento_responsavel er, lov_empreendimento_tipo_resp lert 
				where er.tipo = lert.id and er.empreendimento = e.id and er.responsavel = s.declarante) declarante_tipo_texto,
				nvl(p.nome, p.razao_social) declarante_nome_razao,
				nvl(p.cpf, p.cnpj) declarante_cpf_cnpj,
				pe.cep declarante_cep,
				pe.logradouro declarante_logradouro,
				pe.bairro declarante_bairro,
				lmp.texto declarante_municipio,
				pe.distrito declarante_distrito,
				lep.sigla declarante_estado_sigla,
				e.codigo empreendimento_codigo,
				e.denominador empreendimento_denominador,
				e.cnpj empreendimento_cnpj,
				ee.correspondencia emp_endereco_correspondencia,
				ee.cep empreendimento_cep,
				ee.logradouro empreendimento_logradouro,
				ee.bairro empreendimento_bairro,
				lme.texto empreendimento_municipio,
				ee.distrito empreendimento_distrito,
				lee.sigla empreendimento_estado_sigla,
				lct.texto emp_coordenada_texto,
				lcd.texto emp_datum_texto,
				ec.northing_utm emp_northing,
				ec.easting_utm emp_easting,
				ec.fuso_utm emp_fuso,
				llc.texto emp_local_coleta,
				lfc.texto emp_forma_coleta,
                tcs.codigo_imovel numero_sicar,
                tcs.pendencias pendencias_sicar
				from tab_car_solicitacao s, lov_car_solicitacao_situacao lss, crt_dominialidade cd, tab_pessoa p, tab_pessoa_endereco pe, lov_estado lep, 
					lov_municipio lmp, tab_empreendimento e, tab_empreendimento_endereco ee, lov_estado lee, lov_municipio lme, tab_empreendimento_coord ec, 
					lov_empreendimento_forma_colet lfc, lov_empreendimento_local_colet llc, lov_coordenada_datum lcd, lov_coordenada_tipo lct, tab_controle_sicar tcs 
				where s.situacao = lss.id
				and s.empreendimento = cd.empreendimento
				and s.declarante = p.id 
				and p.id = pe.pessoa
				and pe.estado = lep.id
				and pe.municipio = lmp.id
				and s.empreendimento = e.id
				and e.id = ee.empreendimento
				and ee.correspondencia = 0
				and ee.estado = lee.id
				and ee.municipio = lme.id
				and e.id = ec.empreendimento
				and ec.tipo_coordenada = lct.id
				and ec.datum = lcd.id
				and ec.local_coleta = llc.id
				and ec.forma_coleta = lfc.id
                and s.id = tcs.solicitacao_car(+)
                and nvl(tcs.solicitacao_car_esquema, 1) = 1
				and s.id = :id"                , EsquemaBanco);

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

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    if (reader.Read())
                    {
                        entidade.Id               = id;
                        entidade.Numero           = reader.GetValue <int>("numero");
                        entidade.DataEmissao      = reader.GetValue <string>("data_emissao");
                        entidade.SituacaoTexto    = reader.GetValue <string>("situacao_texto");
                        entidade.DominialidadeId  = reader.GetValue <int>("dominialidade_id");
                        entidade.DominialidadeTid = reader.GetValue <string>("dominialidade_tid");

                        entidade.DeclarantePossuiOutros             = reader.GetValue <int>("possui_outros") > 0;
                        entidade.Declarante.Tipo                    = reader.GetValue <int>("declarante_tipo");
                        entidade.Declarante.TipoTexto               = reader.GetValue <string>("declarante_tipo_texto");
                        entidade.Declarante.NomeRazaoSocial         = reader.GetValue <string>("declarante_nome_razao");
                        entidade.Declarante.CPFCNPJ                 = reader.GetValue <string>("declarante_cpf_cnpj");
                        entidade.Declarante.Endereco.Cep            = reader.GetValue <string>("declarante_cep");
                        entidade.Declarante.Endereco.Logradouro     = reader.GetValue <string>("declarante_logradouro");
                        entidade.Declarante.Endereco.Bairro         = reader.GetValue <string>("declarante_bairro");
                        entidade.Declarante.Endereco.Distrito       = reader.GetValue <string>("declarante_distrito");
                        entidade.Declarante.Endereco.MunicipioTexto = reader.GetValue <string>("declarante_municipio");
                        entidade.Declarante.Endereco.EstadoSigla    = reader.GetValue <string>("declarante_estado_sigla");

                        entidade.Empreendimento.Codigo    = Convert.ToInt32(reader["empreendimento_codigo"]);
                        entidade.Empreendimento.NomeRazao = reader.GetValue <string>("empreendimento_denominador");
                        entidade.Empreendimento.CNPJ      = reader.GetValue <string>("empreendimento_cnpj");

                        entidade.Empreendimento.Enderecos.Add(new EnderecoRelatorio()
                        {
                            Correspondencia = reader.GetValue <int?>("emp_endereco_correspondencia"),
                            Cep             = reader.GetValue <string>("empreendimento_cep"),
                            Logradouro      = reader.GetValue <string>("empreendimento_logradouro"),
                            Bairro          = reader.GetValue <string>("empreendimento_bairro"),
                            Distrito        = reader.GetValue <string>("empreendimento_distrito"),
                            MunicipioTexto  = reader.GetValue <string>("empreendimento_municipio"),
                            EstadoSigla     = reader.GetValue <string>("empreendimento_estado_sigla")
                        });

                        entidade.Empreendimento.Coordenada.Tipo.Texto       = reader.GetValue <string>("emp_coordenada_texto");
                        entidade.Empreendimento.Coordenada.NorthingUtm      = reader.GetValue <double?>("emp_northing");
                        entidade.Empreendimento.Coordenada.EastingUtm       = reader.GetValue <double?>("emp_easting");
                        entidade.Empreendimento.Coordenada.FusoUtm          = reader.GetValue <int?>("emp_fuso");
                        entidade.Empreendimento.Coordenada.LocalColetaTexto = reader.GetValue <string>("emp_local_coleta");
                        entidade.Empreendimento.Coordenada.FormaColetaTexto = reader.GetValue <string>("emp_forma_coleta");
                        entidade.Empreendimento.Coordenada.DatumTexto       = reader.GetValue <string>("emp_datum_texto");

                        entidade.Sicar.NumeroSICAR = reader.GetValue <string>("numero_sicar");
                        entidade.Sicar.Pendencias  = reader.GetValue <string>("pendencias_sicar");
                    }

                    reader.Close();
                }

                #endregion Solicitação

                return(entidade);
            }
        }
Exemplo n.º 20
0
        internal ObjetoInfracao Criar(ObjetoInfracao objetoInfracao, BancoDeDados banco = null)
        {
            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                #region Objeto de Infracao

                bancoDeDados.IniciarTransacao();

                Comando comando = bancoDeDados.CriarComando(@"insert into tab_fisc_obj_infracao i(id, fiscalizacao, area_embargada_atv_intermed, 
															tei_gerado_pelo_sist, tei_gerado_pelo_sist_serie, num_tei_bloco, data_lavratura_termo, 
															opniao_area_danificada, desc_termo_embargo, existe_atv_area_degrad, existe_atv_area_degrad_especif, fundament_infracao,
															uso_solo_area_danif, declividade_media_area,infracao_result_erosao, caract_solo_area_danif, arquivo, tid, infr_result_er_especifique) values({0}seq_tab_fisc_obj_infracao.nextval, 
															:fiscalizacao, :area_embargada_atv_intermed, :tei_gerado_pelo_sist, :tei_gerado_pelo_sist_serie, 
															:num_tei_bloco, :data_lavratura_termo, :opniao_area_danificada, :desc_termo_embargo, 
															:existe_atv_area_degrad, :existe_atv_area_degrad_especif, :fundament_infracao, :uso_solo_area_danif, :declividade_media_area,
															:infracao_result_erosao, :caract_solo_area_danif, :arquivo, :tid, :infr_result_er_especifique) returning i.id into :id"                                                            , EsquemaBanco);

                comando.AdicionarParametroEntrada("fiscalizacao", objetoInfracao.FiscalizacaoId, DbType.Int32);
                comando.AdicionarParametroEntrada("area_embargada_atv_intermed", objetoInfracao.AreaEmbargadaAtvIntermed, DbType.Int32);
                comando.AdicionarParametroEntrada("tei_gerado_pelo_sist", objetoInfracao.TeiGeradoPeloSistema, DbType.Int32);
                comando.AdicionarParametroEntrada("tei_gerado_pelo_sist_serie", objetoInfracao.TeiGeradoPeloSistemaSerieTipo == 0 ? (Object)DBNull.Value : objetoInfracao.TeiGeradoPeloSistemaSerieTipo, DbType.Int32);
                comando.AdicionarParametroEntrada("num_tei_bloco", String.IsNullOrWhiteSpace(objetoInfracao.NumTeiBloco) ? (Object)DBNull.Value : objetoInfracao.NumTeiBloco, DbType.Int32);
                comando.AdicionarParametroEntrada("data_lavratura_termo", String.IsNullOrWhiteSpace(objetoInfracao.DataLavraturaTermo.DataTexto) ? (Object)DBNull.Value : objetoInfracao.DataLavraturaTermo.DataTexto, DbType.Date);
                comando.AdicionarParametroEntrada("opniao_area_danificada", String.IsNullOrWhiteSpace(objetoInfracao.OpniaoAreaDanificada) ? (Object)DBNull.Value : objetoInfracao.OpniaoAreaDanificada, DbType.String);
                comando.AdicionarParametroEntrada("desc_termo_embargo", String.IsNullOrWhiteSpace(objetoInfracao.DescricaoTermoEmbargo) ? (Object)DBNull.Value : objetoInfracao.DescricaoTermoEmbargo, DbType.String);
                comando.AdicionarParametroEntrada("existe_atv_area_degrad", objetoInfracao.ExisteAtvAreaDegrad, DbType.Int32);
                comando.AdicionarParametroEntrada("existe_atv_area_degrad_especif", String.IsNullOrWhiteSpace(objetoInfracao.ExisteAtvAreaDegradEspecificarTexto) ? (Object)DBNull.Value : objetoInfracao.ExisteAtvAreaDegradEspecificarTexto, DbType.String);
                comando.AdicionarParametroEntrada("fundament_infracao", objetoInfracao.FundamentoInfracao, DbType.String);
                comando.AdicionarParametroEntrada("uso_solo_area_danif", objetoInfracao.UsoSoloAreaDanificada, DbType.String);
                comando.AdicionarParametroEntrada("declividade_media_area", objetoInfracao.AreaDeclividadeMedia, DbType.Decimal);
                comando.AdicionarParametroEntrada("infracao_result_erosao", objetoInfracao.InfracaoResultouErosaoTipo == 1 ? 1 : objetoInfracao.InfracaoResultouErosaoTipo == 2 ? 0 : (Object)DBNull.Value, DbType.Int32);
                comando.AdicionarParametroEntrada("caract_solo_area_danif", objetoInfracao.CaracteristicaSoloAreaDanificada, DbType.Int32);
                comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual());
                comando.AdicionarParametroEntrada("arquivo", objetoInfracao.Arquivo == null ? (Object)DBNull.Value : objetoInfracao.Arquivo.Id, DbType.Int32);
                comando.AdicionarParametroEntrada("infr_result_er_especifique", DbType.String, 150, objetoInfracao.InfracaoResultouErosaoTipoTexto);
                comando.AdicionarParametroSaida("id", DbType.Int32);

                bancoDeDados.ExecutarNonQuery(comando);

                objetoInfracao.Id = Convert.ToInt32(comando.ObterValorParametro("id"));

                #endregion

                Historico.Gerar(objetoInfracao.FiscalizacaoId, eHistoricoArtefato.fiscalizacao, eHistoricoAcao.atualizar, bancoDeDados);

                Consulta.Gerar(objetoInfracao.FiscalizacaoId, eHistoricoArtefato.fiscalizacao, bancoDeDados);

                bancoDeDados.Commit();
            }

            return(objetoInfracao);
        }
        public List <Pessoa> ObterResponsaveis(int empreendimento, BancoDeDados bancoCredenciado)
        {
            var retorno = new List <Pessoa>();
            var conj    = new List <string>();

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(bancoCredenciado, UsuarioCredenciado))
            {
                bancoDeDados.IniciarTransacao();

                #region Responsáveis do empreendimento

                Comando comando = bancoDeDados.CriarComando(@"select p.tipo Tipo, p.id Id, p.interno InternoId, nvl(p.nome, p.razao_social) NomeRazaoSocial,
				nvl(p.cpf, p.cnpj) CPFCNPJ, (select c.conjuge||'@'||c.pessoa from {0}tab_pessoa_conjuge c where c.pessoa = p.id or c.conjuge = p.id) conjuge 
				from {0}tab_pessoa p, {0}tab_empreendimento_responsavel pc where p.id = pc.responsavel and pc.empreendimento = :empreendimento"                , UsuarioCredenciado);

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

                Pessoa pessoa;

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    while (reader.Read())
                    {
                        pessoa              = new Pessoa();
                        pessoa.Id           = reader.GetValue <int>("Id");
                        pessoa.Tipo         = reader.GetValue <int>("Tipo");
                        pessoa.InternoId    = reader.GetValue <int>("InternoId");
                        pessoa.NomeFantasia = reader.GetValue <string>("NomeRazaoSocial");
                        pessoa.CPFCNPJ      = reader.GetValue <string>("CPFCNPJ");
                        if (!string.IsNullOrEmpty(reader.GetValue <string>("conjuge")))
                        {
                            conj = reader.GetValue <string>("conjuge").Split('@').ToList();
                            pessoa.Fisica.ConjugeId = (Convert.ToInt32(conj[0]) == pessoa.Id) ? Convert.ToInt32(conj[1]) : Convert.ToInt32(conj[0]);
                        }
                        retorno.Add(pessoa);
                    }

                    reader.Close();
                }

                #endregion

                //Obter CPF Conjuges
                comando = bancoDeDados.CriarComando(@"select p.id, p.cpf from {0}tab_pessoa p ", UsuarioCredenciado);
                comando.DbCommand.CommandText += comando.AdicionarIn("where", "p.id", DbType.Int32, retorno.Where(x => x.Fisica.ConjugeId > 0).Select(x => x.Fisica.ConjugeId).ToList());

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    while (reader.Read())
                    {
                        pessoa = retorno.FirstOrDefault(x => x.Fisica.ConjugeId == reader.GetValue <int>("id"));

                        if (pessoa != null)
                        {
                            pessoa.Fisica.ConjugeCPF = reader.GetValue <string>("cpf");
                        }
                    }

                    reader.Close();
                }
            }
            return(retorno);
        }
Exemplo n.º 22
0
        public Empreendimento ObterSimplificado(int id, BancoDeDados banco = null)
        {
            Empreendimento empreendimento = new Empreendimento();

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                #region Empreendimento

                Comando comando = bancoDeDados.CriarComando(@"select e.id, e.codigo, e.segmento, ls.texto segmento_texto, e.cnpj, e.denominador, e.nome_fantasia, e.atividade, 
				a.atividade atividade_texto, e.tid from {0}tab_empreendimento e, {0}tab_empreendimento_atividade a, {0}lov_empreendimento_segmento ls 
				where e.atividade = a.id(+) and e.segmento = ls.id and e.id = :id"                , EsquemaBanco);

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

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    if (reader.Read())
                    {
                        empreendimento.Id     = id;
                        empreendimento.Tid    = reader.GetValue <string>("tid");
                        empreendimento.Codigo = reader.GetValue <long>("codigo");

                        if (reader["segmento"] != null && !Convert.IsDBNull(reader["segmento"]))
                        {
                            empreendimento.Segmento      = Convert.ToInt32(reader["segmento"]);
                            empreendimento.SegmentoTexto = reader["segmento"].ToString();
                        }

                        empreendimento.CNPJ         = reader["cnpj"].ToString();
                        empreendimento.Denominador  = reader["denominador"].ToString();
                        empreendimento.NomeFantasia = reader["nome_fantasia"].ToString();

                        if (reader["atividade"] != null && !Convert.IsDBNull(reader["atividade"]))
                        {
                            empreendimento.Atividade.Id        = Convert.ToInt32(reader["atividade"]);
                            empreendimento.Atividade.Atividade = reader["atividade_texto"].ToString();
                        }
                    }

                    reader.Close();
                }

                #endregion

                #region Coordenada

                comando = bancoDeDados.CriarComando(@"select aec.id, aec.tid, aec.tipo_coordenada, lct.texto tipoTexto, aec.datum, lcd.texto datumTexto, aec.easting_utm,
				aec.northing_utm, aec.fuso_utm, aec.hemisferio_utm, lch.texto hemisferioTexto, aec.latitude_gms,aec.longitude_gms, aec.latitude_gdec, aec.longitude_gdec,
				aec.forma_coleta,   aec.local_coleta  from tab_empreendimento_coord aec, lov_coordenada_datum lcd, lov_coordenada_tipo lct, lov_coordenada_hemisferio lch
				where aec.datum = lcd.id(+) and aec.hemisferio_utm = lch.id(+) and aec.tipo_coordenada = lct.id(+) and aec.empreendimento = :empreendimentoid"                , EsquemaBanco);

                comando.AdicionarParametroEntrada("empreendimentoid", empreendimento.Id, DbType.Int32);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    if (reader.Read())
                    {
                        empreendimento.Coordenada.Id  = Convert.ToInt32(reader["id"]);
                        empreendimento.Coordenada.Tid = reader["tid"].ToString();

                        if (!Convert.IsDBNull(reader["easting_utm"]))
                        {
                            empreendimento.Coordenada.EastingUtm      = Convert.ToDouble(reader["easting_utm"]);
                            empreendimento.Coordenada.EastingUtmTexto = empreendimento.Coordenada.EastingUtm.ToString();
                        }

                        if (!Convert.IsDBNull(reader["northing_utm"]))
                        {
                            empreendimento.Coordenada.NorthingUtm      = Convert.ToDouble(reader["northing_utm"]);
                            empreendimento.Coordenada.NorthingUtmTexto = empreendimento.Coordenada.NorthingUtm.ToString();
                        }

                        empreendimento.Coordenada.FusoUtm       = Convert.IsDBNull(reader["fuso_utm"]) ? 0 : Convert.ToInt32(reader["fuso_utm"]);
                        empreendimento.Coordenada.HemisferioUtm = Convert.IsDBNull(reader["hemisferio_utm"]) ? 0 : Convert.ToInt32(reader["hemisferio_utm"]);
                        empreendimento.Coordenada.LatitudeGms   = reader["latitude_gms"].ToString();
                        empreendimento.Coordenada.LongitudeGms  = reader["longitude_gms"].ToString();

                        if (!Convert.IsDBNull(reader["latitude_gdec"]))
                        {
                            empreendimento.Coordenada.LatitudeGdec      = Convert.ToDouble(reader["latitude_gdec"]);
                            empreendimento.Coordenada.LatitudeGdecTexto = empreendimento.Coordenada.LatitudeGdec.ToString();
                        }

                        if (!Convert.IsDBNull(reader["longitude_gdec"]))
                        {
                            empreendimento.Coordenada.LongitudeGdec      = Convert.ToDouble(reader["longitude_gdec"]);
                            empreendimento.Coordenada.LongitudeGdecTexto = empreendimento.Coordenada.LongitudeGdec.ToString();
                        }

                        empreendimento.Coordenada.Datum.Id = Convert.ToInt32(reader["datum"]);
                        empreendimento.Coordenada.Tipo.Id  = Convert.ToInt32(reader["tipo_coordenada"]);

                        if (!Convert.IsDBNull(reader["forma_coleta"]))
                        {
                            empreendimento.Coordenada.FormaColeta = Convert.ToInt32(reader["forma_coleta"]);
                        }

                        if (!Convert.IsDBNull(reader["local_coleta"]))
                        {
                            empreendimento.Coordenada.LocalColeta = Convert.ToInt32(reader["local_coleta"]);
                        }

                        if (!Convert.IsDBNull(reader["datumtexto"]))
                        {
                            empreendimento.Coordenada.Datum.Texto = reader["datumtexto"].ToString();
                        }

                        if (!Convert.IsDBNull(reader["tipotexto"]))
                        {
                            empreendimento.Coordenada.Tipo.Texto = reader["tipotexto"].ToString();
                        }

                        if (!Convert.IsDBNull(reader["hemisferiotexto"]))
                        {
                            empreendimento.Coordenada.HemisferioUtmTexto = reader["hemisferiotexto"].ToString();
                        }
                    }

                    reader.Close();
                }

                #endregion
            }

            return(empreendimento);
        }
Exemplo n.º 23
0
        internal Resultados <AtividadeConfiguracao> Filtrar(Filtro <ListarConfigurarcaoFiltro> filtros, BancoDeDados banco = null)
        {
            Resultados <AtividadeConfiguracao> retorno = new Resultados <AtividadeConfiguracao>();

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                string  comandtxt = string.Empty;
                Comando comando   = bancoDeDados.CriarComando("");

                #region Adicionando Filtros

                comandtxt += comando.FiltroAndLike("a.nome", "nome", filtros.Dados.NomeGrupo + "%", true);

                comandtxt += comando.FiltroIn("a.id", String.Format(@"select m.configuracao from {0}cnf_atividade_modelos m where m.modelo = :modelo",
                                                                    (string.IsNullOrEmpty(EsquemaBanco) ? "" : ".")), "modelo", filtros.Dados.Modelo);

                if (!string.IsNullOrWhiteSpace(filtros.Dados.AtividadeSolicitada))
                {
                    comandtxt += comando.FiltroIn("a.id", String.Format(@"select m.configuracao from {0}cnf_atividade_atividades m, {0}tab_atividade a where m.atividade = a.id and lower(trim(a.atividade)) like '%'||:atividade||'%'",
                                                                        (string.IsNullOrEmpty(EsquemaBanco) ? "" : ".")), "atividade", filtros.Dados.AtividadeSolicitada.ToLower().Trim());
                }

                if (filtros.Dados.SetorId > 0)
                {
                    comandtxt += " and a.id in (select t.configuracao from cnf_atividade_atividades t, tab_atividade ta where t.atividade = ta.id and ta.setor = :setor)";
                    comando.AdicionarParametroEntrada("setor", filtros.Dados.SetorId, DbType.Int32);
                }

                if (filtros.Dados.AgrupadorId > 0)
                {
                    comandtxt += " and a.id in (select t.configuracao from cnf_atividade_atividades t, tab_atividade ta where t.atividade = ta.id and ta.agrupador = :agrupador)";
                    comando.AdicionarParametroEntrada("agrupador", filtros.Dados.AgrupadorId, DbType.Int32);
                }

                List <String> ordenar = new List <String>();
                List <String> colunas = new List <String>()
                {
                    "nome"
                };

                if (filtros.OdenarPor > 0)
                {
                    ordenar.Add(colunas.ElementAtOrDefault(filtros.OdenarPor - 1));
                }
                else
                {
                    ordenar.Add("nome");
                }
                #endregion

                #region Quantidade de registro do resultado

                comando.DbCommand.CommandText = String.Format("select count(*) from {0}cnf_atividade a where a.id > 0" + comandtxt, (string.IsNullOrEmpty(EsquemaBanco) ? "" : "."));

                retorno.Quantidade = Convert.ToInt32(bancoDeDados.ExecutarScalar(comando));

                comando.AdicionarParametroEntrada("menor", filtros.Menor);
                comando.AdicionarParametroEntrada("maior", filtros.Maior);

                comandtxt = String.Format(@"select a.id, a.nome, a.tid from {0}cnf_atividade a where 1=1 " + comandtxt + DaHelper.Ordenar(colunas, ordenar), (string.IsNullOrEmpty(EsquemaBanco) ? "" : "."));

                comando.DbCommand.CommandText = @"select * from (select a.*, rownum rnum from ( " + comandtxt + @") a) where rnum <= :maior and rnum >= :menor";

                #endregion

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    #region Adicionando os dados na classe de retorno

                    AtividadeConfiguracao atividade;
                    while (reader.Read())
                    {
                        atividade           = new AtividadeConfiguracao();
                        atividade.Id        = Convert.ToInt32(reader["id"]);
                        atividade.NomeGrupo = reader["nome"].ToString();

                        retorno.Itens.Add(atividade);
                    }

                    reader.Close();

                    #endregion
                }
            }

            return(retorno);
        }
Exemplo n.º 24
0
        public Resultados <Empreendimento> Filtrar(Filtro <ListarEmpreendimentoFiltro> filtros, BancoDeDados banco = null)
        {
            Resultados <Empreendimento> retorno = new Resultados <Empreendimento>();

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                string  comandtxt = string.Empty;
                Comando comando   = bancoDeDados.CriarComando("");

                #region Adicionando Filtros

                comandtxt += comando.FiltroAnd("e.codigo", "codigo", filtros.Dados.Codigo);

                comandtxt += comando.FiltroAndLike("e.denominador", "denominador", filtros.Dados.Denominador, true);

                comandtxt += comando.FiltroAndLike("e.cnpj", "cnpj", filtros.Dados.CNPJ);

                comandtxt += comando.FiltroIn("e.empreendimento_id", String.Format(@"select r.empreendimento from {0}tab_empreendimento_responsavel r, {0}lst_pessoa p where p.pessoa_id = r.responsavel 
				and p.cpf_cnpj like :responsavel_cpf_cnpj ||'%'"                , (string.IsNullOrEmpty(EsquemaBanco) ? "" : ".")), "responsavel_cpf_cnpj", filtros.Dados.Responsavel.CpfCnpj);

                if (!ValidacoesGenericasBus.Cpf(filtros.Dados.Responsavel.CpfCnpj) && !ValidacoesGenericasBus.Cnpj(filtros.Dados.Responsavel.CpfCnpj))
                {
                    comandtxt += comando.FiltroIn("e.empreendimento_id", String.Format(@"select r.empreendimento from {0}tab_empreendimento_responsavel r, {0}lst_pessoa p  
					where p.pessoa_id = r.responsavel and upper(p.nome_razao_social) like upper('%'|| :responsavel_nome ||'%')"                    , (string.IsNullOrEmpty(EsquemaBanco) ? "" : ".")), "responsavel_nome", filtros.Dados.Responsavel.NomeRazao);
                }

                comandtxt += comando.FiltroAnd("e.segmento_id", "segmento_id", filtros.Dados.Segmento);

                comandtxt += comando.FiltroAnd("e.municipio_id", "municipio_id", filtros.Dados.MunicipioId);

                if (filtros.Dados.MunicipioId.GetValueOrDefault() <= 0)
                {
                    comandtxt += comando.FiltroAnd("e.estado_id", "estado_id", filtros.Dados.EstadoId);
                }

                comandtxt += comando.FiltroAnd("e.atividade_id", "atividade_id", filtros.Dados.Atividade.Id);

                comandtxt += comando.FiltroAnd("e.cnpj", "cnpj_empreemdimento", filtros.Dados.CnpjEmpreemdimento);

                comandtxt += comando.FiltroIn("e.empreendimento_id", String.Format(@"select p.empreendimento_id from {0}lst_protocolo p where p.numero_completo = :protocolo_numero", (string.IsNullOrEmpty(EsquemaBanco) ? "" : ".")), "protocolo_numero", filtros.Dados.Protocolo.NumeroTexto);

                //Filtro de abrangencia
                if (!string.IsNullOrEmpty(filtros.Dados.AreaAbrangencia) && filtros.Dados.Coordenada != null)
                {
                    //Transforma as coordenadas
                    filtros.Dados.Coordenada = CoordenadaBus.TransformarCoordenada(filtros.Dados.Coordenada);
                    Double abrangencia = Convert.ToDouble(filtros.Dados.AreaAbrangencia);

                    comandtxt += String.Format(@" and e.empreendimento_id in (select e.empreendimento from {0}geo_emp_localizacao e where sdo_relate(e.geometry, 
					{0}coordenada.utm2spatialrect(:x1, :y1, :f1, :x2, :y2, :f2, 0), 'MASK=ANYINTERACT QUERYTYPE=WINDOW')='TRUE')"                    ,
                                               (string.IsNullOrEmpty(EsquemaBancoGeo) ? "" : EsquemaBancoGeo + "."));

                    comando.AdicionarParametroEntrada("x1", (filtros.Dados.Coordenada.EastingUtm - abrangencia), DbType.Double);
                    comando.AdicionarParametroEntrada("y1", (filtros.Dados.Coordenada.NorthingUtm - abrangencia), DbType.Double);
                    comando.AdicionarParametroEntrada("f1", filtros.Dados.Coordenada.FusoUtm, DbType.Int32);

                    comando.AdicionarParametroEntrada("x2", (filtros.Dados.Coordenada.EastingUtm + abrangencia), DbType.Double);
                    comando.AdicionarParametroEntrada("y2", (filtros.Dados.Coordenada.NorthingUtm + abrangencia), DbType.Double);
                    comando.AdicionarParametroEntrada("f2", filtros.Dados.Coordenada.FusoUtm, DbType.Int32);
                }

                if (filtros.Dados.EmpreendimentoCompensacao > 0)
                {
                    comandtxt += string.Format(@" and e.empreendimento_id in (select empreendimento from crt_dominialidade where id in (select dominialidade from 
					crt_dominialidade_dominio where id in (select dominio from crt_dominialidade_reserva where cedente_receptor = 1 and emp_compensacao = :emp_compensacao))) "                    , (string.IsNullOrEmpty(EsquemaBanco) ? "" : EsquemaBanco + "."));

                    comando.AdicionarParametroEntrada("emp_compensacao", filtros.Dados.EmpreendimentoCompensacao, DbType.Int32);
                }

                List <String> ordenar = new List <String>();
                List <String> colunas = new List <String>()
                {
                    "codigo", "segmento_texto", "denominador", "cnpj"
                };

                if (filtros.OdenarPor > 0)
                {
                    ordenar.Add(colunas.ElementAtOrDefault(filtros.OdenarPor - 1));
                }
                else
                {
                    ordenar.Add("denominador");
                }

                #endregion

                #region Quantidade de registro do resultado

                comando.DbCommand.CommandText = String.Format("select count(*) from {0}lst_empreendimento e where e.id > 0" + comandtxt,
                                                              (string.IsNullOrEmpty(EsquemaBanco) ? "" : EsquemaBanco + "."));

                retorno.Quantidade = Convert.ToInt32(bancoDeDados.ExecutarScalar(comando));

                comando.AdicionarParametroEntrada("menor", filtros.Menor);
                comando.AdicionarParametroEntrada("maior", filtros.Maior);

                comandtxt = String.Format(@"select e.empreendimento_id id, e.codigo, e.denominador, e.cnpj, e.segmento_texto from {0}lst_empreendimento e where e.id > 0"
                                          + comandtxt + DaHelper.Ordenar(colunas, ordenar), (string.IsNullOrEmpty(EsquemaBanco) ? "" : EsquemaBanco + "."));

                comando.DbCommand.CommandText = @"select * from (select a.*, rownum rnum from ( " + comandtxt + @") a) where rnum <= :maior and rnum >= :menor";

                #endregion

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    #region Adicionando os dados na classe de retorno

                    Empreendimento empreendimento;

                    while (reader.Read())
                    {
                        empreendimento               = new Empreendimento();
                        empreendimento.Id            = reader.GetValue <Int32>("id");
                        empreendimento.Codigo        = reader.GetValue <Int64>("codigo");
                        empreendimento.Denominador   = reader.GetValue <String>("denominador");
                        empreendimento.CNPJ          = reader.GetValue <String>("cnpj");
                        empreendimento.SegmentoTexto = reader.GetValue <String>("segmento_texto");
                        retorno.Itens.Add(empreendimento);
                    }

                    reader.Close();

                    #endregion
                }
            }

            return(retorno);
        }
Exemplo n.º 25
0
        internal Suinocultura Obter(int id, BancoDeDados banco = null, bool simplificado = false)
        {
            Suinocultura caracterizacao = new Suinocultura();

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                #region Suinocultura

                Comando comando = bancoDeDados.CriarComando(@"select c.empreendimento, c.atividade, c.fase ,lf.texto fase_texto, c.existe_biodigestor,
															c.possui_fabrica_racao, c.numero_max_cabecas, c.numero_max_matrizes, c.geometria_coord_atv_x, c.geometria_coord_atv_y,
															c.geometria_id, c.geometria_tipo, c.tid  from {0}crt_suinocultura c, lov_crt_suinocultura_fase lf 
															where c.id = :id and lf.id = c.fase"                                                            , EsquemaBanco);

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

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    if (reader.Read())
                    {
                        caracterizacao.Id = id;
                        caracterizacao.EmpreendimentoId = Convert.ToInt32(reader["empreendimento"]);

                        caracterizacao.Atividade                = Convert.ToInt32(reader["atividade"]);
                        caracterizacao.Fase                     = Convert.ToInt32(reader["fase"]);
                        caracterizacao.ExisteBiodigestor        = Convert.ToInt32(reader["existe_biodigestor"]);
                        caracterizacao.PossuiFabricaRacao       = Convert.ToInt32(reader["possui_fabrica_racao"]);
                        caracterizacao.CoordenadaAtividade.Id   = Convert.ToInt32(reader["geometria_id"]);
                        caracterizacao.CoordenadaAtividade.Tipo = Convert.ToInt32(reader["geometria_tipo"]);

                        if (reader["numero_max_cabecas"] != null && !Convert.IsDBNull(reader["numero_max_cabecas"]))
                        {
                            caracterizacao.NumeroCabecas = Convert.ToDecimal(reader["numero_max_cabecas"]).ToString("N0");
                        }

                        if (reader["numero_max_matrizes"] != null && !Convert.IsDBNull(reader["numero_max_matrizes"]))
                        {
                            caracterizacao.NumeroMatrizes = Convert.ToDecimal(reader["numero_max_matrizes"]).ToString("N0");
                        }

                        if (reader["geometria_coord_atv_x"] != null && !Convert.IsDBNull(reader["geometria_coord_atv_x"]))
                        {
                            caracterizacao.CoordenadaAtividade.CoordX = Convert.ToDecimal(reader["geometria_coord_atv_x"]);
                        }

                        if (reader["geometria_coord_atv_y"] != null && !Convert.IsDBNull(reader["geometria_coord_atv_y"]))
                        {
                            caracterizacao.CoordenadaAtividade.CoordY = Convert.ToDecimal(reader["geometria_coord_atv_y"]);
                        }

                        caracterizacao.Tid = reader["tid"].ToString();
                    }

                    reader.Close();
                }

                #endregion

                if (caracterizacao.Id <= 0 || simplificado)
                {
                    return(caracterizacao);
                }
            }

            return(caracterizacao);
        }
Exemplo n.º 26
0
        internal void Editar(Aquicultura caracterizacao, BancoDeDados banco = null)
        {
            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                bancoDeDados.IniciarTransacao();

                #region Aquicultura

                Comando comando = bancoDeDados.CriarComando(@"
				update crt_aquicultura c set c.empreendimento = :empreendimento, c.tid = :tid where c.id = :id"                , EsquemaBanco);

                comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual());
                comando.AdicionarParametroEntrada("empreendimento", caracterizacao.EmpreendimentoId, DbType.Int32);
                comando.AdicionarParametroEntrada("id", caracterizacao.Id, DbType.Int32);

                bancoDeDados.ExecutarNonQuery(comando);

                #endregion

                #region Limpar os dados do banco

                //Cultivos
                comando = bancoDeDados.CriarComando(@"delete from {0}crt_aquicultura_cultivos c where c.caracterizacao = :caracterizacao", EsquemaBanco);
                comando.DbCommand.CommandText += comando.AdicionarNotIn("and", "c.id", DbType.Int32, caracterizacao.AquiculturasAquicult.SelectMany(x => x.Cultivos).Select(y => y.Id).ToList());
                comando.AdicionarParametroEntrada("caracterizacao", caracterizacao.Id, DbType.Int32);
                bancoDeDados.ExecutarNonQuery(comando);

                //Aquiculturas
                comando = bancoDeDados.CriarComando("delete from {0}crt_aquicultura_aquic c where c.caracterizacao = :caracterizacao", EsquemaBanco);
                comando.DbCommand.CommandText += comando.AdicionarNotIn("and", "c.id", DbType.Int32, caracterizacao.AquiculturasAquicult.Select(x => x.Id).ToList());
                comando.AdicionarParametroEntrada("caracterizacao", caracterizacao.Id, DbType.Int32);
                bancoDeDados.ExecutarNonQuery(comando);

                #endregion

                #region Aquiculturas

                foreach (AquiculturaAquicult item in caracterizacao.AquiculturasAquicult)
                {
                    if (item.Id > 0)
                    {
                        comando = bancoDeDados.CriarComando(@"
						update {0}crt_aquicultura_aquic c set c.atividade = :atividade, c.caracterizacao = :caracterizacao, c.area_inundada = :area_inundada, 
						c.num_viveiros_escavados = :num_viveiros_escavados, c.area_cultivo = :area_cultivo, c.num_unid_cultivo = :num_unid_cultivo, 
						c.geometria_coord_atv_x = :geometria_coord_atv_x, c.geometria_coord_atv_y = :geometria_coord_atv_y,  c.geometria_id = :geometria_id, 
						c.geometria_tipo = :geometria_tipo, c.tid = :tid where c.id = :id"                        , EsquemaBanco);

                        comando.AdicionarParametroEntrada("id", item.Id, DbType.Int32);
                    }
                    else
                    {
                        comando = bancoDeDados.CriarComando(@"
						insert into {0}crt_aquicultura_aquic c 
						(id, atividade, caracterizacao, area_inundada, num_viveiros_escavados, area_cultivo, num_unid_cultivo, 
						geometria_coord_atv_x, geometria_coord_atv_y, geometria_id, geometria_tipo, tid)
						values (seq_crt_aquicultura_aquic.nextval, :atividade, :caracterizacao, :area_inundada, :num_viveiros_escavados, :area_cultivo, :num_unid_cultivo, 
						:geometria_coord_atv_x, :geometria_coord_atv_y, :geometria_id, :geometria_tipo, :tid ) returning c.id into :id"                        , EsquemaBanco);

                        comando.AdicionarParametroSaida("id", DbType.Int32);
                    }

                    comando.AdicionarParametroEntrada("atividade", item.Atividade, DbType.Int32);
                    comando.AdicionarParametroEntrada("caracterizacao", caracterizacao.Id, DbType.Int32);
                    comando.AdicionarParametroEntrada("area_inundada", (String.IsNullOrWhiteSpace(item.AreaInundadaTotal)) ? (object)DBNull.Value : item.AreaInundadaTotal, DbType.Decimal);
                    comando.AdicionarParametroEntrada("num_viveiros_escavados", (String.IsNullOrWhiteSpace(item.NumViveiros)) ? (object)DBNull.Value : item.NumViveiros, DbType.Decimal);
                    comando.AdicionarParametroEntrada("area_cultivo", (String.IsNullOrWhiteSpace(item.AreaCultivo)) ? (object)DBNull.Value : item.AreaCultivo, DbType.Decimal);
                    comando.AdicionarParametroEntrada("num_unid_cultivo", (String.IsNullOrWhiteSpace(item.NumUnidadeCultivos)) ? (object)DBNull.Value : item.NumUnidadeCultivos, DbType.Decimal);
                    comando.AdicionarParametroEntrada("geometria_id", item.CoordenadaAtividade.Id, DbType.Int32);
                    comando.AdicionarParametroEntrada("geometria_tipo", item.CoordenadaAtividade.Tipo, DbType.Int32);
                    comando.AdicionarParametroEntrada("geometria_coord_atv_x", item.CoordenadaAtividade.CoordX, DbType.Decimal);
                    comando.AdicionarParametroEntrada("geometria_coord_atv_y", item.CoordenadaAtividade.CoordY, DbType.Decimal);
                    comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual());

                    bancoDeDados.ExecutarNonQuery(comando);

                    if (item.Id <= 0)
                    {
                        item.Id = Convert.ToInt32(comando.ObterValorParametro("id"));
                    }

                    #region Cultivos

                    foreach (Cultivo cultivo in item.Cultivos)
                    {
                        if (cultivo.Id > 0)
                        {
                            comando = bancoDeDados.CriarComando(@"
							update {0}crt_aquicultura_cultivos c set c.caracterizacao = :caracterizacao, c.aquicultura = :aquicultura,
							c.identificador = :identificador, c.volume = :volume, c.tid = :tid where c.id = :id"                            , EsquemaBanco);

                            comando.AdicionarParametroEntrada("id", cultivo.Id, DbType.Int32);
                        }
                        else
                        {
                            comando = bancoDeDados.CriarComando(@"
							insert into {0}crt_aquicultura_cultivos c 
							(id, caracterizacao, aquicultura, identificador, volume, tid) values 
							(seq_crt_aquicultura_cultivos.nextval, :caracterizacao, :aquicultura, :identificador, :volume, :tid ) 
							returning c.id into :id"                            , EsquemaBanco);

                            comando.AdicionarParametroSaida("id", DbType.Int32);
                        }

                        comando.AdicionarParametroEntrada("caracterizacao", caracterizacao.Id, DbType.Int32);
                        comando.AdicionarParametroEntrada("aquicultura", item.Id, DbType.Int32);
                        comando.AdicionarParametroEntrada("identificador", cultivo.Identificador, DbType.Int32);
                        comando.AdicionarParametroEntrada("volume", cultivo.Volume, DbType.Decimal);
                        comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual());

                        bancoDeDados.ExecutarNonQuery(comando);

                        if (cultivo.Id <= 0)
                        {
                            cultivo.Id = Convert.ToInt32(comando.ObterValorParametro("id"));
                        }
                    }

                    #endregion
                }

                #endregion

                Historico.Gerar(caracterizacao.Id, eHistoricoArtefatoCaracterizacao.aquicultura, eHistoricoAcao.atualizar, bancoDeDados, null);

                bancoDeDados.Commit();
            }
        }
Exemplo n.º 27
0
        public RoteiroRelatorio Obter(int id, string tid)
        {
            RoteiroRelatorio roteiro = new RoteiroRelatorio();

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia())
            {
                #region Roteiro

                int     historicoRoteiroId = 0;
                Comando comando            = bancoDeDados.CriarComando(@"
											select a.id,
													a.numero,
													a.versao,
													a.nome,
													a.observacoes,
													a.setor_id,
													ts.nome setor_texto
												from {0}hst_roteiro a, {0}tab_setor ts
												where a.setor_id = ts.id
												and a.roteiro_id = :id
												and a.tid = :tid"                                                , EsquemaBanco);

                comando.AdicionarParametroEntrada("id", id, DbType.Int32);
                comando.AdicionarParametroEntrada("tid", tid, DbType.String);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    if (reader.Read())
                    {
                        historicoRoteiroId  = Convert.ToInt32(reader["id"]);
                        roteiro.Numero      = Convert.ToInt32(reader["numero"]);
                        roteiro.Versao      = Convert.ToInt32(reader["versao"]);
                        roteiro.Nome        = reader["nome"].ToString();
                        roteiro.Observacoes = reader["observacoes"].ToString();
                        roteiro.SetorId     = Convert.ToInt32(reader["setor_id"]);
                        roteiro.SetorTexto  = reader["setor_texto"].ToString();
                    }
                    reader.Close();
                }

                #endregion

                #region Itens do roteiro

                comando = bancoDeDados.CriarComando(@" 
									select tr.nome, tr.condicionante, tr.tipo_id, t.ordem
									   from {0}hst_roteiro_itens t, {0}hst_roteiro_item tr
									  where t.item_id = tr.item_id
										and t.item_tid = tr.tid
										and t.id_hst = :historico_id
									  order by t.ordem"                                    , EsquemaBanco);

                comando.AdicionarParametroEntrada("historico_id", historicoRoteiroId, DbType.Int32);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    ItemRelatorio item;
                    while (reader.Read())
                    {
                        item = new ItemRelatorio();

                        item.Nome          = reader["nome"].ToString();
                        item.Condicionante = reader["condicionante"].ToString();
                        item.Tipo          = Convert.ToInt32(reader["tipo_id"]);
                        item.Ordem         = Convert.ToInt32(reader["ordem"]);

                        roteiro.Itens.Add(item);
                    }
                    reader.Close();
                }

                #endregion

                #region Arquivos do roteiro

                comando = bancoDeDados.CriarComando(@"
									select t.descricao, ha.arquivo_id, ha.caminho, ha.nome, ha.extensao
									  from {0}hst_roteiro_arquivo t, {0}hst_arquivo ha
									 where t.arquivo_tid = ha.tid
									   and t.id_hst = :historico_id
									 order by t.ordem"                                    , EsquemaBanco);

                comando.AdicionarParametroEntrada("historico_id", historicoRoteiroId, DbType.Int32);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    AnexoRelatorio item;
                    while (reader.Read())
                    {
                        item = new AnexoRelatorio();

                        item.Descricao        = reader["descricao"].ToString();
                        item.Arquivo.Id       = Convert.ToInt32(reader["arquivo_id"]);
                        item.Arquivo.Caminho  = reader["caminho"].ToString();
                        item.Arquivo.Nome     = reader["nome"].ToString();
                        item.Arquivo.Extensao = reader["extensao"].ToString();

                        roteiro.Anexos.Add(item);
                    }
                    reader.Close();
                }

                #endregion
            }
            return(roteiro);
        }
Exemplo n.º 28
0
        private Aquicultura ObterHistorico(int id, BancoDeDados banco = null, string tid = null, bool simplificado = false)
        {
            Aquicultura caracterizacao = new Aquicultura();

            int hst = 0;

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                Comando comando = bancoDeDados.CriarComando(@"select c.id, c.empreendimento, c.tid  from {0}hst_crt_aquicultura c where c.caracterizacao = :id and c.tid = :tid", EsquemaBanco);

                comando.AdicionarParametroEntrada("id", id, DbType.Int32);
                comando.AdicionarParametroEntrada("tid", DbType.String, 36, tid);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    if (reader.Read())
                    {
                        hst = Convert.ToInt32(reader["id"]);

                        caracterizacao.Id = id;
                        caracterizacao.EmpreendimentoId = Convert.ToInt32(reader["empreendimento"]);
                        caracterizacao.Tid = reader["tid"].ToString();
                    }

                    reader.Close();
                }

                if (caracterizacao.Id <= 0 || simplificado)
                {
                    return(caracterizacao);
                }

                #region Aquiculturas

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    comando = bancoDeDados.CriarComando(@"select c.aquicultura_id id, c.atividade_id, c.area_inundada, c.num_viveiros_escavados, c.num_unid_cultivo, c.area_cultivo, c.geometria_coord_atv_x, c.geometria_coord_atv_y,
														c.geometria_id, c.geometria_tipo, c.tid  from {0}hst_crt_aquicultura_aquic c where c.id_hst = :id_hst"                                                        , EsquemaBanco);

                    comando.AdicionarParametroEntrada("id_hst", hst, DbType.Int32);

                    AquiculturaAquicult aquicultura = null;

                    while (reader.Read())
                    {
                        aquicultura           = new AquiculturaAquicult();
                        aquicultura.Id        = Convert.ToInt32(reader["id"]);
                        aquicultura.Atividade = Convert.ToInt32(reader["atividade_id"]);

                        aquicultura.AreaInundadaTotal  = reader["area_inundada"].ToString();
                        aquicultura.NumViveiros        = reader["num_viveiros_escavados"].ToString();
                        aquicultura.NumUnidadeCultivos = reader["num_unid_cultivo"].ToString();
                        aquicultura.AreaCultivo        = reader["area_cultivo"].ToString();

                        aquicultura.CoordenadaAtividade.Id   = Convert.ToInt32(reader["geometria_id"]);
                        aquicultura.CoordenadaAtividade.Tipo = Convert.ToInt32(reader["geometria_tipo"]);

                        if (reader["geometria_coord_atv_x"] != null && !Convert.IsDBNull(reader["geometria_coord_atv_x"]))
                        {
                            aquicultura.CoordenadaAtividade.CoordX = Convert.ToDecimal(reader["geometria_coord_atv_x"]);
                        }

                        if (reader["geometria_coord_atv_y"] != null && !Convert.IsDBNull(reader["geometria_coord_atv_y"]))
                        {
                            aquicultura.CoordenadaAtividade.CoordY = Convert.ToDecimal(reader["geometria_coord_atv_y"]);
                        }

                        #region Cultivos

                        comando = bancoDeDados.CriarComando(@"select c.cultivo id, c.identificador, c.volume, c.unidade, c.quantidade, m.tid 
															from {0}hst_crt_aquicultura_cultivos c where c.id_hst = :id order by c.identificador"                                                            , EsquemaBanco);

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

                        Cultivo cultivo = null;
                        using (IDataReader readerAux = bancoDeDados.ExecutarReader(comando))
                        {
                            while (readerAux.Read())
                            {
                                cultivo               = new Cultivo();
                                cultivo.Id            = Convert.ToInt32(readerAux["id"]);
                                cultivo.Identificador = readerAux["identificador"].ToString();
                                cultivo.Volume        = readerAux["volume"].ToString();

                                aquicultura.Cultivos.Add(cultivo);
                            }

                            readerAux.Close();
                        }

                        #endregion

                        caracterizacao.AquiculturasAquicult.Add(aquicultura);
                    }

                    reader.Close();
                }

                #endregion
            }

            return(caracterizacao);
        }
Exemplo n.º 29
0
        internal void Editar(PecaTecnica pecaTecnica, BancoDeDados banco = null)
        {
            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                bancoDeDados.IniciarTransacao();

                Comando comando = null;

                #region Limpar os dados do banco

                comando = bancoDeDados.CriarComando(@"delete from {0}tab_peca_tecnica_dest p where p.peca_tecnica = :peca_tecnica ", EsquemaBanco);

                comando.AdicionarParametroEntrada("peca_tecnica", pecaTecnica.Id, DbType.Int32);

                bancoDeDados.ExecutarNonQuery(comando);

                #endregion

                #region Dados Principais

                if (pecaTecnica.ElaboradorTipo == (int)eElaboradorTipo.TecnicoIdaf)
                {
                    comando = bancoDeDados.CriarComando(@"update {0}tab_peca_tecnica t set t.protocolo = :protocolo, t.atividade = :atividade,
					t.elaborador_tipo = :elaborador_tipo, t.elaborador_pessoa = null, t.elaborador_tecnico = :elaborador, t.setor_cadastro = :setor_cadastro, t.tid = :tid  where t.id = :id"                    , EsquemaBanco);
                }
                else
                {
                    comando = bancoDeDados.CriarComando(@"update {0}tab_peca_tecnica t set t.protocolo = :protocolo, t.atividade = :atividade,
					t.elaborador_tipo = :elaborador_tipo, t.elaborador_pessoa = :elaborador, t.elaborador_tecnico = null, t.setor_cadastro = :setor_cadastro, t.tid = :tid  where t.id = :id"                    , EsquemaBanco);
                }



                comando.AdicionarParametroEntrada("id", pecaTecnica.Id, DbType.Int32);

                comando.AdicionarParametroEntrada("protocolo", pecaTecnica.Protocolo.Id, DbType.Int32);
                comando.AdicionarParametroEntrada("atividade", pecaTecnica.Atividade, DbType.Int32);
                comando.AdicionarParametroEntrada("elaborador_tipo", pecaTecnica.ElaboradorTipo, DbType.Int32);
                comando.AdicionarParametroEntrada("elaborador", pecaTecnica.Elaborador, DbType.Int32);
                comando.AdicionarParametroEntrada("setor_cadastro", pecaTecnica.SetorCadastro, DbType.Int32);
                comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual());

                bancoDeDados.ExecutarNonQuery(comando);

                #endregion

                if (pecaTecnica.ResponsaveisEmpreendimento != null && pecaTecnica.ResponsaveisEmpreendimento.Count > 0)
                {
                    foreach (Responsavel item in pecaTecnica.ResponsaveisEmpreendimento)
                    {
                        comando = bancoDeDados.CriarComando(@"insert into {0}tab_peca_tecnica_dest (id, peca_tecnica, destinatario, tid)
								values ({0}seq_peca_tecnica_dest.nextval, :peca_tecnica, :destinatario, :tid)"                                , EsquemaBanco);

                        comando.AdicionarParametroEntrada("peca_tecnica", pecaTecnica.Id, DbType.Int32);
                        comando.AdicionarParametroEntrada("destinatario", item.Id, DbType.Int32);
                        comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual());

                        bancoDeDados.ExecutarNonQuery(comando);
                    }
                }

                #region Histórico

                Historico.Gerar(pecaTecnica.Id.Value, eHistoricoArtefato.pecatecnica, eHistoricoAcao.atualizar, bancoDeDados);

                #endregion

                bancoDeDados.Commit();
            }
        }
Exemplo n.º 30
0
        internal Retorno ImportarFeicoes(int idNavegador, int idProjeto, bool isFinalizadas)
        {
            Comando comando = null;

            IDataReader reader  = null;
            Projeto     projeto = new Projeto();

            projeto.TipoNavegador = 1;
            projeto.Id            = idProjeto;
            try
            {
                string       schemaUsuarioGeo = ConfigurationManager.AppSettings["SchemaUsuarioGeo"].ToUpper();
                BancoDeDados bancoDeDadosGeo  = BancoDeDadosFactory.CriarBancoDeDados("StringConexaoGeo");
                int          fila_tipo        = 0;
                switch (idNavegador)
                {
                case 1:                         //Dominialidade
                    if (isFinalizadas)
                    {
                        comando = bancoDeDadosGeo.GetComandoSql(@"select count(*) quantidade from geo_atp where projeto = :projeto ");
                    }
                    else
                    {
                        comando = bancoDeDadosGeo.GetComandoSql(@"select count(*) quantidade from tmp_atp where projeto = :projeto ");
                    }
                    break;

                case 2:                         //Atividade
                    if (isFinalizadas)
                    {
                        comando = bancoDeDadosGeo.GetComandoSql(@"select sum(quantidade) quantidade from (
                                select count(*) quantidade from geo_pativ where projeto = :projeto
                                union all select count(*) quantidade from geo_aativ where projeto = :projeto
                                union all select count(*) quantidade from geo_aiativ where projeto = :projeto 
                                union all select count(*) quantidade from geo_lativ where projeto = :projeto )  ");
                    }
                    else
                    {
                        comando = bancoDeDadosGeo.GetComandoSql(@"select sum(quantidade) quantidade from (
                                select count(*) quantidade from tmp_pativ where projeto = :projeto
                                union all select count(*) quantidade from tmp_aativ where projeto = :projeto
                                union all select count(*) quantidade from tmp_aiativ where projeto = :projeto 
                                union all select count(*) quantidade from tmp_lativ where projeto = :projeto )  ");
                    }
                    break;

                case 3:                         //Fiscalização
                    comando = bancoDeDadosGeo.GetComandoSql(@"select sum(quantidade) quantidade from (
                                select count(*) quantidade from tmp_fiscal_area where projeto = :projeto
                                union all select count(*) quantidade from tmp_fiscal_ponto where projeto = :projeto 
                                union all select count(*) quantidade from tmp_fiscal_linha where projeto = :projeto )");
                    break;
                }

                comando.AdicionarParametroEntrada("projeto", idProjeto, DbType.Int32);
                reader = bancoDeDadosGeo.ExecutarReader(comando);
                int quantidade = 0;
                if (reader.Read())
                {
                    quantidade = Convert.ToInt32(reader["quantidade"]);
                }
                if (quantidade == 0)
                {
                    return(new Retorno(false, "Nenhum projeto geográfico encontrado."));
                }

                if (reader != null)
                {
                    reader.Close();
                    reader.Dispose();
                }

                comando = bancoDeDadosGeo.GetComandoSql(@"select fila_tipo from tab_navegador a where a.id = :navegador ");
                comando.AdicionarParametroEntrada("navegador", idNavegador, DbType.Int32);
                reader = bancoDeDadosGeo.ExecutarReader(comando);
                if (reader.Read())
                {
                    fila_tipo = Convert.ToInt32(reader["fila_tipo"]);
                }

                if (reader != null)
                {
                    reader.Close();
                    reader.Dispose();
                }

                #region Importa Feições
                if (fila_tipo > 0)
                {
                    if (isFinalizadas)
                    {
                        comando = bancoDeDadosGeo.GetComandoSql(@"begin " +
                                                                " Operacoesprocessamentogeo.ImportarParaDesenhFinalizada(" + idProjeto + "," + fila_tipo + " ); " +
                                                                " end;");
                    }
                    else
                    {
                        comando = bancoDeDadosGeo.GetComandoSql(@"begin " +
                                                                " Operacoesprocessamentogeo.ImportarParaDesenhProcessada(" + idProjeto + "," + fila_tipo + " ); " +
                                                                " end;");
                    }

                    bancoDeDadosGeo.ExecutarNonQuery(comando);
                }
                #endregion
            }
            finally
            {
                if (reader != null)
                {
                    reader.Close();
                    reader.Dispose();
                }
                if (comando != null)
                {
                    comando.Dispose();
                }
            }
            return(new Retorno(true));
        }