Exemplo n.º 1
0
        private AtividadeConfiguracao ObterHistorico(AtividadeConfiguracao atividade, BancoDeDados banco = null)
        {
            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                #region Modelos de Títulos

                Comando comando = bancoDeDados.CriarComando(@"select hm.configuracao_id id, hm.modelo_id modelo, htm.nome modelo_nome, hm.tid from {0}hst_cnf_atividade_modelos hm, 
                {0}hst_titulo_modelo htm where hm.modelo_id = htm.modelo_id and hm.modelo_tid = htm.tid and hm.configuracao_id = :config_id and hm.configuracao_tid = 
                :config_tid", EsquemaBanco);

                comando.AdicionarParametroEntrada("config_id", atividade.Id, DbType.Int32);
                comando.AdicionarParametroEntrada("config_tid", atividade.Tid, DbType.String);


                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    Modelo modelo;

                    while (reader.Read())
                    {
                        modelo       = new Modelo();
                        modelo.Id    = Convert.ToInt32(reader["modelo"]);
                        modelo.Texto = reader["modelo_nome"].ToString();
                        atividade.Modelos.Add(modelo);
                    }
                    reader.Close();
                }

                #endregion

                #region atividades

                comando = bancoDeDados.CriarComando(@"select ha.atividade_ativ_id, ha.configuracao_id, hta.atividade atividade_nome, ha.tid, hta.setor_id from hst_cnf_atividade_atividades 
                ha, hst_atividade hta where ha.atividade_id = hta.atividade_id and ha.atividade_tid = hta.tid and ha.configuracao_id = :config_id and 
                ha.configuracao_tid = :config_tid", EsquemaBanco);

                comando.AdicionarParametroEntrada("config_id", atividade.Id, DbType.Int32);
                comando.AdicionarParametroEntrada("config_tid", atividade.Tid, DbType.String);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    AtividadeSolicitada ativ;

                    while (reader.Read())
                    {
                        ativ         = new AtividadeSolicitada();
                        ativ.Id      = Convert.ToInt32(reader["atividade_ativ_id"]);
                        ativ.Texto   = reader["atividade_nome"].ToString();
                        ativ.SetorId = Convert.ToInt32(reader["setor_id"]);

                        atividade.Atividades.Add(ativ);
                    }
                    reader.Close();
                }

                #endregion
            }

            return(atividade);
        }
Exemplo n.º 2
0
        internal AtividadeSolicitada ObterAtividadeSolicitada(int atividadeSolicitadaId, BancoDeDados banco = null)
        {
            AtividadeSolicitada atividade = null;

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                Comando comando = bancoDeDados.CriarComando(@"select id, atividade, situacao, cod_categoria from tab_atividade ta where id = :id", EsquemaBanco);
                comando.AdicionarParametroEntrada("id", atividadeSolicitadaId, DbType.Int32);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    while (reader.Read())
                    {
                        atividade           = new AtividadeSolicitada();
                        atividade.Id        = reader.GetValue <int>("id");
                        atividade.Texto     = reader.GetValue <string>("atividade");
                        atividade.Situacao  = reader.GetValue <bool>("situacao");
                        atividade.Categoria = reader.GetValue <string>("cod_categoria");
                    }
                }

                return(atividade);
            }
        }
