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

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@73208 d1611594-4594-4d17-8e1d-87c2c4800839
master
alberto 2017-08-28 17:51:38 +00:00
parent 9351a90960
commit 6d2b97d73f
2 changed files with 25 additions and 17 deletions

View File

@ -2380,7 +2380,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
ExportacaoBPR exportacaoRMD = new ExportacaoBPR(); ExportacaoBPR exportacaoRMD = new ExportacaoBPR();
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
sb.append(" select"); sb.append(" select distinct");
sb.append(" c.estado_id as codigoParticipantePar,"); sb.append(" c.estado_id as codigoParticipantePar,");
sb.append(" eif.codestabelecimento as codigoEstabelecimentoPar,"); 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(" r.subserie as subSerieAIDFRMD,");
sb.append(" b.foliormd as numeroRMD,"); 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 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(" b.preciopagado as valorPago,");
sb.append(" ed.cveestado as ufDestino,"); 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.rmd_id,");
sb.append(" b.aidf_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(" from folio_consumo_rmd f");
sb.append(" join estado eof on eof.estado_id = f.estado_id"); 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 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 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 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 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 ciudad co on co.ciudad_id = po.ciudad_id");
sb.append(" left join estado eo on eo.estado_id = co.estado_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; ExportacaoBPRBase registro = null;
while (rs.next()) { while (rs.next()) {
registro = new ExportacaoBPRBase();
String ufDestino = rs.getString("ufDestino"); String ufDestino = rs.getString("ufDestino");
String ufOrigem = rs.getString("ufOrigem"); String ufOrigem = rs.getString("ufOrigem");
Integer municipioOrigem = rs.getInt("municipioOrigem"); Integer municipioOrigem = rs.getInt("municipioOrigem");
Integer municipioDestino = rs.getInt("municipioDestino"); Integer municipioDestino = rs.getInt("municipioDestino");
Integer municipioOrigemPadrao = rs.getInt("municipioOrigemPadrao"); Integer municipioOrigemPadrao = rs.getInt("municipioOrigemPadrao");
if (!ufOrigem.equals(cveestado)) { if (ufOrigem != null && ufDestino != null) {
if (ufDestino.equals(cveestado)) { if (!ufOrigem.equals(cveestado)) {
ufOrigem = cveestado; if (ufDestino.equals(cveestado)) {
municipioOrigem = municipioDestino; ufOrigem = cveestado;
} else { municipioOrigem = municipioDestino;
ufOrigem = cveestado; } else {
municipioOrigem = municipioOrigemPadrao; ufOrigem = cveestado;
municipioOrigem = municipioOrigemPadrao;
}
} }
} }
registro = new ExportacaoBPRBase();
// PAR // PAR
registro.setCodigoParticipantePar(rs.getInt("codigoParticipantePar")); registro.setCodigoParticipantePar(rs.getInt("codigoParticipantePar"));
registro.setCodigoEstabelecimentoPar(rs.getInt("codigoEstabelecimentoPar")); 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(".", ""))); registro.setCep(rs.getString("cep") == null ? null : Integer.parseInt(rs.getString("cep").replace("-", "").replace(".", "")));
// RMD // RMD
registro.setDataEmissao(sdf.format(rs.getDate("dataEmissaoRMD"))); registro.setDataEmissaoRMD(sdf.format(rs.getDate("dataEmissaoRMD")));
registro.setCodigoParticipante(rs.getInt("codigoParticipante")); registro.setCodigoParticipante(rs.getInt("codigoParticipante"));
registro.setCodigoEstabelecimento(rs.getInt("codigoEstabelecimento")); registro.setCodigoEstabelecimento(rs.getInt("codigoEstabelecimento"));
registro.setNumeroAIDF(String.valueOf(rs.getLong("numeroAIDF"))); registro.setNumeroAIDF(String.valueOf(rs.getLong("numeroAIDF")));
@ -2510,7 +2512,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
registro.setCodigoContabil(rs.getString("codigoContabil")); registro.setCodigoContabil(rs.getString("codigoContabil"));
// BPS // 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.setNumeroFormulario(rs.getLong("numeroFormulario"));
registro.setNumeroAIDFRMD(String.valueOf(rs.getLong("numeroAIDFRMD"))); registro.setNumeroAIDFRMD(String.valueOf(rs.getLong("numeroAIDFRMD")));
registro.setSerieAIDFRMD(rs.getString("serieAIDFRMD")); registro.setSerieAIDFRMD(rs.getString("serieAIDFRMD"));

View File

@ -114,6 +114,12 @@ public class ExportacaoBPR {
Map<String, ExportacaoRMDTipoRMD> group = new HashMap<String, ExportacaoRMDTipoRMD>(0); Map<String, ExportacaoRMDTipoRMD> group = new HashMap<String, ExportacaoRMDTipoRMD>(0);
for (ExportacaoBPRBase base : listaRegistroBPR) { 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(); String key = base.getCodigoEstabelecimento() + "-" + base.getNumeroAIDFRMD() + "-" + base.getNumeroFormularioBilheteAIDF();
if (group.containsKey(key)) { if (group.containsKey(key)) {
@ -141,8 +147,8 @@ public class ExportacaoBPR {
Collections.sort(listaRegistroBPRTipoRMD, new Comparator<ExportacaoRMDTipoRMD>(){ Collections.sort(listaRegistroBPRTipoRMD, new Comparator<ExportacaoRMDTipoRMD>(){
public int compare(ExportacaoRMDTipoRMD e1, ExportacaoRMDTipoRMD e2) { public int compare(ExportacaoRMDTipoRMD e1, ExportacaoRMDTipoRMD e2) {
String c1 = e1.getCodigoEstabelecimento() + "-" + e1.getNumeroAIDF(); String c1 = e1.getCodigoEstabelecimento() + "-" + e1.getNumeroAIDF() + "-" + e1.getNumeroBilheteAIDF();
String c2 = e2.getCodigoEstabelecimento() + "-" + e2.getNumeroAIDF(); String c2 = e2.getCodigoEstabelecimento() + "-" + e2.getNumeroAIDF() + "-" + e2.getNumeroBilheteAIDF();
return c1.compareToIgnoreCase(c2); return c1.compareToIgnoreCase(c2);
} }