CCCCCCCYYY_ 2022-03-08 14:15 采纳率: 50%
浏览 111
已结题

如何设计一个包含简易流程的系统?

一个内部新项目有流程审批流,大部分流程节点都不多大致都3-6个节点,总共4-6个流程。但其中两个流程节点很多(流转的节点可写死,只在于人员不同,根据不同部门其中的领导层可能少1-2层)(13-15个节点)且根据不同状态有分支(且节点需可扩展推送钉钉或企微通知),但最终都是归档。
要求实现可以退回驳回至任意节点、恢复流程、监控流程状态等功能。

之前没有过写流程系统的经验,现在的想法是基于数据库表实现这个简易的流程系统,如果能用Activiti我不会来提问的
包含流程信息表(基本状态、节点String逗号分隔)、流程节点表(流程的每个节点)、流程修改记录表(流程状态变更记录,关联审批表)、流程审批表(真实流程requestId)。节点多的两个流程直接写死插入节点表,只变更其中的人员。
总觉得有很多地方遗漏且太过耦合,且这种流程有什么设计模式可用吗?

  • 写回答

6条回答 默认 最新

  • 一起随缘 2022-03-14 11:40
    关注

    可以参考以下两个方案:
    1、责任链模式,具体参考文章可参考链接https://juejin.cn/post/6844903512506122253
    2、表结构状态设计,审批流程一般涉及当前节点、下一节点以及上一个节点,然后页面添加相应按钮,操作后更改表中的状态,每个人的数据根据状态和权限显示

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 3月15日
  • 修改了问题 3月8日
  • 修改了问题 3月8日
  • 创建了问题 3月8日

悬赏问题

  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度