maia_modificado/.svn/pristine/6f/6fa5a6cd71a7066471b1b37dc2c...

58 lines
2.5 KiB
Plaintext
Executable File

package com.fp.armas.mail;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.fp.persistence.commondb.PersistenceHelper;
import com.fp.persistence.commondb.helper.FormatDates;
import com.fp.persistence.parmas.soli.TarmSolicitud;
import com.fp.persistence.pcustomer.gene.TcustPersonAddress;
import com.fp.persistence.pgeneral.gene.TgeneParameters;
import com.fp.persistence.pgeneral.gene.TgeneParametersKey;
import com.fp.simple.maia.MailRecipient;
/**
* Clase que se encarga de objener el email de una persona.
*
* @version 2.1
*/
public class PersonaDireccion extends MailRecipient {
/*
* (non-Javadoc)
*
* @see com.fp.simple.maia.MailRecipient#getEmailAddress(java.lang.Object)
*/
@SuppressWarnings("unchecked")
@Override
public Map<String, Object> getEmailAddress(Object pParam) throws Exception {
List<String> lemail = new ArrayList<String>();
Map<String, Object> mresp = new HashMap<String, Object>();
HashMap<String, Object> m = (HashMap<String, Object>) pParam;
Map<String, Object> mrequest = (Map<String, Object>) m.get("request");
if (mrequest.get("csolicitud") == null) {
return mresp;
}
String solicitud = (String) mrequest.get("csolicitud");
TgeneParameters parameters= TgeneParameters.find(PersistenceHelper.getEntityManager(), new TgeneParametersKey("CODIGO.MAIL", 1));
TarmSolicitud tarmsolicitud=PersistenceHelper.getEntityManager()
.createQuery("select o from TarmSolicitud o where o.pk=:solicitud",TarmSolicitud.class).setParameter("solicitud", solicitud).getSingleResult();
// TcustPersonAddressKey
List<TcustPersonAddress> lpersonadress= PersistenceHelper.getEntityManager().createQuery("select o from TcustPersonAddress o where o.pk.personcode=:personcode "
+ " and o.addresstypecatalog=:addresstypecatalog"
+ " and o.pk.dateto=:dateto",TcustPersonAddress.class)
.setParameter("personcode", tarmsolicitud.getPersoncode())
.setParameter("dateto", FormatDates.getDefaultExpiryTimestamp())
.setParameter("addresstypecatalog", parameters.getTextvalue()).getResultList();
// adiciona email.
for(TcustPersonAddress addres:lpersonadress){
lemail.add(addres.getAddress());
}
mresp.put("lemail", lemail);
return mresp;
}
}