Exemplo n.º 3
0
        internal bool Salvar(RegistroAtividadeFlorestal caracterizacao)
        {
            if (!_caracterizacaoValidar.Basicas(caracterizacao.EmpreendimentoId))
            {
                return(false);
            }

            if (caracterizacao.Id <= 0 && (_da.ObterPorEmpreendimento(caracterizacao.EmpreendimentoId, true) ?? new RegistroAtividadeFlorestal()).Id > 0)
            {
                Validacao.Add(Mensagem.Caracterizacao.EmpreendimentoCaracterizacaoJaCriada);
                return(false);
            }

            #region Numero

            if (!caracterizacao.PossuiNumero.HasValue)
            {
                Validacao.Add(Mensagem.RegistroAtividadeFlorestal.PossuiNumeroObrigatorio);
            }

            if (string.IsNullOrWhiteSpace(caracterizacao.NumeroRegistro) && caracterizacao.PossuiNumero.GetValueOrDefault())
            {
                Validacao.Add(Mensagem.RegistroAtividadeFlorestal.NumeroRegistroObrigatorio);
            }
            else if (!ValidacoesGenericasBus.ValidarNumero(caracterizacao.NumeroRegistro, 9) && caracterizacao.PossuiNumero.GetValueOrDefault())
            {
                Validacao.Add(Mensagem.RegistroAtividadeFlorestal.NumeroRegistroInvalido);
            }
            else if (_da.IsNumeroUtilizado(caracterizacao.NumeroRegistro, caracterizacao.EmpreendimentoId))
            {
                Validacao.Add(Mensagem.RegistroAtividadeFlorestal.NumeroUtilizado);
            }
            else if (caracterizacao.PossuiNumero.GetValueOrDefault())
            {
                int numeroMaximo = _config.RegAtvFlorestalNumeroMaximo;
                if (Convert.ToInt32(caracterizacao.NumeroRegistro) > numeroMaximo)
                {
                    Validacao.Add(Mensagem.RegistroAtividadeFlorestal.NumeroRegistroSuperiorMax(numeroMaximo.ToString()));
                }
            }

            #endregion

            if (caracterizacao.Consumos.Count <= 0)
            {
                Validacao.Add(Mensagem.RegistroAtividadeFlorestal.ConsumoObrigatorio);
            }

            #region Consumos

            var count = 0;
            caracterizacao.Consumos.ForEach(r =>
            {
                if (caracterizacao.Consumos.Any(x => caracterizacao.Consumos.Count(y => y.Atividade == x.Atividade) > 1))
                {
                    Validacao.Add(Mensagem.RegistroAtividadeFlorestal.CategoriaDuplicada);
                    return;
                }

                AtividadeSolicitada atividadeSolicitada = _da.ObterAtividadeSolicitada(r.Atividade);
                if (atividadeSolicitada != null && !atividadeSolicitada.Situacao)
                {
                    Validacao.Add(Mensagem.RegistroAtividadeFlorestal.AtividadeDesabilitada(atividadeSolicitada.Texto, count));
                }
                else
                {
                    if (r.Atividade == ConfiguracaoAtividade.ObterId((int)eAtividadeCodigo.FabricanteMotosserra) ||
                        r.Atividade == ConfiguracaoAtividade.ObterId((int)eAtividadeCodigo.ComercianteMotosserra))
                    {
                        r.FontesEnergia.Clear();
                    }
                    else
                    {
                        if (r.Atividade == 0)
                        {
                            Validacao.Add(Mensagem.RegistroAtividadeFlorestal.CategoriaObrigatoria(count));
                            return;
                        }

                        if (r.FontesEnergia.Count == 0)
                        {
                            Validacao.Add(Mensagem.RegistroAtividadeFlorestal.FonteEnergiaObrigatoria(count));
                            return;
                        }
                    }

                    if (!r.PossuiLicencaAmbiental.HasValue)
                    {
                        Validacao.Add(Mensagem.RegistroAtividadeFlorestal.PossuiLicencaAmbiental(count));
                    }
                    else
                    {
                        switch (r.PossuiLicencaAmbiental.GetValueOrDefault())
                        {
                        case ConfiguracaoSistema.NAO:
                            if (_caracterizacaoValidar.AtividadeLicencaObrigatoria(r.Atividade))
                            {
                                Validacao.Add(Mensagem.RegistroAtividadeFlorestal.LicencaAmbientalObrigatoria(count, atividadeSolicitada.Categoria + " - " + atividadeSolicitada.Texto));
                            }
                            break;

                        case ConfiguracaoSistema.SIM:
                            if (!r.Licenca.EmitidoPorInterno.HasValue)
                            {
                                Validacao.Add(Mensagem.RegistroAtividadeFlorestal.EmitidoIDAFOuExterno(count));
                            }
                            else
                            {
                                if (r.Licenca.TituloModelo == 0)
                                {
                                    Validacao.Add(Mensagem.RegistroAtividadeFlorestal.ModeloLicencaObrigatorio(count));
                                }

                                if (string.IsNullOrWhiteSpace(r.Licenca.TituloModeloTexto))
                                {
                                    Validacao.Add(Mensagem.RegistroAtividadeFlorestal.ModeloLicencaObrigatorio(count));
                                }

                                if (string.IsNullOrWhiteSpace(r.Licenca.TituloNumero))
                                {
                                    Validacao.Add(Mensagem.RegistroAtividadeFlorestal.NumeroLicencaObrigatorio(count));
                                }
                                else
                                {
                                    if (r.Licenca.EmitidoPorInterno.Value && !ValidacoesGenericasBus.ValidarMaskNumeroBarraAno(r.Licenca.TituloNumero))
                                    {
                                        Validacao.Add(Mensagem.RegistroAtividadeFlorestal.NumeroLicencaInvalido(count));
                                    }
                                }

                                ValidacoesGenericasBus.DataMensagem(r.Licenca.TituloValidadeData, "TituloValidadeData_DataTexto" + count, "validade", false);

                                if (string.IsNullOrWhiteSpace(r.Licenca.ProtocoloNumero))
                                {
                                    Validacao.Add(Mensagem.RegistroAtividadeFlorestal.NumeroProtocoloLicencaObrigatorio(count));
                                }

                                if (r.Licenca.TituloValidadeData.Data.GetValueOrDefault() < DateTime.Today || !r.Licenca.ProtocoloRenovacaoData.IsEmpty)
                                {
                                    ValidacoesGenericasBus.DataMensagem(r.Licenca.ProtocoloRenovacaoData, "ProtocoloRenovacaoData_DataTexto" + count, "renovação");
                                }

                                if (!r.Licenca.ProtocoloRenovacaoData.IsEmpty && (r.Licenca.TituloValidadeData.Data.GetValueOrDefault().AddDays(-120)) < r.Licenca.ProtocoloRenovacaoData.Data)
                                {
                                    Validacao.Add(Mensagem.RegistroAtividadeFlorestal.RenovacaoDataMaiorValidade(count));
                                }

                                if (r.Licenca.TituloValidadeData.Data.GetValueOrDefault() < DateTime.Today && string.IsNullOrWhiteSpace(r.Licenca.ProtocoloRenovacaoNumero))
                                {
                                    Validacao.Add(Mensagem.RegistroAtividadeFlorestal.NumeroProtocoloRenovacaoObrigatorio(count));
                                }

                                if (!r.Licenca.EmitidoPorInterno.Value && string.IsNullOrWhiteSpace(r.Licenca.OrgaoExpedidor))
                                {
                                    Validacao.Add(Mensagem.RegistroAtividadeFlorestal.OrgaoExpedidoObrigatorio(count));
                                }
                            }
                            break;

                        case ConfiguracaoSistema.Dispensado:
                            if (!r.Licenca.EmitidoPorInterno.HasValue)
                            {
                                Validacao.Add(Mensagem.RegistroAtividadeFlorestal.GrupoDispensadoEmitidoIDAFOuExterno(count));
                            }

                            if (string.IsNullOrWhiteSpace(r.Licenca.TituloModeloTexto))
                            {
                                Validacao.Add(Mensagem.RegistroAtividadeFlorestal.DocumentoObrigatorio(count));
                            }

                            if (string.IsNullOrWhiteSpace(r.Licenca.ProtocoloNumero))
                            {
                                Validacao.Add(Mensagem.RegistroAtividadeFlorestal.NumeroProtocoloLicencaObrigatorio(count));
                            }

                            if (string.IsNullOrWhiteSpace(r.Licenca.OrgaoExpedidor))
                            {
                                Validacao.Add(Mensagem.RegistroAtividadeFlorestal.OrgaoEmissorObrigatorio(count));
                            }
                            break;

                        default:
                            break;
                        }
                    }

                    if (string.IsNullOrWhiteSpace(r.DUANumero))
                    {
                        Validacao.Add(Mensagem.RegistroAtividadeFlorestal.DUANumeroObrigatorio(count));
                    }

                    if (Convert.ToDecimal(r.DUAValor) <= 0)
                    {
                        Validacao.Add(Mensagem.RegistroAtividadeFlorestal.DUAValorObrigatorio(count));
                    }

                    ValidacoesGenericasBus.DataMensagem(r.DUADataPagamento, "DUADataPagamento" + count, "pagamento do DUA");
                }

                count++;
            });

            #endregion

            return(Validacao.EhValido);
        }
