diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasBilheteiroSintetico.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasBilheteiroSintetico.java index d83ac47d9..763e147a6 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasBilheteiroSintetico.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasBilheteiroSintetico.java @@ -33,9 +33,15 @@ public class RelatorioVendasBilheteiroSintetico extends Relatorio { StringBuilder sql = new StringBuilder(); Boolean isDigitacao = parametros.get("ORGANIZADODIGITACAO")==null? false: (Boolean)parametros.get("ORGANIZADODIGITACAO"); + Boolean isFechamento = parametros.get("ORGANIZADOFECHAMENTO")==null? false: (Boolean)parametros.get("ORGANIZADOFECHAMENTO"); sql.append("select "); - sql.append(" pv.NUMPUNTOVENTA, us.cveusuario , us.NOMBUSUARIO, tpv.DESCTIPO,"); + sql.append(" pv.NUMPUNTOVENTA, us.cveusuario , us.NOMBUSUARIO, tpv.DESCTIPO, "); + + if(isFechamento) { + sql.append(" uc.CVEUSUARIO as USUARIOFEC, pvc.NUMPUNTOVENTA as NUMPUNTOVENTAFEC, "); + } + sql.append(" sum (case when ca.motivocancelacion_id is null then 1 else 0 end) qtdVendas, "); sql.append(" sum (case when ca.motivocancelacion_id is null then "); @@ -119,6 +125,18 @@ public class RelatorioVendasBilheteiroSintetico extends Relatorio { sql.append(" LEFT JOIN USUARIO_UBICACION udu on udu.USUARIO_ID = dv.USUARIO_ID and udu.ACTIVO = 1 "); } + if(isFechamento) { + sql.append(" INNER JOIN CORTE_TURNO ct "); + sql.append(" ON ca.FECCORTE = ct.FECCORTE "); + sql.append(" AND ca.USUARIO_ID = ct.ASESOR_ID "); + sql.append(" AND ca.PUNTOVENTA_ID = ct.PUNTOVENTA_ID "); + sql.append(" AND ca.TURNO_ID = ct.TURNO_ID "); + sql.append(" AND ca.ACTIVO = 1 "); + sql.append(" LEFT JOIN USUARIO_UBICACION uu on uu.USUARIO_ID = ct.USUARIO_ID and uu.ACTIVO = 1 "); + sql.append(" INNER JOIN usuario uc ON uc.usuario_id = ct.usuario_id "); + sql.append(" INNER JOIN punto_venta pvc ON pvc.puntoventa_id = uu.puntoventa_id "); + } + sql.append("where "); sql.append(" ca.indreimpresion = 0 "); sql.append(" and ca.feccorte >= :DATA_INICIAL "); @@ -130,15 +148,31 @@ public class RelatorioVendasBilheteiroSintetico extends Relatorio { if (parametros.get("NUMPUNTOVENTA") != null && !parametros.get("NUMPUNTOVENTA").toString().contains("-1")) { if (isDigitacao) { sql.append(" and udu.puntoventa_id IN (" + parametros.get("NUMPUNTOVENTA").toString() + ")"); + }else if (isFechamento) { + sql.append(" and uu.puntoventa_id IN (" + parametros.get("NUMPUNTOVENTA").toString() + ")"); }else { sql.append(" and ca.puntoventa_id IN (" + parametros.get("NUMPUNTOVENTA").toString() + ")"); } } + if (parametros.get("USUARIOIDS") != null && !parametros.get("USUARIOIDS").toString().contains("-1")) { + + if (isFechamento) { + sql.append(" and ct.usuario_id IN (" + parametros.get("USUARIOIDS").toString() + ")"); + }else { + sql.append(" and ca.usuario_id IN (" + parametros.get("USUARIOIDS").toString() + ")"); + } + } + if (parametros.get("TIPOPUNTOVENTA_ID") != null && !parametros.get("TIPOPUNTOVENTA_ID").toString().equals("-1")) { sql.append(" and pv.TIPOPTOVTA_ID = :TIPOPUNTOVENTA_ID "); } sql.append(" group by pv.NUMPUNTOVENTA, us.cveusuario, us.NOMBUSUARIO , tpv.DESCTIPO "); + + if(isFechamento) { + sql.append(" , uc.CVEUSUARIO, pvc.NUMPUNTOVENTA "); + } + sql.append(" order by pv.NUMPUNTOVENTA, us.NOMBUSUARIO "); NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql.toString()); @@ -155,6 +189,7 @@ public class RelatorioVendasBilheteiroSintetico extends Relatorio { ResultSet rset = stmt.executeQuery(); + rset.setFetchSize(1000); while (rset.next()) { Map dataResult = new HashMap(); @@ -167,6 +202,12 @@ public class RelatorioVendasBilheteiroSintetico extends Relatorio { dataResult.put("QTDCANCELADOS", rset.getInt("QTDCANCELADOS")); dataResult.put("VLRCANCELADOS", rset.getBigDecimal("VLRCANCELADOS")); dataResult.put("DESCTIPO", rset.getString("DESCTIPO")); + + if(isFechamento) { + dataResult.put("USUARIOFEC", rset.getString("USUARIOFEC")); + dataResult.put("NUMPUNTOVENTAFEC", rset.getString("NUMPUNTOVENTAFEC")); + } + this.dados.add(dataResult); } diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasBilheteiroSintetico.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasBilheteiroSintetico.jasper index 899a3f3d5..e525d00a7 100644 Binary files a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasBilheteiroSintetico.jasper and b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasBilheteiroSintetico.jasper differ diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasBilheteiroSintetico.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasBilheteiroSintetico.jrxml index 5e4a3f4e8..747f527fe 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasBilheteiroSintetico.jrxml +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasBilheteiroSintetico.jrxml @@ -1,8 +1,8 @@ - - + + - +