public void GerarGuias(G6Session g6Session) { int qtdeGuias = pc.Count; int qtdeGuiasPorArquivo = Parametro.GetParametroInteiroPorNome("QtdeGuiasInserirArquivoPDF"); if (qtdeGuiasPorArquivo <= 0) qtdeGuiasPorArquivo = 40; string filenamecompleto; Image img= null; try { img = Image.FromFile(Parametro.GetParametroPorNome("ArquivoBrasao")); //imgArquivoBrasao = Image.FromFile(Parametro.GetParametroPorNome("ArquivoBrasao")); imgArquivoBrasao = (Image)img.Clone(); img.Dispose(); } catch (Exception ex) { Utils.RegisterLogEvento("Problema ao carregar o arquivo de brasão no RelatórioGuia. Erro: " + ex.Message, "GuiaRecolhimento", Utils.EventType.Error, ex.StackTrace, null); //throw; } string pathLogoBanco = Parametro.GetParametroPorNome("ArquivoLogotipoBanco"); if (!String.IsNullOrEmpty(pathLogoBanco)) { img = Image.FromFile(pathLogoBanco);//"c:\\inetpub\\wwwroot\\deswebserver\\images\\logo_caixa.gif"); imgLogo = (Image)img.Clone(); img.Dispose(); } string pathLogoCorreio = Parametro.GetParametroPorNome("ArquivoLogotipoCorreio"); if (!String.IsNullOrEmpty(pathLogoCorreio)) { try { img = Image.FromFile(pathLogoCorreio); imgArquivoLogotipoCorreio = (Image)img.Clone(); img.Dispose(); } catch (Exception) { } } dt = new DataTable(); dt.Columns.Add("Intervalo das Guias"); dt.Columns.Add("Nome do Arquivo"); int posOrig = 0; int pos = 1; while (posOrig < pc.Count) { GuiaRecolhimento[] guias; if (pc.Count > qtdeGuiasPorArquivo) { if ((pc.Count - posOrig) >= qtdeGuiasPorArquivo) guias = new GuiaRecolhimento[qtdeGuiasPorArquivo]; else guias = new GuiaRecolhimento[(pc.Count - posOrig)]; } else guias = new GuiaRecolhimento[pc.Count]; int posDest = 0; while (posDest < qtdeGuiasPorArquivo && posOrig < pc.Count) { guias[posDest] = (GuiaRecolhimento)pc[posOrig]; posDest++; posOrig++; } string sdt = DateTime.Now.ToString("yyyyMMddHHmmss"); repGuia.DocumentName = "guias-" + guias[0].numGuia.ToString() + "-" + sdt + ".pdf"; RelatorioGuia rel = new RelatorioGuia(ref repGuia, guias, cb); rel.imgArquivoBrasao = imgArquivoBrasao; rel.imgLogo = imgLogo; rel.imgArquivoLogotipoCorreio = imgArquivoLogotipoCorreio; rel.NomeUsuarioCorrente = usuario.nome; rel.PathAplicacao = pathAplicacao; rel.FrenteVerso = true; repGuia.StartDoc(); InicioContadorProgresso(pc.Count); for (int i = 0; i < guias.Length; i++) { rel.guia = guias[i]; if (rel.guia != null && rel.guia.valorGuia >= 0.01m) { rel.guia.Retrieve(); rel.DesenharCabecalhoPrefeitura(); rel.DesenharTitulo("DAM - Documento de Arrecadação Municipal"); rel.DesenharCabecalhoBanco(); rel.DesenharDadosGuia(); rel.DesenharDadosContribuinte(); rel.DesenharLancamentos(); // o desenho do boleto esta dentro da funcao de DesenharLancamentos rel.NovaPagina(); //altera o status da guia para impressa if (rel.guia.status == "G") rel.guia.status = "N"; if (rel.guia.status != "E") rel.guia.numEmissao++; rel.guia.Save(g6Session != null ? g6Session.persistentTransaction : null); //RF015 - Registro de LOG Geração PDF Impressão Guia (em lote) EventoSeguranca.CriarEventoSeguranca(TipoEventoSeguranca.GetTipoEventoSegurancaById("GeracaoGuia"), "Geração de PDF para impressão da Guia (em lote)", "", rel.guia.oid, 0, 0, g6Session); //if (i < (guias.Length - 2)) //{ IncrementarContadorProgresso(pos); pos++; //} //Session["GuiaAtual"] = (i+1).ToString(); } } repGuia.EndDoc(); if (!Directory.Exists(pathAplicacao + "\\" + Parametro.GetParametroPorNome("NomeDiretorioGeraGuias"))) Directory.CreateDirectory(pathAplicacao + "\\" + Parametro.GetParametroPorNome("NomeDiretorioGeraGuias")); filenamecompleto = pathAplicacao + "\\" + Parametro.GetParametroPorNome("NomeDiretorioGeraGuias") + "\\" + repGuia.DocumentName; repGuia.ExportToPDF(filenamecompleto, true); string intervalo = "Entre " + guias[0].numGuia.ToString() + " até " + guias[guias.Length - 1].numGuia.ToString(); dt.Rows.Add(new string[] { intervalo, repGuia.DocumentName }); } if (imgArquivoBrasao != null) imgArquivoBrasao.Dispose(); if (imgLogo != null) imgLogo.Dispose(); if (imgArquivoLogotipoCorreio != null) imgArquivoLogotipoCorreio.Dispose(); }
public int GerarRelatorioVariasGuias(G6Session g6Session) { for(int i=0; i < guiasRecolhimento.Length; i++) { guia = guiasRecolhimento[i]; if(guia != null && guia.valorGuia >= 0.01m) { guia.Retrieve(); DesenharCabecalhoPrefeitura(); DesenharTitulo("DAM - Documento de Arrecadação Municipal"); DesenharCabecalhoBanco(); DesenharDadosGuia(); DesenharDadosContribuinte(); DesenharLancamentos(); // o desenho do boleto esta dentro da funcao de DesenharLancamentos rep.NewPage(); //altera o status da guia para impressa if (guia.status == "G") guia.status = "N"; if (guia.status != "E") guia.numEmissao++; guia.Save(); //RF015 - Registro de LOG Geração/Impressão Guia EventoSeguranca.CriarEventoSeguranca(TipoEventoSeguranca.GetTipoEventoSegurancaById("GeracaoGuia"), "Geração da Guia", "", guia.oid, 0, 0, g6Session); if (i < (guiasRecolhimento.Length - 2)) return (i + 1); //Session["GuiaAtual"] = (i+1).ToString(); } } return 0; }
public RelatorioGuia(ref C1.C1PrintDocument.C1PrintDocument _rep, GuiaRecolhimento[] _guiasRecolhimento, ConvenioBanco _cb) : base(ref _rep) { rep = _rep; guiasRecolhimento = _guiasRecolhimento; cb = _cb; cb.Retrieve(); ebb = EstruturaBoletoBancario.GetEstruturaBoleto(cb.banco.codBanco); rep.C1DPageSettings = "color:False;landscape:False;margins:15,15,15,15;papersize:827,1169,QQA0AA=="; rep.ColumnSpacingStr = "1.26999998092651cm"; rep.ColumnSpacingUnit.DefaultType = true; rep.ColumnSpacingUnit.UnitValue = "1.26999998092651cm"; rep.DefaultUnit = C1.C1PrintDocument.UnitTypeEnum.Cm; rep.DefaultUnitOfFrames = C1.C1PrintDocument.UnitTypeEnum.Cm; rep.DefaultUnitOfFramesSynchronized = false; }