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