public ExploracaoFlorestalAutorizacaoDetalhePDF(ExploracaoFlorestalExploracao exploracao)
        {
            GeometriaTipoId   = exploracao.GeometriaTipoId;
            VegetacaoTipo     = exploracao.ClassificacaoVegetacaoTexto;
            VegetacaoTipoId   = exploracao.ClassificacaoVegetacaoId;
            ArvoresRequeridas = exploracao.ArvoresRequeridas;

            AreaCroquiDecimal    = exploracao.AreaCroqui;
            AreaRequeridaDecimal = exploracao.AreaRequerida;

            QuantidadeArvores = exploracao.QuantidadeArvores;
        }
        public ExploracaoFlorestalExploracaoPDF(ExploracaoFlorestalExploracao exploracao)
        {
            GeometriaTipoId   = exploracao.GeometriaTipoId;
            TipoExploracao    = exploracao.ExploracaoTipoTexto;
            VegetacaoTipo     = exploracao.ClassificacaoVegetacaoTexto;
            VegetacaoTipoId   = exploracao.ClassificacaoVegetacaoId;
            ArvoresRequeridas = exploracao.ArvoresRequeridas;

            AreaCroquiDecimal    = exploracao.AreaCroqui;
            AreaRequeridaDecimal = exploracao.AreaRequerida;

            QuantidadeArvores = exploracao.QuantidadeArvores;
            Produtos          = exploracao.Produtos.Select(x => new ExploracaoFlorestalExploracaoProdutoPDF(x)).ToList();
        }
        public ExploracaoFlorestalExploracaoVM(List <FinalidadeExploracao> finalidades, List <Lista> exploracaoTipos, List <Lista> classificacoesVegetais,
                                               List <Lista> produtos, List <Lista> destinacao, ExploracaoFlorestalExploracao exploracao, bool IsVisualizar = false)
        {
            int classifSelecionada = exploracao.ClassificacaoVegetacaoId;

            if (exploracao.GeometriaTipoId == (int)eExploracaoFlorestalGeometria.Poligono)
            {
                classificacoesVegetais = classificacoesVegetais.Where(x => x.Id != ((int)eExploracaoFlorestalClassificacaoVegetacao.ArvoresIsoladas).ToString()).ToList();
            }

            ClassificacoesVegetais = ViewModelHelper.CriarSelectList(classificacoesVegetais, true, true, classifSelecionada.ToString());
            Produtos            = ViewModelHelper.CriarSelectList(produtos, true, true);
            DestinacaoMaterial  = ViewModelHelper.CriarSelectList(destinacao, true, true);
            ExploracaoFlorestal = exploracao;
            this.IsVisualizar   = IsVisualizar;

            Finalidades = ViewModelHelper.CriarSelectList(finalidades, selecionado: exploracao.FinalidadeExploracao.ToString());
        }
        public ExploracaoFlorestal MergiarGeo(ExploracaoFlorestal caracterizacaoAtual)
        {
            var dadosGeo = ObterDadosGeo(caracterizacaoAtual.EmpreendimentoId);

            foreach (var dado in dadosGeo)
            {
                foreach (ExploracaoFlorestalExploracao exploracao in dado.Exploracoes)
                {
                    if (!caracterizacaoAtual.Exploracoes.Exists(x => x.Identificacao == exploracao.Identificacao))
                    {
                        caracterizacaoAtual.Exploracoes.Add(exploracao);
                    }
                }
            }

            List <ExploracaoFlorestalExploracao> exploracoesRemover = new List <ExploracaoFlorestalExploracao>();

            foreach (ExploracaoFlorestalExploracao exploracao in caracterizacaoAtual.Exploracoes)
            {
                foreach (var dado in dadosGeo)
                {
                    if (!dado.Exploracoes.Exists(x => x.Identificacao == exploracao.Identificacao))
                    {
                        exploracoesRemover.Add(exploracao);
                        continue;
                    }
                    else
                    {
                        ExploracaoFlorestalExploracao exploracaoAux = dado.Exploracoes.SingleOrDefault(x => x.Identificacao == exploracao.Identificacao) ?? new ExploracaoFlorestalExploracao();
                        exploracao.Identificacao      = exploracaoAux.Identificacao;
                        exploracao.GeometriaTipoId    = exploracaoAux.GeometriaTipoId;
                        exploracao.GeometriaTipoTexto = exploracaoAux.GeometriaTipoTexto;
                        exploracao.AreaCroqui         = exploracaoAux.AreaCroqui;
                    }
                }
            }

            foreach (ExploracaoFlorestalExploracao exploracaoFlorestal in exploracoesRemover)
            {
                caracterizacaoAtual.Exploracoes.Remove(exploracaoFlorestal);
            }

            return(caracterizacaoAtual);
        }
