news 2026/8/20 23:04:07

SpringBoot+Flowable 流程抄送设计:COPY_NODE、候选人解析与「抄送我的」台账如何落地

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
SpringBoot+Flowable 流程抄送设计:COPY_NODE、候选人解析与「抄送我的」台账如何落地

SpringBoot+Flowable 流程抄送设计:COPY_NODE、候选人解析与「抄送我的」台账如何落地

🌐演示地址:http://ruoyioffice.com | 📦源码1·GitHub:ruoyi-office | 📦源码2·GitCode:ruoyi-office | 📦源码3·Gitee:ruoyi-office | 💬微信:17156169080(备注「RuoYi Office」)

加签、转办改的是「谁来审」;超时管的是「人不审怎么办」。还有一类刚需:领导要知情,但不该出现在待办里挡流程。这就是抄送——知会不审批。本文讲 RuoYi Office 如何把简单流程「抄送人」节点与办理中手动抄送,都落到同一张抄送台账。

▲ 新风格全景(纸感双栏):自动抄送节点 vs 手动抄送动作,中间「台账同源」;底部强调不是待办

引言:抄送不是缩小版审批

审批 / 办理抄送
任务形态UserTask / 待办台账记录,通常无待办完成动作
是否卡住流程是(除非或签等提前完成)
配置入口审批人节点COPY_NODE 或办理按钮
列表入口我的待办 / 已办抄送我的

配错后果:把抄送人做成审批人 → 领导待办爆炸、流程被不知情节点卡住。


一、自动抄送:COPY_NODE → ServiceTask

简单流程节点类型:

COPY_NODE(12,"抄送人","serviceTask"),

SimpleModelUtils.CopyNodeConvert

ServiceTaskserviceTask=newServiceTask();serviceTask.setImplementationType(DELEGATE_EXPRESSION);serviceTask.setImplementation("${bpmCopyTaskDelegate}");addCandidateElements(candidateStrategy,candidateParam,serviceTask);

执行时BpmCopyTaskDelegate

Set<Long>userIds=taskCandidateInvoker.calculateUsersByTask(execution);if(CollUtil.isEmpty(userIds))return;processInstanceCopyService.createProcessInstanceCopy(userIds,null,processInstanceId,activityId,activityName,null);

要点:

  1. 复用候选人策略——指定角色/部门负责人/自选等与审批节点同一套 Invoker
  2. 空抄送人直接跳过——不抛错卡死流程
  3. 无 taskId(节点自动抄送)——台账仍记 activityId/Name

▲ 在流程模型里插入「抄送人」节点并配置候选人;发布后随定义自动执行


二、手动抄送:办理中 copyTask

审批人办理时选人抄送:

// BpmTaskServiceImplprocessInstanceCopyService.createProcessInstanceCopy(reqVO.getCopyUserIds(),reqVO.getReason(),reqVO.getId()/* taskId */);

重载先取 Task,再写入:

  • userId(被抄送人)
  • reason(抄送意见)
  • processInstanceId/processInstanceName/category
  • taskId/activityId/activityName
  • startUserId

自动与手动最终都进BpmProcessInstanceCopyDO批量 insert。


三、台账与入口:「抄送我的」

▲ 「抄送我的」:只读知会列表,与待办分离;可从工作台抄送 Tab 进入

▲ 对照:待办要处理才会推进;抄送列表不承担 completionCondition

产品语义建议:

  • 打开抄送单据 → 详情只读(或按表单字段权限)
  • 不提供「同意/拒绝」主按钮(除非你们另做「阅知确认」产品,那是另一条状态机)

四、和协作能力的边界

能力改变什么
加签 / 转办 / 委派审批责任人
候选人策略下一关谁审
超时处理人不审时系统动作
抄送知情面,不改审批责任

消息通知可在写台账后额外推送;但「抄送成功」的数据真相源应是抄送表,而不是只发一条易丢的 IM。


五、推荐体验路径

在线演示:http://ruoyioffice.com/web/(账号admin/admin123

  1. 流程模型:加一个抄送人节点(如抄送发起人部门负责人),发布。
  2. 发起流程,用被抄送账号打开抄送我的,确认有记录且无待办。
  3. 在审批待办中点抄送其他人,再看台账是否多一条带 reason 的记录。
  4. 确认流程不因抄送人未读而卡住。

