diff --git a/pom.xml b/pom.xml
index 04dcebd25..4f67c32a8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
4.0.0
br.com.rjconsultores
ventaboletosadm
- 1.53.6
+ 1.53.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 b241506ce..21a660f9a 100644
--- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioEstoque.java
+++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioEstoque.java
@@ -47,7 +47,7 @@ public class RelatorioEstoque extends Relatorio {
String formInicio = rset.getString("forminicial");
if (tipoVenta.equals(EnumTipoVenda.TPV_MANUAL.getId().toString())) {
- String ultimoFolioCaja = rset.getString("ultimoFolioCaja");
+ String ultimoFolioCaja = String.valueOf(rset.getInt("ultimoFolioCaja") + 1);
boolean isFormularioMaior = false;
try {
@@ -110,33 +110,28 @@ public class RelatorioEstoque extends Relatorio {
sql.append(" coalesce(fp.FOLIOPREIMPRESO,dab.NUMFOLIOINICIAL) ");
sql.append(" end ) AS forminicial,");
sql.append(" dab.NUMFOLIOFINAL AS formfinal, ");
-
- sql.append(" ( SELECT ");
- sql.append(" MAX(to_number(c.numfoliopreimpreso)) + 1 AS numfoliopreimpreso");
- sql.append(" FROM Caja c");
- sql.append(" WHERE ( ( c.numseriepreimpresa = dab.numseriepreimpresa ");
- sql.append(" AND c.aidf_id = dab.aidf_id ) ");
- 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 AND c.indstatusboleto = 'E' ) ) ");
- sql.append(" AND c.marca_id = ab.empresa_id ");
- sql.append(" ) AS ultimoFolioCaja, ");
-
+ sql.append(" CASE WHEN dab.STATUSOPERACION = 1 THEN fp.FOLIOPREIMPRESO ELSE ");
+ sql.append(" COALESCE((SELECT to_char(MAX(cd.numfoliopreimpreso)) FROM caja_diversos cd where cd.numseriepreimpresa = dab.numseriepreimpresa), ");
+ sql.append(" (SELECT TO_CHAR(MAX(c.numfoliopreimpreso)) FROM caja c WHERE ( c.numseriepreimpresa = dab.numseriepreimpresa OR ");
+ sql.append(" ( c.numseriepreimpresa IS NULL AND dab.numseriepreimpresa IS NULL ) ) AND to_number(c.numfoliopreimpreso) ");
+ sql.append(" BETWEEN dab.numfolioinicial AND dab.numfoliofinal AND ( c.indreimpresion = 0 OR ( c.indreimpresion = 1 AND c.indstatusboleto = 'E' ) ) ");
+ sql.append(" AND c.marca_id = m.marca_id), dab.NUMFOLIOINICIAL) ");
+ sql.append(" END as ultimoFolioCaja, ");
sql.append(" ar.articulo_id AS tipoventa,");
sql.append(" ar.descarticulo, ");
sql.append(" est.nombestado ");
sql.append(" FROM abasto_boleto ab ");
- sql.append(" INNER JOIN empresa e ON ( e.empresa_id = ab.empresa_id and ab.ACTIVO = 1 )");
sql.append(" INNER JOIN det_abasto_boleto dab ON ( dab.abastoboleto_id = ab.abastoboleto_id and dab.ACTIVO = 1 )");
- sql.append(" INNER JOIN punto_venta p ON ( p.puntoventa_id = ab.puntoventa_id and p.ACTIVO = 1 )");
- 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(" INNER JOIN ARTICULO ar ON ( ar.ARTICULO_ID = ab.ARTICULO_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(" 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 ");