Exemplo n.º 4
0
        internal Roteiro Obter(int id)
        {
            Roteiro roteiro = new Roteiro();

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia())
            {
                #region Roteiro
                Comando comando = bancoDeDados.CriarComando(@"select a.numero, a.versao versao_atual, a.nome, a.setor setor_id, s.nome setor_texto, a.situacao, a.observacoes, a.finalidade,
				a.data_criacao, a.tid, (select r.versao from hst_roteiro r where r.tid = a.tid and r.roteiro_id = a.id) versao
				from {0}tab_roteiro a, {0}tab_setor s where a.setor = s.id and a.id = :id"                , EsquemaBanco);

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

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    if (reader.Read())
                    {
                        roteiro.Id          = id;
                        roteiro.Tid         = reader["tid"].ToString();
                        roteiro.Versao      = Convert.ToInt32(reader["versao_atual"]);
                        roteiro.VersaoAtual = Convert.ToInt32(reader["versao"]);
                        roteiro.Nome        = reader["nome"].ToString();
                        roteiro.Padrao      = ListaCredenciadoBus.RoteiroPadrao.Exists(x => x.Id == roteiro.Id);

                        if (reader["finalidade"] != null && !Convert.IsDBNull(reader["finalidade"]))
                        {
                            roteiro.Finalidade = Convert.ToInt32(reader["finalidade"]);
                        }

                        if (reader["setor_id"] != null && !Convert.IsDBNull(reader["setor_id"]))
                        {
                            roteiro.Setor     = Convert.ToInt32(reader["setor_id"]);
                            roteiro.SetorNome = reader["setor_texto"].ToString();
                        }
                        roteiro.Situacao    = Convert.ToInt32(reader["situacao"]);
                        roteiro.Observacoes = reader["observacoes"].ToString();
                        roteiro.DataCriacao = Convert.ToDateTime(reader["data_criacao"]);
                    }
                    reader.Close();
                }
                #endregion

                #region Itens do roteiro
                comando = bancoDeDados.CriarComando(@"select tri.id, i.ordem, tri.nome, tri.condicionante, tri.procedimento, tri.tipo, lrip.texto tipo_texto, tri.tid
				from {0}tab_roteiro_itens i, {0}tab_roteiro_item tri, {0}lov_roteiro_item_tipo lrip where 
				i.item = tri.id and tri.tipo = lrip.id and i.roteiro = :roteiro order by i.ordem"                , EsquemaBanco);

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

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    Item item;
                    while (reader.Read())
                    {
                        item                     = new Item();
                        item.Id                  = Convert.ToInt32(reader["id"]);
                        item.Nome                = reader["nome"].ToString();
                        item.Condicionante       = reader["condicionante"].ToString();
                        item.Ordem               = Convert.ToInt32(reader["ordem"]);
                        item.ProcedimentoAnalise = reader["procedimento"].ToString();
                        if (reader["tipo"] != null && !Convert.IsDBNull(reader["tipo"]))
                        {
                            item.Tipo      = Convert.ToInt32(reader["tipo"]);
                            item.TipoTexto = reader["tipo_texto"].ToString();
                        }
                        item.Tid = reader["tid"].ToString();
                        roteiro.Itens.Add(item);
                    }
                    reader.Close();
                }
                #endregion

                #region Modelos de Títulos
                comando = bancoDeDados.CriarComando(@"select rm.id, rm.roteiro, rm.modelo, m.nome modelo_nome, rm.tid from {0}tab_roteiro_modelos rm, 
				{0}tab_titulo_modelo m where rm.roteiro = :roteiro and rm.modelo = m.id"                , EsquemaBanco);

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

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    TituloModeloLst item;
                    while (reader.Read())
                    {
                        item    = new TituloModeloLst();
                        item.Id = Convert.ToInt32(reader["modelo"]);
                        item.IdRelacionamento = Convert.ToInt32(reader["id"]);
                        item.Texto            = reader["modelo_nome"].ToString();
                        roteiro.Modelos.Add(item);
                    }
                    reader.Close();
                }
                #endregion

                #region Atividades
                comando = bancoDeDados.CriarComando(@"select rm.id, rm.roteiro, rm.atividade, a.atividade atividade_nome, 
				rm.tid from {0}tab_roteiro_atividades rm, {0}tab_atividade a where rm.roteiro = :roteiro and rm.atividade = a.id"                , EsquemaBanco);

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

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    AtividadeSolicitada item;
                    while (reader.Read())
                    {
                        item    = new AtividadeSolicitada();
                        item.Id = Convert.ToInt32(reader["atividade"]);
                        item.IdRelacionamento = Convert.ToInt32(reader["id"]);
                        item.Texto            = reader["atividade_nome"].ToString();
                        roteiro.Atividades.Add(item);
                    }
                    reader.Close();
                }
                #endregion

                #region Arquivos do roteiro
                comando = bancoDeDados.CriarComando(@"select a.id, a.ordem, a.descricao, b.nome, b.extensao, b.id arquivo_id, b.caminho,
				a.tid 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", roteiro.Id, DbType.Int32);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    Anexo item;
                    while (reader.Read())
                    {
                        item           = new Anexo();
                        item.Id        = Convert.ToInt32(reader["id"]);
                        item.Ordem     = Convert.ToInt32(reader["ordem"]);
                        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();

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

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

                #region Palavra chave do roteiro
                comando = bancoDeDados.CriarComando(@"select a.id, a.chave from {0}tab_roteiro_chave a where a.roteiro = :roteiro", EsquemaBanco);

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

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    PalavraChave palavra = null;

                    while (reader.Read())
                    {
                        palavra      = new PalavraChave();
                        palavra.Id   = Convert.ToInt32(reader["id"]);
                        palavra.Nome = reader["chave"].ToString();
                        roteiro.PalavraChaves.Add(palavra);
                    }
                    reader.Close();
                }
                #endregion
            }
            return(roteiro);
        }