源码仓库:GitHub | GitCode | Gitee


常见问题(FAQ)

抄送人会不会收到待办?

默认不会。Delegate 只写抄送表;待办来自 UserTask。若消息中心另发通知,那是提醒通道,不是审批任务。

抄送节点候选人解析失败怎么办?

当前实现 userIds 为空则 return,流程继续。若业务要求「必须抄到人」,需在模型校验或 Delegate 内显式失败策略。

和「抄送即知会确认」有何差别?

知会确认要额外状态(已阅/未阅)与可能的阻塞规则;本设计是轻量台账。加已阅可在抄送表扩字段,不必改成 UserTask。

手动抄送能否抄给自己?

取决于前端是否过滤;后端按 userIds 写入。产品上可禁自抄,减少噪声。


结语

流程抄送的工程要点是:自动节点用 ServiceTask + 候选人 Invoker,手动动作走 copyTask,两者写入同一台账;入口与待办彻底拆开。这样领导能知情,流程不被「假审批人」拖死。

你们现在抄送是 IM 群里@一下,还是流程里有正式节点?有没有把抄送误配成会签?欢迎评论区交流。


💡想要体验 RuoYi Office 的强大功能?

🌐在线演示:http://ruoyioffice.com/web/(账号 admin / admin123)

📦源码仓库:GitHub | GitCode | Gitee

💬技术咨询:添加微信17156169080,备注「RuoYi Office」

如果觉得不错,请给个 Star 支持一下!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/20 22:53:17

基于ESP8266的温湿度感知与LED智能控制:从传感器到物联网应用

1. 项目概述&#xff1a;一个能感知温湿度的智能灯控核心如果你手头正好有几片ESP8266开发板、一些LED灯珠或灯带&#xff0c;还有一个DHT11或DHT22温湿度传感器&#xff0c;那么你离打造一个属于自己的环境感知型智能灯光系统&#xff0c;可能就差这篇文章的距离了。这个项目&…

作者头像 李华
网站建设 2026/8/20 22:50:14

现代汽车L4级自动驾驶路测:技术铁三角与商业化挑战解析

1. 从“测试”二字看现代汽车的L4级野心最近看到韩国现代汽车集团正式启动Level 4级别自动驾驶汽车测试的消息&#xff0c;说实话&#xff0c;我第一反应不是“哇&#xff0c;好厉害”&#xff0c;而是“终于走到这一步了”。这个“正式测试”的提法&#xff0c;背后信息量其实…

作者头像 李华
网站建设 2026/8/20 22:44:35

构建GitHub与邮件列表自动化同步后端:Flirt系统实战指南

在分布式系统开发中&#xff0c;后端服务的高效协作与数据同步是项目成功的关键。你是否遇到过这样的场景&#xff1a;团队代码托管在 GitHub&#xff0c;而项目的重要通知、讨论和社区互动却依赖邮件列表&#xff08;Mailing List&#xff09;&#xff1f;两者信息割裂&#x…

作者头像 李华
网站建设 2026/8/20 22:44:12

楼宇自控|颠覆传统楼宇管理!智能楼宇自控系统,打造高效智慧建筑

现代建筑规模化、功能多元化发展&#xff0c;传统人工管控模式效率低下、管控滞后、资源浪费严重&#xff0c;无法适配写字楼、商业综合体、产业园区、高端住宅等建筑的现代化运维需求。楼宇自控系统作为智慧建筑的核心基础设施&#xff0c;通过数字化、自动化、智能化手段&…

作者头像 李华
网站建设 2026/8/20 22:34:11

企业微信开放 CLI 与 MCP,AI Agent 正式进入办公软件

8月18日&#xff0c;企业微信 5.0.10 正式发布&#xff0c;官方宣布向所有规模的企业开放 CLI 与 MCP 能力&#xff0c;消息、文档、表格、邮件、会议、日程、通讯录等十大办公模块&#xff0c;可以直接被 AI Agent 调用了。换句话说&#xff0c;AI 正在从"在你旁边聊天&q…

作者头像 李华