maia_modificado/.svn/pristine/8d/8db300ef355bfed54beca9cbee7...

49 lines
1.7 KiB
Plaintext
Executable File

package com.fp.viaticos.task;
import java.util.HashMap;
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.action.TaskAction;
/**
* Clase que se encarga de fijar el codigo de supervisor de area, del empleado que realiza una solicitud de viaticos, en
* el request campo userId, para asignar una tarea.
*
* @version 2.1
*/
public class AsignarSupervisior extends TaskAction {
/*
* (non-Javadoc)
*
* @see com.fp.simple.action.TaskAction#assignOwner(com.fp.simple.flow.DataMap)
*/
@SuppressWarnings("unchecked")
@Override
public void assignOwner(Object pParam) throws Exception {
HashMap<String, Object> m = (HashMap<String, Object>) pParam;
Map<String, Object> mrequest = (Map<String, Object>) m.get("request");
if (mrequest.get("csolicitud") == null) {
return;
}
String solicitud = (String) mrequest.get("csolicitud");
ViaSolicitud vsol = ViaSolicitud.find(PersistenceHelper.getEntityManager(), new ViaSolicitudKey(solicitud, "S"));
String codigoRespUnidad = vsol.getCod_responsable();
EmpleadoJpql e = new EmpleadoJpql();
if (codigoRespUnidad == null) {
codigoRespUnidad = e.find(vsol.getCod_empleado()).getCodigoResponsableUnidad();
}
// El userID va en mayusculas asi esta definido en las tablas de jbpm y maia.
m.put("userId", e.find(codigoRespUnidad).getUsuarioweb().toUpperCase());
m.put("action", "A");
}
}