57 lines
2.0 KiB
Plaintext
Executable File
57 lines
2.0 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.Empleado;
|
|
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 jefe del empleado que ingresa el informe de viaticos, en el request campo
|
|
* userId, para asignar una tarea.
|
|
*
|
|
* @version 2.1
|
|
*/
|
|
public class AsignarJefeInforme 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, "I"));
|
|
|
|
String codigoJefe = vsol.getCod_jefe();
|
|
EmpleadoJpql ejpql = new EmpleadoJpql();
|
|
Empleado emp = ejpql.find(vsol.getCod_empleado());
|
|
if (codigoJefe == null) {
|
|
codigoJefe = emp.getCodigoJefe();
|
|
}
|
|
|
|
// El userID va en mayusculas asi esta definido en las tablas de jbpm y maia.
|
|
|
|
m.put("userId", ejpql.find(codigoJefe).getUsuarioweb().toUpperCase());
|
|
if (emp.getCodigoJefe().equals(emp.getCodigoResponsableUnidad())) {
|
|
m.put("action", "N"); // Va con N para que no le asigane la tarea al jefe inmediato solo asigana al
|
|
// responsable de la unidad.
|
|
} else {
|
|
m.put("action", "A");
|
|
}
|
|
|
|
}
|
|
|
|
}
|