Exemple #1
0
        public MemoryStream Gerar(int id, string tid)
        {
            ArquivoDocCaminho = @"~/Content/_pdfAspose/Roteiro.doc";

            RoteiroDa        _da        = new RoteiroDa();
            RoteiroRelatorio dataSource = (tid == string.Empty) ? _da.Obter(id) : _da.Obter(id, tid);

            dataSource.ObservacoesHtml = dataSource.Observacoes;

            dataSource.ItensTecnicos        = dataSource.Itens.Where(x => x.Tipo == 1).OrderBy(x => x.Ordem).ToList();
            dataSource.ItensAdministrativos = dataSource.Itens.Where(x => x.Tipo == 2).OrderBy(x => x.Ordem).ToList();

            int num = 1;

            dataSource.ItensTecnicos.ForEach(x => x.Numero = num++);
            num = 1;
            dataSource.ItensAdministrativos.ForEach(x => x.Numero = num++);


            ObterArquivoTemplate();

            #region Configurar Assinantes

            ConfiguracaoDefault.TextoTagAssinante   = "«Assinante.Nome»";
            ConfiguracaoDefault.TextoTagAssinantes1 = "«TableStart:Assinantes1»";
            ConfiguracaoDefault.TextoTagAssinantes2 = "«TableStart:Assinantes2»";

            #endregion

            #region Configurar Cabecalho Rodapé

            ConfigurarCabecarioRodape(dataSource.SetorId);

            #endregion

            #region Configurar Tabelas

            ConfiguracaoDefault.AddLoadAcao((doc, dataSrc) =>
            {
                List <Table> tabelas = new List <Table>();

                if (dataSource.ItensTecnicos == null || dataSource.ItensTecnicos.Count <= 0)
                {
                    tabelas.Add(doc.LastTable("«TableStart:ItensTecnicos»"));
                }

                if (dataSource.ItensAdministrativos == null || dataSource.ItensAdministrativos.Count <= 0)
                {
                    tabelas.Add(doc.LastTable("«TableStart:ItensAdministrativos»"));
                }

                if (dataSource.Anexos == null || dataSource.Anexos.Count <= 0)
                {
                    tabelas.Add(doc.FindTable("«TableEnd:Anexos»"));
                }

                if (string.IsNullOrEmpty(dataSource.ObservacoesHtml))
                {
                    tabelas.Add(doc.FindTable("«ObservacoesHtml»"));
                }

                AsposeExtensoes.RemoveTables(tabelas);
            });

            #endregion

            #region Assinantes

            /*AssinanteDefault assinante = null;
             *
             * if (dataSource.Interessado.Id > 0)
             * {
             *      assinante = new AssinanteDefault();
             *      assinante.Nome = dataSource.Interessado.NomeRazaoSocial;
             *      ConfiguracaoDefault.Assinantes.Add(assinante);
             * }
             *
             * foreach (ResponsavelTecnico responsavel in dataSource.Responsaveis)
             * {
             *      assinante = new AssinanteDefault();
             *      assinante.Nome = responsavel.NomeRazao;
             *      ConfiguracaoDefault.Assinantes.Add(assinante);
             * }*/

            #endregion

            return(MergePdf(GerarPdf(dataSource), dataSource.Anexos.Select(x => x.Arquivo).ToList()));
        }
        internal AnaliseItemRelatorio Obter(int analiseId)
        {
            AnaliseItemRelatorio analise = new AnaliseItemRelatorio();

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia())
            {
                #region Protocolo e Requerimento

                Comando comando = bancoDeDados.CriarComando(@"select ta.protocolo id, p.id interessado_id, nvl(p.nome, p.razao_social) interessado_nome, 
															nvl(p.cpf, p.cnpj) interessado_cpfcnpj, tp.numero || '/' || tp.ano numero, tp.protocolo, tp.setor, tp.checagem,
															lp.texto tipo, tr.autor, tr.numero requerimento_numero, to_char(tr.data_criacao, 'dd/mm/yyyy') requerimento_data
															from {0}tab_analise ta, {0}tab_protocolo tp, {0}lov_protocolo lp,
															{0}tab_requerimento tr, {0}tab_pessoa p where ta.protocolo = tp.id and tp.protocolo = lp.id
															and tp.requerimento = tr.id and p.id = tp.interessado and ta.id = :id"                                                            , EsquemaBanco);

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

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    if (reader.Read())
                    {
                        analise.Id = reader["id"].ToString();

                        if (reader["setor"] != null && !Convert.IsDBNull(reader["setor"]))
                        {
                            analise.SetorId = Convert.ToInt32(reader["setor"]);
                        }

                        analise.Numero         = reader["numero"].ToString();
                        analise.Tipo           = reader["tipo"].ToString();
                        analise.ChecagemNumero = reader["checagem"].ToString();

                        analise.InteressadoId      = Convert.ToInt32(reader["interessado_id"]);
                        analise.InteressadoNome    = reader["interessado_nome"].ToString();
                        analise.InteressadoCPFCNPJ = reader["interessado_cpfcnpj"].ToString();

                        analise.RequerimentoNumero = reader["requerimento_numero"].ToString();
                        analise.RequerimentoData   = reader["requerimento_data"].ToString();
                        analise.RequerimentoOrigem = String.IsNullOrEmpty(reader["autor"].ToString())? "Institucional" : "Credenciado";

                        analise.IsProcesso = Convert.ToInt32(reader["protocolo"]) == 1;
                    }
                    reader.Close();
                }

                #endregion

                if (!String.IsNullOrWhiteSpace(analise.Id))
                {
                    #region Atividades do Requerimento

                    comando = bancoDeDados.CriarComando(@"select tpa.atividade, lpas.texto situacao from {0}tab_protocolo_atividades tca,
					{0}tab_atividade tpa, {0}lov_atividade_situacao lpas where tca.atividade = tpa.id(+)
					and tca.situacao = lpas.id and tca.requerimento = :requerimento and tca.protocolo= :protocolo"                    , EsquemaBanco);

                    comando.AdicionarParametroEntrada("protocolo", analise.Id, DbType.Int32);
                    comando.AdicionarParametroEntrada("requerimento", analise.RequerimentoNumero, DbType.Int32);

                    using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                    {
                        while (reader.Read())
                        {
                            AtividadeRelatorio atividade = new AtividadeRelatorio();

                            atividade.Nome     = reader["atividade"].ToString();
                            atividade.Situacao = reader["situacao"].ToString();

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

                    #endregion

                    #region Roteiros

                    comando = bancoDeDados.CriarComando(@"select hr.numero, hr.versao, hr.nome from {0}tab_analise_roteiro t, {0}hst_roteiro hr 
					where t.roteiro_tid = hr.tid and t.roteiro = hr.roteiro_id and t.analise = :analise"                    , EsquemaBanco);

                    comando.AdicionarParametroEntrada("analise", analiseId, DbType.Int32);

                    using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                    {
                        while (reader.Read())
                        {
                            RoteiroRelatorio roteiro = new RoteiroRelatorio();

                            roteiro.Numero = Convert.ToInt32(reader["numero"]);
                            roteiro.Versao = Convert.ToInt32(reader["versao"]);
                            roteiro.Nome   = reader["nome"].ToString();

                            analise.Roteiros.Add(roteiro);
                        }
                        reader.Close();
                    }
                    #endregion

                    #region Itens

                    comando = bancoDeDados.CriarComando(@"select t.item_id, hri.tipo_id, hri.tipo_texto, hri.nome, hri.condicionante,
					to_char(t.data_analise, 'dd/mm/yyyy') data_analise, lais.texto situacao, t.situacao situacao_id,
					t.analista analista, t.descricao, t.motivo, s.nome setor_nome from {0}tab_analise_itens t,
					{0}hst_roteiro_item hri, {0}lov_analise_item_situacao lais, {0}tab_setor s where t.item_tid = hri.tid
					and t.situacao = lais.id and t.analise = :analise and s.id(+) = t.setor order by t.data_analise"                    , EsquemaBanco);

                    comando.AdicionarParametroEntrada("analise", analiseId, DbType.Int32);

                    using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                    {
                        while (reader.Read())
                        {
                            ItemRelatorio item = new ItemRelatorio();
                            item.Id            = Convert.ToInt32(reader["item_id"]);
                            item.Tipo          = Convert.ToInt32(reader["tipo_id"]);
                            item.TipoTexto     = reader["tipo_texto"].ToString();
                            item.Nome          = reader["nome"].ToString();
                            item.Condicionante = reader["condicionante"].ToString();
                            item.DataAnalise   = reader["data_analise"].ToString();
                            item.Situacao      = reader["situacao"].ToString();
                            item.SituacaoId    = Convert.ToInt32(reader["situacao_id"]);
                            item.Analista      = reader["analista"].ToString();
                            item.Descricao     = reader["descricao"].ToString();
                            item.Motivo        = reader["motivo"].ToString();
                            item.SetorNome     = reader["setor_nome"].ToString();
                            analise.Itens.Add(item);
                        }
                        reader.Close();
                    }
                    #endregion
                }
            }
            return(analise);
        }
        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);
        }
        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);
        }
