From 46365a41f3305bced76862e54917ca8343240e72 Mon Sep 17 00:00:00 2001 From: alberto Date: Mon, 9 Jan 2017 18:44:54 +0000 Subject: [PATCH] =?UTF-8?q?Exporta=C3=A7=C3=A3o=20Fiscal=20:=20ECF=20e=20R?= =?UTF-8?q?MD=20(issue=208120)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@64725 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../service/impl/FiscalServiceImpl.java | 27 +++++++++++++++++-- .../exportacaofiscal/ExportacaoFiscal.java | 20 ++++++++++++-- 2 files changed, 43 insertions(+), 4 deletions(-) diff --git a/src/com/rjconsultores/ventaboletos/service/impl/FiscalServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/FiscalServiceImpl.java index d195143c7..33c4ab8c4 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/FiscalServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/FiscalServiceImpl.java @@ -10,10 +10,12 @@ import java.math.BigDecimal; import java.sql.Connection; import java.sql.SQLException; import java.util.ArrayList; +import java.util.Calendar; import java.util.Collections; import java.util.Date; import java.util.HashMap; import java.util.List; +import java.util.concurrent.TimeUnit; import javax.sql.DataSource; @@ -805,12 +807,26 @@ public class FiscalServiceImpl implements FiscalService { try { connection = getConnection(); + List tempos = new ArrayList(0); + Long begin = 0L; + + begin = Calendar.getInstance().getTimeInMillis(); List listaRegistroECFTipoCFC = fiscalDAO.buscarRegistroECFTipoCFC(connection, inicio, fim, empresa.getEmpresaId(), estado.getCveestado()); + tempos.add(infoTempo("CFC", begin)); + + begin = Calendar.getInstance().getTimeInMillis(); List listaRegistroECFTipoCCF = fiscalDAO.buscarRegistroECFTipoCCF(connection, inicio, fim, empresa.getEmpresaId(), estado.getCveestado()); + tempos.add(infoTempo("CCF", begin)); + + begin = Calendar.getInstance().getTimeInMillis(); List listaRegistroECFTipoICF = fiscalDAO.buscarRegistroECFTipoICF(connection, inicio, fim, empresa.getEmpresaId(), estado.getCveestado()); + tempos.add(infoTempo("ICF", begin)); + + begin = Calendar.getInstance().getTimeInMillis(); List listaRegistroECFTipoPRC = fiscalDAO.buscarRegistroECFTipoPRC(connection, inicio, fim, empresa.getEmpresaId(), estado.getCveestado()); - - return exportacaoFiscal.gerarArquivoECF(inicio, fim, empresa.getNombempresa(), listaRegistroECFTipoCFC, listaRegistroECFTipoCCF, listaRegistroECFTipoICF, + tempos.add(infoTempo("PRC", begin)); + + return exportacaoFiscal.gerarArquivoECF(tempos, inicio, fim, empresa.getNombempresa(), listaRegistroECFTipoCFC, listaRegistroECFTipoCCF, listaRegistroECFTipoICF, listaRegistroECFTipoPRC); } catch (Exception e) { @@ -831,6 +847,13 @@ public class FiscalServiceImpl implements FiscalService { return null; } + private String infoTempo(final String descricao, final Long inicio) { + final Long termino = Calendar.getInstance().getTimeInMillis(); + final Long tempo = termino - inicio; + + return descricao + ": " + String.format("%dm %ds", TimeUnit.MILLISECONDS.toMinutes(tempo), TimeUnit.MILLISECONDS.toSeconds(tempo) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(tempo))); + } + @Override public File buscarArquivoExportacaoRMD(Date inicio, Date fim, Empresa empresa, Estado estado) { Connection connection = null; diff --git a/src/com/rjconsultores/ventaboletos/utilerias/exportacaofiscal/ExportacaoFiscal.java b/src/com/rjconsultores/ventaboletos/utilerias/exportacaofiscal/ExportacaoFiscal.java index 2a9deed39..f62e77311 100644 --- a/src/com/rjconsultores/ventaboletos/utilerias/exportacaofiscal/ExportacaoFiscal.java +++ b/src/com/rjconsultores/ventaboletos/utilerias/exportacaofiscal/ExportacaoFiscal.java @@ -13,6 +13,7 @@ import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.concurrent.TimeUnit; import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; @@ -41,7 +42,7 @@ public class ExportacaoFiscal { } - public File gerarArquivoECF(final Date dataInicial, final Date dataFinal, final String nomeEmpresa, final List listaRegistroECFTipoCFC, + public File gerarArquivoECF(final List tempos, final Date dataInicial, final Date dataFinal, final String nomeEmpresa, final List listaRegistroECFTipoCFC, final List listaRegistroECFTipoCCF, final List listaRegistroECFTipoICF, final List listaRegistroECFTipoPRC) { try { String nomeArquivo = "fiscal_vendas_impressas_" + DateUtil.getStringDate(Calendar.getInstance().getTime(), "yyyyMMddhhmmss"); @@ -50,6 +51,12 @@ public class ExportacaoFiscal { PrintWriter writer = new PrintWriter(new OutputStreamWriter(new FileOutputStream(arquivo), Constantes.UTF_8)); + for (String tempo : tempos) { + writer.print("-- " + tempo + UtiliteriasFiscal.QUEBRA_LINHA); + } + + long begin = Calendar.getInstance().getTimeInMillis(); + adicionarRegistroECFTipoCAB(writer, dataInicial, dataFinal, nomeEmpresa); // adicionarRegistroECFTipoCFC(writer, listaRegistroECFTipoCFC); // adicionarRegistroECFTipoCCF(writer, listaRegistroECFTipoCCF); @@ -57,8 +64,10 @@ public class ExportacaoFiscal { // adicionarRegistroECFTipoPRC(writer, listaRegistroECFTipoPRC); adicionarRegistroECF(writer, listaRegistroECFTipoCFC, listaRegistroECFTipoCCF, listaRegistroECFTipoICF, listaRegistroECFTipoPRC); + writer.print("-- " + infoTempo("Arquivo", begin) + UtiliteriasFiscal.QUEBRA_LINHA); + writer.close(); - + return arquivo; } catch (IOException e) { @@ -68,6 +77,13 @@ public class ExportacaoFiscal { return null; } + private String infoTempo(final String descricao, final Long inicio) { + final Long termino = Calendar.getInstance().getTimeInMillis(); + final Long tempo = termino - inicio; + + return descricao + ": " + String.format("%dm %ds", TimeUnit.MILLISECONDS.toMinutes(tempo), TimeUnit.MILLISECONDS.toSeconds(tempo) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(tempo))); + } + private void adicionarRegistroECFTipoCAB(final PrintWriter writer, final Date dataInicial, final Date dataFinal, final String nomeEmpresa) { StringBuilder sb = new StringBuilder(); sb.append("CAB").append(SEPARADOR);