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-87c2c4800839master
parent
abe146703c
commit
46365a41f3
|
@ -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<String> tempos = new ArrayList<String>(0);
|
||||
Long begin = 0L;
|
||||
|
||||
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());
|
||||
|
||||
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;
|
||||
|
|
|
@ -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,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);
|
||||
|
|
Loading…
Reference in New Issue