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

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@71493 d1611594-4594-4d17-8e1d-87c2c4800839
master
alberto 2017-07-18 16:40:32 +00:00
parent 220acd8785
commit b3f86d0c2d
2 changed files with 49 additions and 27 deletions

View File

@ -1387,11 +1387,11 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
List<ExportacaoECFTipoCFC> retorno = new ArrayList<ExportacaoECFTipoCFC>();
StringBuilder sb = new StringBuilder();
sb.append(" select ecf, numserie, datamov, cooinicial, coofinal, crz, cro, coo, codestabelecimento, codestabelecimentoimpressora, estadoorigem, sum(totalisenta) as totalisenta, sum(vendabrutadiaria) as vendabrutadiaria, sum(totgeral) as totgeral, sum(totalvenda) as totalvenda");
sb.append(" select ecf, numserie, datamov, cooinicial, coofinal, crz, cro, coo, codestabelecimento, codestabelecimentoimpressora, numeroidentificacao, estadoorigem, sum(totalisenta) as totalisenta, sum(vendabrutadiaria) as vendabrutadiaria, sum(totgeral) as totgeral, sum(totalvenda) as totalvenda");
sb.append(" from (");
sb.append(" select distinct");
sb.append(" 'BE000000000000000000' as ecf,");
sb.append(" '000000' as numserie,");
sb.append(" 'BE000000000000000001' as ecf,");
sb.append(" '000001' as numserie,");
sb.append(" to_char(c.feccreacion, 'YYYYMMDD') as datamov,");
sb.append(" '000000' as cooinicial,");
sb.append(" '000000' as coofinal,");
@ -1400,6 +1400,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
sb.append(" '000000' as coo,");
sb.append(" CASE WHEN s.aliasorigen_id IS NULL THEN ei.codestabelecimento ELSE eis.codestabelecimento END as codestabelecimento,");
sb.append(" CASE WHEN s.aliasorigen_id IS NULL THEN eo.codestabelecimento ELSE eos.codestabelecimento END as codestabelecimentoimpressora,");
sb.append(" '001' as numeroidentificacao,");
sb.append(" CASE WHEN s.aliasorigen_id IS NULL THEN eo.cveestado ELSE eos.cveestado END as estadoorigem,");
sb.append(" (");
sb.append(" select nvl(sum(c.preciopagado), 0)");
@ -1437,7 +1438,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
sb.append(" where s.activo = 1 and po.activo = 1 and co.activo = 1 and eo.activo = 1 and ei.activo = 1 and pos.activo = 1 and cos.activo = 1 and eos.activo = 1 and c.serieimpfiscal is not null and r4.caja_id is null and c.motivocancelacion_id is null and coalesce(c.indreimpresion, 0) = 0 and nvl(CASE WHEN s.aliasorigen_id IS NULL THEN ei.activo ELSE eis.activo END, 0) = 1 and c.activo = 1 and trunc(c.feccreacion) >= trunc(TO_DATE(?,'DD/MM/YYYY HH24:MI:SS')) and trunc(c.feccreacion) <= trunc(TO_DATE(?,'DD/MM/YYYY HH24:MI:SS')) and c.empresacorrida_id = ? and ((CASE WHEN s.aliasorigen_id IS NULL THEN eo.cveestado ELSE eos.cveestado END) = ?)");
sb.append(" ");
sb.append(" )");
sb.append(" group by ecf, numserie, datamov, cooinicial, coofinal, crz, cro, coo, codestabelecimento, codestabelecimentoimpressora, estadoorigem");
sb.append(" group by ecf, numserie, datamov, cooinicial, coofinal, crz, cro, coo, codestabelecimento, codestabelecimentoimpressora, numeroidentificacao, estadoorigem");
try {
PreparedStatement ps = connection.prepareStatement(sb.toString());
@ -1650,7 +1651,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
StringBuilder sb = new StringBuilder();
sb.append(" select distinct");
sb.append(" 'BE000000000000000000' as ecf,");
sb.append(" 'BE000000000000000001' as ecf,");
sb.append(" to_char(c.feccreacion, 'YYYYMMDD') as datamov,");
sb.append(" '000000' as coo,");
sb.append(" c.preciopagado as valortarifa,");
@ -1942,8 +1943,6 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
String key = ecf + "|" + datamov + "|" + ufDestino + "|" + cfop.toString() + "|" + codigoSituacaoTribColunaB.toString();
log.info(key.toString());
if (group.containsKey(key)) {
registro = group.get(key);
@ -1997,7 +1996,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
StringBuilder sb = new StringBuilder();
sb.append(" select distinct");
sb.append(" 'BE000000000000000000' as ecf,");
sb.append(" 'BE000000000000000001' as ecf,");
sb.append(" to_char(c.feccreacion, 'YYYYMMDD') as datamov,");
sb.append(" '000000' as coo,");
sb.append(" (CASE WHEN s.aliasorigen_id IS NULL THEN co.codibge ELSE cos.codibge END) as municipio_origem,");
@ -2133,8 +2132,6 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
String key = ecf + "|" + datamov + "|" + ufDestino + "|" + cfop.toString() + "|" + codigoSituacaoTribColunaB.toString();
log.info(key.toString());
if (group.containsKey(key)) {
registro = group.get(key);
@ -2344,7 +2341,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
sb.append(" from (");
sb.append(" select distinct");
sb.append(" '000000' as coo,");
sb.append(" 'BE000000000000000000' as ecf,");
sb.append(" 'BE000000000000000001' as ecf,");
sb.append(" to_char(c.feccreacion, 'YYYYMMDD') as datamov,");
sb.append(" (CASE WHEN s.aliasorigen_id IS NULL THEN co.codibge ELSE cos.codibge END) as municipio_origem,");
sb.append(" (CASE WHEN s.aliasorigen_id IS NULL THEN eo.cveestado ELSE eos.cveestado END) as estado_origem,");

View File

@ -878,34 +878,59 @@ public class FiscalServiceImpl implements FiscalService {
List<String> tempos = new ArrayList<String>(0);
Long begin = 0L;
String tempo = null;
// CFC
begin = Calendar.getInstance().getTimeInMillis();
List<ExportacaoECFTipoCFC> listaRegistroECFTipoCFC = fiscalDAO.buscarRegistroECFTipoCFC(connection, inicio, fim, empresa.getEmpresaId(), estado.getCveestado());
log.info("Buscando os registros CFC (ECF)");
List<ExportacaoECFTipoCFC> listaRegistroECFTipoCFC = new ArrayList<ExportacaoECFTipoCFC>(0);
listaRegistroECFTipoCFC.addAll(fiscalDAO.buscarRegistroECFTipoCFC(connection, inicio, fim, empresa.getEmpresaId(), estado.getCveestado()));
log.info("Total de registros: " + listaRegistroECFTipoCFC.size());
log.info("Buscando os registros CFC via Boletos (ECF)");
listaRegistroECFTipoCFC.addAll(fiscalDAO.buscarRegistroECFTipoCFC_Boleto(connection, inicio, fim, empresa.getEmpresaId(), estado.getCveestado()));
tempos.add(infoTempo("CFC", begin));
log.info("Total de registros: " + listaRegistroECFTipoCFC.size());
tempo = infoTempo("CFC", begin);
log.info("Tempo na busca dos registros " + tempo);
tempos.add(tempo);
// CCF
begin = Calendar.getInstance().getTimeInMillis();
List<ExportacaoECFTipoCCF> listaRegistroECFTipoCCF = fiscalDAO.buscarRegistroECFTipoCCF(connection, inicio, fim, empresa.getEmpresaId(), estado.getCveestado());
log.info("Buscando os registros CCF (ECF)");
List<ExportacaoECFTipoCCF> listaRegistroECFTipoCCF = new ArrayList<ExportacaoECFTipoCCF>(0);
listaRegistroECFTipoCCF.addAll(fiscalDAO.buscarRegistroECFTipoCCF(connection, inicio, fim, empresa.getEmpresaId(), estado.getCveestado()));
log.info("Total de registros: " + listaRegistroECFTipoCCF.size());
log.info("Buscando os registros CCF via Boletos (ECF)");
listaRegistroECFTipoCCF.addAll(fiscalDAO.buscarRegistroECFTipoCCF_Boleto(connection, inicio, fim, empresa.getEmpresaId(), estado.getCveestado()));
tempos.add(infoTempo("CCF", begin));
log.info("Total de registros: " + listaRegistroECFTipoCCF.size());
tempo = infoTempo("CCF", begin);
log.info("Tempo na busca dos registros " + tempo);
tempos.add(tempo);
// ICF
begin = Calendar.getInstance().getTimeInMillis();
List<ExportacaoECFTipoICF> listaRegistroECFTipoICF = fiscalDAO.buscarRegistroECFTipoICF(connection, inicio, fim, empresa.getEmpresaId(), estado.getCveestado());
log.info("Buscando os registros ICF (ECF)");
List<ExportacaoECFTipoICF> listaRegistroECFTipoICF = new ArrayList<ExportacaoECFTipoICF>(0);
listaRegistroECFTipoICF.addAll(fiscalDAO.buscarRegistroECFTipoICF(connection, inicio, fim, empresa.getEmpresaId(), estado.getCveestado()));
log.info("Total de registros: " + listaRegistroECFTipoICF.size());
log.info("Buscando os registros ICF via Boletos (ECF)");
listaRegistroECFTipoICF.addAll(fiscalDAO.buscarRegistroECFTipoICF_Boleto(connection, inicio, fim, empresa.getEmpresaId(), estado.getCveestado()));
tempos.add(infoTempo("ICF", begin));
log.info("Total de registros: " + listaRegistroECFTipoICF.size());
tempo = infoTempo("ICF", begin);
log.info("Tempo na busca dos registros " + tempo);
tempos.add(tempo);
// PRC
begin = Calendar.getInstance().getTimeInMillis();
List<ExportacaoECFTipoPRC> listaRegistroECFTipoPRC = fiscalDAO.buscarRegistroECFTipoPRC(connection, inicio, fim, empresa.getEmpresaId(), estado.getCveestado());
log.info("Buscando os registros PRC (ECF)");
List<ExportacaoECFTipoPRC> listaRegistroECFTipoPRC = new ArrayList<ExportacaoECFTipoPRC>(0);
listaRegistroECFTipoPRC.addAll(fiscalDAO.buscarRegistroECFTipoPRC(connection, inicio, fim, empresa.getEmpresaId(), estado.getCveestado()));
log.info("Total de registros: " + listaRegistroECFTipoPRC.size());
log.info("Buscando os registros PRC via Boletos (ECF)");
listaRegistroECFTipoPRC.addAll(fiscalDAO.buscarRegistroECFTipoPRC_Boleto(connection, inicio, fim, empresa.getEmpresaId(), estado.getCveestado()));
tempos.add(infoTempo("PRC", begin));
log.info("Total de registros: " + listaRegistroECFTipoPRC.size());
tempo = infoTempo("PRC", begin);
log.info("Tempo na busca dos registros " + tempo);
tempos.add(tempo);
return exportacaoFiscal.gerarArquivoECF(tempos, nomeArquivo, inicio, fim, estado.getCveestado(), empresa.getNombempresa(), listaRegistroECFTipoCFC, listaRegistroECFTipoCCF, listaRegistroECFTipoICF,
listaRegistroECFTipoPRC);