fixes bug#AL-4831

master
wallace.henrique 2024-09-09 12:48:59 -03:00
parent ad6248d34e
commit ef9692e8a9
3 changed files with 62 additions and 57 deletions

View File

@ -4,7 +4,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>br.com.rjconsultores</groupId>
<artifactId>ventaboletosadm</artifactId>
<version>1.136.1</version>
<version>1.136.7</version>
<packaging>war</packaging>
<properties>

View File

@ -138,7 +138,6 @@ public class RelatorioEstoque extends Relatorio {
List<ItemReporteControleEstoqueBoletos> lsTempRetorno = new ArrayList<>();
List<ItemReporteControleEstoqueBoletos> 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<ItemReporteControleEstoqueBoletos> criarRangesBilhetes(String puntoVentaId,
List<ItemReporteControleEstoqueBoletos> lsEstoquePorSalto,
List<ItemReporteControleEstoqueBoletos> lsEstoque, Map<String, String> map,
List<ItemReporteControleEstoqueBoletos> lsTemp,
List<ItemReporteControleEstoqueBoletos> lsTempRetorno,
List<ItemReporteControleEstoqueBoletos> 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<ItemReporteControleEstoqueBoletos>();
}
}
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<ItemReporteControleEstoqueBoletos> criarRangesBilhetes(String puntoVentaId,
List<ItemReporteControleEstoqueBoletos> lsEstoquePorSalto,
List<ItemReporteControleEstoqueBoletos> lsEstoque, Map<String, String> map,
List<ItemReporteControleEstoqueBoletos> lsTemp,
List<ItemReporteControleEstoqueBoletos> lsTempRetorno,
List<ItemReporteControleEstoqueBoletos> 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<ItemReporteControleEstoqueBoletos>();
}
}
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<ItemReporteControleEstoqueBoletos> removeFoliosDuplicados(List<ItemReporteControleEstoqueBoletos> lsTemp) {
Map<Integer,ItemReporteControleEstoqueBoletos> map = new HashMap<>();
for (ItemReporteControleEstoqueBoletos itemReporteControleEstoqueBoletos : lsTemp) {
map.put(itemReporteControleEstoqueBoletos.getFolioCaja().intValue(), itemReporteControleEstoqueBoletos);
}
List<ItemReporteControleEstoqueBoletos> list = new ArrayList<ItemReporteControleEstoqueBoletos>();
for (Map.Entry<Integer, ItemReporteControleEstoqueBoletos> entry : map.entrySet())
{
list.add(entry.getValue());
}
return list;
//
// Map<String,ItemReporteControleEstoqueBoletos> map = new HashMap<>();
// for (ItemReporteControleEstoqueBoletos itemReporteControleEstoqueBoletos : lsTemp) {
// map.put(itemReporteControleEstoqueBoletos.getFolioCaja().toString().concat(itemReporteControleEstoqueBoletos.getID()), itemReporteControleEstoqueBoletos);
// }
//
// List<ItemReporteControleEstoqueBoletos> list = new ArrayList<ItemReporteControleEstoqueBoletos>();
// for (Map.Entry<String, ItemReporteControleEstoqueBoletos> entry : map.entrySet())
// {
// list.add(entry.getValue());
// }
return lsTemp;
}
private List<ItemReporteControleEstoqueBoletos> validarFolioPreImpressoPuntoventa(List<ItemReporteControleEstoqueBoletos> lsEstoquePorSalto, String puntoVentaId) {

View File

@ -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
+ "]";
}
}