From 6d2b97d73fa88aebb46eac8045ca9dc0a1c7eb9e Mon Sep 17 00:00:00 2001 From: alberto Date: Mon, 28 Aug 2017 17:51:38 +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@73208 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../dao/hibernate/FiscalHibernateDAO.java | 32 ++++++++++--------- .../exportacaofiscal/vo/ExportacaoBPR.java | 10 ++++-- 2 files changed, 25 insertions(+), 17 deletions(-) diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/FiscalHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/FiscalHibernateDAO.java index 3a91a203b..8c27b1c05 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/FiscalHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/FiscalHibernateDAO.java @@ -2380,7 +2380,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO ExportacaoBPR exportacaoRMD = new ExportacaoBPR(); StringBuilder sb = new StringBuilder(); - sb.append(" select"); + sb.append(" select distinct"); sb.append(" c.estado_id as codigoParticipantePar,"); sb.append(" eif.codestabelecimento as codigoEstabelecimentoPar,"); @@ -2411,7 +2411,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO sb.append(" r.subserie as subSerieAIDFRMD,"); sb.append(" b.foliormd as numeroRMD,"); sb.append(" (case when coalesce(po.regionmetropolitana_id, -1) = coalesce(pd.regionmetropolitana_id ,-2) then 1 else 0 end) as boletoIsento,"); - sb.append(" (case when b.indstatusboleto like 'C' then 1 else 0 end) as boletoCancelado,"); + sb.append(" (case when b.motivocancelacion_id is not null then 1 else 0 end) as boletoCancelado,"); sb.append(" b.preciopagado as valorPago,"); sb.append(" ed.cveestado as ufDestino,"); @@ -2427,7 +2427,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO sb.append(" b.rmd_id,"); sb.append(" b.aidf_id,"); - sb.append(" b.boleto_id"); + sb.append(" b.caja_id"); sb.append(" from folio_consumo_rmd f"); sb.append(" join estado eof on eof.estado_id = f.estado_id"); @@ -2437,7 +2437,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO sb.append(" left join empresa_imposto eif on eif.activo = 1 and eif.empresa_id = f.empresa_id and eif.estado_id = eof.estado_id"); sb.append(" left join inscricao_estadual ie on ie.empresa_id = f.empresa_id and ie.estado_id = eof.estado_id and ie.activo = 1"); sb.append(" left join ciudad cie on cie.ciudad_id = ie.ciudad_id"); - sb.append(" left join boleto b on b.activo = 1 and (b.indstatusboleto like 'V' or b.indstatusboleto like 'C') and b.rmd_id = (case when coalesce(f.indcancelacion, 0) = 1 then -1 else f.rmd_id end) and b.empresacorrida_id = f.empresa_id and to_char(b.fechorventa, 'ddmmyyyy') = to_char(f.fechorfolio, 'ddmmyyyy')"); + sb.append(" left join caja b on b.activo = 1 and b.indreimpresion = 0 and b.rmd_id = (case when coalesce(f.indcancelacion, 0) = 1 then -1 else f.rmd_id end) and b.empresacorrida_id = f.empresa_id and to_char(b.fechorventa, 'ddmmyyyy') = to_char(f.fechorfolio, 'ddmmyyyy')"); sb.append(" left join parada po on po.parada_id = b.origen_id"); sb.append(" left join ciudad co on co.ciudad_id = po.ciudad_id"); sb.append(" left join estado eo on eo.estado_id = co.estado_id"); @@ -2467,24 +2467,26 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO ExportacaoBPRBase registro = null; while (rs.next()) { - registro = new ExportacaoBPRBase(); - String ufDestino = rs.getString("ufDestino"); String ufOrigem = rs.getString("ufOrigem"); Integer municipioOrigem = rs.getInt("municipioOrigem"); Integer municipioDestino = rs.getInt("municipioDestino"); Integer municipioOrigemPadrao = rs.getInt("municipioOrigemPadrao"); - if (!ufOrigem.equals(cveestado)) { - if (ufDestino.equals(cveestado)) { - ufOrigem = cveestado; - municipioOrigem = municipioDestino; - } else { - ufOrigem = cveestado; - municipioOrigem = municipioOrigemPadrao; + if (ufOrigem != null && ufDestino != null) { + if (!ufOrigem.equals(cveestado)) { + if (ufDestino.equals(cveestado)) { + ufOrigem = cveestado; + municipioOrigem = municipioDestino; + } else { + ufOrigem = cveestado; + municipioOrigem = municipioOrigemPadrao; + } } } + registro = new ExportacaoBPRBase(); + // PAR registro.setCodigoParticipantePar(rs.getInt("codigoParticipantePar")); registro.setCodigoEstabelecimentoPar(rs.getInt("codigoEstabelecimentoPar")); @@ -2499,7 +2501,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO registro.setCep(rs.getString("cep") == null ? null : Integer.parseInt(rs.getString("cep").replace("-", "").replace(".", ""))); // RMD - registro.setDataEmissao(sdf.format(rs.getDate("dataEmissaoRMD"))); + registro.setDataEmissaoRMD(sdf.format(rs.getDate("dataEmissaoRMD"))); registro.setCodigoParticipante(rs.getInt("codigoParticipante")); registro.setCodigoEstabelecimento(rs.getInt("codigoEstabelecimento")); registro.setNumeroAIDF(String.valueOf(rs.getLong("numeroAIDF"))); @@ -2510,7 +2512,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO registro.setCodigoContabil(rs.getString("codigoContabil")); // BPS - registro.setDataEmissao(sdf.format(rs.getDate("dataEmissao"))); + registro.setDataEmissao(rs.getDate("dataEmissao") == null ? null : sdf.format(rs.getDate("dataEmissao"))); registro.setNumeroFormulario(rs.getLong("numeroFormulario")); registro.setNumeroAIDFRMD(String.valueOf(rs.getLong("numeroAIDFRMD"))); registro.setSerieAIDFRMD(rs.getString("serieAIDFRMD")); diff --git a/src/com/rjconsultores/ventaboletos/utilerias/exportacaofiscal/vo/ExportacaoBPR.java b/src/com/rjconsultores/ventaboletos/utilerias/exportacaofiscal/vo/ExportacaoBPR.java index 547ca3893..052921ed1 100644 --- a/src/com/rjconsultores/ventaboletos/utilerias/exportacaofiscal/vo/ExportacaoBPR.java +++ b/src/com/rjconsultores/ventaboletos/utilerias/exportacaofiscal/vo/ExportacaoBPR.java @@ -114,6 +114,12 @@ public class ExportacaoBPR { Map group = new HashMap(0); for (ExportacaoBPRBase base : listaRegistroBPR) { + String numeroAIDF = base.getNumeroAIDF(); + + if (numeroAIDF == null || numeroAIDF.trim().isEmpty() || numeroAIDF.trim().equals("0")) { + continue; + } + String key = base.getCodigoEstabelecimento() + "-" + base.getNumeroAIDFRMD() + "-" + base.getNumeroFormularioBilheteAIDF(); if (group.containsKey(key)) { @@ -141,8 +147,8 @@ public class ExportacaoBPR { Collections.sort(listaRegistroBPRTipoRMD, new Comparator(){ public int compare(ExportacaoRMDTipoRMD e1, ExportacaoRMDTipoRMD e2) { - String c1 = e1.getCodigoEstabelecimento() + "-" + e1.getNumeroAIDF(); - String c2 = e2.getCodigoEstabelecimento() + "-" + e2.getNumeroAIDF(); + String c1 = e1.getCodigoEstabelecimento() + "-" + e1.getNumeroAIDF() + "-" + e1.getNumeroBilheteAIDF(); + String c2 = e2.getCodigoEstabelecimento() + "-" + e2.getNumeroAIDF() + "-" + e2.getNumeroBilheteAIDF(); return c1.compareToIgnoreCase(c2); }