📄 billassignment_enter_task.java
字号:
package com.xiangfeng.jbpm.ActionHandler;
import java.util.Iterator;
import java.util.List;
import org.hibernate.Session;
import org.jbpm.graph.def.ActionHandler;
import org.jbpm.graph.exe.ExecutionContext;
import org.jbpm.graph.exe.ProcessInstance;
import org.jbpm.taskmgmt.exe.TaskInstance;
import com.xiangfeng.model.Bill;
import com.xiangfeng.util.hibernateUtil.HibernateUtil;
public class BillAssignment_enter_task implements ActionHandler{
public void execute(ExecutionContext ctx) throws Exception {
System.out.println("BillAssignment_enter_task---- 进入------------ 代理客服 执行任务 判断订单类型 ");
System.out.println("-------------当前节点为 -----"+ctx.getProcessInstance().getRootToken().getNode().getName());
//System.out.println("触发了BillAssignment----");
//String billNO= ctx.getTaskInstance().getProcessInstance().getKey();
String billIid=(String)ctx.getContextInstance().getVariable("billIid");
//String username=(String)ctx.getContextInstance().getVariable("username");
//System.out.println("username is "+username);
// Bill_Trace bt = new Bill_Trace();
//bt.setBActive(true);
// bt.setCBillNo(billNO);
//bt.setTCreate(new Date());
// bt.setTBegin(new Date());
//bt.setTActor(username);
Bill bill =null;
Session session = HibernateUtil.getSession();
//ctx.getJbpmContext().setSession(session);
try {
//session.beginTransaction();
bill=(Bill)session.load(Bill.class, Integer.parseInt(billIid));
//session.getTransaction().commit();
List tasks= ctx.getJbpmContext().getTaskMgmtSession().findTaskInstances("billadmin");
System.out.println(" ---> my Processinstance" + ctx.getProcessInstance().getKey()) ;
System.out.println("tasks.size() is "+tasks.size());
//TaskInstance taskInstance = (TaskInstance)tasks.get(0);
for (Iterator iter = tasks.iterator(); iter.hasNext();) {
TaskInstance taskInstance = (TaskInstance) iter.next();
ProcessInstance instance = taskInstance.getProcessInstance();
System.out.println("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$instance.getKey is "+instance.getKey());
if(bill.getCproperty1().equals("直接提交商家")){
System.out.println("流程走向------------直接提交商家 ");
taskInstance.getToken().signal("直接提交商家");
//taskInstance.end("直接提交商家");
//instance.signal("直接提交商家");
}else if(bill.getCproperty1().equals("转交客服处理")){
System.out.println("流程走向------------转交客服处理) ");
taskInstance.getToken().signal("转交客服处理");
//taskInstance.end("转交客服处理");
//instance.signal("转交客服处理");
}
}
//此任务是document001正在等待他审批
// ProcessInstance instance = taskInstance.getProcessInstance();
/*
if(bill.getCProperty1().equals("直接提交商家")){
System.out.println("触发ctx.leaveNode(直接提交商家) ");
//Transition t =new Transition();
ctx.leaveNode("直接提交商家");
//ctx.getProcessInstance().signal("直接提交商家");
//instance.signal("直接提交商家");
}else if(bill.getCProperty1().equals("转交客服处理")){
System.out.println("触发ctx.leaveNode(转交客服处理) ");
ctx.leaveNode("转交客服处理");
//ctx.getProcessInstance().signal("转交客服处理");
}*/
} catch (Exception e) {
//session.getTransaction().rollback();
e.printStackTrace();
} finally {
HibernateUtil.closeSession(session);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -