diff --git a/src/com/rjconsultores/ventaboletos/dao/DispositivoEmbarcadaDAO.java b/src/com/rjconsultores/ventaboletos/dao/DispositivoEmbarcadaDAO.java index e736049ba..17e9042cb 100644 --- a/src/com/rjconsultores/ventaboletos/dao/DispositivoEmbarcadaDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/DispositivoEmbarcadaDAO.java @@ -8,7 +8,7 @@ import com.rjconsultores.ventaboletos.entidad.PuntoVenta; public interface DispositivoEmbarcadaDAO extends GenericDAO { - public DispositivoEmbarcada buscarMac(String mac); + public DispositivoEmbarcada buscarVersaoUltimaSinc(String versaoUltimaSinc); public DispositivoEmbarcada buscarDispositivoPorId(DispositivoEmbarcada dispositivoEmbarcada); public DispositivoEmbarcada suscribirActualizar(DispositivoEmbarcada dispositivoEmbarcada); public DispositivoEmbarcada buscarImei(String imei); @@ -16,5 +16,6 @@ public interface DispositivoEmbarcadaDAO extends GenericDAO buscarPorEmpresaPuntoVenta(Empresa empresa, PuntoVenta puntoventa); public List buscarTodos(); + public List buscarAllVersaoUltimaSinc(); } diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/DispositivoEmbarcadaHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/DispositivoEmbarcadaHibernateDAO.java index 1c0458320..4a3e16ebd 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/DispositivoEmbarcadaHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/DispositivoEmbarcadaHibernateDAO.java @@ -7,9 +7,9 @@ import org.hibernate.HibernateException; import org.hibernate.Query; import org.hibernate.SessionFactory; import org.hibernate.criterion.Order; +import org.hibernate.criterion.Projections; +import org.hibernate.criterion.Property; import org.hibernate.criterion.Restrictions; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Repository; @@ -25,8 +25,6 @@ import com.rjconsultores.ventaboletos.entidad.PuntoVenta; public class DispositivoEmbarcadaHibernateDAO extends GenericHibernateDAO implements DispositivoEmbarcadaDAO { - private static final Logger log = LoggerFactory.getLogger(DispositivoEmbarcadaHibernateDAO.class); - @Autowired public DispositivoEmbarcadaHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) { setSessionFactory(factory); @@ -42,15 +40,25 @@ public class DispositivoEmbarcadaHibernateDAO extends GenericHibernateDAO buscarAllVersaoUltimaSinc() { + Criteria c = getSession().createCriteria(getPersistentClass()); + c.setProjection(Projections.distinct(Property.forName("versaoUltimaSinc"))); + c.add(Restrictions.isNotNull("versaoUltimaSinc")); + c.add(Restrictions.eq("activo", Boolean.TRUE)); + c.addOrder(Order.asc("versaoUltimaSinc")); + + return (List) c.list(); + } + @Override public DispositivoEmbarcada buscarImeiDuplicado(String imei){ StringBuilder sb = new StringBuilder(); diff --git a/src/com/rjconsultores/ventaboletos/entidad/DispositivoEmbarcada.java b/src/com/rjconsultores/ventaboletos/entidad/DispositivoEmbarcada.java index 9a520231e..64c7680ac 100644 --- a/src/com/rjconsultores/ventaboletos/entidad/DispositivoEmbarcada.java +++ b/src/com/rjconsultores/ventaboletos/entidad/DispositivoEmbarcada.java @@ -41,8 +41,6 @@ public class DispositivoEmbarcada { private String descricao; @Column(name = "REGISTRO") private String registro; - @Column(name = "MAC") - private String mac; @Column(name = "IMEI") private String imei; @Column(name = "IND_DISP_BLOQUEADO") @@ -110,12 +108,6 @@ public class DispositivoEmbarcada { public void setRegistro(String registro) { this.registro = registro; } - public String getMac() { - return mac; - } - public void setMac(String mac) { - this.mac = mac; - } public String getImei() { return imei; } diff --git a/src/com/rjconsultores/ventaboletos/service/DispositivoEmbarcadaService.java b/src/com/rjconsultores/ventaboletos/service/DispositivoEmbarcadaService.java index 05b920d58..ec0d6e04a 100644 --- a/src/com/rjconsultores/ventaboletos/service/DispositivoEmbarcadaService.java +++ b/src/com/rjconsultores/ventaboletos/service/DispositivoEmbarcadaService.java @@ -19,12 +19,13 @@ public interface DispositivoEmbarcadaService { public List obtenerTodos(); public DispositivoEmbarcada suscribirActualizar(DispositivoEmbarcada dispositivoEmbarcada) throws DispositivoEmbarcadaJaCadastradoException; - public DispositivoEmbarcada buscarMac(String mac); + public DispositivoEmbarcada buscarVersaoUltimaSinc(String versaoUltimaSinc); public DispositivoEmbarcada buscarImeiDuplicado(String imei); public DispositivoEmbarcada suscribir(DispositivoEmbarcada entidad) throws DispositivoEmbarcadaJaCadastradoException; public DispositivoEmbarcada actualizacion(DispositivoEmbarcada entity); public DispositivoEmbarcada suscribirActualizacion(DispositivoEmbarcada entidad); public DispositivoEmbarcada buscarDispositivoPorId(DispositivoEmbarcada dispositivoEmbarcada); public List buscarPorEmpresaPuntoVenta(Empresa empresa, PuntoVenta puntoventa); + public List buscarAllVersaoUltimaSinc(); } diff --git a/src/com/rjconsultores/ventaboletos/service/impl/DispositivoEmbarcadaServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/DispositivoEmbarcadaServiceImpl.java index 007282d5c..b9d8b35a0 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/DispositivoEmbarcadaServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/DispositivoEmbarcadaServiceImpl.java @@ -34,7 +34,7 @@ public class DispositivoEmbarcadaServiceImpl implements DispositivoEmbarcadaServ private void validaDispositivoJaCadastrado(DispositivoEmbarcada dispositivoEmbarcada) throws DispositivoEmbarcadaJaCadastradoException{ if (buscarDispositivoPorId(dispositivoEmbarcada) == null) { if (buscarImeiDuplicado(dispositivoEmbarcada.getImei()) != null) throw new DispositivoEmbarcadaJaCadastradoException("Já existe um dispositivo cadastrado com esse Imei"); - if (buscarMac(dispositivoEmbarcada.getMac()) != null) throw new DispositivoEmbarcadaJaCadastradoException("Já existe um dispositivo cadastrado com esse MAC"); + if (buscarVersaoUltimaSinc(dispositivoEmbarcada.getVersaoUltimaSinc()) != null) throw new DispositivoEmbarcadaJaCadastradoException("Já existe um dispositivo cadastrado com esse MAC"); } } @@ -45,8 +45,12 @@ public class DispositivoEmbarcadaServiceImpl implements DispositivoEmbarcadaServ } @Override - public DispositivoEmbarcada buscarMac(String mac) { - return dispositivoEmbarcadaDAO.buscarMac(mac); + public DispositivoEmbarcada buscarVersaoUltimaSinc(String versaoUltimaSinc) { + return dispositivoEmbarcadaDAO.buscarVersaoUltimaSinc(versaoUltimaSinc); + } + @Override + public List buscarAllVersaoUltimaSinc() { + return dispositivoEmbarcadaDAO.buscarAllVersaoUltimaSinc(); } @Override