请假流程图

微信截图_20230320134142.png

流程图

微信截图_20230320134214.png

创建用户和角色

用户表

user.png

新建请假表

leave.png

发起请假流程

1.png

1.查询出业务表的ID(编号)

select * from leave

2.发起审批

3.查询待办流程

2.发起请假申请:RuntimeService
RuntimeService:提供了处理流程实例不同步骤的结构和行为。包括启动流程实例、暂停和激活流程实例等功能

2.1启动请假。

/*启动流程/

@RequestMapping(value = "/start", method = RequestMethod.GET)
public Map<String, Object> start(@RequestParam String userId){
    Map<String, Object> vars = new HashMap<>();
    Leave leave = new Leave();
    leave.setUserId(userId); //当前用户ID
    vars.put("leave",leave);
    ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("leave1",vars);
    Map<String, Object> resultMap = new HashMap<>();
    return resultMap;
}

2.2 部门经理查询需要处理的数据。

// 假设使用的是 Activiti 或类似的工作流引擎
List<Task> tasks = taskService.createTaskQuery()

                         .taskAssignee("wangjingli") // 王经理的用户名
                         .list();

for (Task task : tasks) {

System.out.println("Task ID: " + task.getId());
System.out.println("Task Name: " + task.getName());

}

一旦王经理找到了需要审核的任务,他可以通过任务ID来获取与该任务相关的所有变量,其中就包括 Leave 对象。

// 假设王经理找到了一个任务并获取了它的ID
String taskId = tasks.get(0).getId(); // 假设只关注第一个任务
Map<String, Object> taskVariables = taskService.getVariables(taskId);
// 打印出所有的任务变量
for (Map.Entry<String, Object> entry : taskVariables.entrySet()) {
    System.out.println(entry.getKey() + ": " + entry.getValue());
}
// 特别关注'leave'变量
Object leaveObj = taskVariables.get("leave");
if (leaveObj instanceof Leave) {
    Leave leave = (Leave) leaveObj;
    System.out.println("Leave details:");
    System.out.println("User ID: " + leave.getUserId());
    // 打印其他Leave对象的属性...
}

图例说明

主键ID:流程定义中节点的唯一标识
名称(Name):
描述信息(documentation):

异步:

同步情况下,完成节点任务和验证下一节点的地址是在同一事务中进行,所以当中如果发生异常,就会回滚当前事务,回滚已完成的任务,重新开始执行。如果勾选了异步,则一个节点完成了就提交事务,不依赖于下一个节点。也就是说不管下一个节点发生了什么,都不关已完成节点的事。完成任务在一个事务中进行,验证下一个节点的地址操作交给定时任务异步来完成。也就是说,如果设置任务是同步的,则发生异常后,会直接回滚;如果设置异步,则会单独执行和回滚

互斥任务:
执行监听器:
多实例类型:
基数(多实例):
集合(多实例):
元素变量(多实例):
完成条件(多实例)
是否补偿:
分配用户(assignee):
表单编号:
到期时间:
优先级:
表单属性:
任务监听器:

参考文章:
https://blog.csdn.net/qq_49045151/article/details/121209349

标签: none

相关阅读

  • 测试信息
  • 开发商:阿里巴巴
  • 版本号:1.0
  • 配色:(企业家)” 推选活动结果
  • 测试信息
  • 测试信息
  • 测试信息