把Activiti打入你的脑袋,通过查询代办/已办、审核快速打入
目录
Activiti(一)入门了解
Activiti(二)整合
Activiti(三)部署、发布流程
Activiti零零碎碎的坑
一、审核代办/已办
功能 | 思路 |
---|
| 1.查询当前用户 | 代办 | 2.根据当前用户ID获取待审核任务 | | 3.返回待审核任务信息 | – | – | | 1.查询当前用户 | 已办 | 2.根据当前用户ID获取历史审核任务 | | 3.返回历史审核任务信息 |
public DataGridPojo ingProessList(String applyState,String userId) {
List Result = new ArrayList();
if(applyState.equals("待审核")){
List<Task> tasks = taskService.createTaskQuery().taskInvolvedUser(userId)
.orderByTaskCreateTime().desc()
.list();
Result = tasks;
}else if(applyState.equals("已审核") || applyState.equals("审核通过")){
List<HistoricTaskInstance> histTaskList = historyService.createHistoricTaskInstanceQuery().taskInvolvedUser(userId)
.orderByHistoricTaskInstanceStartTime().desc()
.list();
List<HistoricTaskInstance> histTaskApproveds = histTaskList.stream().filter(h -> "epidemicGroup".equals(h.getName()) && null != h.getEndTime()).collect(Collectors.toList());
Result = applyState.equals("已审核")
? histTaskList : histTaskApproveds;
}
DataGridPojo dataGridPojo = new DataGridPojo();
dataGridPojo.setRows(Result);
return dataGridPojo;
}
二、签收代办(审核)
| 思路 |
---|
| 根据流程实例ID和当前用户ID查询流程任务是否存在 | 存在 | 1.根据当前人员设置审核节点状态 | | 2.通过节点状态完成审核任务 | – | – | 不存在 | 返回不成功状态码 |
public int aduit(User user,Apply apply){
if(null == user) return -1;
Task task = taskService.createTaskQuery().processInstanceId(apply.getProcessInstanceId()).taskInvolvedUser(user.getUserId()+"").singleResult();
int state = -1;
if(null != task) {
Map<String, Object> args = new HashMap<>();
switch (task.getName()){
case "teacher":
state = Constants.EPIDEMIC_APPLY_STATE_LSSH;
break;
case "academy":
state=Constants.EPIDEMIC_APPLY_STATE_XSCSH;
break;
case "epidemicGroup":
state=Constants.EPIDEMIC_APPLY_STATE_GZXZSH;
break;
}
args.put("applyState", state);
taskService.setAssignee(task.getId(),user.getUserId() + "");
try {
taskService.complete(task.getId(), args);
} catch (Exception e) {
log.error(e.getMessage());
return -1;
}
}
return state;
}
三、实例代码
代办:
已办:
审核代办: 查代办看是否完成: 查已办是否存在:
|