diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/FiscalHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/FiscalHibernateDAO.java index 9a7fc2c74..eae765c52 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/FiscalHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/FiscalHibernateDAO.java @@ -2474,7 +2474,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO Integer municipioDestino = rs.getInt("municipioDestino"); Integer municipioOrigemPadrao = rs.getInt("municipioOrigemPadrao"); Integer cfop = rs.getInt("cfop"); - + if (ufOrigem != null && ufDestino != null) { if (!ufOrigem.equals(cveestado)) { if (ufDestino.equals(cveestado)) { @@ -2484,13 +2484,13 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO ufOrigem = cveestado; municipioOrigem = municipioOrigemPadrao; } - + cfop = (ufOrigem.equals(ufDestino) ? 5357 : 6357); } } - + registro = new ExportacaoBPRBase(); - + // PAR registro.setCodigoParticipantePar(rs.getInt("codigoParticipantePar")); registro.setCodigoEstabelecimentoPar(rs.getInt("codigoEstabelecimentoPar")); @@ -3692,7 +3692,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO ps.setLong("FOLIO_INICIAL", NumberUtils.toLong(folioInicial)); ps.setLong("FOLIO_FINAL", NumberUtils.toLong(folioFinal)); } - + ResultSet rs = ps.executeQuery(); while (rs.next()) { @@ -3775,13 +3775,13 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO sql.append(" pv.nombpuntoventa as nombPuntoVenta, "); sql.append(" pv.numpuntoventa as numPuntoVenta, "); sql.append(" ie.numinscricaoestadual as ieEmpresa, "); - sql.append(" coalesce(ae.estado_id, eo.estado_id) as estadoId, "); - sql.append(" coalesce(ei.icms, eo.icms) as icmsInterestadual, "); + sql.append(" coalesce(ae.estado_id, eos.estado_id) as estadoId, "); + sql.append(" coalesce(ei.icms, eos.icms) as icmsInterestadual, "); sql.append(" ei.icmsim as icmsIntermunicipal, "); - sql.append(" coalesce(ae.cveestado, eo.cveestado) as estadoOrigem, "); + sql.append(" coalesce(ae.cveestado, eos.cveestado) as estadoOrigem, "); sql.append(" ed.cveestado as estadoDestino, "); sql.append(" co.codibge as municipioOrigem, "); - sql.append(" case when((coalesce(ae.cveestado, eo.cveestado)) = ed.cveestado) "); + sql.append(" case when((coalesce(ae.cveestado, eos.cveestado)) = ed.cveestado) "); sql.append(" then 0 else 1 end as isInterEstadual, "); sql.append(" ei.porcredbaseicms as redBaseCalcIcms, "); sql.append(" ei.porcredmunicipal as porcRedMunicipal, "); @@ -3819,18 +3819,18 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO sql.append(" left join estado eds on eds.estado_id = cds.estado_id "); sql.append(" left join estado ae on ae.estado_id = a.estado_id "); sql.append(" join inscricao_estadual ie on e.empresa_id = ie.empresa_id "); - sql.append(" and ie.estado_id = coalesce(ae.estado_id, eo.estado_id) and ie.activo = 1 "); + sql.append(" and ie.estado_id = coalesce(ae.estado_id, eos.estado_id) and ie.activo = 1 "); sql.append(" join ciudad cie on cie.ciudad_id = ie.ciudad_id "); sql.append(" join estado eie on eie.estado_id = cie.estado_id "); sql.append(" join empresa_imposto ei on ei.empresa_id = b.empresacorrida_id "); - sql.append(" and ei.estado_id = coalesce(ae.estado_id, eo.estado_id) and ei.activo = 1 "); + sql.append(" and ei.estado_id = coalesce(ae.estado_id, eos.estado_id) and ei.activo = 1 "); sql.append("where "); sql.append(" b.tipoventa_id = 3 "); sql.append(" and b.rmd_id is null "); sql.append(" and b.indstatusboleto = 'V' "); sql.append(" and e.empresa_id = :EMPRESA_ID "); sql.append(" and b.feccreacion between :DATE_INICIO and :DATE_FIM "); - sql.append(" and coalesce(ae.cveestado, eo.cveestado) = :CVEESTADO "); + sql.append(" and coalesce(ae.cveestado, eos.cveestado) = :CVEESTADO "); sql.append("order by estadoId, fechorVenta, nombPuntoVenta, numPuntoVenta "); return sql.toString(); @@ -3920,8 +3920,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO sql.append(" join empresa_imposto ei on ei.empresa_id = e.empresa_id "); sql.append(" and ei.estado_id = coalesce(eos.estado_id, eo.estado_id) and ei.activo = 1 "); sql.append(" left join aidf a on a.aidf_id = b.aidf_id "); - sql.append("where "); - sql.append(" b.tipoventa_id <> 3 "); + sql.append("where b.tipoventa_id <> 3 "); sql.append(" and b.rmd_id is null "); sql.append(" and e.empresa_id = :EMPRESA_ID "); sql.append(" and b.feccreacion between :DATE_INICIO and :DATE_FIM "); @@ -4012,8 +4011,10 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO sql.append(" and ei.estado_id = coalesce(eos.estado_id, eo.estado_id) and ei.activo = 1 "); sql.append(" left join aidf a on a.aidf_id = b.aidf_id "); sql.append("where b.tipoventa_id <> 3 "); + sql.append(" and b.rmd_id is null "); sql.append(" and b.serieimpfiscal is not null and r4.caja_id is null "); - sql.append(" and ((b.indreimpresion = 0 and b.motivocancelacion_id is null and b.numfoliosistema is not null) or (b.indstatusboleto = 'E' and b.indreimpresion = 1)) "); + sql.append(" and ((b.indreimpresion = 0 and b.motivocancelacion_id is null and b.numfoliosistema is not null) "); + sql.append(" or (b.indstatusboleto = 'E' and b.indreimpresion = 1)) "); sql.append(" and e.empresa_id = :EMPRESA_ID "); sql.append(" and b.feccreacion between :DATE_INICIO and :DATE_FIM "); sql.append(" and coalesce(eos.cveestado, eo.cveestado) = :CVEESTADO "); @@ -4045,16 +4046,15 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO sql.append(" pv.nombpuntoventa as nombPuntoVenta, "); sql.append(" pv.numpuntoventa as numPuntoVenta, "); sql.append(" ie.numinscricaoestadual as ieEmpresa, "); - sql.append(" coalesce(eos.estado_id, eo.estado_id) as estadoId, "); + sql.append(isManual ? "coalesce(ae.estado_id, eos.estado_id)" : "coalesce(eos.estado_id, eo.estado_id)").append(" as estadoId, "); sql.append(" coalesce(ei.icms, eo.icms) as icmsInterestadual, "); sql.append(" ei.icmsim as icmsIntermunicipal, "); - sql.append(" coalesce(eos.cveestado, eo.cveestado) as estadoOrigem, "); + sql.append(isManual ? "coalesce(ae.cveestado, eos.cveestado)" : "coalesce(eos.cveestado, eo.cveestado)").append(" as estadoOrigem, "); sql.append(" coalesce(eds.cveestado, ed.cveestado) as estadoDestino, "); sql.append(" coalesce(cos.codibge, co.codibge) as municipioOrigem, "); - sql.append(" case when((coalesce(eos.cveestado, eo.cveestado)) = "); - sql.append(" (coalesce(eds.cveestado, ed.cveestado))) "); - sql.append(" then 0 else 1 "); - sql.append(" end as isInterEstadual, "); + sql.append(isManual ? "case when(coalesce(ae.cveestado, eos.cveestado)) = ed.cveestado" : ""); + sql.append(isECF ? "case when((coalesce(eos.cveestado, eo.cveestado)) = (coalesce(eds.cveestado, ed.cveestado)))" : ""); + sql.append(" then 0 else 1 end as isInterEstadual, "); sql.append(" ei.porcredbaseicms as redBaseCalcIcms, "); sql.append(" ei.porcredmunicipal as porcRedMunicipal, "); sql.append(" ei.porcredestadual as porcRedEstadual, "); @@ -4092,16 +4092,17 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO sql.append(" left join parada pds on pds.parada_id = s.aliasdestino_id "); sql.append(" left join ciudad cds on cds.ciudad_id = pds.ciudad_id "); sql.append(" left join estado eds on eds.estado_id = cds.estado_id "); - sql.append(" left join inscricao_estadual ie on e.empresa_id = ie.empresa_id "); - sql.append(" and ie.estado_id = coalesce(eos.estado_id, eo.estado_id) and ie.activo = 1 "); + sql.append(isManual ? " inner " : " left ").append(" join aidf a on a.aidf_id = b.aidf_id "); + sql.append(isManual ? " left join estado ae on ae.estado_id = a.estado_id " : " "); + sql.append(" join inscricao_estadual ie on e.empresa_id = ie.empresa_id and ie.activo = 1 and ie.estado_id = "); + sql.append(isManual ? "coalesce(ae.estado_id, eos.estado_id)" : "coalesce(eos.estado_id, eo.estado_id)"); sql.append(" join ciudad cie on cie.ciudad_id = ie.ciudad_id "); sql.append(" join estado eie on eie.estado_id = cie.estado_id "); - sql.append(" left join empresa_imposto ei on ei.empresa_id = b.empresacorrida_id "); - sql.append(" and ei.estado_id = coalesce(eos.estado_id, eo.estado_id) and ei.activo = 1 "); - sql.append(" left join aidf a on a.aidf_id = b.aidf_id "); + sql.append(" left join empresa_imposto ei on ei.empresa_id = b.empresacorrida_id and ei.activo = 1 and ei.estado_id = "); + sql.append(isManual ? "coalesce(ae.estado_id, eos.estado_id)" : "coalesce(eos.estado_id, eo.estado_id)"); sql.append("where e.empresa_id = :EMPRESA_ID "); sql.append(" and b.feccreacion between :DATE_INICIO and :DATE_FIM "); - sql.append(" and coalesce(eos.cveestado, eo.cveestado) = :CVEESTADO "); + sql.append(" and coalesce ").append(isManual ? "(ae.cveestado, eos.cveestado)" : "(eos.cveestado, eo.cveestado)").append(" = :CVEESTADO "); sql.append(" and b.rmd_id = :RMD_ID "); sql.append(" and b.foliormd between :FOLIO_INICIAL and :FOLIO_FINAL "); @@ -4120,7 +4121,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO } List list = montaRelatorioRDI(connection, inicio, fim, empresaId, ufs, false); - + list.addAll(montaRelatorioRDI(connection, inicio, fim, empresaId, ufs, true)); List rdis = calcularRelatorioRDI(list, isReceitaTerceiros);