diff --git a/src/com/rjconsultores/ventaboletos/dao/NodoDAO.java b/src/com/rjconsultores/ventaboletos/dao/NodoDAO.java index abc213328..129d7f3f8 100644 --- a/src/com/rjconsultores/ventaboletos/dao/NodoDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/NodoDAO.java @@ -4,11 +4,16 @@ */ package com.rjconsultores.ventaboletos.dao; +import java.util.List; + import com.rjconsultores.ventaboletos.entidad.Nodo; /** - * + * * @author Administrador */ public interface NodoDAO extends GenericDAO { + + public List obtenerTodos(); + } diff --git a/src/com/rjconsultores/ventaboletos/dao/ParadaDAO.java b/src/com/rjconsultores/ventaboletos/dao/ParadaDAO.java index 93ce36ad6..31fb2b6fb 100644 --- a/src/com/rjconsultores/ventaboletos/dao/ParadaDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/ParadaDAO.java @@ -11,19 +11,34 @@ import com.rjconsultores.ventaboletos.entidad.TipoParada; import java.util.List; /** - * + * * @author Administrador */ -public interface ParadaDAO extends GenericDAO { +public interface ParadaDAO { - public List buscar(String descparada, String cveparada, Ciudad ciudad, - TipoParada tipoParada, Nodo nodo); + public Parada obtenerID(Integer id); - public List buscar(String descparada); + public Parada suscribir(Parada entidad); - public List buscarCVE(String cveparada); + public Parada actualizacion(Parada entidad); - public List buscaLike(String descparada); - - public Long count(TipoParada tipoParada); + public Long count(String campo, Object o); + + public List buscar(String descparada, String cveparada, Ciudad ciudad,TipoParada tipoParada, Nodo nodo); + + /** + * Busca as paradas que tenham o codAntt informado + * + * @param codAntt + * @return + */ + public List buscar(Integer codAntt); + + public List buscar(String descparada); + + public List buscarCVE(String cveparada); + + public List buscaLike(String descparada); + + public Long count(TipoParada tipoParada); } diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/ParadaHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/ParadaHibernateDAO.java index 74bb07600..bb30002a3 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/ParadaHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/ParadaHibernateDAO.java @@ -96,4 +96,13 @@ public class ParadaHibernateDAO extends GenericHibernateDAO imp return HibernateFix.count(c.list()); } + + @Override + public List buscar(Integer codAntt) { + Criteria c = getSession().createCriteria(getPersistentClass()); + c.add(Restrictions.eq("activo", Boolean.TRUE)); + c.add(Restrictions.eq("codantt", codAntt)); + + return c.list(); + } } diff --git a/src/com/rjconsultores/ventaboletos/entidad/Nodo.java b/src/com/rjconsultores/ventaboletos/entidad/Nodo.java index 82f49bd06..4959b2455 100644 --- a/src/com/rjconsultores/ventaboletos/entidad/Nodo.java +++ b/src/com/rjconsultores/ventaboletos/entidad/Nodo.java @@ -25,6 +25,7 @@ import javax.persistence.SequenceGenerator; @SequenceGenerator(name = "NODO_SEQ", sequenceName = "NODO_SEQ", allocationSize=1) @Table(name = "NODO") public class Nodo implements Serializable { + public static final Integer NODO_ID_CENTRAL = 1; private static final long serialVersionUID = 1L; @Id diff --git a/src/com/rjconsultores/ventaboletos/service/NodoService.java b/src/com/rjconsultores/ventaboletos/service/NodoService.java index de633d9ed..c48356b12 100644 --- a/src/com/rjconsultores/ventaboletos/service/NodoService.java +++ b/src/com/rjconsultores/ventaboletos/service/NodoService.java @@ -4,11 +4,16 @@ */ package com.rjconsultores.ventaboletos.service; +import java.util.List; + import com.rjconsultores.ventaboletos.entidad.Nodo; /** - * + * * @author Administrador */ -public interface NodoService extends GenericService { +public interface NodoService { + + public List obtenerTodos(); + } diff --git a/src/com/rjconsultores/ventaboletos/service/ParadaService.java b/src/com/rjconsultores/ventaboletos/service/ParadaService.java index 044315f82..27dedd359 100644 --- a/src/com/rjconsultores/ventaboletos/service/ParadaService.java +++ b/src/com/rjconsultores/ventaboletos/service/ParadaService.java @@ -8,20 +8,28 @@ import com.rjconsultores.ventaboletos.entidad.Ciudad; import com.rjconsultores.ventaboletos.entidad.Nodo; import com.rjconsultores.ventaboletos.entidad.Parada; import com.rjconsultores.ventaboletos.entidad.TipoParada; +import com.rjconsultores.ventaboletos.exception.BusinessException; + import java.util.List; /** - * + * * @author Administrador */ -public interface ParadaService extends GenericService { +public interface ParadaService { - public List buscar(String descparada, String cveparada, Ciudad ciudad, - TipoParada tipoParada, Nodo nodo); + public Parada obtenerID(Integer id); + + public Parada suscribirActualizar(Parada entidad) throws BusinessException; - public List buscarCVE(String cveparada); + public void borrar(Parada entidad); - public List buscar(String descparada); + public List buscar(String descparada, String cveparada, Ciudad ciudad, + TipoParada tipoParada, Nodo nodo); - public List buscaLike(String descparada); + public List buscarCVE(String cveparada); + + public List buscar(String descparada); + + public List buscaLike(String descparada); } diff --git a/src/com/rjconsultores/ventaboletos/service/impl/NodoServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/NodoServiceImpl.java index ed9a09feb..bc81c1d01 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/NodoServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/NodoServiceImpl.java @@ -4,15 +4,15 @@ */ package com.rjconsultores.ventaboletos.service.impl; +import java.util.ArrayList; +import java.util.List; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + import com.rjconsultores.ventaboletos.dao.NodoDAO; import com.rjconsultores.ventaboletos.entidad.Nodo; import com.rjconsultores.ventaboletos.service.NodoService; -import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; -import java.util.Calendar; -import java.util.List; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; /** * @@ -25,37 +25,11 @@ public class NodoServiceImpl implements NodoService { private NodoDAO nodoDAO; public List obtenerTodos() { - return nodoDAO.obtenerTodos(); + //No momento só será usado o nodo central + List ls = new ArrayList(); + ls.add(nodoDAO.obtenerID(Nodo.NODO_ID_CENTRAL)); + + return ls; } - public Nodo obtenerID(Integer id) { - return nodoDAO.obtenerID(id); - } - - @Transactional - public Nodo suscribir(Nodo entidad) { - entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); - entidad.setFecmodif(Calendar.getInstance().getTime()); - entidad.setActivo(Boolean.TRUE); - - return nodoDAO.suscribir(entidad); - } - - @Transactional - public Nodo actualizacion(Nodo entidad) { - entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); - entidad.setFecmodif(Calendar.getInstance().getTime()); - entidad.setActivo(Boolean.TRUE); - - return nodoDAO.actualizacion(entidad); - } - - @Transactional - public void borrar(Nodo entidad) { - entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); - entidad.setFecmodif(Calendar.getInstance().getTime()); - entidad.setActivo(Boolean.FALSE); - - nodoDAO.actualizacion(entidad); - } } diff --git a/src/com/rjconsultores/ventaboletos/service/impl/ParadaServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/ParadaServiceImpl.java index a6f0e2663..95e7738e2 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/ParadaServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/ParadaServiceImpl.java @@ -10,6 +10,7 @@ import com.rjconsultores.ventaboletos.entidad.Ciudad; import com.rjconsultores.ventaboletos.entidad.Nodo; import com.rjconsultores.ventaboletos.entidad.Parada; import com.rjconsultores.ventaboletos.entidad.TipoParada; +import com.rjconsultores.ventaboletos.exception.BusinessException; import com.rjconsultores.ventaboletos.service.ParadaService; import com.rjconsultores.ventaboletos.utilerias.RegistroConDependenciaException; import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; @@ -20,70 +21,105 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; /** - * + * * @author Administrador */ @Service("paradaService") public class ParadaServiceImpl implements ParadaService { - @Autowired - private ParadaDAO paradaDAO; - @Autowired - private TramoDAO tramoDAO; + @Autowired + private ParadaDAO paradaDAO; + @Autowired + private TramoDAO tramoDAO; - public List obtenerTodos() { - return paradaDAO.obtenerTodos(); - } + public Parada obtenerID(Integer id) { + return paradaDAO.obtenerID(id); + } - public Parada obtenerID(Integer id) { - return paradaDAO.obtenerID(id); - } + @Transactional + public Parada suscribirActualizar(Parada entidad) throws BusinessException { - @Transactional - public Parada suscribir(Parada entidad) { - entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); - entidad.setFecmodif(Calendar.getInstance().getTime()); - entidad.setActivo(Boolean.TRUE); + List lsParadas = paradaDAO.buscar(entidad.getCodantt()); - return paradaDAO.suscribir(entidad); - } + if (!lsParadas.isEmpty()) { + if (entidad.getParadaId() == null) { + throw new BusinessException("busquedaCatalogoDeParadaController.msg.codAnttJaExiste"); + } else { + if (!lsParadas.contains(entidad)){ + throw new BusinessException("busquedaCatalogoDeParadaController.msg.codAnttJaExiste"); + } + } + } - @Transactional - public Parada actualizacion(Parada entidad) { - entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); - entidad.setFecmodif(Calendar.getInstance().getTime()); - entidad.setActivo(Boolean.TRUE); + lsParadas = paradaDAO.buscar(entidad.getDescparada(), entidad.getCveparada(), entidad.getCiudad(), entidad.getTipoParada(), entidad.getNodo()); + + if (!lsParadas.isEmpty()){ + if (entidad.getParadaId() == null){ + throw new BusinessException("MSG.Registro.Existe"); + }else{ + if (!lsParadas.contains(entidad)){ + throw new BusinessException("MSG.Registro.Existe"); + } + } + } + + entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + entidad.setFecmodif(Calendar.getInstance().getTime()); + entidad.setActivo(Boolean.TRUE); - return paradaDAO.actualizacion(entidad); - } + if (entidad.getParadaId() == null) { + return paradaDAO.suscribir(entidad); + } - @Transactional - public void borrar(Parada entidad) throws RegistroConDependenciaException { - if ((tramoDAO.count("origem", entidad) > 0l) - || (tramoDAO.count("destino", entidad) > 0l)) { - throw new RegistroConDependenciaException(); - } - entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); - entidad.setFecmodif(Calendar.getInstance().getTime()); - entidad.setActivo(Boolean.FALSE); + return paradaDAO.actualizacion(entidad); - paradaDAO.actualizacion(entidad); - } + } - public List buscar(String descparada, String cveparada, Ciudad ciudad, - TipoParada tipoParada, Nodo nodo) { - return paradaDAO.buscar(descparada, cveparada, ciudad, tipoParada, nodo); - } + @Transactional + public Parada suscribir(Parada entidad) { + entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + entidad.setFecmodif(Calendar.getInstance().getTime()); + entidad.setActivo(Boolean.TRUE); - public List buscar(String descparada) { - return paradaDAO.buscar(descparada); - } + return paradaDAO.suscribir(entidad); + } - public List buscarCVE(String cveparada) { - return paradaDAO.buscarCVE(cveparada); - } + @Transactional + public Parada actualizacion(Parada entidad) { + entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + entidad.setFecmodif(Calendar.getInstance().getTime()); + entidad.setActivo(Boolean.TRUE); - public List buscaLike(String descparada) { - return paradaDAO.buscaLike(descparada); - } + return paradaDAO.actualizacion(entidad); + } + + @Transactional + public void borrar(Parada entidad) throws RegistroConDependenciaException { + if ((tramoDAO.count("origem", entidad) > 0l) + || (tramoDAO.count("destino", entidad) > 0l)) { + throw new RegistroConDependenciaException(); + } + entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + entidad.setFecmodif(Calendar.getInstance().getTime()); + entidad.setActivo(Boolean.FALSE); + + paradaDAO.actualizacion(entidad); + } + + public List buscar(String descparada, String cveparada, Ciudad ciudad, + TipoParada tipoParada, Nodo nodo) { + return paradaDAO.buscar(descparada, cveparada, ciudad, tipoParada, nodo); + } + + public List buscar(String descparada) { + return paradaDAO.buscar(descparada); + } + + public List buscarCVE(String cveparada) { + return paradaDAO.buscarCVE(cveparada); + } + + public List buscaLike(String descparada) { + return paradaDAO.buscaLike(descparada); + } }