diff --git a/pom.xml b/pom.xml index 4cd282ec3..7d80abfd6 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 br.com.rjconsultores ventaboletosadm - 1.136.1 + 1.136.7 war diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioEstoque.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioEstoque.java index 371ae62cb..e775627ae 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioEstoque.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioEstoque.java @@ -138,7 +138,6 @@ public class RelatorioEstoque extends Relatorio { List lsTempRetorno = new ArrayList<>(); List lsTempRetornoAux = new ArrayList<>(); lsEstoquePorSalto = removeFoliosDuplicados(lsEstoquePorSalto); - lsEstoquePorSalto = validarFolioPreImpressoPuntoventa(lsEstoquePorSalto, puntoVentaId); validarFormularioSeUsado(lsEstoquePorSalto,lsEstoque); lsTempRetornoAux = criarRangesBilhetes(puntoVentaId, lsEstoquePorSalto, lsEstoque, map, lsTemp, lsTempRetorno, lsTempRetornoAux); @@ -167,40 +166,43 @@ public class RelatorioEstoque extends Relatorio { setLsDadosRelatorio(lsDadosRelatorio); } - private List criarRangesBilhetes(String puntoVentaId, - List lsEstoquePorSalto, - List lsEstoque, Map map, - List lsTemp, - List lsTempRetorno, - List lsTempRetornoAux) { - for (ItemReporteControleEstoqueBoletos i : lsEstoquePorSalto) { - if(map.get(i.getID()) == null) { - for (ItemReporteControleEstoqueBoletos item : lsEstoquePorSalto) { - if(i.getID().equals(item.getID())) { - lsTemp.add(item); - } - } - map.put(i.getID(), i.getID()); - lsTempRetorno.addAll(gerarRangesDeFolios(recuperarOsFaltantes(lsTemp), lsTemp)); - lsTemp = new ArrayList(); - } - } - lsTempRetornoAux.addAll(lsTempRetorno); - - for (ItemReporteControleEstoqueBoletos itemEstoque : lsEstoque) { - if(!lsTempRetornoAux.contains(itemEstoque)) { - if(Boolean.FALSE.equals(itemEstoque.getIsConsumido()) || itemEstoque.getIsConsumido() == null) { - itemEstoque.setQuantidade(calcularQuantidade(itemEstoque.getFolioInicial(), itemEstoque.getFolioFinal())); - lsTempRetornoAux.add(itemEstoque); - } - - } - } - return lsTempRetornoAux; - } + }); } + private List criarRangesBilhetes(String puntoVentaId, + List lsEstoquePorSalto, + List lsEstoque, Map map, + List lsTemp, + List lsTempRetorno, + List lsTempRetornoAux) { + for (ItemReporteControleEstoqueBoletos i : lsEstoquePorSalto) { + if(map.get(i.getID()) == null) { + for (ItemReporteControleEstoqueBoletos item : lsEstoquePorSalto) { + if(i.getID().equals(item.getID())) { + lsTemp.add(item); + } + } + map.put(i.getID(), i.getID()); + lsTempRetorno.addAll(gerarRangesDeFolios(recuperarOsFaltantes(lsTemp), lsTemp)); + lsTempRetorno = validarFolioPreImpressoPuntoventa(lsTempRetorno, puntoVentaId); + lsTemp = new ArrayList(); + } + } + lsTempRetornoAux.addAll(lsTempRetorno); + + for (ItemReporteControleEstoqueBoletos itemEstoque : lsEstoque) { + if(!lsTempRetornoAux.contains(itemEstoque)) { + if(Boolean.FALSE.equals(itemEstoque.getIsConsumido()) || itemEstoque.getIsConsumido() == null) { + itemEstoque.setQuantidade(calcularQuantidade(itemEstoque.getFolioInicial(), itemEstoque.getFolioFinal())); + lsTempRetornoAux.add(itemEstoque); + } + + } + } + return lsTempRetornoAux; + } + @Override protected void processaParametros() throws Exception { } @@ -263,8 +265,8 @@ public class RelatorioEstoque extends Relatorio { sb.append(" ABASTO_BOLETO AB "); sb.append(" "); sb.append(" LEFT JOIN DET_ABASTO_BOLETO DAB ON (AB.ABASTOBOLETO_ID = DAB.ABASTOBOLETO_ID) "); - sb.append(" WHERE TO_NUMBER( TRIM(LEADING '0' FROM Cj.NUMFOLIOPREIMPRESO)) BETWEEN TO_NUMBER(DAB.NUMFOLIOINICIAL) AND TO_NUMBER(DAB.NUMFOLIOFINAL) "); -// sb.append(" AND CJ.PUNTOVENTA_ID = AB.PUNTOVENTA_ID "); + sb.append(" WHERE TO_NUMBER(Cj.NUMFOLIOPREIMPRESO) BETWEEN (DAB.NUMFOLIOINICIAL) AND (DAB.NUMFOLIOFINAL) "); + sb.append(" AND (cj.PUNTOVENTA_ID = ab.PUNTOVENTA_ID or cj.PUNTOVENTA_ID = ai.PUNTOVENTA_ID) "); sb.append(" AND DAB.ACTIVO = 1 "); sb.append(" AND (cj.NUMSERIEPREIMPRESA = dab.NUMSERIEPREIMPRESA "); sb.append(" OR (cj.NUMSERIEPREIMPRESA IS NULL "); @@ -281,7 +283,6 @@ public class RelatorioEstoque extends Relatorio { }else if(dataInicio!= null) { sb.append(" AND AI.fecadquisicion >= TO_DATE(:dataInicio,'dd/mm/yyyy hh24:mi:ss') "); } - sb.append(" AND DAB.NUMFOLIOFINAL < 2147483647 "); sb.append(" AND DAB.STATUSOPERACION IN(0, "); sb.append(" 1, "); sb.append(" 4) "); @@ -326,7 +327,7 @@ public class RelatorioEstoque extends Relatorio { sb.append(" EM.NOMBEMPRESA AS nombEmpresa, "); sb.append(" EM.EMPRESA_ID AS empresaId, "); sb.append(" M.MARCA_ID AS marcaId, "); - sb.append(" DAB.AIDF_ID || DAB.NUMSERIEPREIMPRESA || EM.EMPRESA_ID AS ID, "); + sb.append(" DAB.AIDF_ID || DAB.NUMSERIEPREIMPRESA || DAB.NUMFOLIOINICIAL || DAB.NUMFOLIOFINAL || EM.EMPRESA_ID AS ID, "); sb.append(" CASE "); sb.append(" WHEN dab.STATUSOPERACION = 4 THEN CONCAT(a.descarticulo, ' (Distribuição Estoque)') "); sb.append(" ELSE a.descarticulo "); @@ -345,8 +346,8 @@ public class RelatorioEstoque extends Relatorio { sb.append(" PUNTO_VENTA PV, "); sb.append(" ABASTO_BOLETO AB "); sb.append(" LEFT JOIN DET_ABASTO_BOLETO DAB ON (AB.ABASTOBOLETO_ID = DAB.ABASTOBOLETO_ID) "); - sb.append(" WHERE TO_NUMBER( TRIM(LEADING '0' FROM Cj.NUMFOLIOPREIMPRESO)) BETWEEN TO_NUMBER(DAB.NUMFOLIOINICIAL) AND TO_NUMBER(DAB.NUMFOLIOFINAL) "); -// sb.append(" AND CJ.PUNTOVENTA_ID = AB.PUNTOVENTA_ID "); + sb.append(" WHERE TO_NUMBER(Cj.NUMFOLIOPREIMPRESO) BETWEEN (DAB.NUMFOLIOINICIAL) AND (DAB.NUMFOLIOFINAL) "); + sb.append(" AND (cj.PUNTOVENTA_ID = ab.PUNTOVENTA_ID or cj.PUNTOVENTA_ID = ai.PUNTOVENTA_ID) "); sb.append(" AND (cj.NUMSERIEPREIMPRESA = dab.NUMSERIEPREIMPRESA "); sb.append(" OR (cj.NUMSERIEPREIMPRESA IS NULL "); sb.append(" AND dab.NUMSERIEPREIMPRESA IS NULL)) "); @@ -362,7 +363,6 @@ public class RelatorioEstoque extends Relatorio { }else if(dataInicio!= null) { sb.append(" AND AI.fecadquisicion >= TO_DATE(:dataInicio,'dd/mm/yyyy hh24:mi:ss') "); } - sb.append(" AND DAB.NUMFOLIOFINAL < 2147483647 "); sb.append(" AND DAB.STATUSOPERACION IN(0, "); sb.append(" 1, "); sb.append(" 4) "); @@ -371,11 +371,11 @@ public class RelatorioEstoque extends Relatorio { sb.append(" AND M.EMPRESA_ID = EM.EMPRESA_ID "); sb.append(" AND M.ACTIVO = 1 "); sb.append(" AND CJ.USUARIO_ID = U.USUARIO_ID and cj.activo =1 "); - sb.append(" AND CJ.PUNTOVENTA_ID = PV.PUNTOVENTA_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(aidfId != null ? " AND (AI.AIDF_ID =:aidfId AND DAB.AIDF_ID = AI.AIDF_ID) " : " AND (DAB.AIDF_ID = AI.AIDF_ID or cj.AIDF_ID is null ) "); sb.append(" GROUP BY DAB.AIDF_ID, "); sb.append(" DAB.NUMSERIEPREIMPRESA, "); sb.append(" CJ.NUMFOLIOPREIMPRESO, "); @@ -555,10 +555,12 @@ public class RelatorioEstoque extends Relatorio { int arrayTemp[] = new int[listEstoque.size()]; int array[] = new int[listEstoque.size()]; int i = 0; + for (ItemReporteControleEstoqueBoletos item : listEstoque) { arrayTemp[i] = item.getFolioCaja().intValue(); i++; } + array = recuperarFaltantes(arrayTemp, Integer.parseInt(listEstoque.get(0).getFolioCaja().toString()), Integer.valueOf(listEstoque.get(listEstoque.size()-1).getFolioFinal())); return array; } @@ -600,18 +602,18 @@ public class RelatorioEstoque extends Relatorio { private List removeFoliosDuplicados(List lsTemp) { - - Map map = new HashMap<>(); - for (ItemReporteControleEstoqueBoletos itemReporteControleEstoqueBoletos : lsTemp) { - map.put(itemReporteControleEstoqueBoletos.getFolioCaja().intValue(), itemReporteControleEstoqueBoletos); - } - - List list = new ArrayList(); - for (Map.Entry entry : map.entrySet()) - { - list.add(entry.getValue()); - } - return list; +// +// Map map = new HashMap<>(); +// for (ItemReporteControleEstoqueBoletos itemReporteControleEstoqueBoletos : lsTemp) { +// map.put(itemReporteControleEstoqueBoletos.getFolioCaja().toString().concat(itemReporteControleEstoqueBoletos.getID()), itemReporteControleEstoqueBoletos); +// } +// +// List list = new ArrayList(); +// for (Map.Entry entry : map.entrySet()) +// { +// list.add(entry.getValue()); +// } + return lsTemp; } private List validarFolioPreImpressoPuntoventa(List lsEstoquePorSalto, String puntoVentaId) { diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/ItemReporteControleEstoqueBoletos.java b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/ItemReporteControleEstoqueBoletos.java index f3f904aff..f8945090b 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/ItemReporteControleEstoqueBoletos.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/ItemReporteControleEstoqueBoletos.java @@ -215,6 +215,7 @@ public class ItemReporteControleEstoqueBoletos { public void setIsConsumido(Boolean isConsumido) { this.isConsumido = isConsumido; } + @Override public int hashCode() { final int prime = 31; @@ -240,7 +241,9 @@ public class ItemReporteControleEstoqueBoletos { } @Override public String toString() { - return "ItemReporteControleEstoqueBoletos [folioInicial=" + folioInicial + ", folioFinal=" + folioFinal - + ", descPuntoVenta=" + descPuntoVenta + ", folioAtual=" + folioAtual + ", aidfId=" + aidfId + "]"; - } + return "ItemReporteControleEstoqueBoletos [folioCaja=" + folioCaja + ", aidfId=" + aidfId + ", serie=" + + serie + ", folioInicial=" + folioInicial + ", folioFinal=" + folioFinal + ", empresaId=" + empresaId + ", ID=" + ID + + "]"; + } + }