public MemoryStream Gerar(RelatorioMapaFiltroeResultado filtro) { ArquivoDocCaminho = @"~/Content/_pdfAspose/Relatorio_Mapa_PTV.doc"; RelatorioMapaFiltroeResultado dataSource = new RelatorioMapaFiltroeResultado(); dataSource = _da.RelatorioPTV(filtro); dataSource.DataInicial = filtro.DataInicial; dataSource.DataFinal = filtro.DataFinal; dataSource.tipoRelatorio = filtro.tipoRelatorio; dataSource.LocalRelatorio = filtro.LocalRelatorio; dataSource.DataRelatorio = filtro.DataRelatorio; dataSource.NomeFuncionario = filtro.NomeFuncionario; SetorEndereco endereco = new CabecalhoRodapeDa().ObterEndSetor(filtro.IdSetor); dataSource.LocalRelatorio = endereco.MunicipioTexto; ObterArquivoTemplate(); ConfigurarCabecarioRodape(0); return(GerarPdf(dataSource)); }
public ActionResult XlsxRelatorioMapa(string paramsJson) { try { RelatorioMapaFiltroeResultado relatorio = ViewModelHelper.JsSerializer.Deserialize <RelatorioMapaFiltroeResultado>(paramsJson); if (_validar.ValidarParametroRelatorio(relatorio)) { EtramiteIdentity func = User.Identity as EtramiteIdentity; FuncionarioBus _busFuncionario = new FuncionarioBus(); List <Setor> setores = _busFuncionario.ObterSetoresFuncionario(func.FuncionarioId); relatorio.IdSetor = setores[0].Id; relatorio.NomeFuncionario = func.Name; if (relatorio.tipoRelatorio == (int)eTipoRelatorioMapa.CFO_CFOC) { return(ViewModelHelper.GerarArquivo("Relatorio MAPA - CFOCFOC.xlsx", XlsxRelatorioMapaCFOCFOC.Gerar(relatorio), "application/vnd.ms-excel")); } return(ViewModelHelper.GerarArquivo("Relatorio MAPA - PTV.xlsx", XlsxRelatorioMapaPTV.Gerar(relatorio), "application/vnd.ms-excel")); } return(RedirectToAction("", Validacao.QueryParamSerializer())); } catch (Exception exc) { Validacao.AddErro(exc); return(RedirectToAction("Index", Validacao.QueryParamSerializer())); } }
internal RelatorioMapaFiltroeResultado RelatorioCFOCFOC(RelatorioMapaFiltroeResultado filtro) { RelatorioMapaFiltroeResultado relatorio = null; using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(UsuarioCredenciado)) { Comando comando = bancoDeDados.CriarComando(@"select id, data_emissao, data_, cultura_cultivar, tipo, num_CFO, num_CFOC, quantidade, unidade, unidade_origem, municipio from (select cfo.id,to_char(cfo.data_emissao,'DD/MM/YYYY') data_emissao, cfo.data_emissao data_, stragg(c.texto || '/' || trim(cc.cultivar)) as cultura_cultivar, 'CFO' tipo, cfo.numero num_CFO, null num_CFOC, cfopr.quantidade, um.texto unidade, up.codigo_up unidade_origem, mun.texto municipio from {0}tab_cfo cfo, {0}tab_cfo_produto cfopr, {0}crt_unidade_producao_unidade up, {0}tab_cultura_cultivar cc, {0}tab_cultura c, {0}lov_crt_uni_prod_uni_medida um, {0}lov_municipio mun where cfopr.cfo = cfo.id and up.id = cfopr.unidade_producao and cc.id = up.cultivar and c.id = cc.cultura and um.id(+) = up.estimativa_unid_medida and mun.id = cfo.municipio_emissao and cfo.situacao in (2, 3) and data_emissao >= :datainicial and data_emissao <= :datafinal group by cfo.id, cfo.numero, cfo.data_emissao, cfopr.quantidade, um.texto, up.codigo_up, mun.texto order by cfo.data_emissao) union all (select cfoc.id, to_char(cfoc.data_emissao,'DD/MM/YYYY') data_emissao, cfoc.data_emissao data_, stragg(c.texto || '/' || trim(cc.cultivar)) as cultura_cultivar, 'CFOC' tipo, null num_CFO, cfoc.numero num_CFOC, li.quantidade, um.texto unidade, l.codigo_uc unidade_origem, mun.texto municipio from {0}tab_cfoc cfoc, {0}tab_cfoc_produto cfocpr, {0}tab_lote l, {0}tab_lote_item li, {0}tab_cultura_cultivar cc, {0}tab_cultura c, {0}lov_crt_uni_prod_uni_medida um, {0}lov_municipio mun where cfocpr.cfoc = cfoc.id and l.id = cfocpr.lote and li.lote = l.id and cc.id = li.cultivar and c.id = cc.cultura and um.id(+) = li.unidade_medida and mun.id = cfoc.municipio_emissao and cfoc.situacao in (2, 3) and data_emissao >= :datainicial and data_emissao <= :datafinal group by cfoc.id, cfoc.data_emissao, cfoc.numero, li.quantidade, um.texto, l.codigo_uc, mun.texto) order by data_" , UsuarioCredenciado); comando.AdicionarParametroEntrada("datainicial", filtro.DataInicial, DbType.String); comando.AdicionarParametroEntrada("datafinal", filtro.DataFinal, DbType.String); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { relatorio = new RelatorioMapaFiltroeResultado(); ItemRelatorioMapaCFOCFOC item; while (reader.Read()) { item = new ItemRelatorioMapaCFOCFOC(); item.DataEmissao = reader.GetValue <string>("data_emissao"); item.CulturaCultivar = reader.GetValue <string>("cultura_cultivar"); item.Tipo = reader.GetValue <string>("tipo"); item.NumeroCFO = reader.GetValue <string>("num_CFO"); item.NumeroCFOC = reader.GetValue <string>("num_CFOC"); item.Quantidade = reader.GetValue <decimal>("quantidade"); item.UnidadeMedida = reader.GetValue <string>("unidade"); item.UnidadeOrigem = reader.GetValue <string>("unidade_origem"); item.Municipio = reader.GetValue <string>("municipio"); relatorio.ItensRelatorioMapaCFOCFOC.Add(item); } reader.Close(); } } return(relatorio); }
public bool ValidarParametroRelatorio(RelatorioMapaFiltroeResultado relatorio) { if (!ValidacoesGenericasBus.ValidarData(relatorio.DataInicial)) { Validacao.Add(Mensagem.Relatorio.DataInicialObrigatorio); } if (!ValidacoesGenericasBus.ValidarData(relatorio.DataFinal)) { Validacao.Add(Mensagem.Relatorio.DataFinalObrigatorio); } if (relatorio.tipoRelatorio <= 0) { Validacao.Add(Mensagem.Relatorio.TipodoRelatorio); } return(Validacao.EhValido); }
internal RelatorioMapaFiltroeResultado RelatorioPTV(RelatorioMapaFiltroeResultado filtro) { RelatorioMapaFiltroeResultado relatorio = null; using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia()) { Comando comando = bancoDeDados.CriarComando(@"select pt.id ptv_id, to_char(pt.data_emissao,'DD/MM/YYYY') data_emissao, pt.numero, pt.situacao, stragg(c.texto || '/' || trim(cc.cultivar)) as cultura_cultivar, pr.quantidade, um.texto unidade, des.nome destinatario, est.sigla uf_estado, mun.texto municipio from {0}tab_ptv pt, {0}tab_ptv_produto pr, {0}tab_cultura c, {0}tab_cultura_cultivar cc, {0}lov_crt_uni_prod_uni_medida um, {0}tab_destinatario_ptv des, {0}lov_estado est, {0}lov_municipio mun where pt.id (+) = pr.ptv and c.id = pr.cultura and cc.id = pr.cultivar and um.id = pr.unidade_medida and est.id=des.uf and mun.id=des.municipio and des.id = pt.destinatario and est.id=des.uf and mun.id=des.municipio and pt.situacao in (2,3,4) and pt.data_emissao >= :datainicial and pt.data_emissao <= :datafinal group by pt.id, pt.data_emissao, pt.numero, pt.situacao, pr.quantidade, um.texto, des.nome, est.sigla, mun.texto order by pt.data_emissao" , EsquemaBanco); comando.AdicionarParametroEntrada("datainicial", filtro.DataInicial, DbType.String); comando.AdicionarParametroEntrada("datafinal", filtro.DataFinal, DbType.String); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { relatorio = new RelatorioMapaFiltroeResultado(); ItemRelatorioMapaPTV item; while (reader.Read()) { item = new ItemRelatorioMapaPTV(); item.DataEmissao = reader.GetValue <string>("data_emissao"); item.NumeroPTV = reader.GetValue <string>("numero"); item.CulturaCultivar = reader.GetValue <string>("cultura_cultivar"); item.Quantidade = reader.GetValue <decimal>("quantidade"); item.UnidadeMedida = reader.GetValue <string>("unidade"); item.DestinatarioNome = reader.GetValue <string>("destinatario"); item.DestinatarioEstado = reader.GetValue <string>("uf_estado"); item.DestinatarioMunicipio = reader.GetValue <string>("municipio"); relatorio.ItensRelatorioMapaPTV.Add(item); } reader.Close(); } } return(relatorio); }
public static MemoryStream Gerar(RelatorioMapaFiltroeResultado filtro) { RelatorioMapaDa _da = new RelatorioMapaDa(); using (var pck = new ExcelPackage()) { RelatorioMapaFiltroeResultado dataSource = new RelatorioMapaFiltroeResultado(); dataSource = _da.RelatorioPTV(filtro); dataSource.DataInicial = filtro.DataInicial; dataSource.DataFinal = filtro.DataFinal; dataSource.tipoRelatorio = filtro.tipoRelatorio; dataSource.LocalRelatorio = filtro.LocalRelatorio; dataSource.DataRelatorio = filtro.DataRelatorio; dataSource.NomeFuncionario = filtro.NomeFuncionario; SetorEndereco endereco = new CabecalhoRodapeDa().ObterEndSetor(filtro.IdSetor); dataSource.LocalRelatorio = endereco.MunicipioTexto; //Criando a Planilha var ws = pck.Workbook.Worksheets.Add("Relatório Mapa PTV"); //Criando Cabeçalho da Tabela ws.Cells[1, 1].Value = "Data"; ws.Cells[1, 2].Value = "Nº PTV"; ws.Cells[1, 3].Value = "Produto(s)"; ws.Cells[1, 4].Value = "Quantidade"; ws.Cells[1, 5].Value = "Unidade"; ws.Cells[1, 6].Value = "Destinatário"; ws.Cells[1, 7].Value = "Município Destinatário"; ws.Cells[1, 8].Value = "UF Destinatário"; using (var header = ws.Cells[1, 1, 1, 8]) { header.Style.Font.Bold = true; header.Style.Fill.PatternType = ExcelFillStyle.Solid; //Set Pattern for the background to Solid header.Style.Fill.BackgroundColor.SetColor(Color.FromArgb(79, 129, 189)); //Set color to dark blue header.Style.Font.Color.SetColor(Color.White); } var planilhaResultados = new List <Object[]>(); foreach (var item in dataSource.ItensRelatorioMapaPTV) { var Linhas = new List <Object>(); Linhas.Add(item.DataEmissao); Linhas.Add(item.NumeroPTV); Linhas.Add(item.CulturaCultivar); Linhas.Add(item.Quantidade); Linhas.Add(item.UnidadeMedida); Linhas.Add(item.DestinatarioNome); Linhas.Add(item.DestinatarioMunicipio); Linhas.Add(item.DestinatarioEstado); planilhaResultados.Add(Linhas.ToArray()); } ws.Cells[2, 1].LoadFromArrays(planilhaResultados); var stream = new MemoryStream(pck.GetAsByteArray()); return(stream); } }