Merge pull request 'AL-3969' (!429) from AL-3969 into master

Reviewed-on: adm/VentaBoletosAdm#429
Reviewed-by: pinheiro <valdevir@rjconsultores.com.br>
master 1.55.8
wallace 2024-03-11 22:56:41 +00:00
commit 53a69b0d55
3 changed files with 29 additions and 153 deletions

View File

@ -1,10 +1,10 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd ">
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>br.com.rjconsultores</groupId>
<artifactId>ventaboletosadm</artifactId>
<version>1.55.7</version>
<version>1.55.8</version>
<packaging>war</packaging>
<properties>

View File

@ -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");
@ -134,78 +133,16 @@ 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 {
if(!lsTempRetornoAux.contains(itemEstoque)) {
lsTempRetornoAux.add(itemEstoque);
contem = false;
}
}
}
}
List<ItemReporteControleEstoqueBoletos> 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<ItemReporteControleEstoqueBoletos> lsEstoqueNaoUtilizado = new ArrayList<>() ;
// List<ItemReporteControleEstoqueBoletos> 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,6 @@ public class RelatorioEstoque extends Relatorio {
sb.append(" TB.serie, ");
sb.append(" TB.folioCaja ");
return sb.toString();
}
@ -426,7 +360,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 +369,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 +399,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,7 +541,7 @@ public class RelatorioEstoque extends Relatorio {
List<ItemReporteControleEstoqueBoletos> lsBlocoJaTodoUtilizado = new ArrayList<ItemReporteControleEstoqueBoletos>();
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);
}
}
@ -615,75 +549,5 @@ public class RelatorioEstoque extends Relatorio {
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();
}
}

View File

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