From 67409080cf3746dfe5f36f2f06c690028d3b1cb3 Mon Sep 17 00:00:00 2001 From: julio Date: Fri, 7 Feb 2014 13:51:04 +0000 Subject: [PATCH] =?UTF-8?q?0004817:=20Baixa=20do=20estoque=20depois=20da?= =?UTF-8?q?=20exclus=C3=A3o=20de=20um=20micro?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@33511 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../dao/hibernate/EstacionHibernateDAO.java | 104 ++++++++++++++---- 1 file changed, 83 insertions(+), 21 deletions(-) diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/EstacionHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/EstacionHibernateDAO.java index 5cfe47ae0..48ba761e1 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/EstacionHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/EstacionHibernateDAO.java @@ -74,41 +74,103 @@ public class EstacionHibernateDAO extends GenericHibernateDAO return c.list(); } -public List buscarEstaciones(PuntoVenta puntoVenta) { - + public List buscarEstaciones(PuntoVenta puntoVenta) { + Criteria c = getSession().createCriteria(getPersistentClass()); c.add(Restrictions.eq("activo", Boolean.TRUE)); c.add(Restrictions.eq("puntoVenta", puntoVenta)); c.addOrder(Order.asc("descestacion")); c.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); - + return c.list(); } @Override public List buscarPuntosVentaEstacionPorUsuario(Usuario usuario) { - Criteria buscaPuntoVentasUsuario = getSession().createCriteria(getPersistentClass()) + Criteria buscaPuntoVentasUsuario = getSession().createCriteria(getPersistentClass()) .setProjection(Projections.distinct(Property.forName("puntoVenta"))) .add(Restrictions.eq("activo", Boolean.TRUE)) .add(Restrictions.eq("usuarioId", usuario.getUsuarioId())); - + return buscaPuntoVentasUsuario.list(); - } - - public Boolean temEstoque(PuntoVenta puntoVenta, Estacion estacion){ - StringBuilder qryStr = new StringBuilder(); - qryStr.append("Select count(*) from ABASTO_BOLETO B, DET_ABASTO_BOLETO D "); - qryStr.append("where d.abastoboleto_id = b.abastoboleto_id and (d.statusfirma = 0 "); - qryStr.append("or d.statusfirma = 1) and d.activo = 1 and b.activo = 1 and "); - qryStr.append("b.puntoventa_id = :puntoventa_id and b.estacion_id = :estacion_id"); - - SQLQuery query = getSession().createSQLQuery(qryStr.toString()); - query.setParameter("puntoventa_id", puntoVenta.getPuntoventaId()); - query.setParameter("estacion_id", estacion.getEstacionId()); - - List list = query.list(); - BigDecimal result = list.get(0); - return (result.intValue() > 0); + } + + public Boolean temEstoque(PuntoVenta puntoVenta, Estacion estacion) { + + StringBuilder sb = new StringBuilder(); + sb.append("select dab.numseriepreimpresa as serie, "); + sb.append(" dab.numfolioinicial as folioinicial, "); + sb.append(" dab.numfoliofinal as foliofinal, "); + sb.append(" pv.nombpuntoventa as descpuntoventa, "); + sb.append(" e.numcaja as numcaja, "); + sb.append(" e.descestacion as descestacion, "); + sb.append(" fp.foliopreimpreso as folioatual, "); + sb.append(" e.estacion_id as estacionid, "); + sb.append(" ab.articulo_id as articuloid, "); + sb.append(" a.descarticulo as tipo, "); + sb.append(" em.nombempresa as nombempresa, "); + sb.append(" em.empresa_id as empresaid "); + sb.append("from det_abasto_boleto dab "); + sb.append(" inner join abasto_boleto ab "); + sb.append(" on dab.abastoboleto_id = ab.abastoboleto_id "); + sb.append(" inner join punto_venta pv "); + sb.append(" on ab.puntoventa_id = pv.puntoventa_id "); + sb.append(" inner join estacion e "); + sb.append(" on ab.estacion_id = e.estacion_id "); + sb.append(" inner join folio_preimpreso fp "); + sb.append(" on fp.estacion_id = ab.estacion_id "); + sb.append(" and fp.empresa_id = ab.empresa_id "); + sb.append(" and ( fp.numeserie = dab.numseriepreimpresa "); + sb.append(" or ( fp.numeserie is null "); + sb.append(" and dab.numseriepreimpresa is null ) ) "); + sb.append(" left join articulo a "); + sb.append(" on a.articulo_id = ab.articulo_id "); + sb.append(" left join empresa em "); + sb.append(" on em.empresa_id = ab.empresa_id "); + sb.append("where dab.statusoperacion = 1 "); + sb.append(" and fp.activo = 1 "); + sb.append(" and dab.activo = 1 "); + sb.append(" and ab.puntoventa_id = :puntoventaId "); + sb.append(" and e.estacion_id = :estacionId "); + sb.append("union "); + sb.append("select dab.numseriepreimpresa as serie, "); + sb.append(" dab.numfolioinicial as folioinicial, "); + sb.append(" dab.numfoliofinal as foliofinal, "); + sb.append(" pv.nombpuntoventa as descpuntoventa, "); + sb.append(" e.numcaja as numcaja, "); + sb.append(" e.descestacion as descestacion, "); + sb.append(" dab.numfolioinicial as folioatual, "); + sb.append(" e.estacion_id as estacionid, "); + sb.append(" ab.articulo_id as articuloid, "); + sb.append(" a.descarticulo as tipo, "); + sb.append(" em.nombempresa as nombempresa, "); + sb.append(" em.empresa_id as empresaid "); + sb.append("from det_abasto_boleto dab "); + sb.append(" inner join abasto_boleto ab "); + sb.append(" on dab.abastoboleto_id = ab.abastoboleto_id "); + sb.append(" inner join punto_venta pv "); + sb.append(" on ab.puntoventa_id = pv.puntoventa_id "); + sb.append(" inner join estacion e "); + sb.append(" on ab.estacion_id = e.estacion_id "); + sb.append(" left join articulo a "); + sb.append(" on a.articulo_id = ab.articulo_id "); + sb.append(" left join empresa em "); + sb.append(" on em.empresa_id = ab.empresa_id "); + sb.append("where dab.statusoperacion = 0 "); + sb.append(" and dab.activo = 1 "); + sb.append(" and ab.puntoventa_id = :puntoventaId "); + sb.append(" and e.estacion_id = :estacionId "); + + SQLQuery query = getSession().createSQLQuery(sb.toString()); + query.setParameter("puntoventaId", puntoVenta.getPuntoventaId()); + query.setParameter("estacionId", estacion.getEstacionId()); + + List list = query.list(); + if (list.size() > 0) + return true; + else + return false; + } }