Esempio n. 5
0
        public ExploracaoFlorestalExploracaoPDF(ExploracaoFlorestalExploracao exploracao)
        {
            GeometriaTipoId   = exploracao.GeometriaTipoId;
            VegetacaoTipo     = exploracao.ClassificacaoVegetacaoTexto;
            VegetacaoTipoId   = exploracao.ClassificacaoVegetacaoId;
            ArvoresRequeridas = exploracao.ArvoresRequeridas;

            AreaCroquiDecimal = (exploracao.GeometriaTipoId == (int)eExploracaoFlorestalGeometria.Ponto && exploracao.ParecerFavoravel == true) ? Convert.ToDecimal(exploracao.QuantidadeArvores) : exploracao.AreaCroqui;
            if (exploracao.ParecerFavoravel == false)
            {
                AreaCroquiDecimal = 0;
            }
            AreaRequeridaDecimal = (exploracao.GeometriaTipoId == (int)eExploracaoFlorestalGeometria.Ponto) ? Convert.ToDecimal(exploracao.ArvoresRequeridas) : exploracao.AreaRequerida;

            QuantidadeArvores = exploracao.QuantidadeArvores;
            Produtos          = exploracao.Produtos.Select(x => new ExploracaoFlorestalExploracaoProdutoPDF(x)).ToList();
            if (Produtos.Count == 0)
            {
                Produtos.Add(new ExploracaoFlorestalExploracaoProdutoPDF());
            }
            IdentificacaoGeo = exploracao.Identificacao;
            Geometria        = exploracao.GeometriaTipoTexto;
            if (exploracao.FinalidadeExploracaoTexto == "Outros" || exploracao.FinalidadeExploracao == (int)eExploracaoFlorestalFinalidade.Outros)
            {
                FinalidadeExploracao = String.Concat(exploracao.FinalidadeExploracaoTexto, " (", exploracao.FinalidadeEspecificar, ")");
            }
            else if (exploracao.FinalidadeExploracao == (int)eExploracaoFlorestalFinalidade.AproveitamentoMadeira)
            {
                FinalidadeExploracao = "Aprov. Madeira";
            }
            else
            {
                FinalidadeExploracao = exploracao.FinalidadeExploracaoTexto;
            }
            ParecerFavoravel     = Convert.ToBoolean(exploracao.ParecerFavoravel) ? "Favorável" : "Não Favorável";
            ClassificacaoVegetal = exploracao.ClassificacaoVegetacaoTexto;
        }
        internal ExploracaoFlorestal ObterDadosGeo(int empreendimento, BancoDeDados banco = null)
        {
            ExploracaoFlorestal caracterizacao = new ExploracaoFlorestal();

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                #region Dados Geo
                /*Verificar classificação com analista*/
                Comando comando = bancoDeDados.CriarComando(@"
					select tab.*,
						   (case
								when substr(tab.avn,1,1) = 'I' then 2/*Floresta Nativa - Estágio inicial*/
								when substr(tab.avn,1,1) = 'M' then 3/*Floresta Nativa - Estágio médio*/
								when substr(tab.avn,1,1) = 'A' then 4/*Floresta Nativa - Estágio avançado*/
								when substr(tab.avn,1,1) = 'N' and Instr(tab.aa, 'FLORESTA-PLANTADA') > 0	then 1/*aa - Floresta Plantada*/
								when substr(tab.avn,1,1) = 'N' and Instr(tab.aa, 'CULTURAS-PERENES') > 0	then 6/*aa - CULTURAS-PERENES*/
								when substr(tab.avn,1,1) = 'N' and Instr(tab.aa, 'CULTURAS-ANUAIS') > 0		then 9/*aa - CULTURAS-ANUAIS*/
								when substr(tab.avn,1,1) = 'N' and Instr(tab.aa, 'PASTAGEM') > 0			then 7/*aa - PASTAGEM*/								
								when substr(tab.avn,1,1) = 'N' and Instr(tab.aa, 'OUTRO') > 0				then 8/*aa - OUTRO*/
								when tab.avn = '[x]' then 5 /*Arvores isoladas->Ponto e Linha*/
						   end) class_vegetal
					  from (select a.atividade,
								   a.codigo             identificacao,
								   3					 geometria_tipo,
								   a.area_m2            area_croqui,
								   a.avn,
								   a.aa
							  from {1}geo_aativ       a,
								   {0}crt_projeto_geo         g,
								   {0}lov_caracterizacao_tipo lc
							 where a.atividade = lc.texto
							   and a.projeto = g.id
							   and lc.id = :caracterizacao
							   and g.empreendimento = :empreendimento
							   and g.caracterizacao = :caracterizacao
							union all
							select a.atividade,
								   a.codigo             identificacao,
								   2 geometria_tipo,
								   null                 area_croqui,
								   '[x]' avn,
								   a.aa
							  from {1}geo_lativ       a,
								   {0}crt_projeto_geo         g,
								   {0}lov_caracterizacao_tipo lc
							 where a.atividade = lc.texto
							   and a.projeto = g.id
							   and lc.id = :caracterizacao
							   and g.empreendimento = :empreendimento
							   and g.caracterizacao = :caracterizacao
							union all
							select a.atividade,
								   a.codigo             identificacao,
								   1 geometria_tipo,
								   null                 area_croqui,
								   '[x]' avn,
								   a.aa
							  from {1}geo_pativ       a,
								   {0}crt_projeto_geo         g,
								   {0}lov_caracterizacao_tipo lc
							 where a.atividade = lc.texto
							   and a.projeto = g.id
							   and lc.id = :caracterizacao
							   and g.empreendimento = :empreendimento
							   and g.caracterizacao = :caracterizacao
							union all
							select a.atividade,
								   a.codigo             identificacao,
								   3 geometria_tipo,
								   a.area_m2            area_croqui,
								   a.avn,
								   a.aa
							  from {1}geo_aiativ      a,
								   {0}crt_projeto_geo         g,
								   {0}lov_caracterizacao_tipo lc
							 where a.atividade = lc.texto
							   and a.projeto = g.id
							   and lc.id = :caracterizacao
							   and g.empreendimento = :empreendimento
							   and g.caracterizacao = :caracterizacao) tab"                            , EsquemaBanco, EsquemaBancoGeo);

                comando.AdicionarParametroEntrada("empreendimento", empreendimento, DbType.Int32);
                comando.AdicionarParametroEntrada("caracterizacao", (int)eCaracterizacao.ExploracaoFlorestal, DbType.Int32);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    ExploracaoFlorestalExploracao exploracao = null;
                    while (reader.Read())
                    {
                        exploracao = new ExploracaoFlorestalExploracao();
                        exploracao.Identificacao   = reader["identificacao"].ToString();
                        exploracao.GeometriaTipoId = Convert.ToInt32(reader["geometria_tipo"]);

                        exploracao.ClassificacaoVegetacaoId = reader.GetValue <int>("class_vegetal");

                        exploracao.AreaCroqui = reader.GetValue <decimal>("area_croqui");

                        exploracao.GeometriaTipoTexto = _caracterizacaoConfig.Obter <List <Lista> >(ConfiguracaoCaracterizacao.KeyCaracterizacaoGeometriaTipo).
                                                        SingleOrDefault(x => x.Id == (exploracao.GeometriaTipoId).ToString()).Texto;

                        caracterizacao.Exploracoes.Add(exploracao);
                    }

                    reader.Close();
                }

                #endregion
            }

            return(caracterizacao);
        }
        private ExploracaoFlorestal ObterHistorico(int id, BancoDeDados banco = null, string tid = null, bool simplificado = false)
        {
            ExploracaoFlorestal caracterizacao = new ExploracaoFlorestal();
            int hst = 0;

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

                Comando comando = bancoDeDados.CriarComando(@"select c.id, c.empreendimento_id, c.finalidade, c.finalidade_outros, c.tid 
				from {0}hst_crt_exploracao_florestal c where c.exploracao_florestal_id = :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_id"]);
                        caracterizacao.FinalidadeExploracao  = Convert.ToInt32(reader["finalidade"]);
                        caracterizacao.FinalidadeEspecificar = reader["finalidade_outros"].ToString();
                        caracterizacao.Tid = reader["tid"].ToString();
                    }

                    reader.Close();
                }

                #endregion

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

                #region Explorações

                comando = bancoDeDados.CriarComando(@"select c.id, c.exp_florestal_exploracao_id, c.identificacao, c.geometria_id, c.geometria_texto, c.area_croqui, c.area_requerida, 
				c.arvores_requeridas, c.classificacao_vegetacao_id, c.classificacao_vegetacao_texto, c.exploracao_tipo_id, c.exploracao_tipo_texto, c.quantidade_arvores, c.tid 
				from {0}hst_crt_exp_florest_exploracao c where c.id_hst = :id"                , EsquemaBanco);

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

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    ExploracaoFlorestalExploracao exploracao = null;

                    while (reader.Read())
                    {
                        hst = Convert.ToInt32(reader["id"]);

                        exploracao                   = new ExploracaoFlorestalExploracao();
                        exploracao.Id                = Convert.ToInt32(reader["exp_florestal_exploracao_id"]);
                        exploracao.Tid               = reader["tid"].ToString();
                        exploracao.Identificacao     = reader["identificacao"].ToString();
                        exploracao.AreaCroqui        = reader.GetValue <decimal>("area_croqui");
                        exploracao.AreaRequerida     = reader.GetValue <decimal>("area_requerida");
                        exploracao.QuantidadeArvores = reader["quantidade_arvores"].ToString();
                        exploracao.ArvoresRequeridas = reader["arvores_requeridas"].ToString();

                        if (reader["geometria_id"] != null && !Convert.IsDBNull(reader["geometria_id"]))
                        {
                            exploracao.GeometriaTipoId    = Convert.ToInt32(reader["geometria_id"]);
                            exploracao.GeometriaTipoTexto = reader["geometria_texto"].ToString();
                        }

                        if (reader["classificacao_vegetacao_id"] != null && !Convert.IsDBNull(reader["classificacao_vegetacao_id"]))
                        {
                            exploracao.ClassificacaoVegetacaoId    = Convert.ToInt32(reader["classificacao_vegetacao_id"]);
                            exploracao.ClassificacaoVegetacaoTexto = reader["classificacao_vegetacao_texto"].ToString();
                        }

                        if (reader["exploracao_tipo_id"] != null && !Convert.IsDBNull(reader["exploracao_tipo_id"]))
                        {
                            exploracao.ExploracaoTipoId    = Convert.ToInt32(reader["exploracao_tipo_id"]);
                            exploracao.ExploracaoTipoTexto = reader["exploracao_tipo_texto"].ToString();
                        }

                        #region Produtos

                        comando = bancoDeDados.CriarComando(@"select c.exp_florestal_produto_id, c.produto_id, c.produto_texto, c.quantidade, c.tid 
						from {0}hst_crt_exp_florestal_produto c where c.id_hst = :id"                        , EsquemaBanco);

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

                        using (IDataReader readerAux = bancoDeDados.ExecutarReader(comando))
                        {
                            ExploracaoFlorestalProduto produto = null;

                            while (readerAux.Read())
                            {
                                produto            = new ExploracaoFlorestalProduto();
                                produto.Id         = Convert.ToInt32(readerAux["exp_florestal_produto_id"]);
                                produto.Tid        = readerAux["tid"].ToString();
                                produto.Quantidade = readerAux["quantidade"].ToString();

                                if (reader["produto_id"] != null && !Convert.IsDBNull(readerAux["produto_id"]))
                                {
                                    produto.ProdutoId    = Convert.ToInt32(readerAux["produto_id"]);
                                    produto.ProdutoTexto = readerAux["produto_texto"].ToString();
                                }

                                exploracao.Produtos.Add(produto);
                            }

                            readerAux.Close();
                        }

                        #endregion

                        caracterizacao.Exploracoes.Add(exploracao);
                    }

                    reader.Close();
                }

                #endregion
            }

            return(caracterizacao);
        }