Exemple #5
0
        internal ChecagemRoteiroRelatorio Obter(int id)
        {
            ChecagemRoteiroRelatorio checagem = new ChecagemRoteiroRelatorio();

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia())
            {
                #region Checagem de item de roteiro

                Comando comando = bancoDeDados.CriarComando(@"select c.interessado, ls.id situacao_id, ls.texto situacao_texto, c.tid from tab_checagem c, 
				lov_checagem_situacao ls where c.situacao = ls.id and c.id = :id"                );

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

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    if (reader.Read())
                    {
                        checagem.Id          = id;
                        checagem.Tid         = reader["tid"].ToString();
                        checagem.Interessado = reader["interessado"].ToString();
                        if (reader["situacao_id"] != null && !Convert.IsDBNull(reader["situacao_id"]))
                        {
                            checagem.Situacao      = Convert.ToInt32(reader["situacao_id"]);
                            checagem.SituacaoTexto = reader["situacao_texto"].ToString();
                        }
                    }
                    reader.Close();
                }

                #endregion

                #region Checagem - Roteiros

                comando = bancoDeDados.CriarComando(@"select r.nome, r.versao from tab_checagem_roteiro c, tab_roteiro r where c.roteiro = r.id and c.checagem = :checagem");

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

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    while (reader.Read())
                    {
                        RoteiroRelatorio roteiro = new RoteiroRelatorio();

                        roteiro.Nome   = reader["nome"].ToString();
                        roteiro.Versao = Convert.ToInt32(reader["versao"]);

                        checagem.Roteiros.Add(roteiro);
                    }
                    reader.Close();
                }

                #endregion

                #region Checagem - Itens
                comando = bancoDeDados.CriarComando(@"
					select ri.nome, c.situacao, c.motivo, ri.condicionante from tab_checagem_itens c, tab_roteiro_item ri where c.item_id = ri.id and c.checagem = :checagem"                    );

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

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    ItemRelatorio item;
                    while (reader.Read())
                    {
                        item               = new ItemRelatorio();
                        item.SituacaoId    = Convert.ToInt32(reader["situacao"]);
                        item.Nome          = reader["nome"].ToString();
                        item.Condicionante = reader["condicionante"].ToString();
                        item.Motivo        = reader["motivo"].ToString();
                        checagem.Itens.Add(item);
                    }
                    reader.Close();
                }
                #endregion
            }
            return(checagem);
        }