当前位置: 首页 > news >正文

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 支持一下!

http://www.cnnetsun.cn/news/4124442.html

相关文章:

  • 一句话看懂 GridPlayer:免费开源多视频网格播放器,一个窗口同时看完所有画面
  • 基于ESP8266的温湿度感知与LED智能控制:从传感器到物联网应用
  • 现代汽车L4级自动驾驶路测:技术铁三角与商业化挑战解析
  • 构建GitHub与邮件列表自动化同步后端:Flirt系统实战指南
  • 楼宇自控|颠覆传统楼宇管理!智能楼宇自控系统,打造高效智慧建筑
  • 企业微信开放 CLI 与 MCP,AI Agent 正式进入办公软件
  • 2026大厂软件测试面试趋势与核心技术解析
  • 按钮状态设计全解析:从基础五态到前端实现与设计系统集成
  • 智能驾驶三大趋势:从堆料到场景深耕,车路云网一体化演进
  • Nmap常用扫描命令及参数解析(进阶扫描技术)
  • 2026论文双检终极解法!OKBIYE查重+分层降重,告别重复率、AI痕迹双重超标✅
  • ETF 与普通基金怎么比较:费用、流动性与风险指标
  • 零基础学pcie--PCIe 是“串行”的,为什么比并行快
  • 从辉昂案例看品牌向上突围:技术下放为何难破豪华壁垒?
  • 3D打印电动车量产解析:从制造革命到消费者疑虑全解答
  • 多模态智能体安全:从幻觉缺陷到攻击向量与防御设计
  • 从零实践:基于RAG与官方API构建长上下文AI应用
  • EPS功能安全:从ASIL B到D的演进与系统化工程实践
  • 免费商用不将就:思源宋体7字重从安装到实战的完整指南
  • 系统架构设计师考点全纪要(自己整理,本人一次稳过)
  • iOS 15-16激活锁绕不过?开源工具applera1n一键绕过iCloud,保姆级上手实录
  • 基于SpringBoot的高校爱心捐赠系统
  • 微信小程序NFC卡读写,MifareClassic1K卡,M1卡片读写教程
  • 软件测试面试Python核心考点:数据处理、OOP、异常处理与测试库实战
  • 战双帕弥什每日任务自动化神器MAA_Punish:一步到位,告别重复日常
  • AI视频平台权限配置常见问题和排查清单
  • AI视频平台权限配置参数配置说明与排查指南
  • 终极Prettymaps样式系统指南:打造精美地图的完整教程
  • 3分钟快速打造专属二次元表情包,Sekai Stickers免费开源工具让你告别表情荒
  • 猫抓插件完整指南:三步下载任意网页视频,M3U8流媒体合并也不难