- Java code
String isSubmit=request.getParameter("isSubmit"); if(null!=isSubmit&"true".equals(isSubmit)){ String title=request.getParameter("title"); String money_count=request.getParameter("money_count"); String remark=request.getParameter("remark"); String issueperson=request.getSession().getAttribute("loginuser").toString(); JbpmContext jbpmContext=JbpmConfiguration.getInstance().createJbpmContext(); try{ //设置当前的登录用户为issueperson jbpmContext.setActorId(issueperson); ProcessDefinition pd=jbpmContext.getGraphSession().findLatestProcessDefinition("payment"); //每次都新建一个实例 ProcessInstance pi=new ProcessInstance(); pi=pd.createProcessInstance(); out.println("<script> alert("+pi.getId()+")</script>"); ContextInstance ci=pi.getContextInstance(); ci.setVariable("issueperson",issueperson); //创建任务开始节点的TaskInstance TaskInstance ti=pi.getTaskMgmtInstance().createStartTaskInstance(); //向任务实例当中写入相关变量 ti.setVariable("title",title); ti.setVariable("money_count",money_count); ti.setVariable("remark",remark); //结束任务实例,流程的Token就进入部门经理审批节点 ti.end(); }finally{ jbpmContext.close(); } out.println("<h1>报销申请提交成功</h1>"); return; }
- HTML code
<form action="wirte.jsp" method="post"> 报销主题:<input type="text" name="title"/><br/> 报销金额:<input type="text" name="money_count" /><br> 报销说明:<input type="text" name="remark"/><br/> <input type="hidden" name="isSubmit" value="true"/> <input type="submit" value="提交报销"/> </form>
分配审核人
- Java code
public class ManagerAssignment implements AssignmentHandler,Constants { @Override public void assign(Assignable assignable, ExecutionContext executionContext) throws SqlOperationException { //从当前流程实例上下文当中取出当前报销人 String issueperson=executionContext.getContextInstance().getVariable(this.ISSUE_PERSON).toString(); if(issueperson.equals("user1")){ //当报销人为user1时,部门经理为manager1 assignable.setActorId("manager1"); }else{ //当报销人为其他人时,部门经理为manager2 assignable.setActorId("manager2"); } }}
------解决方案--------------------------------------------------------
java.sql.BatchUpdateException: ORA-00001: 违反唯一约束条件 (HZRENFANG.SYS_C005718)
查看你更新的字段是不是有相同的了 ,你可以把唯一去了 看看好了没,如果好了,看看是哪个字段引起的。找找原因。
------解决方案--------------------------------------------------------
楼主的实例 我也有一份类似的 呵呵 我的可以运行