Example #1
0
        public MemoryStream GerarPDFAnalise(int analiseId)
        {
            ArquivoDocCaminho = @"~/Content/_pdfAspose/Analise_itens_Processo_Documento.doc";
            AnaliseItemRelatorio analise = _da.Obter(analiseId);

            if (analise.Itens != null)
            {
                analise.ItensTecnicos        = analise.Itens.Where(x => x.Tipo == 1).ToList();
                analise.ItensAdministrativos = analise.Itens.Where(x => x.Tipo == 2).ToList();
                analise.ItensProjetoDigital  = analise.Itens.Where(x => x.Tipo == 3).ToList();
            }


            ObterArquivoTemplate();

            #region Configurar Cabecalho Rodapé

            ConfigurarCabecarioRodape(analise.SetorId);

            #endregion

            #region Configurar Tabelas

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

                if (analise.ItensTecnicos == null || analise.ItensTecnicos.Count <= 0)
                {
                    tabelas.Add(doc.LastTable("ITENS TÉCNICOS"));
                    tabelas.Add(doc.LastTable("«TableStart:ItensTecnicos»"));
                }

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

                if (analise.ItensProjetoDigital == null || analise.ItensProjetoDigital.Count <= 0)
                {
                    tabelas.Add(doc.LastTable("ITENS DO PROJETO DIGITAL"));
                    tabelas.Add(doc.LastTable("«TableStart:ItensProjetoDigital»"));
                }

                AsposeExtensoes.RemoveTables(tabelas);
            });

            #endregion


            return(GerarPdf(analise));
        }
Example #2
0
        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);
        }