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));
        }
Example #2
0
        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);
        }
Example #6
0
        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);
            }
        }