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 ");