diff --git a/pom.xml b/pom.xml index 0ac665bd8..ea96f62ab 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 br.com.rjconsultores ModelWeb - 1.41.2 + 1.41.3 diff --git a/src/com/rjconsultores/ventaboletos/dao/CajaDAO.java b/src/com/rjconsultores/ventaboletos/dao/CajaDAO.java index 67a92808a..68e5e69f7 100644 --- a/src/com/rjconsultores/ventaboletos/dao/CajaDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/CajaDAO.java @@ -4,6 +4,7 @@ import java.util.Date; import java.util.List; import java.util.Map; +import com.rjconsultores.ventaboletos.entidad.Aidf; import com.rjconsultores.ventaboletos.entidad.Caja; import com.rjconsultores.ventaboletos.entidad.Empresa; import com.rjconsultores.ventaboletos.entidad.Marca; @@ -36,4 +37,6 @@ public interface CajaDAO { public List buscarVendaCartaoCashMonitor(Date dataIncial, Date dataFinal, Empresa empresa, PuntoVenta puntoVenta); + public String validarEstoqueUtilizado(Aidf aidf, String folioInicial, String folioFinal); + } diff --git a/src/com/rjconsultores/ventaboletos/dao/DetAbastoBoletoDAO.java b/src/com/rjconsultores/ventaboletos/dao/DetAbastoBoletoDAO.java index ea953ef07..977ce0082 100644 --- a/src/com/rjconsultores/ventaboletos/dao/DetAbastoBoletoDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/DetAbastoBoletoDAO.java @@ -23,7 +23,7 @@ public interface DetAbastoBoletoDAO extends GenericDAO public List buscabDetAbastoBoletoToVerifyIfAidfCanBeEditable(com.rjconsultores.ventaboletos.entidad.Aidf aidf); - public DetAbastoBoleto buscarPorAidf(Long aidfId, String folioInicial, String folioFinal); + public DetAbastoBoleto buscarPorAidf(Long aidfId, Integer puntoVenta, String folioInicial, String folioFinal); public List buscarAidfsPorEmpresaAgencia(Empresa empresa, PuntoVenta origem); diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/CajaHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/CajaHibernateDAO.java index 36c0da6f5..91228fde8 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/CajaHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/CajaHibernateDAO.java @@ -30,6 +30,7 @@ import org.springframework.transaction.annotation.Transactional; import com.rjconsultores.ventaboletos.dao.CajaDAO; import com.rjconsultores.ventaboletos.dao.sqlbuilder.SQLBuilder; +import com.rjconsultores.ventaboletos.entidad.Aidf; import com.rjconsultores.ventaboletos.entidad.Caja; import com.rjconsultores.ventaboletos.entidad.Empresa; import com.rjconsultores.ventaboletos.entidad.Marca; @@ -703,4 +704,20 @@ public class CajaHibernateDAO extends GenericHibernateDAO implemen return query.list(); } + + @Override + public String validarEstoqueUtilizado(Aidf aidf, String folioInicial, String folioFinal) { + StringBuilder sql = new StringBuilder(); + sql.append(" SELECT coalesce(min( numfoliosistema), '0') "); + sql.append(" FROM caja "); + sql.append(" where activo = 1 "); + sql.append(" and numseriepreimpresa = :serie "); + sql.append(" and numfoliosistema between :folioInicial and :folioFinal "); + + SQLQuery query = getSession().createSQLQuery(sql.toString()); + query.setString("serie", aidf.getSerie()); + query.setString("folioInicial", folioInicial); + query.setString("folioFinal", folioFinal); + return (String)query.uniqueResult(); + } } diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/DetAbastoBoletoHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/DetAbastoBoletoHibernateDAO.java index 4f114d432..3a59a3db6 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/DetAbastoBoletoHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/DetAbastoBoletoHibernateDAO.java @@ -130,12 +130,32 @@ public class DetAbastoBoletoHibernateDAO extends GenericHibernateDAO detAbastoBoletos = findByCriteria( - Restrictions.eq("aidf.aidfId", aidfId), - Restrictions.sqlRestriction("cast(numfolioinicial as integer) <= "+folioInicial), - Restrictions.sqlRestriction("cast(numfoliofinal as integer) >= "+folioFinal), - Restrictions.eq("activo", Boolean.TRUE)); + public DetAbastoBoleto buscarPorAidf(Long aidfId, Integer puntoVenta, String folioInicial, String folioFinal) { + + + StringBuilder qs = new StringBuilder(); + qs.append(" from DetAbastoBoleto det "); + qs.append(" where det.activo = 1 "); + qs.append(" and det.abastoBoleto.puntoventa.puntoventaId = :puntoventaId "); + qs.append(" and det.aidf.aidfId = :aidfId "); + qs.append(" and cast(det.numfolioinicial as integer) <= :folioInicial "); + qs.append(" and cast(det.numfoliofinal as integer) >= :folioFinal "); + qs.append(" order by detabastoboletoId "); + + Query query = getSession().createQuery(qs.toString()); + query.setInteger("puntoventaId", puntoVenta); + query.setLong("aidfId", aidfId); + query.setString("folioInicial", folioInicial); + query.setString("folioFinal", folioFinal); + + query.setFetchSize(1); + + List detAbastoBoletos = query.list(); + + if( detAbastoBoletos.isEmpty() ) { + return null; + } + return detAbastoBoletos.get(0); } diff --git a/src/com/rjconsultores/ventaboletos/service/DetAbastoBoletoService.java b/src/com/rjconsultores/ventaboletos/service/DetAbastoBoletoService.java index cf57a8842..948dbfcba 100644 --- a/src/com/rjconsultores/ventaboletos/service/DetAbastoBoletoService.java +++ b/src/com/rjconsultores/ventaboletos/service/DetAbastoBoletoService.java @@ -20,9 +20,9 @@ public interface DetAbastoBoletoService extends GenericService buscabDetAbastoBoletoToVerifyIfAidfCanBeEditable(Aidf Aidf); - public DetAbastoBoleto buscarPorAidf(Long aidfId, String folioInicial, String folioFinal); - - public DetAbastoBoleto movimentaDetAbasto(Aidf aidf, AbastoBoleto abasto, String folioInicial, String folioFinal) throws BusinessException; + public DetAbastoBoleto buscarPorAidf(Long aidfId, Integer puntoVentaId, String folioInicial, String folioFinal); + public DetAbastoBoleto movimentaDetAbasto(DetAbastoBoleto detAbasto, AbastoBoleto abasto, String folioInicial, String folioFinal) throws BusinessException; + public List buscarAidfsPorEmpresaAgencia(Empresa empresa, PuntoVenta origem); } diff --git a/src/com/rjconsultores/ventaboletos/service/MovimentacionBilhetesService.java b/src/com/rjconsultores/ventaboletos/service/MovimentacionBilhetesService.java index 483ed6f4c..f2f63607b 100644 --- a/src/com/rjconsultores/ventaboletos/service/MovimentacionBilhetesService.java +++ b/src/com/rjconsultores/ventaboletos/service/MovimentacionBilhetesService.java @@ -29,5 +29,6 @@ public interface MovimentacionBilhetesService { public void realizaMovimentacionBilhetes(PuntoVenta puntoVentaBilhetes, Estacion origem, Estacion destino, String numSerie, String formInicial, String formFinal, TipoMovimentacion tipoMovimentacion); public List buscarSeriesBilhetesPorEstacion(Estacion estacion); + public String validarEstoqueUtilizado(Aidf aidf, String folioInicial, String folioFinal); } diff --git a/src/com/rjconsultores/ventaboletos/service/impl/DetAbastoBoletoServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/DetAbastoBoletoServiceImpl.java index e483fbc20..f3a8c1a0f 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/DetAbastoBoletoServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/DetAbastoBoletoServiceImpl.java @@ -98,15 +98,13 @@ public class DetAbastoBoletoServiceImpl implements DetAbastoBoletoService { @Override public DetAbastoBoleto movimentaDetAbasto( - Aidf aidf, + DetAbastoBoleto detAbasto, AbastoBoleto abasto, String folioInicial, String folioFinal) throws BusinessException { - DetAbastoBoleto detAbasto = buscarPorAidf(aidf.getAidfId(), folioInicial, folioFinal); - if( detAbasto == null ) { - throw new BusinessException("detAbastoService.msg.semOrigem"); + throw new BusinessException("movimentacionBilhetesController.MSG.origemNaoEncontrada"); } try { @@ -130,13 +128,14 @@ public class DetAbastoBoletoServiceImpl implements DetAbastoBoletoService { } @Override - public DetAbastoBoleto buscarPorAidf(Long aidfId, String folioInicial, String folioFinal) { - return detAbastoBoletoDAO.buscarPorAidf(aidfId, folioInicial, folioFinal); + public DetAbastoBoleto buscarPorAidf(Long aidfId, Integer puntoVenta, String folioInicial, String folioFinal) { + return detAbastoBoletoDAO.buscarPorAidf(aidfId, puntoVenta, folioInicial, folioFinal); } - + @Override public List buscarAidfsPorEmpresaAgencia(Empresa empresa, PuntoVenta origem) { return detAbastoBoletoDAO.buscarAidfsPorEmpresaAgencia(empresa, origem); } + } diff --git a/src/com/rjconsultores/ventaboletos/service/impl/MovimentacionBilhetesServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/MovimentacionBilhetesServiceImpl.java index b50ad87db..afa66cb14 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/MovimentacionBilhetesServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/MovimentacionBilhetesServiceImpl.java @@ -11,6 +11,7 @@ import org.springframework.transaction.annotation.Transactional; import com.rjconsultores.ventaboletos.dao.AbastoCentralDAO; import com.rjconsultores.ventaboletos.dao.AbastoHistoDAO; +import com.rjconsultores.ventaboletos.dao.CajaDAO; import com.rjconsultores.ventaboletos.dao.PtovtaTipoEstoqueDAO; import com.rjconsultores.ventaboletos.dao.PuntoVentaDAO; import com.rjconsultores.ventaboletos.dao.TipoMovimentacionDAO; @@ -43,6 +44,9 @@ public class MovimentacionBilhetesServiceImpl implements MovimentacionBilhetesSe @Autowired private PtovtaTipoEstoqueDAO ptovtaTipoEstoqueDAO; + @Autowired + private CajaDAO cajaDAO; + @Autowired private AutorizaFolioService autorizaFolioService; @@ -195,5 +199,10 @@ public class MovimentacionBilhetesServiceImpl implements MovimentacionBilhetesSe List seriesEstacion = abastoCentralDAO.buscarSeriesBilhetesPorEstacion(estacion); return seriesEstacion; } + + @Override + public String validarEstoqueUtilizado(Aidf aidf, String folioInicial, String folioFinal) { + return cajaDAO.validarEstoqueUtilizado(aidf, folioInicial, folioFinal); + } }