public Cobranca Obter(int cobrancaId, int fiscalizacaoId, BancoDeDados banco = null)
        {
            var cobranca = new Cobranca();
            var cobrancaParcelamentoDa = new CobrancaParcelamentoDa();

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                Comando comando = bancoDeDados.CriarComando(@"
                                    select c.id,
											c.fiscalizacao, f.id fiscalizacao_id,
											coalesce(i.pessoa, i.responsavel, c.autuado) autuado,
											c.codigoreceita,
											(select lfc.texto
												from lov_fisc_infracao_codigo_rece lfc
												where lfc.id = c.codigoreceita) as codigoreceita_texto,
											c.serie,
											(select lfs.texto
												from lov_fiscalizacao_serie lfs
												where lfs.id = c.serie) serie_texto,
											coalesce(cast(m.iuf_numero as varchar2(10)), tfi.numero_auto_infracao_bloco, cast(f.autos as varchar2(10)), cast(c.iuf_numero as varchar2(10))) iuf_numero,
											coalesce(m.iuf_data, tfi.data_lavratura_auto, c.iuf_data) iuf_data,
											case when p.id > 0
											  then concat(concat(cast(p.numero as VARCHAR2(30)), '/'), cast(p.ano as VARCHAR2(30)))
											  else cast(c.protoc_num as VARCHAR2(30)) end protoc_num,
											coalesce(p.numero_autuacao, c.numero_autuacao) numero_autuacao,
											coalesce(n.forma_iuf_data, c.not_iuf_data) not_iuf_data,
											coalesce(n.forma_jiapi_data, c.not_jiapi_data) not_jiapi_data,
											coalesce(n.forma_core_data, c.not_core_data) not_core_data
										from tab_fisc_cobranca c
										left join tab_fiscalizacao f
											on (f.id = c.fiscalizacao)
										left join tab_protocolo p
											on (p.fiscalizacao = c.fiscalizacao)
										left join tab_fisc_notificacao n
											on (n.fiscalizacao = c.fiscalizacao)
										left join tab_fisc_multa m
											on (m.fiscalizacao = c.fiscalizacao)
										left join tab_fisc_local_infracao i
											on (i.fiscalizacao = f.id)
										left join tab_fisc_infracao tfi
											on (tfi.fiscalizacao = f.id)
										where "                                         + (cobrancaId > 0 ? "c.id = :cobranca" : "c.fiscalizacao = :fiscalizacao"), EsquemaBanco);

                if (cobrancaId > 0)
                {
                    comando.AdicionarParametroEntrada("cobranca", cobrancaId, DbType.Int32);
                }
                else
                {
                    comando.AdicionarParametroEntrada("fiscalizacao", fiscalizacaoId, DbType.Int32);
                }

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    if (reader.Read())
                    {
                        cobranca = new Cobranca
                        {
                            Id                 = reader.GetValue <int>("id"),
                            FiscalizacaoId     = reader.GetValue <int>("fiscalizacao_id"),
                            NumeroFiscalizacao = reader.GetValue <int>("fiscalizacao"),
                            ProcessoNumero     = reader.GetValue <string>("protoc_num"),
                            NumeroAutuacao     = reader.GetValue <string>("numero_autuacao"),
                            NumeroIUF          = reader.GetValue <string>("iuf_numero"),
                            SerieId            = reader.GetValue <int>("serie"),
                            SerieTexto         = reader.GetValue <string>("serie_texto"),
                            AutuadoPessoaId    = reader.GetValue <int>("autuado"),
                            CodigoReceitaId    = reader.GetValue <int>("codigoreceita"),
                            CodigoReceitaTexto = reader.GetValue <string>("codigoreceita_texto")
                        };

                        cobranca.DataEmissaoIUF.Data = reader.GetValue <DateTime>("iuf_data");
                        cobranca.DataIUF.Data        = reader.GetValue <DateTime>("not_iuf_data");
                        cobranca.DataJIAPI.Data      = reader.GetValue <DateTime>("not_jiapi_data");
                        cobranca.DataCORE.Data       = reader.GetValue <DateTime>("not_core_data");
                        if (cobranca.DataEmissaoIUF.Data.HasValue && cobranca.DataEmissaoIUF.Data.Value.Year == 1)
                        {
                            cobranca.DataEmissaoIUF = new DateTecno();
                        }
                        if (cobranca.DataIUF.Data.HasValue && cobranca.DataIUF.Data.Value.Year == 1)
                        {
                            cobranca.DataIUF = new DateTecno();
                        }
                        if (cobranca.DataJIAPI.Data.HasValue && cobranca.DataJIAPI.Data.Value.Year == 1)
                        {
                            cobranca.DataJIAPI = new DateTecno();
                        }
                        if (cobranca.DataCORE.Data.HasValue && cobranca.DataCORE.Data.Value.Year == 1)
                        {
                            cobranca.DataCORE = new DateTecno();
                        }
                        cobranca.AutuadoPessoa = cobranca.AutuadoPessoaId > 0 ? new PessoaBus().Obter(cobranca.AutuadoPessoaId) : new Pessoa();
                        cobranca.Notificacao   = cobranca.NumeroFiscalizacao > 0 ? new NotificacaoBus().Obter(cobranca.NumeroFiscalizacao.GetValueOrDefault(0)) : new Notificacao();
                        cobranca.Parcelamentos = cobrancaParcelamentoDa.Obter(cobranca.Id);

                        if (cobranca.DataEmissaoIUF.Data.HasValue && cobranca.DataEmissaoIUF.Data.Value.Year == 1)
                        {
                            var _fiscDA = new FiscalizacaoDa();
                            cobranca.DataEmissaoIUF = _fiscDA.ObterDataConclusao(cobranca.NumeroFiscalizacao.GetValueOrDefault(0));
                        }
                    }
                    else
                    {
                        cobranca = null;
                    }

                    reader.Close();
                }

                #region Anexos

                if (cobranca?.Id > 0)
                {
                    comando = bancoDeDados.CriarComando(@"select a.id Id,
																	   a.ordem Ordem,
																	   a.descricao Descricao,
																	   b.nome,
																	   b.extensao,
																	   b.id arquivo_id,
																	   b.caminho,
																	   a.tid Tid
																  from {0}tab_fisc_cobranca_arq a, 
																	   {0}tab_arquivo b
																 where a.arquivo = b.id
																   and a.cobranca = :cobranca
																 order by a.ordem"                                                                , EsquemaBanco);

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

                    cobranca.Anexos = bancoDeDados.ObterEntityList <Anexo>(comando, (IDataReader reader, Anexo item) =>
                    {
                        item.Arquivo.Id       = reader.GetValue <int>("arquivo_id");
                        item.Arquivo.Caminho  = reader.GetValue <string>("caminho");
                        item.Arquivo.Nome     = reader.GetValue <string>("nome");
                        item.Arquivo.Extensao = reader.GetValue <string>("extensao");
                    });
                }

                #endregion
            }

            return(cobranca);
        }
