79 lines
3.0 KiB
Plaintext
Executable File
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é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é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ó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();
|
|
}
|
|
}
|