From bb10111a25bb50a9964b8add1925ae62f27643ba Mon Sep 17 00:00:00 2001 From: "wallace.henrique" Date: Tue, 12 Mar 2024 22:28:55 -0300 Subject: [PATCH 1/2] fixes bug#AL-3977 --- pom.xml | 2 +- ...latorioBilhetesVendidosEstoqueAgencia.java | 1 + ...hetesVendidosEstoqueAgenciaNovoLayout.java | 291 ++++++++++++++++++ .../relatorios/impl/RelatorioEstoque.java | 41 ++- ...idosEstoqueAgenciaNovoLayout_es.properties | 20 ++ ...sEstoqueAgenciaNovoLayout_pt_BR.properties | 20 ++ ...tesVendidosEstoqueAgenciaNovoLayout.jasper | Bin 0 -> 34102 bytes ...etesVendidosEstoqueAgenciaNovoLayout.jrxml | 264 ++++++++++++++++ .../templates/RelatorioEstoque.jasper | Bin 34715 -> 35659 bytes .../templates/RelatorioEstoque.jrxml | 30 +- .../ItemReporteControleEstoqueBoletos.java | 8 + ...rioBilhetesVendidosEstoqueAgenciaBean.java | 37 +++ .../RelatorioAidfDetalhadoController.java | 24 +- ...hetesVendidosEstoqueAgenciaController.java | 11 +- web/WEB-INF/i3-label_es_MX.label | 1 + web/WEB-INF/i3-label_pt_BR.label | 4 +- .../filtroRelatorioAidfDetalhado.zul | 7 +- ...elatorioBilhetesVendidosEstoqueAgencia.zul | 2 + 18 files changed, 739 insertions(+), 24 deletions(-) create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioBilhetesVendidosEstoqueAgenciaNovoLayout.java create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioBilhetesVendidosEstoqueAgenciaNovoLayout_es.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioBilhetesVendidosEstoqueAgenciaNovoLayout_pt_BR.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioBilhetesVendidosEstoqueAgenciaNovoLayout.jasper create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioBilhetesVendidosEstoqueAgenciaNovoLayout.jrxml diff --git a/pom.xml b/pom.xml index 3eafba0aa..cdefb5bb6 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 br.com.rjconsultores ventaboletosadm - 1.55.11 + 1.56.0 war diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioBilhetesVendidosEstoqueAgencia.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioBilhetesVendidosEstoqueAgencia.java index 0fd033790..6a1e13412 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioBilhetesVendidosEstoqueAgencia.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioBilhetesVendidosEstoqueAgencia.java @@ -192,6 +192,7 @@ public class RelatorioBilhetesVendidosEstoqueAgencia extends Relatorio { sql.append(" em.nombEmpresa, AIT.DESCTIPO "); sql.append(" )TB "); sql.append(" ORDER BY to_number(TB.FOLIO) "); + System.out.println(sql.toString()); return sql.toString(); diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioBilhetesVendidosEstoqueAgenciaNovoLayout.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioBilhetesVendidosEstoqueAgenciaNovoLayout.java new file mode 100644 index 000000000..d5c04309f --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioBilhetesVendidosEstoqueAgenciaNovoLayout.java @@ -0,0 +1,291 @@ +/** + * + */ +package com.rjconsultores.ventaboletos.relatorios.impl; + +import java.math.BigDecimal; +import java.sql.Connection; +import java.sql.ResultSet; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import com.rjconsultores.ventaboletos.relatorios.utilitarios.ArrayDataSource; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.RelatorioBilhetesVendidosEstoqueAgenciaBean; +import com.rjconsultores.ventaboletos.utilerias.DateUtil; +import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement; + +import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource; + +/** + * @author Wallace + * + */ +public class RelatorioBilhetesVendidosEstoqueAgenciaNovoLayout extends Relatorio { + private List lsDadosRelatorio; + + public RelatorioBilhetesVendidosEstoqueAgenciaNovoLayout(Map parametros, Connection conexao) throws Exception { + super(parametros, conexao); + + this.setCustomDataSource(new ArrayDataSource(this) { + @SuppressWarnings("unused") + @Override + public void initDados() throws Exception { + + Connection conexao = this.relatorio.getConexao(); + Map parametros = this.relatorio.getParametros(); + String pnutoVentasIds = (String) parametros.get("NUMPUNTOVENTA"); + Integer empresa = (Integer) parametros.get("EMPRESA_ID"); + Date datainicial = (Date) parametros.get("DATA_INICIAL"); + Date dataFinal = (Date) parametros.get("DATA_FINAL"); + Integer aidfTipoId = (Integer) parametros.get("AIDFTIPO_ID"); + + NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql(pnutoVentasIds, aidfTipoId)); + + stmt.setInt("EMPRESA_ID", empresa); + stmt.setString("dataInicio", DateUtil.getStringDate(datainicial, "dd/MM/yyyy") + " 00:00:00"); + stmt.setString("dataFinal", DateUtil.getStringDate(dataFinal, "dd/MM/yyyy") + " 23:59:59"); + if(aidfTipoId != null) { + stmt.setInt("aidfTipo",aidfTipoId); + } + + ResultSet rset = stmt.executeQuery(); + List lsTemp = new ArrayList<>(); + List lsRelatorioBilhetesVendidosEstoqueAgenciaBean = new ArrayList<>(); + List lsRelatorioBilhetesVendidosEstoqueAgenciaBeanGeradoSequencia = new ArrayList<>(); + while (rset.next()) { + + Map dataResult = new HashMap(); + + RelatorioBilhetesVendidosEstoqueAgenciaBean bean = new RelatorioBilhetesVendidosEstoqueAgenciaBean(); + bean.setAidfId(rset.getInt("aidfId")); + bean.setNombpuntoventa(rset.getString("descpuntoVenta")); + bean.setSerie(rset.getString("serie")); + bean.setFechorVenta(DateUtil.getDateFromString(rset.getString("dataVenda"), "ddMMyyyy")); + bean.setChave(rset.getString("chave")); + bean.setFolio(rset.getString("folio")); + bean.setNomeEmpresa(rset.getString("nomeEmpresa")); + bean.setTipoEvento(rset.getString("tipoAidf")); + bean.setValorContabil((BigDecimal)rset.getObject("valorContabil")); + bean.setOrigem(rset.getString("origem")); + bean.setDestino(rset.getString("destino")); + bean.setEstado(rset.getString("estado")); + lsRelatorioBilhetesVendidosEstoqueAgenciaBean.add(bean); + + this.dados.add(dataResult); + + } + + this.resultSet = rset; + setLsDadosRelatorio(lsRelatorioBilhetesVendidosEstoqueAgenciaBean); + } + }); + } + + public void setLsDadosRelatorio(List lsDadosRelatorio) { + this.setCollectionDataSource(new JRBeanCollectionDataSource(lsDadosRelatorio)); + this.lsDadosRelatorio = lsDadosRelatorio; + } + + public List getLsDadosRelatorio() { + return lsDadosRelatorio; + } + + private String sql(String puntoVentasId, Integer aidfTipoId) { + + StringBuilder sql = new StringBuilder(); + sql.append(" SELECT TB.aidfId AS aidfId, "); + sql.append(" TB.descpuntoVenta AS descpuntoVenta, "); + sql.append(" TB.SERIE AS serie, "); + sql.append(" TB.puntoventaId, "); + sql.append(" TB.dataVenda AS dataVenda, "); + sql.append(" TB.chave AS chave, "); + sql.append(" TB.nomeEmpresa AS nomeEmpresa, "); + sql.append(" TB.folio AS folio, "); + sql.append(" TB.tipoAidf AS tipoAidf, "); + sql.append(" tb.VALOR AS valorContabil, "); + sql.append(" tb.origen as origem, "); + sql.append(" tb.destino as destino, "); + sql.append(" tb.estado as estado "); + sql.append(" FROM "); + sql.append(" (SELECT DAB.AIDF_ID AS aidfId, "); + sql.append(" pv.nombpuntoventa AS descpuntoVenta, "); + sql.append(" c.numseriepreimpresa AS SERIE, "); + sql.append(" c.puntoventa_id AS puntoventaId, "); + sql.append(" to_char(c.fechorventa, 'ddMMyyyy') AS dataVenda,"); + sql.append(" DAB.AIDF_ID || c.numseriepreimpresa || c.puntoventa_id || to_char(c.fechorventa, 'ddMMyyyy') AS chave, "); + sql.append(" em.nombEmpresa AS nomeEmpresa, "); + sql.append(" c.numfoliopreimpreso AS folio, "); + sql.append(" AIT.DESCTIPO tipoAidf,"); + sql.append(" COALESCE(COALESCE(c.PRECIOPAGADO, 0) + COALESCE(c.IMPORTETAXAEMBARQUE, 0) + COALESCE(c.IMPORTESEGURO, 0) + COALESCE(c.IMPORTEPEDAGIO, 0) + COALESCE(c.IMPORTEOUTROS, 0), 0) AS VALOR, "); + sql.append(" po.descparada AS origen, "); + sql.append(" pd.descparada AS destino, est.nombestado as estado "); + sql.append(" FROM caja c, "); + sql.append(" PUNTO_VENTA PV, "); + sql.append(" EMPRESA EM, "); + sql.append(" parada po, "); + sql.append(" ciudad co, "); + sql.append(" parada pd, "); + sql.append(" ciudad cd, "); + sql.append(" estado est, "); + sql.append(" AIDF_TIPO AIT, "); + sql.append(" AIDF AI, "); + sql.append(" ABASTO_BOLETO AB "); + sql.append(" LEFT JOIN DET_ABASTO_BOLETO DAB ON (AB.ABASTOBOLETO_ID = DAB.ABASTOBOLETO_ID) "); + sql.append(" WHERE fechorventa BETWEEN TO_DATE(:dataInicio,'dd/mm/yyyy hh24:mi:ss') AND TO_DATE(:dataFinal,'dd/mm/yyyy hh24:mi:ss') "); + sql.append(" AND TO_NUMBER(c.NUMFOLIOPREIMPRESO) BETWEEN TO_NUMBER(DAB.NUMFOLIOINICIAL) AND TO_NUMBER(DAB.NUMFOLIOFINAL) "); + sql.append(" AND c.PUNTOVENTA_ID = AB.PUNTOVENTA_ID "); + if (puntoVentasId != null && !puntoVentasId.equals("-1")) { + sql.append(" AND c.PUNTOVENTA_ID in (" + puntoVentasId + ") "); + } + sql.append(" AND EM.EMPRESA_ID = AB.EMPRESA_ID "); + sql.append(" AND c.PUNTOVENTA_ID = PV.PUNTOVENTA_ID "); + sql.append(" AND DAB.AIDF_ID = AI.AIDF_ID "); + sql.append(" AND AIT.AIDFTIPO_ID = AI.AIDFTIPO_ID "); + sql.append(" AND EM.EMPRESA_ID =:EMPRESA_ID "); + sql.append(" AND po.parada_id = c.origen_id "); + sql.append(" AND co.ciudad_id = po.ciudad_id "); + sql.append(" AND pd.parada_id = c.destino_id "); + sql.append(" AND cd.ciudad_id = pd.ciudad_id "); + sql.append(" AND est.estado_id = co.estado_id "); + sql.append(" and c.INDSTATUSBOLETO = 'V' AND c.MOTIVOCANCELACION_ID IS NULL "); + sql.append(" AND EM.EMPRESA_ID =:EMPRESA_ID "); + sql.append(" GROUP BY DAB.AIDF_ID, "); + sql.append(" c.numseriepreimpresa, "); + sql.append(" c.numfoliopreimpreso, "); + sql.append(" c.puntoventa_id, "); + sql.append(" to_char(c.fechorventa, 'ddMMyyyy'), "); + sql.append(" pv.nombpuntoventa, "); + sql.append(" em.nombEmpresa, "); + sql.append(" AIT.DESCTIPO, "); + sql.append(" c.preciopagado, "); + sql.append(" c.IMPORTETAXAEMBARQUE, "); + sql.append(" c.IMPORTESEGURO, "); + sql.append(" c.importepedagio, "); + sql.append(" c.IMPORTEOUTROS, "); + sql.append(" po.descparada, "); + sql.append(" pd.descparada, est.nombestado "); + sql.append(" UNION ALL SELECT DAB.AIDF_ID AS aidfId, "); + sql.append(" pv.nombpuntoventa AS descpuntoVenta, "); + sql.append(" c.numseriepreimpresa AS SERIE, "); + sql.append(" c.puntoventa_id AS puntoventaId, "); + sql.append(" to_char(c.FECHORVTA, 'ddMMyyyy') AS dataVenda, "); + sql.append(" DAB.AIDF_ID || c.numseriepreimpresa || c.puntoventa_id || to_char(c.FECHORVTA, 'ddMMyyyy') AS chave, "); + sql.append(" em.nombEmpresa AS nomeEmpresa, "); + sql.append(" c.numfoliopreimpreso AS folio,"); + sql.append(" AIT.DESCTIPO tipoAidf, "); + sql.append(" c.PRECIO, "); + sql.append(" ' ' AS origen, "); + sql.append(" ' ' AS desgtino, "); + sql.append(" ' ' AS estado "); + sql.append(" FROM caja_diversos c, "); + sql.append(" PUNTO_VENTA PV, "); + sql.append(" EMPRESA EM, "); + sql.append(" AIDF AI, "); + sql.append(" AIDF_TIPO AIT, "); + sql.append(" ABASTO_BOLETO AB "); + sql.append(" LEFT JOIN DET_ABASTO_BOLETO DAB ON (AB.ABASTOBOLETO_ID = DAB.ABASTOBOLETO_ID) "); + sql.append(" WHERE FECHORVTA BETWEEN TO_DATE(:dataInicio,'dd/mm/yyyy hh24:mi:ss') AND TO_DATE(:dataFinal,'dd/mm/yyyy hh24:mi:ss') "); + sql.append(" AND TO_NUMBER(c.NUMFOLIOPREIMPRESO) BETWEEN TO_NUMBER(DAB.NUMFOLIOINICIAL) AND TO_NUMBER(DAB.NUMFOLIOFINAL) "); + sql.append(" AND c.PUNTOVENTA_ID = AB.PUNTOVENTA_ID "); + if (puntoVentasId != null && !puntoVentasId.equals("-1")) { + sql.append(" AND c.PUNTOVENTA_ID in (" + puntoVentasId + ") "); + } + sql.append(" AND EM.EMPRESA_ID = AB.EMPRESA_ID "); + sql.append(" AND c.PUNTOVENTA_ID = PV.PUNTOVENTA_ID "); + sql.append(" AND DAB.AIDF_ID = AI.AIDF_ID "); + sql.append(aidfTipoId != null ? " AND (AI.AIDFTIPO_ID =:aidfTipo AND AIT.AIDFTIPO_ID = AI.AIDFTIPO_ID) " : " AND AIT.AIDFTIPO_ID = AI.AIDFTIPO_ID "); + sql.append(" AND EM.EMPRESA_ID =:EMPRESA_ID "); + sql.append(" GROUP BY DAB.AIDF_ID, "); + sql.append(" c.numseriepreimpresa, "); + sql.append(" c.numfoliopreimpreso, "); + sql.append(" c.puntoventa_id, "); + sql.append(" to_char(c.FECHORVTA, 'ddMMyyyy'), "); + sql.append(" pv.nombpuntoventa, "); + sql.append(" em.nombEmpresa, "); + sql.append(" AIT.DESCTIPO, "); + sql.append(" c.PRECIO)TB "); + sql.append(" ORDER BY to_number(TB.FOLIO) "); + + return sql.toString(); + + + } + + private List agruparSequenciasBilhetes(List lista) { + + + int[] bilhetesInt = new int[lista.size()]; + int i = 0; + + for (RelatorioBilhetesVendidosEstoqueAgenciaBean relatorioBilhetesVendidosEstoqueAgenciaBean : lista) { + bilhetesInt[i] = Integer.parseInt(relatorioBilhetesVendidosEstoqueAgenciaBean.getFolio()); + i++; + } + Arrays.sort(bilhetesInt); + List listaAgrupada = new ArrayList<>(); + + RelatorioBilhetesVendidosEstoqueAgenciaBean bean = lista.get(0); + + bilhetesInt = reajustarPosicaoArray(bilhetesInt.length, bilhetesInt, bilhetesInt[0], 1); + int inicio = bilhetesInt[0]; + int fim = bilhetesInt.length == 1 ? bilhetesInt[0] : bilhetesInt[1]; + BigDecimal valorContabil = BigDecimal.ZERO; + for (int j = 2; j < bilhetesInt.length; ++j) { + if (fim + 1 == bilhetesInt[j]) { + fim++; + } else { + listaAgrupada.add(gerarAgrupamento(inicio, fim, new RelatorioBilhetesVendidosEstoqueAgenciaBean(bean))); + inicio = bilhetesInt[j]; + fim = bilhetesInt[j]; + } + } + + listaAgrupada.add(gerarAgrupamento(inicio, fim, bean)); + + return listaAgrupada; + } + + + private RelatorioBilhetesVendidosEstoqueAgenciaBean gerarAgrupamento(int inicio, int fim, RelatorioBilhetesVendidosEstoqueAgenciaBean bean) { + + RelatorioBilhetesVendidosEstoqueAgenciaBean object = new RelatorioBilhetesVendidosEstoqueAgenciaBean(bean); + + + if (inicio != fim) { + object.setQuantidade((fim-inicio+1)); + object.setFolioInicial(inicio); + object.setFolioFinal(fim); + + } else { + object.setQuantidade(1); + object.setFolioInicial(inicio); + object.setFolioFinal(inicio); + } + return object; + } + private int[] reajustarPosicaoArray(int numero, int arr[],int x, int posicao) + { + int novoArray[] = new int[numero + 1]; + + for (int i = 0; i < numero + 1; i++) { + if (i < posicao - 1) + novoArray[i] = arr[i]; + else if (i == posicao - 1) + novoArray[i] = x; + else + novoArray[i] = arr[i - 1]; + } + return novoArray; + } + + @Override + protected void processaParametros() throws Exception { + + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioEstoque.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioEstoque.java index 6fcd8c33d..bbdc50fc7 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioEstoque.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioEstoque.java @@ -35,6 +35,7 @@ public class RelatorioEstoque extends Relatorio { Date dtInicio = (Date) parametros.get("DATA_INICIO"); Date dtFim = (Date) parametros.get("DATA_FIM"); Integer aidfTipoId = (Integer) parametros.get("AIDFTIPO_ID"); + Integer aidfId = (Integer) parametros.get("AIDF_ID"); if (parametros.get("EMPRESA_ID") != null) { empresaId = Integer.valueOf(parametros.get("EMPRESA_ID").toString()); @@ -42,7 +43,7 @@ public class RelatorioEstoque extends Relatorio { if (parametros.get("NUMPUNTOVENTA") != null) { puntoVentaId = String.valueOf(parametros.get("NUMPUNTOVENTA")); } - String sql = retornarItensConsultaPorPuloFolio(puntoVentaId,empresaId, dtInicio, dtFim, aidfTipoId); + String sql = retornarItensConsultaPorPuloFolio(puntoVentaId,empresaId, dtInicio, dtFim, aidfTipoId, aidfId); NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql); if(dtInicio != null && dtFim != null) { stmt.setString("dataInicio", DateUtil.getStringDate(dtInicio, "dd/MM/yyyy") + " 00:00:00"); @@ -53,6 +54,9 @@ public class RelatorioEstoque extends Relatorio { if(aidfTipoId != null) { stmt.setInt("aidfTipo",aidfTipoId); } + if(aidfId != null) { + stmt.setInt("aidfId",aidfId); + } lsDadosRelatorio = new ArrayList(); ResultSet rset = null; @@ -81,7 +85,7 @@ public class RelatorioEstoque extends Relatorio { this.resultSet = rset; - String sqlretornEstoque = sQLretornarEstoque(puntoVentaId, dtInicio, dtFim,empresaId, aidfTipoId); + String sqlretornEstoque = sQLretornarEstoque(puntoVentaId, dtInicio, dtFim,empresaId, aidfTipoId, aidfId); NamedParameterStatement stmt2 = new NamedParameterStatement(conexao, sqlretornEstoque); @@ -94,6 +98,9 @@ public class RelatorioEstoque extends Relatorio { if(aidfTipoId != null) { stmt2.setInt("aidfTipo",aidfTipoId); } + if(aidfId != null) { + stmt2.setInt("aidfId",aidfId); + } ResultSet rset2 = null; rset2 = stmt2.executeQuery(); @@ -143,6 +150,7 @@ public class RelatorioEstoque extends Relatorio { for (ItemReporteControleEstoqueBoletos itemEstoque : lsEstoque) { if(!lsTempRetornoAux.contains(itemEstoque)) { + itemEstoque.setQuantidade(calcularQuantidade(itemEstoque.getFolioInicial(), itemEstoque.getFolioFinal())); lsTempRetornoAux.add(itemEstoque); } } @@ -172,7 +180,7 @@ public class RelatorioEstoque extends Relatorio { - private String retornarItensConsultaPorPuloFolio(String puntoVentaId, Integer empresaId, Date dataInicio, Date dataFim, Integer aidfTipo) { + private String retornarItensConsultaPorPuloFolio(String puntoVentaId, Integer empresaId, Date dataInicio, Date dataFim, Integer aidfTipo, Integer aidfId) { StringBuilder sb = new StringBuilder(); @@ -246,7 +254,7 @@ public class RelatorioEstoque extends Relatorio { sb.append(" AND A.ARTICULO_ID = AB.ARTICULO_ID "); sb.append(" AND EM.EMPRESA_ID = AB.EMPRESA_ID "); sb.append(" AND M.EMPRESA_ID = EM.EMPRESA_ID "); - sb.append(" AND M.ACTIVO = 1 AND DAB.AIDF_ID = AI.AIDF_ID "); + sb.append(" AND M.ACTIVO = 1 "); sb.append(" AND CJ.USUARIO_ID = U.USUARIO_ID "); sb.append(" AND (CJ.INDREIMPRESION = 0 "); sb.append(" OR (CJ.INDREIMPRESION = 1 "); @@ -255,6 +263,7 @@ public class RelatorioEstoque extends Relatorio { sb.append(" AND DAB.ACTIVO = 1 "); sb.append(" AND AB.activo =1 AND AI.activo = 1 and est.estado_id = ai.ESTADO_ID "); sb.append(aidfTipo != null ? " AND (AI.AIDFTIPO_ID =:aidfTipo AND AIT.AIDFTIPO_ID = AI.AIDFTIPO_ID) " : " AND AIT.AIDFTIPO_ID = AI.AIDFTIPO_ID "); + sb.append(aidfId != null ? " AND (AI.AIDF_ID =:aidfId AND DAB.AIDF_ID = AI.AIDF_ID) " : " AND DAB.AIDF_ID = AI.AIDF_ID "); sb.append(" GROUP BY DAB.AIDF_ID, "); sb.append(" DAB.NUMSERIEPREIMPRESA, "); sb.append(" CJ.NUMFOLIOPREIMPRESO, "); @@ -326,12 +335,13 @@ public class RelatorioEstoque extends Relatorio { sb.append(" AND A.ARTICULO_ID = AB.ARTICULO_ID "); sb.append(" AND EM.EMPRESA_ID = AB.EMPRESA_ID "); sb.append(" AND M.EMPRESA_ID = EM.EMPRESA_ID "); - sb.append(" AND M.ACTIVO = 1 AND DAB.AIDF_ID = AI.AIDF_ID "); + sb.append(" AND M.ACTIVO = 1 "); sb.append(" AND CJ.USUARIO_ID = U.USUARIO_ID "); sb.append(" AND CJ.PUNTOVENTA_ID = PV.PUNTOVENTA_ID "); sb.append(" AND DAB.ACTIVO = 1 "); sb.append(" AND AB.activo =1 AND AI.activo = 1 and est.estado_id = ai.ESTADO_ID "); sb.append(aidfTipo != null ? " AND (AI.AIDFTIPO_ID =:aidfTipo AND AIT.AIDFTIPO_ID = AI.AIDFTIPO_ID) " : " AND AIT.AIDFTIPO_ID = AI.AIDFTIPO_ID "); + sb.append(aidfId != null ? " AND (AI.AIDF_ID =:aidfId AND DAB.AIDF_ID = AI.AIDF_ID) " : " AND DAB.AIDF_ID = AI.AIDF_ID "); sb.append(" GROUP BY DAB.AIDF_ID, "); sb.append(" DAB.NUMSERIEPREIMPRESA, "); sb.append(" CJ.NUMFOLIOPREIMPRESO, "); @@ -351,11 +361,13 @@ public class RelatorioEstoque extends Relatorio { sb.append(" ORDER BY TB.aidfId, "); sb.append(" TB.serie, "); sb.append(" TB.folioCaja "); + System.out.println(sb.toString()); + return sb.toString(); } - private String sQLretornarEstoque(String puntoVentaId, Date dataInicio, Date dataFim, Integer empresaId, Integer aidfTipo) { + private String sQLretornarEstoque(String puntoVentaId, Date dataInicio, Date dataFim, Integer empresaId, Integer aidfTipo, Integer aidfId) { StringBuilder queryString = new StringBuilder("SELECT DISTINCT to_date(to_char(ai.fecvencimiento, 'dd/MM/yyyy'), 'dd/MM/yyyy') as fecVencimento, to_date(to_char(AI.fecadquisicion, 'dd/MM/yyyy'), 'dd/MM/yyyy') as fechorAquisicion, ") .append("dab.NUMSERIEPREIMPRESA as serie, ") @@ -413,7 +425,8 @@ public class RelatorioEstoque extends Relatorio { .append("AND dab.ACTIVO = 1 ") .append(" and dab.NUMFOLIOFINAL < 2147483647 ") .append(" AND DAB.AIDF_ID = AI.AIDF_ID and ai.activo = 1 ") - .append(aidfTipo != null ? " AND AI.AIDFTIPO_ID = :aidfTipo " : " "); + .append(aidfTipo != null ? " AND AI.AIDFTIPO_ID = :aidfTipo " : " ") + .append(aidfId != null ? " AND AI.AIDF_ID = :aidfId " : " "); @@ -471,7 +484,8 @@ public class RelatorioEstoque extends Relatorio { ItemReporteStockBoletos.setFolioInicial(String.valueOf(a[i - length])); ItemReporteStockBoletos.setFolioAtual(String.valueOf(a[i - length])); - ItemReporteStockBoletos.setFolioFinal(String.valueOf(a[i - length])); + ItemReporteStockBoletos.setFolioFinal(String.valueOf(a[i - length])); + ItemReporteStockBoletos.setQuantidade(calcularQuantidade(ItemReporteStockBoletos.getFolioInicial(), ItemReporteStockBoletos.getFolioFinal())); list.add(ItemReporteStockBoletos); } } @@ -479,7 +493,8 @@ public class RelatorioEstoque extends Relatorio { ItemReporteStockBoletos.setFolioInicial(String.valueOf(a[i - length])); ItemReporteStockBoletos.setFolioAtual(String.valueOf(a[i - length])); - ItemReporteStockBoletos.setFolioFinal(String.valueOf(a[i - 1])); + ItemReporteStockBoletos.setFolioFinal(String.valueOf(a[i - 1])); + ItemReporteStockBoletos.setQuantidade(calcularQuantidade(ItemReporteStockBoletos.getFolioInicial(), ItemReporteStockBoletos.getFolioFinal())); list.add(ItemReporteStockBoletos); } length = 1; @@ -492,6 +507,14 @@ public class RelatorioEstoque extends Relatorio { return list; } + private Integer calcularQuantidade(String folioInicial, String folioFinal) { + + Integer folioInicialInt = Integer.valueOf(folioInicial); + Integer folioFinalInt = Integer.valueOf(folioFinal); + return folioInicialInt == folioFinalInt ? 1 : (folioFinalInt - folioInicialInt); + + } + private int[] recuperarOsFaltantes(List listEstoque) { int arrayTemp[] = null; ItemReporteControleEstoqueBoletos item = new ItemReporteControleEstoqueBoletos(); diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioBilhetesVendidosEstoqueAgenciaNovoLayout_es.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioBilhetesVendidosEstoqueAgenciaNovoLayout_es.properties new file mode 100644 index 000000000..6128dbef4 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioBilhetesVendidosEstoqueAgenciaNovoLayout_es.properties @@ -0,0 +1,20 @@ +#geral +msg.noData=Não foi possivel obter dados com os parâmetros informados. + +#Labels cabeçalho +cabecalho.relatorio=Relatório: +cabecalho.periodo=Período: +cabecalho.periodoA=à +cabecalho.dataHora=Data/Hora: +cabecalho.impressorPor=Impressor por: +cabecalho.pagina=Página +cabecalho.de=de +cabecalho.filtros=Filtros: + +#Labels header +label.aidf=AIDF +label.empresa=Empresa +label.agencia=Agencia +label.serie=Serie +label.bilhete=Bilhetes +label.numeracao=Numeração diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioBilhetesVendidosEstoqueAgenciaNovoLayout_pt_BR.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioBilhetesVendidosEstoqueAgenciaNovoLayout_pt_BR.properties new file mode 100644 index 000000000..6128dbef4 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioBilhetesVendidosEstoqueAgenciaNovoLayout_pt_BR.properties @@ -0,0 +1,20 @@ +#geral +msg.noData=Não foi possivel obter dados com os parâmetros informados. + +#Labels cabeçalho +cabecalho.relatorio=Relatório: +cabecalho.periodo=Período: +cabecalho.periodoA=à +cabecalho.dataHora=Data/Hora: +cabecalho.impressorPor=Impressor por: +cabecalho.pagina=Página +cabecalho.de=de +cabecalho.filtros=Filtros: + +#Labels header +label.aidf=AIDF +label.empresa=Empresa +label.agencia=Agencia +label.serie=Serie +label.bilhete=Bilhetes +label.numeracao=Numeração diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioBilhetesVendidosEstoqueAgenciaNovoLayout.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioBilhetesVendidosEstoqueAgenciaNovoLayout.jasper new file mode 100644 index 0000000000000000000000000000000000000000..538f59b748670a0a4bbfe1f9f2ba3dfd4a20f1a0 GIT binary patch literal 34102 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioEstoque.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioEstoque.jasper index 9ee375011805386f4044bda0de0ed87a38da95ca..5a7fcefac9b244aee65bd3d4ecd8822f60705162 100644 GIT binary patch literal 35659 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 Z$IlyP+xda{RT&bo5?dU*Rp3JMe*jnjUUmQg delta 11420 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 - - - + + + @@ -24,6 +24,7 @@ + @@ -111,7 +112,7 @@ - + @@ -146,7 +147,7 @@ - + @@ -173,6 +174,13 @@ + + + + + + + @@ -193,7 +201,7 @@ - + @@ -230,7 +238,7 @@ - + @@ -257,6 +265,14 @@ + + + + + + + + diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/ItemReporteControleEstoqueBoletos.java b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/ItemReporteControleEstoqueBoletos.java index c5f758c1e..f61a7f4c0 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/ItemReporteControleEstoqueBoletos.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/ItemReporteControleEstoqueBoletos.java @@ -32,6 +32,7 @@ public class ItemReporteControleEstoqueBoletos { private Integer numfoliopreimpreso; private String ID; private String tipoAidf; + private Integer quantidade; public Integer getEstacionId() { @@ -191,6 +192,13 @@ public class ItemReporteControleEstoqueBoletos { public void setTipoAidf(String tipoAidf) { this.tipoAidf = tipoAidf; } + + public Integer getQuantidade() { + return quantidade; + } + public void setQuantidade(Integer quantidade) { + this.quantidade = quantidade; + } @Override public int hashCode() { final int prime = 31; diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioBilhetesVendidosEstoqueAgenciaBean.java b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioBilhetesVendidosEstoqueAgenciaBean.java index 50ef35b41..f68accf92 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioBilhetesVendidosEstoqueAgenciaBean.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioBilhetesVendidosEstoqueAgenciaBean.java @@ -1,5 +1,6 @@ package com.rjconsultores.ventaboletos.relatorios.utilitarios; +import java.math.BigDecimal; import java.util.Date; public class RelatorioBilhetesVendidosEstoqueAgenciaBean { @@ -16,6 +17,10 @@ public class RelatorioBilhetesVendidosEstoqueAgenciaBean { private String range; private String chave; private String folio; + private String origem; + private String destino; + private BigDecimal valorContabil; + private String estado; public RelatorioBilhetesVendidosEstoqueAgenciaBean(RelatorioBilhetesVendidosEstoqueAgenciaBean bean) { @@ -107,5 +112,37 @@ public class RelatorioBilhetesVendidosEstoqueAgenciaBean { public void setFolio(String folio) { this.folio = folio; } + + public String getOrigem() { + return origem; + } + + public void setOrigem(String origem) { + this.origem = origem; + } + + public String getDestino() { + return destino; + } + + public void setDestino(String destino) { + this.destino = destino; + } + + public BigDecimal getValorContabil() { + return valorContabil; + } + + public void setValorContabil(BigDecimal valorContabil) { + this.valorContabil = valorContabil; + } + + public String getEstado() { + return estado; + } + + public void setEstado(String estado) { + this.estado = estado; + } } diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioAidfDetalhadoController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioAidfDetalhadoController.java index 2536e9801..5745bcaa2 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioAidfDetalhadoController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioAidfDetalhadoController.java @@ -2,6 +2,8 @@ package com.rjconsultores.ventaboletos.web.gui.controladores.relatorios; import java.util.ArrayList; import java.util.Arrays; +import java.util.Collections; +import java.util.Comparator; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -19,16 +21,20 @@ import org.zkoss.zul.Bandbox; import org.zkoss.zul.Combobox; import org.zkoss.zul.Comboitem; import org.zkoss.zul.Datebox; +import org.zkoss.zul.Intbox; import org.zkoss.zul.Paging; import org.zkoss.zul.Textbox; +import com.rjconsultores.ventaboletos.entidad.Aidf; import com.rjconsultores.ventaboletos.entidad.AidfTipo; import com.rjconsultores.ventaboletos.entidad.Empresa; import com.rjconsultores.ventaboletos.entidad.PuntoVenta; import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioEstoque; import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.RelatorioBilhetesVendidosEstoqueAgenciaBean; import com.rjconsultores.ventaboletos.service.AidfService; import com.rjconsultores.ventaboletos.service.EmpresaService; +import com.rjconsultores.ventaboletos.utilerias.DateUtil; import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar; import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; @@ -55,6 +61,9 @@ public class RelatorioAidfDetalhadoController extends MyGenericForwardComposer { private Textbox txtFimForm; private List lsAidfTipo; private Combobox cmbAidfTipo; + private Intbox aidfIdIntBox; + + @Autowired private transient PagedListWrapper plwPuntoVenta; @@ -81,6 +90,7 @@ public class RelatorioAidfDetalhadoController extends MyGenericForwardComposer { puntoVentaList.setItemRenderer(new RenderRelatorioVendasBilheteiro()); puntoVentaSelList.setItemRenderer(new RenderRelatorioVendasBilheteiroSelecionados()); lsAidfTipo = aidfService.obtenerTodosAdifTipo(); + } /** @@ -138,6 +148,15 @@ public class RelatorioAidfDetalhadoController extends MyGenericForwardComposer { } else { filtro.append(" Todas; "); } + + + if (aidfIdIntBox.getValue() != null) { + Integer aidfId = aidfIdIntBox.getValue(); + parametros.put("AIDF_ID", aidfId ); + filtro.append(aidfId + ";"); + } else { + filtro.append(" Todas; "); + } parametros.put("FILTROS", filtro.toString()); relatorio = new RelatorioEstoque(parametros, dataSourceRead.getConnection()); @@ -302,6 +321,7 @@ public class RelatorioAidfDetalhadoController extends MyGenericForwardComposer { public void setLsAidfTipo(List lsAidfTipo) { this.lsAidfTipo = lsAidfTipo; - } - + } + + } diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioBilhetesVendidosEstoqueAgenciaController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioBilhetesVendidosEstoqueAgenciaController.java index c185a1e2f..84a1ec6bf 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioBilhetesVendidosEstoqueAgenciaController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioBilhetesVendidosEstoqueAgenciaController.java @@ -31,6 +31,7 @@ import com.rjconsultores.ventaboletos.entidad.PuntoVenta; import com.rjconsultores.ventaboletos.enums.IndStatusBoleto; import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioBilhetesVendidos; import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioBilhetesVendidosEstoqueAgencia; +import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioBilhetesVendidosEstoqueAgenciaNovoLayout; import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioBilhetesVendidosNovoLayout; import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; import com.rjconsultores.ventaboletos.service.AidfService; @@ -135,7 +136,7 @@ public class RelatorioBilhetesVendidosEstoqueAgenciaController extends MyGeneric executarRelatorio(false); } - public void onClick$btnExecutarRelatorioNovoLayout(Event ev) throws Exception { + public void onClick$btnExecutarRelatorioConsumoDetalhado(Event ev) throws Exception { executarRelatorio(true); } @@ -200,13 +201,17 @@ public class RelatorioBilhetesVendidosEstoqueAgenciaController extends MyGeneric filtro.append(" Todas; "); } - relatorio = new RelatorioBilhetesVendidosEstoqueAgencia(parametros, dataSourceRead.getConnection()); + if(novoLayout) { + relatorio = new RelatorioBilhetesVendidosEstoqueAgenciaNovoLayout(parametros, dataSourceRead.getConnection()); + }else{ + relatorio = new RelatorioBilhetesVendidosEstoqueAgencia(parametros, dataSourceRead.getConnection()); + } parametros.put("FILTROS", filtro.toString()); Map args = new HashMap(); args.put("relatorio", relatorio); - openWindow("/component/reportView.zul", Labels.getLabel("relatorioBilhetesVendidosController.window.title"), args, MODAL); + openWindow("/component/reportView.zul", Labels.getLabel("relatorioBilhetesVendidosEstoqueAgenciaController.window.title"), args, MODAL); } public List getLsAidfTipo() { diff --git a/web/WEB-INF/i3-label_es_MX.label b/web/WEB-INF/i3-label_es_MX.label index 9c853bd15..ab5ab3fd8 100644 --- a/web/WEB-INF/i3-label_es_MX.label +++ b/web/WEB-INF/i3-label_es_MX.label @@ -1104,6 +1104,7 @@ relatorioAidfDetalhadoController.lbFormInicial.value = Form. Inicial relatorioAidfDetalhadoController.lbFormFinal.value = Form. Final relatorioAidfDetalhadoController.msg.agencia.obrigatorio = Uma Agência deve ser selecionada relatorioAidfDetalhadoController.aidfTipo.label=Tipo Aidf +relatorioAidfDetalhadoController.aidf.label=Aidf #Relatório de Vendas PTA relatorioVendasPTAController.window.title = Reporte de Ventas PTA diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label index 42be94bd3..60e365f78 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -1217,7 +1217,6 @@ relatorioAidfController.lbEmpresa.value = Empresa relatorioAidfController.lbSerie.value = Série #Relatorio Aidf Detalhado -relatorioAidfDetalhadoController.window.title = Relatório Estoque relatorioAidfDetalhadoController.datainicial.value = Data Inicial Aquisição relatorioAidfDetalhadoController.dataFinal.value = Data Final Aquisição relatorioAidfDetalhadoController.lbEmpresa.value = Empresa @@ -1226,6 +1225,9 @@ relatorioAidfDetalhadoController.lbFormInicial.value = Form. Inicial relatorioAidfDetalhadoController.lbFormFinal.value = Form. Final relatorioAidfDetalhadoController.msg.agencia.obrigatorio = Uma Agência deve ser selecionada relatorioAidfDetalhadoController.aidfTipo.label=Tipo Aidf +relatorioAidfDetalhadoController.aidf.label=Aidf ID +relatorioAidfDetalhadoController.window.title = Relatório Saldo de Estoque +relatorioBilhetesVendidosEstoqueAgenciaController.consumoEstoqueDetalhado.label = Consumo Estoque - Detalhado #Relatorio Movimentacao Estoque relatorioMovimentacaoEstoqueController.window.title = Relatório Movimentação de Estoque diff --git a/web/gui/relatorios/filtroRelatorioAidfDetalhado.zul b/web/gui/relatorios/filtroRelatorioAidfDetalhado.zul index d352b94d2..26743ab04 100644 --- a/web/gui/relatorios/filtroRelatorioAidfDetalhado.zul +++ b/web/gui/relatorios/filtroRelatorioAidfDetalhado.zul @@ -7,7 +7,7 @@ + height="340px" width="738px" border="normal"> @@ -89,6 +89,11 @@ + + +