Beispiel #2
0
        internal ObjetoInfracao Obter(int fiscalizacaoId, BancoDeDados banco = null)
        {
            ObjetoInfracao objetoInfracao = new ObjetoInfracao();

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

                Comando comando = bancoDeDados.CriarComando(@"select i.id, t.situacao situacao_id, i.area_embargada_atv_intermed, i.tei_gerado_pelo_sist, 
															i.tei_gerado_pelo_sist_serie, i.num_tei_bloco, data_lavratura_termo,
															i.opniao_area_danificada, i.desc_termo_embargo, i.existe_atv_area_degrad,
															i.existe_atv_area_degrad_especif, i.fundament_infracao, i.uso_solo_area_danif, i.declividade_media_area,
															i.infracao_result_erosao, i.caract_solo_area_danif, i.arquivo, a.nome arquivo_nome, i.tid, i.infr_result_er_especifique,
                                                            i.interditado, i.numero_lacre,
                                                            i.iuf_digital, i.iuf_numero, i.iuf_data, i.serie, lfs.texto serie_texto, t.autos
															from tab_fisc_obj_infracao i, tab_fiscalizacao t, tab_arquivo a, lov_fiscalizacao_serie lfs
                                                            where i.fiscalizacao = :fiscalizacao 
															and i.arquivo = a.id(+) and t.id = i.fiscalizacao
                                                            and (lfs.id = i.serie or i.serie is null)", 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.ExisteAtvAreaDegrad    = Convert.ToInt32(reader["existe_atv_area_degrad"]);
                        objetoInfracao.ExisteAtvAreaDegradEspecificarTexto = reader["existe_atv_area_degrad_especif"].ToString();
                        objetoInfracao.NumeroLacre             = reader["numero_lacre"].ToString();
                        objetoInfracao.IsDigital               = reader.GetValue <bool?>("iuf_digital");
                        objetoInfracao.NumeroIUF               = reader.GetValue <string>("iuf_numero");
                        objetoInfracao.DataLavraturaTermo.Data = reader.GetValue <DateTime>("iuf_data");
                        objetoInfracao.SerieId    = reader.GetValue <int?>("serie");
                        objetoInfracao.SerieTexto = reader.GetValue <string>("serie_texto");

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

                        if (reader["interditado"] != null && !Convert.IsDBNull(reader["interditado"]))
                        {
                            objetoInfracao.Interditado = Convert.ToBoolean(reader["interditado"]);
                        }
                        else
                        {
                            objetoInfracao.Interditado = null;
                        }

                        if (objetoInfracao.IsDigital == true && objetoInfracao.FiscalizacaoSituacaoId == (int)eFiscalizacaoSituacao.EmAndamento)
                        {
                            objetoInfracao.NumeroIUF = null;
                            objetoInfracao.DataLavraturaTermo.Data = DateTime.MinValue;
                        }
                        else
                        {
                            objetoInfracao.DataLavraturaTermo.Data = reader.GetValue <DateTime>("iuf_data");
                        }

                        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");

                        //fiscalizações antigas
                        if (objetoInfracao.FiscalizacaoSituacaoId != 1 && objetoInfracao.IsDigital == null)
                        {
                            objetoInfracao.IsDigital = reader.GetValue <bool?>("tei_gerado_pelo_sist") ?? false;
                            objetoInfracao.SerieId   = reader.GetValue <int?>("tei_gerado_pelo_sist_serie");
                            objetoInfracao.NumeroIUF = objetoInfracao.IsDigital != true?reader.GetValue <string>("num_tei_bloco") : reader.GetValue <string>("autos");

                            if (reader["data_lavratura_termo"] != null && !Convert.IsDBNull(reader["data_lavratura_termo"]))
                            {
                                objetoInfracao.DataLavraturaTermo.Data = Convert.ToDateTime(reader["data_lavratura_termo"]);
                            }
                            else
                            {
                                if (reader.GetValue <bool?>("tei_gerado_pelo_sist") != null)
                                {
                                    FiscalizacaoDa _fiscDA = new FiscalizacaoDa();
                                    objetoInfracao.DataLavraturaTermo = _fiscDA.ObterDataConclusao(objetoInfracao.FiscalizacaoId);
                                }
                                else
                                {
                                    objetoInfracao.DataLavraturaTermo.Data = null;
                                }
                            }

                            comando = bancoDeDados.CriarComando(@"select texto from {0}lov_fisc_obj_infra_serie where id = :idserie", EsquemaBanco);
                            comando.AdicionarParametroEntrada("idserie", objetoInfracao.SerieId, DbType.Int32);

                            using (IDataReader readerAux = bancoDeDados.ExecutarReader(comando))
                            {
                                if (readerAux.Read())
                                {
                                    objetoInfracao.SerieTexto = readerAux.GetValue <string>("texto");
                                }
                                readerAux.Close();
                            }
                        }
                    }
                    reader.Close();
                }

                #endregion
            }
            return(objetoInfracao);
        }
