Exportação Fiscal : ECF e RMD (issue 8120)

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@64725 d1611594-4594-4d17-8e1d-87c2c4800839
master
alberto 2017-01-09 18:44:54 +00:00
parent abe146703c
commit 46365a41f3
2 changed files with 43 additions and 4 deletions

View File

@ -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<ExportacaoECFTipoCFC> listaRegistroECFTipoCFC = fiscalDAO.buscarRegistroECFTipoCFC(connection, inicio, fim, empresa.getEmpresaId(), estado.getCveestado());
List<ExportacaoECFTipoCCF> listaRegistroECFTipoCCF = fiscalDAO.buscarRegistroECFTipoCCF(connection, inicio, fim, empresa.getEmpresaId(), estado.getCveestado());
List<ExportacaoECFTipoICF> listaRegistroECFTipoICF = fiscalDAO.buscarRegistroECFTipoICF(connection, inicio, fim, empresa.getEmpresaId(), estado.getCveestado());
List<ExportacaoECFTipoPRC> listaRegistroECFTipoPRC = fiscalDAO.buscarRegistroECFTipoPRC(connection, inicio, fim, empresa.getEmpresaId(), estado.getCveestado());
List<String> tempos = new ArrayList<String>(0);
Long begin = 0L;
return exportacaoFiscal.gerarArquivoECF(inicio, fim, empresa.getNombempresa(), listaRegistroECFTipoCFC, listaRegistroECFTipoCCF, listaRegistroECFTipoICF,
begin = Calendar.getInstance().getTimeInMillis();
List<ExportacaoECFTipoCFC> listaRegistroECFTipoCFC = fiscalDAO.buscarRegistroECFTipoCFC(connection, inicio, fim, empresa.getEmpresaId(), estado.getCveestado());
tempos.add(infoTempo("CFC", begin));
begin = Calendar.getInstance().getTimeInMillis();
List<ExportacaoECFTipoCCF> listaRegistroECFTipoCCF = fiscalDAO.buscarRegistroECFTipoCCF(connection, inicio, fim, empresa.getEmpresaId(), estado.getCveestado());
tempos.add(infoTempo("CCF", begin));
begin = Calendar.getInstance().getTimeInMillis();
List<ExportacaoECFTipoICF> listaRegistroECFTipoICF = fiscalDAO.buscarRegistroECFTipoICF(connection, inicio, fim, empresa.getEmpresaId(), estado.getCveestado());
tempos.add(infoTempo("ICF", begin));
begin = Calendar.getInstance().getTimeInMillis();
List<ExportacaoECFTipoPRC> listaRegistroECFTipoPRC = fiscalDAO.buscarRegistroECFTipoPRC(connection, inicio, fim, empresa.getEmpresaId(), estado.getCveestado());
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;

View File

@ -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<ExportacaoECFTipoCFC> listaRegistroECFTipoCFC,
public File gerarArquivoECF(final List<String> tempos, final Date dataInicial, final Date dataFinal, final String nomeEmpresa, final List<ExportacaoECFTipoCFC> listaRegistroECFTipoCFC,
final List<ExportacaoECFTipoCCF> listaRegistroECFTipoCCF, final List<ExportacaoECFTipoICF> listaRegistroECFTipoICF, final List<ExportacaoECFTipoPRC> 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,6 +64,8 @@ public class ExportacaoFiscal {
// adicionarRegistroECFTipoPRC(writer, listaRegistroECFTipoPRC);
adicionarRegistroECF(writer, listaRegistroECFTipoCFC, listaRegistroECFTipoCCF, listaRegistroECFTipoICF, listaRegistroECFTipoPRC);
writer.print("-- " + infoTempo("Arquivo", begin) + UtiliteriasFiscal.QUEBRA_LINHA);
writer.close();
return arquivo;
@ -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);