From e22c766d3168c0aab9b6a5b0b7b1a9c401b3a640 Mon Sep 17 00:00:00 2001 From: julio Date: Tue, 2 May 2017 19:10:43 +0000 Subject: [PATCH] fixes bug #8958 git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@68427 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../dao/hibernate/FiscalHibernateDAO.java | 83 +++++++++++-------- 1 file changed, 49 insertions(+), 34 deletions(-) diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/FiscalHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/FiscalHibernateDAO.java index 2b2837f46..5c7909fc7 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/FiscalHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/FiscalHibernateDAO.java @@ -62,6 +62,13 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO public FiscalHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) { setSessionFactory(factory); } + + private boolean isEstadoTodos(Integer estadoId) { + if (estadoId == -1 || estadoId == null) + return true; + else + return false; + } @Override public List buscaDatosFiscaisECFManual(Date inicio, Date fim, Integer empresaId, Integer estadoId, Connection connection) throws SQLException { @@ -128,7 +135,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO sql.append(" inner join clase_servicio cs ON cs.claseservicio_id = b.claseservicio_id "); sql.append("WHERE b.fechorventa BETWEEN ? AND ? "); sql.append(" AND b.empresacorrida_id = ? "); - sql.append(" AND eo.estado_id = ? "); + sql.append(isEstadoTodos(estadoId) ? "" : " AND eo.estado_id = ? "); sql.append(" AND b.tipoventa_id = 3 "); sql.append(" AND (b.preciopagado > 0 OR b.importetaxaembarque > 0 OR b.importepedagio > 0) "); sql.append("GROUP BY r4.numserie20, "); @@ -173,7 +180,9 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO stmt.setTimestamp(1, new java.sql.Timestamp(DateUtil.inicioFecha(inicio).getTime())); stmt.setTimestamp(2, new java.sql.Timestamp(DateUtil.fimFecha(fim).getTime())); stmt.setInt(3, empresaId); - stmt.setInt(4, estadoId); + + if (!isEstadoTodos(estadoId)) + stmt.setInt(4, estadoId); rset = stmt.executeQuery(); while (rset.next()) { @@ -219,7 +228,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO } - private String sqlFiscaisReducaoZPendencia() { + private String sqlFiscaisReducaoZPendencia(boolean isEstadoTodos) { StringBuilder sql = new StringBuilder(); sql.append("SELECT r2.datamov AS datamov, "); @@ -259,7 +268,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO sql.append("WHERE r2.datamov BETWEEN ? AND ? "); sql.append(" AND r2.activo = 1 "); sql.append(" AND e.empresa_id = ? "); - sql.append(" AND ie.estado_id = ? "); + sql.append(isEstadoTodos ? "" : " AND ie.estado_id = ? "); sql.append(" AND r3.totparcial IN ("); sql.append("'" + SituacaoTributaria.CANCELADO.getValue() + "'").append(", "); sql.append("'" + SituacaoTributaria.DESCONTO.getValue() + "'").append(")"); @@ -291,7 +300,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO return sql.toString(); } - private String sqlFiscaisReducaoZPendenciaInconcistencias() { + private String sqlFiscaisReducaoZPendenciaInconcistencias(boolean isEstadoTodos) { StringBuilder sql = new StringBuilder(); sql.append("SELECT r2.datamov AS datamov, "); @@ -330,7 +339,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO sql.append("WHERE r2.datamov BETWEEN ? AND ? "); sql.append(" AND r2.activo = 1 "); sql.append(" AND e.empresa_id = ? "); - sql.append(" AND ie.estado_id = ? "); + sql.append(isEstadoTodos ? "" : " AND ie.estado_id = ? "); sql.append(" AND r3.totparcial not in ("); sql.append("'" + SituacaoTributaria.NAO_FISCAL.getValue() + "'").append(")"); sql.append(" AND anterior.numserie20 = r2.numserie20 "); @@ -361,7 +370,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO return sql.toString(); } - private String sqlFiscaisReducaoZ() { + private String sqlFiscaisReducaoZ(boolean isEstadoTodos) { StringBuilder sql = new StringBuilder(); sql.append("SELECT r2.datamov AS datamov, "); @@ -400,7 +409,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO sql.append("WHERE r2.datamov BETWEEN ? AND ? "); sql.append(" AND r2.activo = 1 "); sql.append(" AND e.empresa_id = ? "); - sql.append(" AND ie.estado_id = ? "); + sql.append(isEstadoTodos ? "" : " AND ie.estado_id = ? "); sql.append(" AND r3.totparcial not in ("); sql.append("'" + SituacaoTributaria.NAO_FISCAL.getValue() + "'").append(")"); sql.append(" AND anterior.numserie20 = r2.numserie20 "); @@ -436,12 +445,12 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO public List buscaDatosFiscaisReducaoZ(Date inicio, Date fim, Integer empresaId, Integer estadoId, boolean isPendencias, Connection connection) throws SQLException { if (isPendencias) { List list = new ArrayList(); - list.addAll(montarItensReducaoZ(inicio, fim, empresaId, estadoId, sqlFiscaisReducaoZPendencia(), connection)); - list.addAll(montarItensReducaoZ(inicio, fim, empresaId, estadoId, sqlFiscaisReducaoZPendenciaInconcistencias(), connection)); + list.addAll(montarItensReducaoZ(inicio, fim, empresaId, estadoId, sqlFiscaisReducaoZPendencia(isEstadoTodos(estadoId)), connection)); + list.addAll(montarItensReducaoZ(inicio, fim, empresaId, estadoId, sqlFiscaisReducaoZPendenciaInconcistencias(isEstadoTodos(estadoId)), connection)); return list; } else { - return montarItensReducaoZ(inicio, fim, empresaId, estadoId, sqlFiscaisReducaoZ(), connection); + return montarItensReducaoZ(inicio, fim, empresaId, estadoId, sqlFiscaisReducaoZ(isEstadoTodos(estadoId)), connection); } } @@ -454,7 +463,9 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO stmt.setString(2, DateUtil.getStringDate(inicio, DATE_FORMAT_FISCAL)); stmt.setString(3, DateUtil.getStringDate(fim, DATE_FORMAT_FISCAL)); stmt.setInt(4, empresaId); - stmt.setInt(5, estadoId); + + if (!isEstadoTodos(estadoId)) + stmt.setInt(5, estadoId); ResultSet rset = stmt.executeQuery(); while (rset.next()) { @@ -483,7 +494,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO return listRedZ; } - private String sqlFiscaisECFCancelados() { + private String sqlFiscaisECFCancelados(boolean isEstadoTodos) { StringBuilder sql = new StringBuilder(); sql.append("SELECT r4.numserie20 as numImpressora, "); @@ -533,7 +544,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO sql.append(" INNER JOIN estado ed ON ed.estado_id = cd.estado_id "); sql.append(" WHERE be.fechorventa BETWEEN ? AND ? "); sql.append(" AND be.empresacorrida_id = ? "); - sql.append(" AND eo.estado_id = ? "); + sql.append(isEstadoTodos ? "" : " AND eo.estado_id = ? "); sql.append(" AND b.motivocancelacion_id IN (31,32,10) "); sql.append(" AND be.indstatusboleto = 'C' "); sql.append(" AND r4.indcancelamento = 'N' "); @@ -573,7 +584,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO return sql.toString(); } - private String sqlFiscaisECF() { + private String sqlFiscaisECF(boolean isEstadoTodos) { StringBuilder sql = new StringBuilder(); sql.append("SELECT r4.numserie20 as numImpressora, "); @@ -616,13 +627,13 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO sql.append(" INNER JOIN parada o ON coalesce(ase.aliasorigen_id, b.origen_id) = o.parada_id "); sql.append(" INNER JOIN ciudad co ON o.ciudad_id = co.ciudad_id "); sql.append(" INNER JOIN estado eo ON eo.estado_id = co.estado_id "); - sql.append(" LEFT JOIN empresa_imposto ei ON ei.estado_id = eo.estado_id AND b.marca_id = ei.empresa_id "); + sql.append(" LEFT JOIN empresa_imposto ei ON b.marca_id = ei.empresa_id ").append(isEstadoTodos ? "" : " AND ei.estado_id = eo.estado_id "); sql.append(" INNER JOIN parada d ON coalesce(ase.aliasdestino_id, b.destino_id) = d.parada_id "); sql.append(" INNER JOIN ciudad cd ON d.ciudad_id = cd.ciudad_id "); sql.append(" INNER JOIN estado ed ON ed.estado_id = cd.estado_id "); sql.append(" WHERE r4.datamov BETWEEN ? AND ? "); sql.append(" AND b.empresacorrida_id = ? "); - sql.append(" AND eo.estado_id = ? "); + sql.append(isEstadoTodos ? "" : " AND eo.estado_id = ? "); sql.append(" AND (r4.indcancelamento = 'N' OR (r4.indcancelamento = 'S' AND "); sql.append(" (SELECT r3.numserie20 FROM fiscal_r3 r3 "); sql.append(" WHERE r3.numserie20 = r4.numserie20 AND r3.datamov = r4.datamov "); @@ -663,7 +674,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO return sql.toString(); } - private String sqlFiscaisECFPendenciasDesconto() { + private String sqlFiscaisECFPendenciasDesconto(boolean isEstadoTodos) { StringBuilder sql = new StringBuilder(); sql.append(" SELECT r4.numserie20 as numImpressora, "); @@ -695,7 +706,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO sql.append(" LEFT JOIN fiscal_impressora fi ON fi.numserie20 = r4.numserie20 AND fi.fiscalimpressora_id = r5.fiscalimpressora_id "); sql.append(" WHERE r4.datamov BETWEEN ? AND ? "); sql.append(" AND b.empresacorrida_id = ? "); - sql.append(" AND co.estado_id = ? "); + sql.append(isEstadoTodos ? "" : " AND co.estado_id = ? "); sql.append(" AND r5.impdesconto <> 0 "); sql.append(" GROUP BY r4.numserie20, r4.coo, r4.datamov, r4.cpfcnpjcliente, "); sql.append(" r4.imptotalliquido, fi.numcnpj, fi.numserie, r5.impdesconto, "); @@ -705,7 +716,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO return sql.toString(); } - private String sqlFiscaisECFPendenciasCancelado() { + private String sqlFiscaisECFPendenciasCancelado(boolean isEstadoTodos) { StringBuilder sql = new StringBuilder(); sql.append("SELECT r4.numserie20 as numImpressora, "); @@ -742,7 +753,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO sql.append(" INNER JOIN ciudad co ON o.ciudad_id = co.ciudad_id "); sql.append("WHERE r4.datamov BETWEEN ? AND ? "); sql.append(" AND b.empresacorrida_id = ? "); - sql.append(" AND co.estado_id = ? "); + sql.append(isEstadoTodos ? "" : " AND co.estado_id = ? "); sql.append(" AND r4.indcancelamento = 'S' "); sql.append(" AND (SELECT r3.numserie20 FROM fiscal_r3 r3 where r3.numserie20 = r4.numserie20"); sql.append(" AND r3.datamov = r4.datamov AND r3.totparcial IN ('Can-T')) IS NOT NULL "); @@ -758,7 +769,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO return sql.toString(); } - private String sqlFiscaisECFPendenciasGratuidade() { + private String sqlFiscaisECFPendenciasGratuidade(boolean isEstadoTodos) { StringBuilder sql = new StringBuilder(); sql.append("SELECT r4.numserie20 as numImpressora, "); @@ -795,7 +806,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO sql.append(" INNER JOIN ciudad co ON o.ciudad_id = co.ciudad_id "); sql.append("WHERE r4.datamov BETWEEN ? AND ? "); sql.append(" AND b.empresacorrida_id = ? "); - sql.append(" AND co.estado_id = ? "); + sql.append(isEstadoTodos ? "" : " AND co.estado_id = ? "); sql.append(" AND r5.imptotalliquido = 1 "); sql.append(" AND b.preciopagado = 0 "); sql.append("GROUP BY r4.numserie20, r4.coo, r4.datamov, "); @@ -810,7 +821,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO return sql.toString(); } - private String sqlFiscaisECFPendenciasInconsistente() { + private String sqlFiscaisECFPendenciasInconsistente(boolean isEstadoTodos) { StringBuilder sql = new StringBuilder(); sql.append("SELECT r4.numserie20 as numImpressora, "); @@ -847,7 +858,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO sql.append(" INNER JOIN ciudad co ON o.ciudad_id = co.ciudad_id "); sql.append("WHERE r4.datamov BETWEEN ? AND ? "); sql.append(" AND b.empresacorrida_id = ? "); - sql.append(" AND co.estado_id = ? "); + sql.append(isEstadoTodos ? "" : " AND co.estado_id = ? "); sql.append(" AND r4.indcancelamento = 'S' "); sql.append(" AND (SELECT MAX(r3.numserie20) FROM fiscal_r3 r3 where r3.numserie20 = r4.numserie20"); sql.append(" AND r3.datamov = r4.datamov AND r3.totparcial IN ('Can-T', 'DT')) IS NULL "); @@ -867,18 +878,18 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO public List buscaDatosFiscaisECF(Date inicio, Date fim, Integer empresaId, Integer estadoId, boolean isNormal, boolean isCancelados, boolean isPendencias, Connection connection) throws SQLException { if (isNormal) { - return montarItensECF(inicio, fim, empresaId, estadoId, connection, sqlFiscaisECF(), false); + return montarItensECF(inicio, fim, empresaId, estadoId, connection, sqlFiscaisECF(isEstadoTodos(estadoId)), false); } else if (isCancelados) { - return montarItensECF(inicio, fim, empresaId, estadoId, connection, sqlFiscaisECFCancelados(), true); + return montarItensECF(inicio, fim, empresaId, estadoId, connection, sqlFiscaisECFCancelados(isEstadoTodos(estadoId)), true); } else if (isPendencias) { List list = new ArrayList(); - list.addAll(montarItensECF(inicio, fim, empresaId, estadoId, connection, sqlFiscaisECFPendenciasCancelado(), false)); - list.addAll(montarItensECF(inicio, fim, empresaId, estadoId, connection, sqlFiscaisECFPendenciasDesconto(), false)); - list.addAll(montarItensECF(inicio, fim, empresaId, estadoId, connection, sqlFiscaisECFPendenciasInconsistente(), false)); - list.addAll(montarItensECF(inicio, fim, empresaId, estadoId, connection, sqlFiscaisECFPendenciasGratuidade(), false)); + list.addAll(montarItensECF(inicio, fim, empresaId, estadoId, connection, sqlFiscaisECFPendenciasCancelado(isEstadoTodos(estadoId)), false)); + list.addAll(montarItensECF(inicio, fim, empresaId, estadoId, connection, sqlFiscaisECFPendenciasDesconto(isEstadoTodos(estadoId)), false)); + list.addAll(montarItensECF(inicio, fim, empresaId, estadoId, connection, sqlFiscaisECFPendenciasInconsistente(isEstadoTodos(estadoId)), false)); + list.addAll(montarItensECF(inicio, fim, empresaId, estadoId, connection, sqlFiscaisECFPendenciasGratuidade(isEstadoTodos(estadoId)), false)); return list; } @@ -897,7 +908,9 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO stmt.setString(2, DateUtil.getStringDate(fim, DATE_FORMAT_FISCAL)); } stmt.setInt(3, empresaId); - stmt.setInt(4, estadoId); + + if (!isEstadoTodos(estadoId)) + stmt.setInt(4, estadoId); List list = new ArrayList(); ImportacionFiscalVO fiscal = null; @@ -1241,7 +1254,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO .append("WHERE TEE.ACTIVO = 1 ") .append("AND EE.EMPRESA_ID = ? ") .append("AND TRUNC(CD.FECHORVTA) BETWEEN ? AND ? ") - .append("AND ES.ESTADO_ID = ? ") + .append(isEstadoTodos(estadoId) ? "" : " AND ES.ESTADO_ID = ? ") .append("GROUP BY TEE.TIPOEVENTOEXTRA_ID, TEE.DESCTIPOEVENTO, TRUNC(CD.FECHORVTA) ") .append("ORDER BY TRUNC(CD.FECHORVTA), TEE.DESCTIPOEVENTO "); @@ -1249,7 +1262,9 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO stmt.setInt(1, empresaId); stmt.setDate(2, new java.sql.Date(inicio.getTime())); stmt.setDate(3, new java.sql.Date(fim.getTime())); - stmt.setInt(4, estadoId); + + if (!isEstadoTodos(estadoId)) + stmt.setInt(4, estadoId); rset = stmt.executeQuery(); List importacionNaoFiscalVOs = new ArrayList();