Beispiel #3
0
        public Multa ObterAntigo(int fiscalizacaoId, BancoDeDados banco = null)
        {
            Multa multa = new Multa();

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                Comando comando = bancoDeDados.CriarComando(@"
                                    select f.situacao situacao_id,
                                           tfi.valor_multa,
                                           tfi.codigo_receita,
                                           tfcf.justificar,
                                           tfi.arquivo,
                                           a.nome arquivo_nome,
                                           tfi.gerado_sistema,
                                           tfi.serie,
                                           lfs.texto serie_texto,
                                           tfi.data_lavratura_auto,
                                           tfi.numero_auto_infracao_bloco,
                                           f.autos
                                    from {0}tab_fisc_infracao tfi,
                                         {0}tab_fisc_consid_final tfcf,
                                         {0}tab_fiscalizacao f,
                                         {0}tab_arquivo a,
                                         {0}lov_fiscalizacao_serie lfs
                                    where tfi.arquivo = a.id(+)
                                          and tfi.serie = lfs.id(+)
                                          and tfi.fiscalizacao = :fiscalizacao
                                          and tfcf.fiscalizacao = :fiscalizacao
                                          and f.id = tfi.fiscalizacao", EsquemaBanco);

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

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    if (reader.Read())
                    {
                        multa = new Multa
                        {
                            ValorMulta             = reader.GetValue <decimal>("valor_multa"),
                            CodigoReceitaId        = reader.GetValue <int>("codigo_receita"),
                            FiscalizacaoSituacaoId = reader.GetValue <int>("situacao_id"),
                            Justificativa          = reader.GetValue <string>("justificar"),
                            Id             = 1,
                            IsDigital      = reader.GetValue <bool>("gerado_sistema"),
                            SerieId        = reader.GetValue <int>("serie"),
                            SerieTexto     = reader.GetValue <string>("serie_texto"),
                            FiscalizacaoId = fiscalizacaoId
                        };

                        multa.NumeroIUF = multa.IsDigital != true?reader.GetValue <string>("numero_auto_infracao_bloco") : reader.GetValue <string>("autos");

                        if (reader["data_lavratura_auto"] != null && !Convert.IsDBNull(reader["data_lavratura_auto"]))
                        {
                            multa.DataLavratura.Data = Convert.ToDateTime(reader["data_lavratura_auto"]);
                        }
                        else
                        {
                            FiscalizacaoDa _fiscDA = new FiscalizacaoDa();
                            multa.DataLavratura = _fiscDA.ObterDataConclusao(multa.FiscalizacaoId);
                        }

                        multa.Arquivo = new Arquivo
                        {
                            Id   = reader.GetValue <int>("arquivo"),
                            Nome = reader.GetValue <string>("arquivo_nome")
                        };

                        if (multa.ValorMulta == 0)
                        {
                            multa = new Multa();
                        }
                    }
                    reader.Close();
                }
            }

            return(multa);
        }
        public MaterialApreendido ObterAntigo(int fiscalizacaoId, BancoDeDados banco = null)
        {
            MaterialApreendido materialApreendido = new MaterialApreendido();

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

                Comando comando = bancoDeDados.CriarComando(@" select t.id, t.fiscalizacao, f.situacao situacao_id, t.houve_material, t.tad_gerado, t.tad_numero, t.tad_data, 
															t.serie, (select texto from lov_fiscalizacao_serie where id = t.serie) serie_texto, t.descricao, t.valor_produtos, t.depositario,  nvl(p.nome, p.razao_social) nome, 
															nvl(p.cpf, p.cnpj) cpf, t.endereco_logradouro, t.endereco_bairro, t.endereco_distrito, 
															t.endereco_estado, t.endereco_municipio, t.opiniao, t.arquivo, a.nome arquivo_nome, t.tid, f.autos 
															from tab_fisc_material_apreendido t, tab_pessoa p, tab_arquivo a, tab_fiscalizacao f where t.depositario = p.id(+) 
															and t.arquivo = a.id(+) and t.fiscalizacao = :fiscalizacao and f.id = t.fiscalizacao"                                                            , EsquemaBanco);

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

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    if (reader.Read())
                    {
                        materialApreendido = new MaterialApreendido
                        {
                            Id                     = reader.GetValue <int>("id"),
                            FiscalizacaoId         = reader.GetValue <int>("fiscalizacao"),
                            SerieId                = reader.GetValue <int>("serie"),
                            SerieTexto             = reader.GetValue <string>("serie_texto"),
                            ValorProdutosReais     = reader.GetValue <decimal?>("valor_produtos"),
                            Descricao              = reader.GetValue <string>("descricao"),
                            Opiniao                = reader.GetValue <string>("opiniao"),
                            FiscalizacaoSituacaoId = reader.GetValue <int>("situacao_id"),
                            Tid                    = reader.GetValue <string>("tid"),
                            Depositario            = new MaterialApreendidoDepositario
                            {
                                Id = reader.GetValue <int>("depositario"),
                                NomeRazaoSocial = reader.GetValue <string>("nome"),
                                CPFCNPJ         = reader.GetValue <string>("cpf"),
                                Logradouro      = reader.GetValue <string>("endereco_logradouro"),
                                Bairro          = reader.GetValue <string>("endereco_bairro"),
                                Distrito        = reader.GetValue <string>("endereco_distrito"),
                                Estado          = reader.GetValue <int>("endereco_estado"),
                                Municipio       = reader.GetValue <int>("endereco_municipio")
                            },
                            IsDigital = reader.GetValue <bool>("tad_gerado")
                        };

                        materialApreendido.NumeroIUF = materialApreendido.IsDigital != true?reader.GetValue <string>("tad_numero") : reader.GetValue <string>("autos");

                        if (reader["tad_data"] != null && !Convert.IsDBNull(reader["tad_data"]))
                        {
                            materialApreendido.DataLavratura.Data = Convert.ToDateTime(reader["tad_data"]);
                        }
                        else
                        {
                            FiscalizacaoDa _fiscDA = new FiscalizacaoDa();
                            materialApreendido.DataLavratura = _fiscDA.ObterDataConclusao(materialApreendido.FiscalizacaoId);
                        }

                        materialApreendido.Arquivo = new Arquivo
                        {
                            Id   = reader.GetValue <int>("arquivo"),
                            Nome = reader.GetValue <string>("arquivo_nome")
                        };
                    }
                    reader.Close();
                }

                #endregion

                #region Materiais

//                comando = bancoDeDados.CriarComando(@" select tfmam.id, tfmam.material_apreendido, tfmam.tipo, lfmat.texto tipo_texto, tfmam.especificacao, tfmam.tid from tab_fisc_mater_apree_material
//					tfmam, lov_fisc_mate_apreendido_tipo lfmat where tfmam.tipo = lfmat.id and tfmam.material_apreendido = :material_apreendido ", EsquemaBanco);
//                comando.AdicionarParametroEntrada("material_apreendido", materialApreendido.Id, DbType.Int32);

//                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
//                {
//                    materialApreendido.Materiais = new List<MaterialApreendidoMaterial>();
//                    while (reader.Read())
//                    {
//                        materialApreendido.Materiais.Add(new MaterialApreendidoMaterial
//                        {
//                            Id = reader.GetValue<int>("id"),
//                            TipoId = reader.GetValue<int>("tipo"),
//                            TipoTexto = reader.GetValue<string>("tipo_texto"),
//                            Especificacao = reader.GetValue<string>("especificacao")
//                        });
//                    }
//                    reader.Close();
//                }

                #endregion
            }

            return(materialApreendido);
        }