EOS学习系统---BPS工作流程

1、首先创建一个“报销单审批的”流程,然后定义不同的url页面和对应的逻辑流;

2、具体案例实现如下:

EOS学习系统---BPS工作流程_第1张图片

3、表单录入页面:

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8" session="false" %>
<%@page import="com.eos.data.datacontext.UserObject" %>
	




报销单录入
    
    
    


 <%
  	UserObject userObject =(UserObject)request.getSession().getAttribute("userObject");
  	//通过页面的workItemID获取工作项详细信息workItem
  	Long workItemID = (Long)request.getAttribute("workItemID");
   %>
   

	
操作员
报销单编号:
报销人姓名:
报销金额:
报销日期: 是否是预算内项目:
部门经理: 部门经理意见:
财务经理: 财务经理意见:

4、对应的逻辑流

获取工作项明细:通过页面传入的workItemID,使用BPS API的构件queryWorkItemDetail4SDO查询workitem工作项详细信息;
赋值:workitem查询出来后,将其包含的processinstid赋值给业务表的processinstid,便于查询业务表信息;
获取表单信息:通过processinstid与业务表的关联,可以查询业务表信息。

EOS学习系统---BPS工作流程_第2张图片

获取报销单编号:表单录入成功后,点击提交,转向下一活动“提交审批流程”,获取报销单编号是为了创建流程实例时,为流程名称和描述起名赋值;在这一活动中存在一个流程是否启动的判断,通过业务表数据中的processinstid是否为null或empty来判断流程是否启动;
赋值流程实例描述和名称:将expcode作为后缀,为创建的流程实例描述和名称赋值;

创建流程实例:BPS API构件库中的组件,是用来创建流程实例,需要传入三个参数,分别是:流程实例名称,流程实例描述,流程实例路径(即要提交的流程全名),返回一个流程实例id;
赋值流程实例id:将创建好的流程实例id赋值给业务表中的processinstid,便于后期查询业务表数据信息;

空操作:一个过渡图元,用来连接流程启动后的下一活动。流程启动后,通过流程实例id判断业务表中是否存在该条数据记录,存在,则走update的逻辑流,不存在,则走add的逻辑流;

构造相关数据:通过业务表单的信息,赋值给流程活动中需要的相关数据(即条件数据);
设置相关数据:调用BPS API的相关构件setRelativeDataBatch(批量设置相关数据),参数是通过processinstid,设置relativeData;

启动流程实例并完成第一个工作项:相关数据设置完成后,通过判断workItemID是否为null或empty,判断若流程未启动,则调用startProcessInstAndFinishFirstWorkItem构件,入参为processinstid,事务操作设置为false,没有其他的参数null;
流程已启动直接完成工作项:相关数据设置完成后,若流程已启动,则调用finishWorkItem构件,入参为workItemID,事务操作仍设置为false。

5、审批页面



	

6、经理审批逻辑流

EOS学习系统---BPS工作流程_第3张图片

经理审批流程:
首先,需要将表单信息查询出来并展示,将业务表信息赋值给页面上对应的字段,点击同意或不同意之后,重新获取表单信息,将页面上需要传递的信息赋值给业务表;
然后,调用更新逻辑流,仅更新被修改的内容;
设置相关数据:将所需要的条件数据进行设置完成后,调用finishWorkItem构件完成工作项。

7、财务审批逻辑流

EOS学习系统---BPS工作流程_第4张图片

财务审批流程:
首先,需要将表单信息查询出来并展示,将业务表信息赋值给页面上对应的字段,点击记账之后,重新获取表单信息,将页面上需要传递的信息赋值给业务表;
然后,调用更新逻辑流,仅更新被修改的内容;
完成工作项:由于财务审批流程是最后一项活动,没有分支且只需要一个自动活动完成记账状态的修改即可,所以无需设置相关数据,直接调用finishWorkItem构件完成工作项。

对于最后一项活动设置为自动活动,即修改一个字段的值,可以通过自动活动的“应用配置”tab页进行设置。

你可能感兴趣的:(EOS系统,BPS工作流)