From 5dfd4e73ae74c2998957a20caf7ffd4339ee4314 Mon Sep 17 00:00:00 2001 From: alberto Date: Wed, 9 Aug 2017 20:58:30 +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@72473 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../dao/hibernate/FiscalHibernateDAO.java | 46 +++++++++++-------- .../service/impl/FiscalServiceImpl.java | 37 +++++++++++++-- 2 files changed, 62 insertions(+), 21 deletions(-) diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/FiscalHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/FiscalHibernateDAO.java index c57d76de1..d20967620 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/FiscalHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/FiscalHibernateDAO.java @@ -1418,17 +1418,19 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO sb.append(" to_number(r2.vendabrutadiaria)/100 as vendabrutadiaria,"); sb.append(" to_number(r2.totgeral)/100 as totgeral,"); sb.append(" ("); - sb.append(" select nvl(sum(r4t.impsubtotal), 0)"); - sb.append(" from fiscal_r4 r4t"); - sb.append(" join boleto bt on bt.boleto_id = r4t.boleto_id"); - sb.append(" join parada pot on pot.parada_id = bt.origen_id"); - sb.append(" join ciudad cot on cot.ciudad_id = pot.ciudad_id"); - sb.append(" join estado eot on eot.estado_id = cot.estado_id"); - sb.append(" left join alias_servico st on st.origen_id = bt.origen_id and st.destino_id = bt.destino_id and (st.corrida_id = bt.corrida_id or st.corrida_id is null) and st.ruta_id = bt.ruta_id"); - sb.append(" left join parada post on post.parada_id = st.aliasorigen_id"); - sb.append(" left join ciudad cost on cost.ciudad_id = post.ciudad_id"); - sb.append(" left join estado eost on eost.estado_id = cost.estado_id"); - sb.append(" where coalesce(r4t.indcancelamento, 'N') <> 'S' and r4t.numserie20 = r2.numserie20 and r4t.datamov = r2.datamov and ((CASE WHEN st.aliasorigen_id IS NULL THEN eot.cveestado ELSE eost.cveestado END) = (CASE WHEN s.aliasorigen_id IS NULL THEN eo.cveestado ELSE eos.cveestado END))"); + sb.append(" select coalesce(sum(r5i.imptotalliquido),0)"); + sb.append(" from fiscal_r5 r5i"); + sb.append(" join fiscal_r4 r4i on r4i.numserie20 = r5i.numserie20 and r4i.datamov = r5i.datamov and r4i.coo = r5i.coo and r4i.contador = r5i.contador"); + sb.append(" join boleto bi on bi.boleto_id = r4i.boleto_id"); + sb.append(" join parada poi on poi.parada_id = bi.origen_id"); + sb.append(" join ciudad coi on coi.ciudad_id = poi.ciudad_id"); + sb.append(" join estado eoi on eoi.estado_id = coi.estado_id"); + sb.append(" left join alias_servico si on si.origen_id = bi.origen_id and si.destino_id = bi.destino_id and (si.corrida_id = bi.corrida_id or si.corrida_id is null) and si.ruta_id = bi.ruta_id"); + sb.append(" left join parada posi on posi.parada_id = si.aliasorigen_id"); + sb.append(" left join ciudad cosi on cosi.ciudad_id = posi.ciudad_id"); + sb.append(" left join estado eosi on eosi.estado_id = cosi.estado_id"); + sb.append(" where r5i.numserie20 = r2.numserie20 and r5i.datamov = r2.datamov and r5i.totparcial not like 'N1'"); + sb.append(" and ((CASE WHEN si.aliasorigen_id IS NULL THEN eoi.cveestado ELSE eosi.cveestado END) = (CASE WHEN s.aliasorigen_id IS NULL THEN eo.cveestado ELSE eos.cveestado END))"); sb.append(" )/100 as totalvenda,"); sb.append(" 0 as caja_id"); sb.append(" from fiscal_r4 r4"); @@ -1483,7 +1485,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO sb.append(" where bi.caja_id = c.caja_id"); sb.append(" ) as totgeral,"); sb.append(" ("); - sb.append(" select nvl(sum(c.preciopagado + c.importetaxaembarque + c.importeseguro + c.importepedagio + c.importeoutros), 0)"); + sb.append(" select nvl(sum(c.preciopagado), 0)"); sb.append(" from caja bi"); sb.append(" where bi.caja_id = c.caja_id"); sb.append(" ) as totalvenda,"); @@ -1801,7 +1803,11 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO sb.append(" (CASE WHEN s.aliasorigen_id IS NULL THEN ei.porcredestadual ELSE eis.porcredestadual END) as porc_red_estadual,"); sb.append(" (CASE WHEN s.aliasorigen_id IS NULL THEN ei.tributacaoimportacao ELSE eis.tributacaoimportacao END) as tributacao_importacao,"); sb.append(" (CASE WHEN (nvl((CASE WHEN s.aliasorigen_id IS NULL THEN po.regionmetropolitana_id ELSE pos.regionmetropolitana_id END),-1) = nvl((CASE WHEN s.aliasdestino_id IS NULL THEN pd.regionmetropolitana_id ELSE pds.regionmetropolitana_id END),-2)) THEN 1 ELSE 0 END) as isenta,"); - sb.append(" to_number(r4.impsubtotal)/100 as valortotal"); + sb.append(" ("); + sb.append(" select coalesce(sum(r5i.imptotalliquido),0)"); + sb.append(" from fiscal_r5 r5i"); + sb.append(" where r5i.numserie20 = r4.numserie20 and r5i.datamov = r4.datamov and r5i.coo = r4.coo and r5i.totparcial not like 'N1'"); + sb.append(" )/100 as valortotal"); sb.append(" from fiscal_r4 r4"); sb.append(" join fiscal_r2 r2 on r2.numserie20 = r4.numserie20 and r2.datamov = r4.datamov"); sb.append(" join boleto b on b.boleto_id = r4.boleto_id"); @@ -1835,7 +1841,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO sb.append(" (CASE WHEN s.aliasorigen_id IS NULL THEN ei.porcredestadual ELSE eis.porcredestadual END) as porc_red_estadual,"); sb.append(" (CASE WHEN s.aliasorigen_id IS NULL THEN ei.tributacaoimportacao ELSE eis.tributacaoimportacao END) as tributacao_importacao,"); sb.append(" (CASE WHEN (nvl((CASE WHEN s.aliasorigen_id IS NULL THEN po.regionmetropolitana_id ELSE pos.regionmetropolitana_id END),-1) = nvl((CASE WHEN s.aliasdestino_id IS NULL THEN pd.regionmetropolitana_id ELSE pds.regionmetropolitana_id END),-2)) THEN 1 ELSE 0 END) as isenta,"); - sb.append(" (c.preciopagado + c.importetaxaembarque + c.importeseguro + c.importepedagio + c.importeoutros) as valortotal"); + sb.append(" (c.preciopagado) as valortotal"); sb.append(" from caja c"); sb.append(" join parada po on po.parada_id = c.origen_id"); sb.append(" join ciudad co on co.ciudad_id = po.ciudad_id"); @@ -1858,7 +1864,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO sb.append(" where c.activo = 1 and 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"); sb.append(" and coalesce(CASE WHEN s.aliasorigen_id IS NULL THEN ei.activo ELSE eis.activo END, 0) = 1"); sb.append(" and ((c.indreimpresion = 0 and c.motivocancelacion_id is null and c.numfoliosistema is not null) or (c.indstatusboleto = 'E' and c.indreimpresion = 1))"); - sb.append(" and (c.preciopagado + c.importetaxaembarque + c.importeseguro + c.importepedagio + c.importeoutros) > 0"); + sb.append(" and (c.preciopagado) > 0"); sb.append(" and c.serieimpfiscal is not null and r4.caja_id is null"); sb.append(" 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'))"); sb.append(" and c.empresacorrida_id = ?"); @@ -2043,7 +2049,11 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO sb.append(" (CASE WHEN s.aliasorigen_id IS NULL THEN ei.porcredmunicipal ELSE eis.porcredmunicipal END) as porc_red_municipal,"); sb.append(" (CASE WHEN s.aliasorigen_id IS NULL THEN ei.porcredestadual ELSE eis.porcredestadual END) as porc_red_estadual,"); sb.append(" (CASE WHEN s.aliasorigen_id IS NULL THEN ei.tributacaoimportacao ELSE eis.tributacaoimportacao END) as tributacao_importacao,"); - sb.append(" to_number(r4.impsubtotal)/100 as valortotal,"); + sb.append(" ("); + sb.append(" select coalesce(sum(r5i.imptotalliquido),0)"); + sb.append(" from fiscal_r5 r5i"); + sb.append(" where r5i.numserie20 = r4.numserie20 and r5i.datamov = r4.datamov and r5i.coo = r4.coo and r5i.totparcial not like 'N1'"); + sb.append(" )/100 as valortotal,"); sb.append(" 0 as caja_id"); sb.append(" from fiscal_r4 r4"); sb.append(" join fiscal_r2 r2 on r2.numserie20 = r4.numserie20 and r2.datamov = r4.datamov"); @@ -2076,7 +2086,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO sb.append(" (CASE WHEN s.aliasorigen_id IS NULL THEN ei.porcredmunicipal ELSE eis.porcredmunicipal END) as porc_red_municipal,"); sb.append(" (CASE WHEN s.aliasorigen_id IS NULL THEN ei.porcredestadual ELSE eis.porcredestadual END) as porc_red_estadual,"); sb.append(" (CASE WHEN s.aliasorigen_id IS NULL THEN ei.tributacaoimportacao ELSE eis.tributacaoimportacao END) as tributacao_importacao,"); - sb.append(" c.preciopagado + c.importetaxaembarque + c.importeseguro + c.importepedagio + c.importeoutros as valortotal,"); + sb.append(" c.preciopagado as valortotal,"); sb.append(" c.caja_id"); sb.append(" from caja c"); sb.append(" join parada po on po.parada_id = c.origen_id"); @@ -2100,7 +2110,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO sb.append(" where c.activo = 1 and 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"); sb.append(" and coalesce(CASE WHEN s.aliasorigen_id IS NULL THEN ei.activo ELSE eis.activo END, 0) = 1"); sb.append(" and ((c.indreimpresion = 0 and c.motivocancelacion_id is null and c.numfoliosistema is not null) or (c.indstatusboleto = 'E' and c.indreimpresion = 1))"); - sb.append(" and (c.preciopagado + c.importetaxaembarque + c.importeseguro + c.importepedagio + c.importeoutros) > 0"); + sb.append(" and (c.preciopagado) > 0"); sb.append(" and c.serieimpfiscal is not null and r4.caja_id is null"); sb.append(" 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'))"); sb.append(" and c.empresacorrida_id = ?"); diff --git a/src/com/rjconsultores/ventaboletos/service/impl/FiscalServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/FiscalServiceImpl.java index 4fb268d2d..d4776289b 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/FiscalServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/FiscalServiceImpl.java @@ -976,12 +976,43 @@ public class FiscalServiceImpl implements FiscalService { try { connection = getConnection(); + String tempo = null; + Long begin = 0L; + + begin = Calendar.getInstance().getTimeInMillis(); + log.info("Buscando os registros PAR"); List listaRegistroRMDTipoPAR = fiscalDAO.buscarRegistroRMDTipoPAR(connection, inicio, fim, empresa.getEmpresaId(), estado.getCveestado()); - List listaRegistroRMDTipoRMD = fiscalDAO.buscarRegistroRMDTipoRMD(connection, inicio, fim, empresa.getEmpresaId(), estado.getCveestado()); - List listaRegistroRMDTipoBPS = fiscalDAO.buscarRegistroRMDTipoBPS(connection, inicio, fim, empresa.getEmpresaId(), estado.getCveestado()); - List listaRegistroRMDTipoDBP = fiscalDAO.buscarRegistroRMDTipoDBP(connection, inicio, fim, empresa.getEmpresaId(), estado.getCveestado()); + log.info("Total de registros: " + listaRegistroRMDTipoPAR.size()); + tempo = infoTempo("PAR", begin); + log.info("Tempo na busca dos registros " + tempo); + begin = Calendar.getInstance().getTimeInMillis(); + log.info("Buscando os registros RMD"); + List listaRegistroRMDTipoRMD = fiscalDAO.buscarRegistroRMDTipoRMD(connection, inicio, fim, empresa.getEmpresaId(), estado.getCveestado()); + log.info("Total de registros: " + listaRegistroRMDTipoPAR.size()); + tempo = infoTempo("RMD", begin); + log.info("Tempo na busca dos registros " + tempo); + + begin = Calendar.getInstance().getTimeInMillis(); + log.info("Buscando os registros BPS"); + List listaRegistroRMDTipoBPS = fiscalDAO.buscarRegistroRMDTipoBPS(connection, inicio, fim, empresa.getEmpresaId(), estado.getCveestado()); + log.info("Total de registros: " + listaRegistroRMDTipoPAR.size()); + tempo = infoTempo("BPS", begin); + log.info("Tempo na busca dos registros " + tempo); + + begin = Calendar.getInstance().getTimeInMillis(); + log.info("Buscando os registros DBP"); + List listaRegistroRMDTipoDBP = fiscalDAO.buscarRegistroRMDTipoDBP(connection, inicio, fim, empresa.getEmpresaId(), estado.getCveestado()); + log.info("Total de registros: " + listaRegistroRMDTipoPAR.size()); + tempo = infoTempo("DBP", begin); + log.info("Tempo na busca dos registros " + tempo); + + begin = Calendar.getInstance().getTimeInMillis(); + log.info("Buscando os registros BPS"); List listaRegistroRMDTipoSeqBPS = fiscalDAO.buscarRegistroRMDSeqTipoBPS(connection, inicio, fim, empresa.getEmpresaId(), estado.getCveestado()); + log.info("Total de registros: " + listaRegistroRMDTipoPAR.size()); + tempo = infoTempo("BPS", begin); + log.info("Tempo na busca dos registros " + tempo); return exportacaoFiscal.gerarArquivoRMD(inicio, fim, nomeArquivo, empresa.getNombempresa(), listaRegistroRMDTipoPAR, listaRegistroRMDTipoRMD, listaRegistroRMDTipoBPS, listaRegistroRMDTipoDBP, listaRegistroRMDTipoSeqBPS);