Merge pull request 'fixes bug#AL-3937' (!422) from AL-3937 into master
Reviewed-on: adm/VentaBoletosAdm#422 Reviewed-by: Julio Heredia <julio@rjconsultores.com.br>master 1.55.2
commit
3b70096370
2
pom.xml
2
pom.xml
|
@ -4,7 +4,7 @@
|
|||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>br.com.rjconsultores</groupId>
|
||||
<artifactId>ventaboletosadm</artifactId>
|
||||
<version>1.55.1</version>
|
||||
<version>1.55.2</version>
|
||||
<packaging>war</packaging>
|
||||
|
||||
<properties>
|
||||
|
|
|
@ -112,7 +112,7 @@ public class RelatorioEstoque extends Relatorio {
|
|||
item.setDescArticulo(rset2.getObject("descArticulo") != null ? rset2.getBigDecimal("descArticulo").toString(): null);
|
||||
lsEstoque.add(item);
|
||||
}
|
||||
rset2 = stmt2.executeQuery();
|
||||
|
||||
|
||||
|
||||
Map<String, String> map = new HashMap<String, String>();
|
||||
|
@ -160,9 +160,51 @@ public class RelatorioEstoque extends Relatorio {
|
|||
}
|
||||
|
||||
List<ItemReporteControleEstoqueBoletos> lsBlocoJaTodoUtilizado = tratarBlocoJaTodoUtilizado(lsTempRetornoAux);
|
||||
for (ItemReporteControleEstoqueBoletos itemReporteControleEstoqueBoletos : lsBlocoJaTodoUtilizado) {
|
||||
lsDadosRelatorio.add(itemReporteControleEstoqueBoletos);
|
||||
|
||||
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(lsBlocoJaTodoUtilizado);
|
||||
for (ItemReporteControleEstoqueBoletos item : lsEstoqueNaoUtilizado) {
|
||||
if(lsBlocoJaTodoUtilizado.contains(item)) {
|
||||
continue;
|
||||
}else {
|
||||
lsEstoqueNaoUtilizadoTemp.add(item);
|
||||
}
|
||||
}
|
||||
|
||||
lsDadosRelatorio.addAll(lsEstoqueNaoUtilizadoTemp);
|
||||
|
||||
setLsDadosRelatorio(lsDadosRelatorio);
|
||||
}
|
||||
});
|
||||
|
@ -563,5 +605,76 @@ 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(" tp.desctipo 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 TIPO_PTOVTA tp ON ( tp.TIPOPTOVTA_ID = p.TIPOPTOVTA_ID and tp.ACTIVO = 1 )");
|
||||
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();
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -2,6 +2,7 @@ package com.rjconsultores.ventaboletos.relatorios.utilitarios;
|
|||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.Objects;
|
||||
|
||||
public class ItemReporteControleEstoqueBoletos {
|
||||
|
||||
|
@ -181,5 +182,20 @@ public class ItemReporteControleEstoqueBoletos {
|
|||
public void setID(String iD) {
|
||||
ID = iD;
|
||||
}
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hash(aidfId);
|
||||
}
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj)
|
||||
return true;
|
||||
if (obj == null)
|
||||
return false;
|
||||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
ItemReporteControleEstoqueBoletos other = (ItemReporteControleEstoqueBoletos) obj;
|
||||
return Objects.equals(aidfId, other.aidfId);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue