若依审批流-委派

在审批流中,委派​ 是一种常见的操作,指的是当前审批人将本应由自己处理的任务,临时交给他人代为处理,但最终决策权和责任仍归属于原审批人。

点击若依工作流进行在线体验

工作原理

审批流中的"委派"通常具备以下几个关键特点:

  • 临时性与可逆性:委派通常是一种临时性的安排。例如,当正式审批人休假、出差或因其他原因暂时无法处理任务时,会进行委派。一旦原审批人恢复工作,委派关系可能就会结束。
  • 责任主体不变 :尽管任务被交给他人处理,但最终的责任仍然由原审批人(即委派人)承担。被委派人的操作通常被视为替原审批人提供参考意见或初步处理。
  • 流程的可回溯性:在流程记录中,委派操作、被委派人的处理意见以及流程如何返回至原审批人,这些信息通常都会被记录下来,确保流程的透明和可追溯 。

需求

假设现在有一个请假流程, 用户提交申请数据, 审批人将任务委派给另一个跟进,被委派人给出自己的意见后,任务继续流转到审批人。(类似虚线任务)

xml 复制代码
<?xml version="1.0" encoding="UTF-8"?>
<bpmn:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="Definitions_1" targetNamespace="http://bpmn.io/schema/bpmn">
  <bpmn:process id="Process_9729" name="请假流程" isExecutable="true">
    <bpmn:startEvent id="Event_0ucy4xc">
      <bpmn:outgoing>Flow_1fgnagb</bpmn:outgoing>
    </bpmn:startEvent>
    <bpmn:sequenceFlow id="Flow_1fgnagb" sourceRef="Event_0ucy4xc" targetRef="Activity_04kx462" />
    <bpmn:userTask id="Activity_04kx462" name="请假申请" camunda:assignee="${startUser}">
      <bpmn:extensionElements>
        <camunda:formData>
          <camunda:formField id="type" label="请假类型" type="string" />
          <camunda:formField id="reason" label="请假理由" type="string" />
          <camunda:formField id="days" label="请假天数" type="long" defaultValue="" />
        </camunda:formData>
      </bpmn:extensionElements>
      <bpmn:incoming>Flow_1fgnagb</bpmn:incoming>
      <bpmn:outgoing>Flow_0nrxozi</bpmn:outgoing>
    </bpmn:userTask>
    <bpmn:sequenceFlow id="Flow_0nrxozi" sourceRef="Activity_04kx462" targetRef="Activity_0qetwmj" />
    <bpmn:userTask id="Activity_0qetwmj" name="直属领导审批" camunda:assignee="${candidate}">
      <bpmn:extensionElements>
        <camunda:formData>
          <camunda:formField id="userComment" label="评论" type="string" />
        </camunda:formData>
      </bpmn:extensionElements>
      <bpmn:incoming>Flow_0nrxozi</bpmn:incoming>
      <bpmn:outgoing>Flow_0bpj5l6</bpmn:outgoing>
    </bpmn:userTask>
    <bpmn:sequenceFlow id="Flow_0bpj5l6" sourceRef="Activity_0qetwmj" targetRef="Gateway_07216c1" />
    <bpmn:exclusiveGateway id="Gateway_07216c1">
      <bpmn:incoming>Flow_0bpj5l6</bpmn:incoming>
      <bpmn:outgoing>Flow_0uf4uhb</bpmn:outgoing>
      <bpmn:outgoing>Flow_1jmp8ly</bpmn:outgoing>
    </bpmn:exclusiveGateway>
    <bpmn:endEvent id="Event_0lhm65y">
      <bpmn:incoming>Flow_0uf4uhb</bpmn:incoming>
    </bpmn:endEvent>
    <bpmn:sequenceFlow id="Flow_0uf4uhb" name="审批通过" sourceRef="Gateway_07216c1" targetRef="Event_0lhm65y">
      <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">${approved == true}</bpmn:conditionExpression>
    </bpmn:sequenceFlow>
    <bpmn:endEvent id="Event_0xmax1y">
      <bpmn:incoming>Flow_1jmp8ly</bpmn:incoming>
    </bpmn:endEvent>
    <bpmn:sequenceFlow id="Flow_1jmp8ly" name="审批拒绝" sourceRef="Gateway_07216c1" targetRef="Event_0xmax1y">
      <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">${approved==false}</bpmn:conditionExpression>
    </bpmn:sequenceFlow>
  </bpmn:process>

</bpmn:definitions>

演示效果

使用若依(ry)账号登陆系统,发起一个请假申请, 备注,测试委派, 注意,我同样选择了ry这个账户做审批人

使用若依(ry)账号登陆系统,在待办任务,通过委派操作,将任务先转交给admin

使用管理员(admin)账号登陆系统, 在待办任务菜单中, 会看到一个带有审查操作的记录, 点击它给出意见。

使用若依(ry)账号登陆系统,在待办任务菜单, 将会看到任务重新回到自己清单中, 也看到了admin的意见。

使用若依(ry)账号登陆系统,在待办任务中,执行通过,拒绝等操作, 时间线看到了最终效果。

若依工作流

相关推荐
计算机程序设计小李同学14 小时前
基于 Spring Boot + Vue 的龙虾专营店管理系统的设计与实现
java·spring boot·后端·spring·vue
Charlie_lll16 小时前
力扣解题-[3379]转换数组
数据结构·后端·算法·leetcode
VX:Fegn089517 小时前
计算机毕业设计|基于springboot + vue云租车平台系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
汤姆yu17 小时前
2026基于springboot的在线招聘系统
java·spring boot·后端
计算机学姐17 小时前
基于SpringBoot的校园社团管理系统
java·vue.js·spring boot·后端·spring·信息可视化·推荐算法
hssfscv17 小时前
Javaweb学习笔记——后端实战8 springboot原理
笔记·后端·学习
咚为17 小时前
Rust tokio:Task ≠ Thread:Tokio 调度模型中的“假并发”与真实代价
开发语言·后端·rust
Anastasiozzzz19 小时前
对抗大文件上传---分片加多重Hash判重
服务器·后端·算法·哈希算法
Vivienne_ChenW19 小时前
DDD领域模型在项目中的实战
java·开发语言·后端·设计模式
女王大人万岁19 小时前
Go标准库 sync 详解
服务器·开发语言·后端·golang