package uy.com.gecos.erpm.motor.workitems; import java.util.LinkedHashMap; import java.util.Map; import org.kie.api.runtime.KieSession; import org.kie.api.runtime.process.ProcessInstance; import org.kie.api.runtime.process.WorkItem; import org.kie.api.runtime.process.WorkItemHandler; import org.kie.api.runtime.process.WorkItemManager; public class TareaWorkflowWorkItemHandler implements WorkItemHandler { KieSession ksession; int contador = 1; int contador2 = 1; public TareaWorkflowWorkItemHandler(KieSession session) { ksession = session; } public void executeWorkItem(WorkItem workItem, WorkItemManager manager) { System.out.println("WORKITEM: " + workItem.getParameters().toString()); Map results = new LinkedHashMap(); // if (workItem.getParameter("nombreTarea").equals("Supervisor") || workItem.getParameter("nombreTarea").equals("Gerencial")) { // //if (contador == 3 || contador == 4) { // if (contador < 3) { // contador++; // results.put("seguir", false); // results.put("undo", true); // results.put("undo__TareaWorkflow_2", true); // } else { // results.put("seguir", true); // results.put("undo", false); // contador++; // } // } else if (workItem.getParameter("nombreTarea").equals("Cuarta") && contador2 < 2) { // contador2++; // results.put("seguir", false); // results.put("undo", true); // results.put("undo__TareaWorkflow_6", true); // } else { // results.put("seguir", true); // results.put("undo", false); // } manager.completeWorkItem(workItem.getId(), results); } public void abortWorkItem(WorkItem workItem, WorkItemManager manager) { ProcessInstance processInstance = ksession.getProcessInstance(workItem.getProcessInstanceId()); System.out.println("Llamado a abort " + processInstance); } }