JBPM学习(4):设计请假流程

这一节的任务是学习如何设计一个请假流程,并将流程引擎放到web项目中集成,使用JSP达到在网页上管理流程定义的目的。

整体分为以下两个部分:

  • 设计请假流程
  • 集成web工程

设计请假流程主要是指设计流程定义,它分为以下几步:


1、创建动态web项目

2、在/src文件夹下创建JBPM流程定义

3、流程定义设计如图

JBPM学习(4):设计请假流程_第1张图片

启动节点——填写申请单——经理审批——决策节点(如果请假天数大于3天)——老板审批

——(少于三天)老板通过——结束节点

在任务节点上配置分配人

JBPM学习(4):设计请假流程_第2张图片

至此,流程定义设计完毕

下一步,将流程引擎集成的web工程中

步骤:

1、如第二节一样,配置运行环境

2、如下方法,编写jsp页面,进行发布流程,查看流程和删除流程

  <body>
  <a href="index.jsp?action=deploy">deploy</a>
    <%ProcessEngine processEngine=Configuration.getProcessEngine();
      RepositoryService repositoryServic=processEngine.getRepositoryService();
      String action=request.getParameter("action");
      System.out.println("dd"+action);
      if(!action.equals("")){
    	  if(action.equals("deploy")){
        	  repositoryServic.createDeployment().addResourceFromClasspath("leave.jpdl.xml").deploy();
          }else if(action.equals("remove")){
  //通过pd.getDeploymentId对流程进行删除
//后台获取DeploymentId来决定删除哪一个流程定义。      	  
      repositoryServic.deleteDeploymentCascade(request.getParameter("id")); 
          }
      } 
      List<ProcessDefinition> list=repositoryServic.createProcessDefinitionQuery().list();
      for(ProcessDefinition pd:list){   	 
    %>
    <%=pd.getId() %>,<%=pd.getName()%>,<%=pd.getVersion() %>
     <a href="index.jsp?action=remove&id=<%=pd.getDeploymentId() %>">remove</a>
    <%
      }
    %>
  </body>

点击deploy超链接,发布流程定义:

点击remove超链接,删除流程定义

JBPM学习(4):设计请假流程_第3张图片

如图,成功删除流程定义。至此,本节内容结束。

这一节可以说是对于流程定义管理的一个复习和回顾,只是将流程定义管理的代码放入了JSP文件中,整体方法并没有改变。




你可能感兴趣的:(JBPM学习(4):设计请假流程)