From 5e437459166b5df792ad25f885e0997e55ae5471 Mon Sep 17 00:00:00 2001 From: "wallace.henrique" Date: Mon, 11 Mar 2024 19:47:33 -0300 Subject: [PATCH 1/2] fixes bug#AL-3969 --- pom.xml | 2 +- .../relatorios/impl/RelatorioEstoque.java | 161 ++---------------- .../ItemReporteControleEstoqueBoletos.java | 18 +- 3 files changed, 30 insertions(+), 151 deletions(-) diff --git a/pom.xml b/pom.xml index 493e194f5..cc261441b 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 br.com.rjconsultores ventaboletosadm - 1.55.7 + 1.55.8 war diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioEstoque.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioEstoque.java index 66e1a6f2c..bb634217e 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioEstoque.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioEstoque.java @@ -42,7 +42,6 @@ public class RelatorioEstoque extends Relatorio { puntoVentaId = String.valueOf(parametros.get("NUMPUNTOVENTA")); } String sql = retornarItensConsultaPorPuloFolio(puntoVentaId,empresaId, dtInicio, dtFim); - NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql); if(dtInicio != null && dtFim != null) { stmt.setString("dataInicio", DateUtil.getStringDate(dtInicio, "dd/MM/yyyy") + " 00:00:00"); @@ -133,79 +132,17 @@ public class RelatorioEstoque extends Relatorio { } } lsTempRetornoAux.addAll(lsTempRetorno); - - - boolean contem = false; - for (ItemReporteControleEstoqueBoletos itemEstoque : lsEstoque) { - for (ItemReporteControleEstoqueBoletos itemReporteStockBoletos : lsTempRetorno) { - - if (itemReporteStockBoletos.getID().equals(itemEstoque.getID())) { - continue; - }else { - for (ItemReporteControleEstoqueBoletos itemReporteStockBoletos2 : lsTempRetornoAux) { - if(itemReporteStockBoletos2.getID().equals(itemEstoque.getID())) { - contem = true; - } - } - if(contem) { - contem = false; - continue; - }else { - lsTempRetornoAux.add(itemEstoque); - contem = false; - } - } - } + if(!lsTempRetornoAux.contains(itemEstoque)) { + lsTempRetornoAux.add(itemEstoque); + } } + List lsBlocoJaTodoUtilizado = tratarBlocoJaTodoUtilizado(lsTempRetornoAux); -// String sqlIncluirEstoqueSeNaoHouverMovimentacao = getIncluirEstoqueSeNaoHouverMovimentacao(); -// -// NamedParameterStatement stmt3 = new NamedParameterStatement(conexao, sqlIncluirEstoqueSeNaoHouverMovimentacao); -// -// if(dtInicio != null && dtFim != null) { -// stmt3.setString("dataInicio", DateUtil.getStringDate(dtInicio, "dd/MM/yyyy") + " 00:00:00"); -// stmt3.setString("dataFinal", DateUtil.getStringDate(dtFim, "dd/MM/yyyy") + " 23:59:59"); -// }else if(dtInicio != null) { -// stmt3.setString("dataInicio", DateUtil.getStringDate(dtInicio, "dd/MM/yyyy") + " 00:00:00"); -// } -// -// ResultSet rset3 = null; -// rset3 = stmt3.executeQuery(); -// List lsEstoqueNaoUtilizado = new ArrayList<>() ; -// List lsEstoqueNaoUtilizadoTemp = new ArrayList<>() ; -// while (rset3.next()) { -// -// ItemReporteControleEstoqueBoletos item = new ItemReporteControleEstoqueBoletos(); -// item.setAidfId(rset3.getInt("aidf") > 0 ? rset3.getInt("aidf") : null); -// item.setNombEmpresa((String) rset3.getObject("nombEmpresa")); -// item.setDescPuntoVenta((String) rset3.getObject("descPuntoVenta")); -// item.setNomeEstado((String) rset3.getObject("nomeEstado")); -// item.setSerie((String) rset3.getObject("serie")); -// item.setTipo((String) rset3.getObject("tipo")); -// item.setFolioInicial((String) rset3.getObject("folioInicial")); -// item.setFolioFinal((String) rset3.getObject("folioFinal")); -// item.setFechorAquisicion((Date) rset3.getObject("dataAquicision")); -// item.setFecVencimento((Date) rset3.getObject("dataVencimento")); -// item.setDescArticulo((String) rset3.getObject("tipo")); -// item.setDescEstacion((String) rset3.getObject("estacao")); -// lsEstoqueNaoUtilizado.add(item); -// } - -// lsEstoqueNaoUtilizadoTemp.addAll(lsTempRetornoAux); -// for (ItemReporteControleEstoqueBoletos item : lsEstoqueNaoUtilizado) { -// if(lsTempRetornoAux.contains(item)) { -// continue; -// }else { -// lsEstoqueNaoUtilizadoTemp.add(item); -// } -// } - - - lsDadosRelatorio.addAll(lsTempRetornoAux); + lsDadosRelatorio.addAll(lsBlocoJaTodoUtilizado); setLsDadosRelatorio(lsDadosRelatorio); } @@ -283,8 +220,7 @@ public class RelatorioEstoque extends Relatorio { sb.append(" OR (cj.NUMSERIEPREIMPRESA IS NULL "); sb.append(" AND dab.NUMSERIEPREIMPRESA IS NULL)) "); if (puntoVentaId != null) { - sb.append("AND cj.PUNTOVENTA_ID = ") - .append(puntoVentaId); + sb.append(" AND cj.PUNTOVENTA_ID in("+puntoVentaId+ ")"); } if(empresaId != null) { sb.append(" AND Em.empresa_ID = ") @@ -364,8 +300,7 @@ public class RelatorioEstoque extends Relatorio { sb.append(" OR (cj.NUMSERIEPREIMPRESA IS NULL "); sb.append(" AND dab.NUMSERIEPREIMPRESA IS NULL)) "); if (puntoVentaId != null) { - sb.append("AND cj.PUNTOVENTA_ID = ") - .append(puntoVentaId); + sb.append(" AND cj.PUNTOVENTA_ID in("+puntoVentaId+ ")"); } if(empresaId != null) { sb.append(" AND Em.empresa_ID = ") @@ -409,7 +344,7 @@ public class RelatorioEstoque extends Relatorio { sb.append(" TB.serie, "); sb.append(" TB.folioCaja "); - + System.out.println(sb.toString()); return sb.toString(); } @@ -426,7 +361,7 @@ public class RelatorioEstoque extends Relatorio { .append(" WHEN dab.STATUSOPERACION = 1 THEN fp.FOLIOPREIMPRESO ") .append(" ELSE COALESCE( ") .append(" ") - .append(" (SELECT TO_CHAR(MAX(c.numfoliopreimpreso)) ") + .append(" (SELECT TO_CHAR(MAX(c.numfoliopreimpreso)+1) ") .append(" FROM caja c ") .append(" WHERE (c.numseriepreimpresa = dab.numseriepreimpresa ") .append(" OR (c.numseriepreimpresa IS NULL ") @@ -435,7 +370,7 @@ public class RelatorioEstoque extends Relatorio { .append(" AND (c.indreimpresion = 0 ") .append(" OR (c.indreimpresion = 1 ") .append(" AND c.indstatusboleto = 'E')) ") - .append(" AND c.marca_id = m.marca_id), (SELECT to_char(MAX(cd.numfoliopreimpreso)) ") + .append(" AND c.marca_id = m.marca_id), (SELECT to_char(MAX(cd.numfoliopreimpreso)+1) ") .append(" FROM caja_diversos cd ") .append(" WHERE cd.numseriepreimpresa = dab.numseriepreimpresa AND to_number(cd.numfoliopreimpreso) BETWEEN dab.numfolioinicial AND dab.numfoliofinal ) , dab.NUMFOLIOINICIAL) ") .append("END as folioAtual, ") @@ -465,8 +400,8 @@ public class RelatorioEstoque extends Relatorio { .append("LEFT JOIN EMPRESA em ON em.EMPRESA_ID = ab.EMPRESA_ID ") .append("LEFT JOIN MARCA m ON m.EMPRESA_ID = em.EMPRESA_ID AND m.ACTIVO = 1 ") .append("LEFT JOIN AIDF ai ON dab.AIDF_ID = ai.AIDF_ID ") - .append("LEFT JOIN aidf_tipo ait ON ait.AIDFTIPO_ID= ait.AIDFTIPO_ID ") - .append("LEFT JOIN ESTADO est ON est.ESTADO_ID = est.ESTADO_ID ") + .append("LEFT JOIN aidf_tipo ait ON ait.AIDFTIPO_ID= ai.AIDFTIPO_ID ") + .append("LEFT JOIN ESTADO est ON est.ESTADO_ID = ai.ESTADO_ID ") .append("LEFT JOIN ESTACION ES ON es.ESTACION_ID = ab.ESTACION_ID ") .append("WHERE dab.STATUSOPERACION IN(0,1,4) ") .append("AND dab.ACTIVO = 1 ") @@ -607,83 +542,13 @@ public class RelatorioEstoque extends Relatorio { List lsBlocoJaTodoUtilizado = new ArrayList(); for (ItemReporteControleEstoqueBoletos itemReporteStockBoletos : lsTempRetornoAux) { if(itemReporteStockBoletos.getFolioAtual() != null) { - if(Integer.valueOf(itemReporteStockBoletos.getFolioAtual()) < Integer.valueOf(itemReporteStockBoletos.getFolioFinal())) { + if(Integer.valueOf(itemReporteStockBoletos.getFolioAtual()) <= Integer.valueOf(itemReporteStockBoletos.getFolioFinal())) { lsBlocoJaTodoUtilizado.add(itemReporteStockBoletos); } } } return lsBlocoJaTodoUtilizado; } - - private String getIncluirEstoqueSeNaoHouverMovimentacao() { - - StringBuilder sql = new StringBuilder(); - sql.append("SELECT ai.fecvencimiento as dataVencimento, ai.fecadquisicion as dataAquicision, dab.aidf_id AS aidf, "); - sql.append(" e.nombempresa as nombEmpresa, "); - sql.append(" p.nombpuntoventa as descPuntoVenta, "); - sql.append(" dab.NUMSERIEPREIMPRESA AS serie, "); - sql.append(" coalesce(es.descestacion, 'Todas') AS estacao, "); - sql.append(" ar.descarticulo AS tipo, "); - - sql.append(" ( case "); - sql.append(" when "); - sql.append(" dab.STATUSOPERACION = 0 "); - sql.append(" then "); - sql.append(" dab.NUMFOLIOINICIAL"); - sql.append(" else "); - sql.append(" coalesce(fp.FOLIOPREIMPRESO,dab.NUMFOLIOINICIAL) "); - sql.append(" end ) AS folioInicial,"); - sql.append(" dab.NUMFOLIOFINAL AS folioFinal, "); - sql.append(" CASE "); - sql.append(" WHEN dab.STATUSOPERACION = 1 THEN fp.FOLIOPREIMPRESO "); - sql.append(" ELSE COALESCE( "); - sql.append(" "); - sql.append(" (SELECT TO_CHAR(MAX(c.numfoliopreimpreso)) "); - sql.append(" FROM caja c "); - sql.append(" WHERE (c.numseriepreimpresa = dab.numseriepreimpresa "); - sql.append(" OR (c.numseriepreimpresa IS NULL "); - sql.append(" AND dab.numseriepreimpresa IS NULL)) "); - sql.append(" AND to_number(c.numfoliopreimpreso) BETWEEN dab.numfolioinicial AND dab.numfoliofinal "); - sql.append(" AND (c.indreimpresion = 0 "); - sql.append(" OR (c.indreimpresion = 1 "); - sql.append(" AND c.indstatusboleto = 'E')) "); - sql.append(" AND c.marca_id = m.marca_id), (SELECT to_char(MAX(cd.numfoliopreimpreso)) "); - sql.append(" FROM caja_diversos cd "); - sql.append(" WHERE cd.numseriepreimpresa = dab.numseriepreimpresa AND to_number(cd.numfoliopreimpreso) BETWEEN dab.numfolioinicial AND dab.numfoliofinal ) , dab.NUMFOLIOINICIAL) "); - sql.append(" END AS folioCaja, "); - sql.append(" ar.articulo_id AS tipo,"); - sql.append(" ar.descarticulo, "); - sql.append(" est.nombestado as nomeEstado "); - sql.append(" FROM abasto_boleto ab "); - sql.append(" INNER JOIN det_abasto_boleto dab ON ( dab.abastoboleto_id = ab.abastoboleto_id and dab.ACTIVO = 1 )"); - sql.append(" INNER JOIN aidf ai ON ( ai.aidf_id =dab.aidf_id )"); - sql.append(" INNER JOIN estado est ON ( est.estado_id = ai.ESTADO_ID ) "); - sql.append(" INNER JOIN empresa e ON ( e.empresa_id = ab.empresa_id and ab.ACTIVO = 1 )"); - sql.append(" INNER JOIN punto_venta p ON ( p.puntoventa_id = ab.puntoventa_id and p.ACTIVO = 1 )"); - sql.append(" INNER JOIN ARTICULO ar ON ( ar.ARTICULO_ID = ab.ARTICULO_ID )"); - sql.append(" LEFT JOIN estacion es ON ( es.ESTACION_ID = ab.ESTACION_ID )"); - sql.append(" LEFT JOIN FOLIO_PREIMPRESO fp ON ( fp.AIDF_ID = dab.AIDF_ID and fp.EMPRESA_ID = e.EMPRESA_ID and fp.ESTACION_ID = ab.ESTACION_ID and fp.activo = 1 )"); - sql.append(" LEFT JOIN EMPRESA em ON em.EMPRESA_ID = ab.EMPRESA_ID "); - sql.append(" LEFT JOIN MARCA m ON m.EMPRESA_ID = em.EMPRESA_ID AND m.ACTIVO = 1 "); - - sql.append(" WHERE "); - sql.append(" dab.statusoperacion in (0,1) and dab.activo = 1 and ab.activo = 1 and ai.activo = 1 "); - if (parametros.get("EMPRESA_ID") != null) { - sql.append(" AND e.empresa_id = ").append(parametros.get("EMPRESA_ID")); - } - if (parametros.get("NUMPUNTOVENTA") != null) { - sql.append(" AND ab.puntoventa_id in(").append(parametros.get("NUMPUNTOVENTA")).append(") "); - } - if(parametros.get("DATA_INICIO") != null && parametros.get("DATA_FIM") != null) { - sql.append(" AND fecadquisicion BETWEEN TO_DATE(:dataInicio,'dd/mm/yyyy hh24:mi:ss') AND TO_DATE(:dataFinal,'dd/mm/yyyy hh24:mi:ss') "); - }else if(parametros.get("DATA_INICIO") != null) { - sql.append(" AND fecadquisicion >= TO_DATE(:dataInicio,'dd/mm/yyyy hh24:mi:ss') "); - } - sql.append(" ORDER BY e.nombempresa, p.nombpuntoventa,es.descestacion, ar.descarticulo, forminicial"); - - return sql.toString(); - - } } diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/ItemReporteControleEstoqueBoletos.java b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/ItemReporteControleEstoqueBoletos.java index 0cd5b60ba..640d389ae 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/ItemReporteControleEstoqueBoletos.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/ItemReporteControleEstoqueBoletos.java @@ -193,7 +193,10 @@ public class ItemReporteControleEstoqueBoletos { } @Override public int hashCode() { - return Objects.hash(aidfId); + final int prime = 31; + int result = 1; + result = prime * result + ((ID == null) ? 0 : ID.hashCode()); + return result; } @Override public boolean equals(Object obj) { @@ -204,7 +207,18 @@ public class ItemReporteControleEstoqueBoletos { if (getClass() != obj.getClass()) return false; ItemReporteControleEstoqueBoletos other = (ItemReporteControleEstoqueBoletos) obj; - return Objects.equals(aidfId, other.aidfId); + if (ID == null) { + if (other.ID != null) + return false; + } else if (!ID.equals(other.ID)) + return false; + return true; } + @Override + public String toString() { + return "ItemReporteControleEstoqueBoletos [folioInicial=" + folioInicial + ", folioFinal=" + folioFinal + + ", descPuntoVenta=" + descPuntoVenta + ", folioAtual=" + folioAtual + ", aidfId=" + aidfId + "]"; + } + } From e180a7a0e45a2af276920385517837ab03ac9f25 Mon Sep 17 00:00:00 2001 From: "wallace.henrique" Date: Mon, 11 Mar 2024 19:50:30 -0300 Subject: [PATCH 2/2] fixes bug#AL-3969 --- pom.xml | 2 +- .../ventaboletos/relatorios/impl/RelatorioEstoque.java | 1 - .../utilitarios/ItemReporteControleEstoqueBoletos.java | 4 +--- 3 files changed, 2 insertions(+), 5 deletions(-) diff --git a/pom.xml b/pom.xml index cc261441b..154ca35d9 100644 --- a/pom.xml +++ b/pom.xml @@ -1,5 +1,5 @@ + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 br.com.rjconsultores diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioEstoque.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioEstoque.java index bb634217e..523283c53 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioEstoque.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioEstoque.java @@ -344,7 +344,6 @@ public class RelatorioEstoque extends Relatorio { sb.append(" TB.serie, "); sb.append(" TB.folioCaja "); - System.out.println(sb.toString()); return sb.toString(); } diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/ItemReporteControleEstoqueBoletos.java b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/ItemReporteControleEstoqueBoletos.java index 640d389ae..c5f758c1e 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/ItemReporteControleEstoqueBoletos.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/ItemReporteControleEstoqueBoletos.java @@ -218,7 +218,5 @@ public class ItemReporteControleEstoqueBoletos { public String toString() { return "ItemReporteControleEstoqueBoletos [folioInicial=" + folioInicial + ", folioFinal=" + folioFinal + ", descPuntoVenta=" + descPuntoVenta + ", folioAtual=" + folioAtual + ", aidfId=" + aidfId + "]"; - } - - + } }