传智播客activiti课堂笔记2(6)

2019-08-29 19:10

使用TaskService查询当前用户待办任务(待提交的采购单)

注意:

Service创建一个自定义的对象,使用对象将activiti和业务系统控制层进行隔离,防止将来修改工作流引擎,系统控制层是不需要修改代码。

即使service只返回activiti的task对象就可以满足,也要在中间加一个自定义的对象将activiti和业务系统控制层进行隔离。

@Override

public List findOrderTaskList(String userId) throws Exception {

// 流程定义key(流程定义的标识 )

String processDefinitionKey = ResourcesUtil.getValue(

\, \); // 任务 负责人

String assignee = userId; // 创建查询对象

TaskQuery taskQuery = taskService.createTaskQuery();

// 设置查询条件

taskQuery.taskAssignee(assignee);

// 指定 流程定义key,只查询某个流程的任务

taskQuery.processDefinitionKey(processDefinitionKey);

//设置排序 字段,根据任务创建时间降序

taskQuery.orderByTaskCreateTime().desc();

// 获取查询列表

List list = taskQuery.list();

//需要返回的内容:任务id、任务标识 、任务名称、任务负责人、采购单名称、采购金额

List orderList = new ArrayList();

for (Task task : list) {

OrderCustom orderCustom =new OrderCustom();

// 流程实例id

String processInstanceId = task.getProcessInstanceId(); // 根据流程实例id找到流程实例对象

ProcessInstance processInstance = runtimeService .createProcessInstanceQuery()

.processInstanceId(processInstanceId).singleResult(); // 从流程实例对象中获取businessKey

String businessKey = processInstance.getBusinessKey(); // 根据businessKey查询业务系统 //采购单id

String orderId = businessKey; PurBusOrder purBusOrder =

purBusOrderMapper.selectByPrimaryKey(orderId); //获取采购单名称、采购金额等采购单信息 //将purBusOrder内容拷贝到orderCustom

BeanUtils.copyProperties(purBusOrder, orderCustom);

//下边向orderCustom开始设置任务信息

//任务id、任务标识 、任务名称、任务负责人 //任务id

orderCustom.setTaskId(task.getId()); //任务标识

orderCustom.setTaskDefinitionKey(task.getTaskDefinitionKey()); //任务名称

orderCustom.setTaskName(task.getName()); //任务负责人

orderCustom.setAssignee(task.getAssignee());

orderList.add(orderCustom); }

return orderList; }

6.2.3 action

采购单处理列表:

查询当前用户采购单待处理任务列表。

6.2.4 页面

根据任务标识 ,显示不同的链接名称 。

7 提交采购单

7.1 需求

员工创建采购单完成,在确定采购单不再修改,执行提交采购单,提交后由经理审核。

7.2 实现

提交采购单目标将流程向后推进一步。

7.2.1 dao

不用实现.

7.2.2 service

接口功能:提交采购单

接口参数:任务id、任务负责人 接口内容: 调用acti

service执行任务完成。

7.2.3 action

提交采购单:

7.2.4 页面

修改orderTaskList.jsp页面,添加提交采购单链接,将任务id传给action方法。

7.2.5 测试

测试步骤:

以zhangsan登陆,提交采购单,查询采购单处理列表,任务没有了 以lisi登陆,查询采购单处理列表,有一个部门经理审核的任务。

8 采购单审核

正式开发时为了系统扩展方便,需要将部门经理审核、总经理审核、财务审核定义不同的action、service。采用共


传智播客activiti课堂笔记2(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:CS的顶级会议和期刊

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: