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"); }
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); } }
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); }
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); } }
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); }
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); }
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); }
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); }
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); }
internal Resultados <CulturaListarResultado> Filtrar(Filtro <CulturaListarFiltro> filtro) { Resultados <CulturaListarResultado> retorno = new Resultados <CulturaListarResultado>(); using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia()) { string comandtxt = string.Empty; string esquemaBanco = (string.IsNullOrEmpty(EsquemaBanco) ? "" : EsquemaBanco + "."); Comando comando = bancoDeDados.CriarComando(""); List <int> culturas = new List <int>(); #region Adicionando Filtros if (!string.IsNullOrEmpty(filtro.Dados.Cultivar)) { if (filtro.Dados.StraggCultivar) { comandtxt = comando.FiltroAndLike("cc.cultivar", "cultivar", filtro.Dados.Cultivar, true, true); comando.DbCommand.CommandText = String.Format(@"select distinct cc.cultura from tab_cultura_cultivar cc where cc.id > 0" + comandtxt, esquemaBanco); culturas = bancoDeDados.ExecutarList <int>(comando); comando = bancoDeDados.CriarComando(""); comandtxt = string.Empty; } else { comandtxt = comando.FiltroAndLike("cc.cultivar", "cultivar", filtro.Dados.Cultivar, true, true); } } comandtxt += comando.FiltroAndLike("c.texto", "cultura", filtro.Dados.Cultura, true, true); comandtxt += comando.AdicionarIn("and", "c.id", DbType.Int32, culturas); List <String> ordenar = new List <String>(); List <String> colunas = new List <String>() { "cultura", "cultivar" }; if (filtro.OdenarPor > 0) { ordenar.Add(colunas.ElementAtOrDefault(filtro.OdenarPor - 1)); } else { ordenar.Add("cultura"); } #endregion #region Quantidade de registro do resultado if (filtro.Dados.StraggCultivar) { comando.DbCommand.CommandText = String.Format(@"select count(*) from tab_cultura c where c.id > 0" + comandtxt, esquemaBanco); } else { comando.DbCommand.CommandText = String.Format(@"select count(*) from(select c.id, c.texto cultura, cc.cultivar from {0}tab_cultura c, {0}tab_cultura_cultivar cc where cc.cultura = c.id " + comandtxt + ")", esquemaBanco); } retorno.Quantidade = Convert.ToInt32(bancoDeDados.ExecutarScalar(comando)); comando.AdicionarParametroEntrada("menor", filtro.Menor); comando.AdicionarParametroEntrada("maior", filtro.Maior); if (filtro.Dados.StraggCultivar) { comandtxt = String.Format(@"select c.id, c.texto cultura, stragg(cc.cultivar) cultivar from {0}tab_cultura c, {0}tab_cultura_cultivar cc where cc.cultura(+) = c.id " + comandtxt + " group by c.id, c.texto " + DaHelper.Ordenar(colunas, ordenar), esquemaBanco); } else { comandtxt = String.Format(@"select c.id, c.texto cultura, cc.cultivar, cc.id cultivar_id from {0}tab_cultura c, {0}tab_cultura_cultivar cc where cc.cultura = c.id " + comandtxt + " group by c.id, c.texto, cc.cultivar, cc.id" + DaHelper.Ordenar(colunas, ordenar), esquemaBanco); } comando.DbCommand.CommandText = @"select * from (select a.*, rownum rnum from ( " + comandtxt + @") a) where rnum <= :maior and rnum >= :menor"; #endregion using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { CulturaListarResultado item; while (reader.Read()) { item = new CulturaListarResultado(); item.Id = reader.GetValue <int>("id"); item.Cultura = reader.GetValue <string>("cultura"); item.Cultivar = reader.GetValue <string>("cultivar"); if (!filtro.Dados.StraggCultivar) { item.CultivarId = reader.GetValue <string>("cultivar_id"); } retorno.Itens.Add(item); } reader.Close(); } } return(retorno); }
internal List <Cultivar> ObterCultivares(List <int> culturas, BancoDeDados banco = null) { List <Cultivar> lstCultivar = new List <Cultivar>(); using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco)) { #region Cultivar Comando comando = bancoDeDados.CriarComando(@"select cc.id, cc.cultivar, cc.cultura from tab_cultura_cultivar cc ", EsquemaBanco); comando.DbCommand.CommandText += comando.AdicionarIn("where", "cultura", DbType.Int32, culturas); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { Cultivar lista = null; while (reader.Read()) { lista = new Cultivar(); lista.Id = reader.GetValue <int>("id"); lista.Nome = reader.GetValue <string>("cultivar"); lista.CulturaId = reader.GetValue <int>("cultura"); lstCultivar.Add(lista); } reader.Close(); } #endregion #region Cultivar_Configurações comando = bancoDeDados.CriarComando(@" select t.id, t.tid, t.cultivar, t.praga PragaId, p.nome_cientifico || nvl2(p.nome_comum,' - '||p.nome_comum,'') as PragaTexto, t.tipo_producao TipoProducaoId, lt.texto as TipoProducaoTexto, t.declaracao_adicional DeclaracaoAdicionalId, ld.texto as DeclaracaoAdicionalTexto, ld.texto_formatado as DeclaracaoAdicionalTextoHtml from {0}tab_cultivar_configuracao t, {0}tab_praga p, lov_cultivar_tipo_producao lt, lov_cultivar_declara_adicional ld where p.id = t.praga and lt.id = t.tipo_producao and ld.id = t.declaracao_adicional and t.cultivar = :id" , EsquemaBanco); lstCultivar.ForEach(x => { comando.AdicionarParametroEntrada("id", x.Id, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { while (reader.Read()) { x.LsCultivarConfiguracao.Add(new CultivarConfiguracao() { Id = reader.GetValue <int>("id"), Tid = reader.GetValue <string>("tid"), Cultivar = reader.GetValue <int>("cultivar"), PragaId = reader.GetValue <int>("PragaId"), PragaTexto = reader.GetValue <string>("PragaTexto"), TipoProducaoId = reader.GetValue <int>("TipoProducaoId"), TipoProducaoTexto = reader.GetValue <string>("TipoProducaoTexto"), DeclaracaoAdicionalId = reader.GetValue <int>("DeclaracaoAdicionalId"), DeclaracaoAdicionalTexto = reader.GetValue <string>("DeclaracaoAdicionalTexto"), DeclaracaoAdicionalTextoHtml = reader.GetValue <string>("DeclaracaoAdicionalTextoHtml"), }); } reader.Close(); } }); #endregion } return(lstCultivar); }
internal 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); }
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); }
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); }
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); } }
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); } }
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); }
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); }
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); }
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); }
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); }
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(); } }
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); }
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); }
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(); } }
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)); }