Exemplo n.º 5
0
        internal AtividadeConfiguracao Obter(int id, BancoDeDados banco = null, bool obterHistorico = false)
        {
            AtividadeConfiguracao atividade = new AtividadeConfiguracao();

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                #region Configuração de Atividade

                Comando comando = bancoDeDados.CriarComando(@"select a.id, a.nome, a.tid from {0}cnf_atividade a where a.id = :id", EsquemaBanco);

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

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    if (reader.Read())
                    {
                        atividade.Id        = id;
                        atividade.Tid       = reader["tid"].ToString();
                        atividade.NomeGrupo = reader["nome"].ToString();
                    }
                    reader.Close();
                }

                #endregion

                if (obterHistorico)
                {
                    return(ObterHistorico(atividade, banco));
                }

                #region Modelos de Títulos

                comando = bancoDeDados.CriarComando(@"select m.id, m.configuracao, m.modelo, tm.nome modelo_nome, m.tid from {0}cnf_atividade_modelos m, {0}tab_titulo_modelo tm 
				where m.modelo = tm.id and m.configuracao = :configuracao"                , EsquemaBanco);

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

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    Modelo modelo;

                    while (reader.Read())
                    {
                        modelo = new Modelo();
                        modelo.IdRelacionamento = Convert.ToInt32(reader["id"]);
                        modelo.Id    = Convert.ToInt32(reader["modelo"]);
                        modelo.Texto = reader["modelo_nome"].ToString();
                        atividade.Modelos.Add(modelo);
                    }
                    reader.Close();
                }

                #endregion

                #region atividades

                comando = bancoDeDados.CriarComando(@"select a.id, a.configuracao, a.atividade, ta.atividade atividade_nome, a.tid, ta.setor from {0}cnf_atividade_atividades a, 
				{0}tab_atividade ta where a.atividade = ta.id and a.configuracao = :configuracao"                , EsquemaBanco);

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

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    AtividadeSolicitada ativ;

                    while (reader.Read())
                    {
                        ativ = new AtividadeSolicitada();
                        ativ.IdRelacionamento = Convert.ToInt32(reader["id"]);
                        ativ.Id      = Convert.ToInt32(reader["atividade"]);
                        ativ.Texto   = reader["atividade_nome"].ToString();
                        ativ.SetorId = Convert.ToInt32(reader["setor"]);

                        atividade.Atividades.Add(ativ);
                    }
                    reader.Close();
                }

                #endregion
            }
            return(atividade);
        }