58 lines
2.0 KiB
Plaintext
Executable File
58 lines
2.0 KiB
Plaintext
Executable File
package com.fp.viaticos.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.pviaticos.hra.EmpleadoJpql;
|
|
import com.fp.persistence.pviaticos.solicitud.ViaSolicitud;
|
|
import com.fp.persistence.pviaticos.solicitud.ViaSolicitudKey;
|
|
import com.fp.simple.maia.MailRecipient;
|
|
|
|
/**
|
|
* Clase que se encarga de objener el email de un empleado para enviar notificaciones.
|
|
*
|
|
* @version 2.1
|
|
*/
|
|
public class Empleado 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 {
|
|
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 csolicitud = (String) mrequest.get("csolicitud");
|
|
mresp.put("lemail", this.getEmail(csolicitud, "S"));
|
|
return mresp;
|
|
}
|
|
|
|
/**
|
|
* Entrega el email de un empleado, dado el codigo d solicitud y el tipo de solicitud.
|
|
*
|
|
* @param csolicitud Codigo de solicitud.
|
|
* @param tipo Tipo S solicitud, I informe.
|
|
* @return List<String>
|
|
* @throws Exception
|
|
*/
|
|
public List<String> getEmail(String csolicitud, String tipo) throws Exception {
|
|
List<String> lemail = new ArrayList<String>();
|
|
ViaSolicitud vsol = ViaSolicitud.find(PersistenceHelper.getEntityManager(), new ViaSolicitudKey(csolicitud, tipo));
|
|
|
|
EmpleadoJpql e = new EmpleadoJpql();
|
|
// adiciona email del empleado.
|
|
lemail.add(e.find(vsol.getCod_empleado()).getEmail());
|
|
return lemail;
|
|
}
|
|
}
|