maia_modificado/registro/.svn/pristine/8f/8fe37df5bca941de445f01335c3...

79 lines
3.0 KiB
Plaintext
Executable File

package com.fp.armas.portal.dao.registro;
import java.util.List;
import javax.persistence.Query;
import com.fp.armas.portal.dao.general.GenericDaoImpl;
import com.fp.armas.portal.model.Tcustpersonphone;
import com.fp.armas.portal.util.FechaUtil;
import com.fp.armas.portal.util.PortalMessages;
import com.fp.armas.portal.util.RegistroException;
/**
* Objeto de acceso a datos de la tabla {@link Tcustpersonphone}
* @author dcruz
*
*/
public class TelefonoPersonaDao extends GenericDaoImpl<Tcustpersonphone> {
public TelefonoPersonaDao() {
super(Tcustpersonphone.class);
}
/**
* Retorna el primer tel&eacute;fono encontrado del tipo enviado
* @param personcode
* @param tipotelefono
* @return
*/
@SuppressWarnings("unchecked")
public Tcustpersonphone obtenerTelefonoTipo(Integer personcode, String tipotelefono) {
Tcustpersonphone telefono = null;
Query query = this.getEntityManager().createQuery("SELECT o FROM Tcustpersonphone o WHERE o.id.personcode=:personcode AND o.id.dateto=:dateto AND o.phonetypecatalog=:valortelefono AND o.phonetypecatalogcode=:tipocodigotelefono");
query.setParameter("personcode", (long)personcode);
query.setParameter("dateto", FechaUtil.obtenerFecha(2999, 11, 31));
query.setParameter("valortelefono", tipotelefono);
query.setParameter("tipocodigotelefono", PortalMessages.getInstancia().getString("catalogo.codigo.tipo.telefono"));
List<Tcustpersonphone> listphones = query.getResultList();
if(listphones != null && !listphones.isEmpty()){
telefono = listphones.iterator().next();
}
return telefono;
}
/**
* Retorna el primer tel&eacute;fono encontrado del tipo enviado
* @param personcode
* @param tipotelefono
* @return
*/
@SuppressWarnings("unchecked")
public List<Tcustpersonphone> obtenerTelefonosPorTipo(Long personcode, String tipotelefono) {
Query query = this.getEntityManager().createQuery("SELECT o FROM Tcustpersonphone o WHERE o.id.personcode=:personcode AND o.id.dateto=:dateto AND o.phonetypecatalog=:valortelefono AND o.phonetypecatalogcode=:tipocodigotelefono");
query.setParameter("personcode", (long)personcode);
query.setParameter("dateto", FechaUtil.obtenerFecha(2999, 11, 31));
query.setParameter("valortelefono", tipotelefono);
query.setParameter("tipocodigotelefono", PortalMessages.getInstancia().getString("catalogo.codigo.tipo.telefono"));
List<Tcustpersonphone> listphones = query.getResultList();
if(listphones != null && !listphones.isEmpty()){
return listphones;
}
return null;
}
/**
* Busca y retorna la primera direcci&oacute;n encontrada
* @param personcode
* @param tipodireccion
* @return
* @throws RegistroException
*/
public Long maxSecuencia(long personcode) throws RegistroException{
Query query = this.getEntityManager().createQuery("SELECT max(o.id.phonesequence) FROM Tcustpersonphone o WHERE o.id.personcode=:personcode");
query.setParameter("personcode", (long)personcode);
//query.setParameter("dateto", FechaUtil.obtenerFecha(2999, 11, 31));
return (Long)query.getSingleResult();
}
}