From 020aca1580a6549a64d5f88422da37bf0fc1cb38 Mon Sep 17 00:00:00 2001 From: julio Date: Wed, 4 Oct 2017 21:15:46 +0000 Subject: [PATCH] fixes bug #9386 git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@74498 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../dao/hibernate/FiscalHibernateDAO.java | 134 ++++++++++-------- 1 file changed, 73 insertions(+), 61 deletions(-) diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/FiscalHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/FiscalHibernateDAO.java index d6cbc4434..d05dcd984 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/FiscalHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/FiscalHibernateDAO.java @@ -3674,17 +3674,17 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO List list = new ArrayList(); try { String sql = null; - if (isECF) { - sql = getSqlImpressaoRMDTipoECF(isCancelamento); - } else if (isManual) { - sql = getSqlImpressaoRMDTipoBPR(isCancelamento); + if (isECF && !isCancelamento) { + sql = getSqlImpressaoRMDTipoECF(); + } else if (isManual && !isCancelamento) { + sql = getSqlImpressaoRMDTipoBPR(); + } else if (isCancelamento) { + sql = getSqlImpressaoRMDCancelados(); } NamedParameterStatement ps = new NamedParameterStatement(connection, sql); ps.getStatement().setFetchSize(100); ps.setInt("EMPRESA_ID", empresaId); - ps.setString("CVEESTADO", cveestado); - ps.setTimestamp("DATE_INICIO", new java.sql.Timestamp(DateUtil.inicioFecha(inicio).getTime())); ps.setTimestamp("DATE_FIM", new java.sql.Timestamp(DateUtil.fimFecha(fim).getTime())); @@ -3692,6 +3692,8 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO ps.setLong("RMD_ID", rmdId); ps.setLong("FOLIO_INICIAL", NumberUtils.toLong(folioInicial)); ps.setLong("FOLIO_FINAL", NumberUtils.toLong(folioFinal)); + } else { + ps.setString("CVEESTADO", cveestado); } ResultSet rs = ps.executeQuery(); @@ -3699,49 +3701,49 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO DetalhadoRMD brp = new DetalhadoRMD(); brp.setCajaId(rs.getLong("cajaId")); - brp.setNumoperacion(rs.getString("numoperacion")); - brp.setSerie(rs.getString("serieCompl")); - brp.setFolio(rs.getInt("folio")); - brp.setEstadoId(rs.getInt("estadoId")); - brp.setFechorVenta(rs.getDate("fechorVenta")); - brp.setEmpresa(rs.getString("empresa")); - brp.setEnderecoEmpresa(rs.getString("enderecoEmpresa")); - brp.setCnpjEmpresa(rs.getString("cnpjEmpresa")); - brp.setIeEmpresa(rs.getString("ieEmpresa")); - brp.setIcmsInterestadual(rs.getBigDecimal("icmsInterestadual")); - brp.setIcmsIntermunicipal(rs.getBigDecimal("icmsIntermunicipal")); - brp.setEstadoOrigem(rs.getString("estadoOrigem")); - brp.setEstadoDestino(rs.getString("estadoDestino")); - brp.setMunicipioOrigem(rs.getString("municipioOrigem")); - brp.setInterEstadual(rs.getBoolean("isInterEstadual")); - brp.setIcmsInterestadual(rs.getBigDecimal("icmsInterestadual")); - brp.setRedBaseCalcIcms(rs.getBigDecimal("redBaseCalcIcms")); - brp.setPorcRedMunicipal(rs.getBigDecimal("porcRedMunicipal")); - brp.setPorcRedEstadual(rs.getBigDecimal("porcRedEstadual")); - brp.setTributacaoImportacao(rs.getBigDecimal("tributacaoImportacao")); - brp.setIsenta(rs.getBoolean("isenta")); - brp.setTarifa(rs.getBigDecimal("tarifa")); - brp.setTaxaEmbarque(rs.getBigDecimal("taxaEmbarque")); - brp.setPedagio(rs.getBigDecimal("pedagio")); - brp.setSeguro(rs.getBigDecimal("seguro")); - brp.setOutros(rs.getBigDecimal("outros")); - brp.setNombPuntoVenta(rs.getString("nombPuntoVenta")); - brp.setNumPuntoVenta(rs.getString("numPuntoVenta")); + if (!isCancelamento) { + brp.setNumoperacion(rs.getString("numoperacion")); + brp.setSerie(rs.getString("serieCompl")); + brp.setFolio(rs.getInt("folio")); + brp.setEstadoId(rs.getInt("estadoId")); + brp.setFechorVenta(rs.getDate("fechorVenta")); + brp.setEmpresa(rs.getString("empresa")); + brp.setEnderecoEmpresa(rs.getString("enderecoEmpresa")); + brp.setCnpjEmpresa(rs.getString("cnpjEmpresa")); + brp.setIeEmpresa(rs.getString("ieEmpresa")); + brp.setIcmsInterestadual(rs.getBigDecimal("icmsInterestadual")); + brp.setIcmsIntermunicipal(rs.getBigDecimal("icmsIntermunicipal")); + brp.setEstadoOrigem(rs.getString("estadoOrigem")); + brp.setEstadoDestino(rs.getString("estadoDestino")); + brp.setMunicipioOrigem(rs.getString("municipioOrigem")); + brp.setInterEstadual(rs.getBoolean("isInterEstadual")); + brp.setIcmsInterestadual(rs.getBigDecimal("icmsInterestadual")); + brp.setRedBaseCalcIcms(rs.getBigDecimal("redBaseCalcIcms")); + brp.setPorcRedMunicipal(rs.getBigDecimal("porcRedMunicipal")); + brp.setPorcRedEstadual(rs.getBigDecimal("porcRedEstadual")); + brp.setTributacaoImportacao(rs.getBigDecimal("tributacaoImportacao")); + brp.setIsenta(rs.getBoolean("isenta")); + brp.setTarifa(rs.getBigDecimal("tarifa")); + brp.setTaxaEmbarque(rs.getBigDecimal("taxaEmbarque")); + brp.setPedagio(rs.getBigDecimal("pedagio")); + brp.setSeguro(rs.getBigDecimal("seguro")); + brp.setOutros(rs.getBigDecimal("outros")); + brp.setNombPuntoVenta(rs.getString("nombPuntoVenta")); + brp.setNumPuntoVenta(rs.getString("numPuntoVenta")); - if (isCancelamento) { + if (isECF && !isCancelamento) { + brp.setEcf(rs.getString("ecf")); + brp.setDatamov(rs.getString("datamov")); + brp.setCoo(rs.getString("cooredz")); + brp.setCcf(rs.getString("ccf")); + brp.setTotalFiscal(rs.getString("totalFiscal")); + brp.setEstadoImpressora(rs.getString("estadoImpressora")); + } + } else { brp.setRmdId(rs.getInt("rmd_id")); brp.setFoliormd(rs.getString("foliormd")); } - - if (isECF && !isCancelamento) { - brp.setEcf(rs.getString("ecf")); - brp.setDatamov(rs.getString("datamov")); - brp.setCoo(rs.getString("cooredz")); - brp.setCcf(rs.getString("ccf")); - brp.setTotalFiscal(rs.getString("totalFiscal")); - brp.setEstadoImpressora(rs.getString("estadoImpressora")); - } - + list.add(brp); } @@ -3755,7 +3757,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO return list; } - private String getSqlImpressaoRMDTipoBPR(boolean isCancelamento) { + private String getSqlImpressaoRMDTipoBPR() { StringBuilder sql = new StringBuilder(); sql.append("select distinct "); sql.append(" b.caja_id as cajaId, "); @@ -3795,9 +3797,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO sql.append(" coalesce(b.importetaxaembarque, 0) as taxaEmbarque, "); sql.append(" coalesce(b.importepedagio, 0) as pedagio, "); sql.append(" coalesce(b.importeseguro, 0) as seguro, "); - sql.append(" coalesce(b.importeoutros, 0) as outros ").append(isCancelamento ? ", " : " "); - sql.append(isCancelamento ? " b.rmd_id as rmd_id, " : " "); - sql.append(isCancelamento ? " b.foliormd as foliormd " : " "); + sql.append(" coalesce(b.importeoutros, 0) as outros "); sql.append("from caja b "); sql.append(" join marca m on b.marca_id = m.marca_id "); sql.append(" join empresa e on e.empresa_id = m.empresa_id "); @@ -3833,15 +3833,13 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO sql.append(" and b.empresacorrida_id = :EMPRESA_ID "); sql.append(" and b.feccreacion between :DATE_INICIO and :DATE_FIM "); sql.append(" and coalesce(ae.cveestado, eos.cveestado) = :CVEESTADO "); - sql.append(isCancelamento ? "" : " and b.rmd_id is null "); - sql.append(isCancelamento ? " and b.rmd_id = :RMD_ID " : " "); - sql.append(isCancelamento ? " and b.foliormd between :FOLIO_INICIAL and :FOLIO_FINAL " : " "); + sql.append(" and b.rmd_id is null "); sql.append("order by estadoId, fechorVenta, nombPuntoVenta, numPuntoVenta "); return sql.toString(); } - private String getSqlImpressaoRMDTipoECF(boolean isCancelamento) { + private String getSqlImpressaoRMDTipoECF() { StringBuilder sql = new StringBuilder(); sql.append("select distinct "); @@ -3884,10 +3882,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO sql.append(" '000000' as ccf, "); sql.append(" null as totalFiscal, "); sql.append(" case when r2.numserie20 is null then '000001' else r2.coo end as cooredz, "); - sql.append(" epv.cveestado as estadoImpressora ").append(isCancelamento ? ", " : " "); - sql.append(isCancelamento ? " c.rmd_id as rmd_id, " : " "); - sql.append(isCancelamento ? " c.foliormd as foliormd " : " "); - sql.append(" "); + sql.append(" epv.cveestado as estadoImpressora "); sql.append(" from caja c "); sql.append(" join ruta r on r.ruta_id = c.ruta_id "); sql.append(" join parada po on po.parada_id = c.origen_id "); @@ -3918,7 +3913,6 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO sql.append(" left join parada ppv on ppv.parada_id = pv.parada_id "); sql.append(" left join ciudad cpv on cpv.ciudad_id = ppv.ciudad_id "); sql.append(" left join estado epv on epv.estado_id = cpv.estado_id "); - sql.append(" "); sql.append(" where c.activo = 1 and po.activo = 1 and co.activo = 1 and eo.activo = 1 and ei.activo = 1 "); sql.append(" and coalesce(case when s.aliasorigen_id is null then ei.activo else eis.activo end, 0) = 1 "); sql.append(" and c.serieimpfiscal is not null "); @@ -3927,12 +3921,30 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO sql.append(" and c.feccreacion >= :DATE_INICIO and c.feccreacion <= :DATE_FIM "); sql.append(" and c.empresacorrida_id = :EMPRESA_ID "); sql.append(" and ((case when s.aliasorigen_id is null then eo.cveestado else eos.cveestado end) = :CVEESTADO ) "); - sql.append(isCancelamento ? "" : " and c.rmd_id is null "); - sql.append(isCancelamento ? " and c.rmd_id = :RMD_ID " : " "); - sql.append(isCancelamento ? " and c.foliormd between :FOLIO_INICIAL and :FOLIO_FINAL " : " "); + sql.append(" and c.rmd_id is null "); sql.append(" order by estadoId, datamov, ecf, coo "); return sql.toString(); } + + + + private String getSqlImpressaoRMDCancelados() { + + StringBuilder sql = new StringBuilder(); + sql.append("select distinct "); + sql.append(" c.caja_id as cajaId, "); + sql.append(" c.rmd_id as rmd_id, "); + sql.append(" c.foliormd as foliormd "); + sql.append(" "); + sql.append(" from caja c "); + sql.append(" where c.empresacorrida_id = :EMPRESA_ID "); + sql.append(" and c.feccreacion >= :DATE_INICIO and c.feccreacion <= :DATE_FIM "); + sql.append(" and c.rmd_id = :RMD_ID "); + sql.append(" and c.foliormd between :FOLIO_INICIAL and :FOLIO_FINAL "); + + return sql.toString(); + } + @Override public List buscarRelatorioRDI(Connection connection, Date inicio, Date fim, Integer empresaId, List estados, boolean isReceitaTerceiros) {