若依审批流-委派

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

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

工作原理

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

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

需求

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

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)账号登陆系统,在待办任务中,执行通过,拒绝等操作, 时间线看到了最终效果。

若依工作流

相关推荐
杨凯凡4 小时前
【021】反射与注解:Spring 里背后的影子
java·后端·spring
Ares-Wang5 小时前
Flask》》 Flask-Bcrypt 哈希加密
后端·python·flask
小码哥_常5 小时前
Spring Boot项目大变身:为何要拆成这六大模块?
后端
码事漫谈7 小时前
兵临城下:DeepSeek-V4 的技术突围与算力“成人礼”
后端
三水不滴7 小时前
SpringAI + SpringDoc + Knife4j 构建企业级智能问卷系统
经验分享·spring boot·笔记·后端·spring
玖玖passion8 小时前
Windows 上部署 Hermes Agent 完整指南 - 让你的 AI 助手在 WSL2 中跑起来
前端·后端·github
Undoom9 小时前
【腾讯位置服务开发者征文大赛】基于YOLOv8与腾讯地图的视障辅助Android应用——从模型训练到端侧部署全链路实践
后端
ltl9 小时前
【大模型基础设施工程】03:CUDA 生态——cuBLAS、cuDNN、NCCL、Triton、CUTLASS
后端
wan_jm10 小时前
Go Web 开发提速 3(gos):Filter 实战与变量注入 —— 通用逻辑复用与依赖解耦
后端