淄博市网站建设_网站建设公司_改版升级_seo优化
2026/1/8 18:24:08 网站建设 项目流程

作者:友为软件 · 后端开发工程师
技术栈:Spring Boot + MyBatis Plus + Activiti + MinIO + Vue3

最近半年,我主导开发了一套企业知识产权(IP)管理系统,核心模块之一就是专利全生命周期管理
和市面上通用OA不同,这套系统要同时满足:

  • 业务灵活性(专利/软著/商标三类IP独立又关联)
  • 流程严谨性(提案→审批→跟踪→验收→付款闭环)
  • 合规可审计(每一步操作留痕,支持IPO尽调)

今天想从技术实现角度,聊聊我们是怎么设计的,踩了哪些坑,又有哪些值得借鉴的设计。


一、核心模型设计:一个IP,三种形态

我们抽象出ip_proposal(知识产权提案)作为主表,通过ip_type字段区分:

  • PATENT(发明/实用新型/外观/布图设计)
  • COPYRIGHT(软件著作权/作品)
  • TRADEMARK

每种类型有独立扩展表,比如:

  • patent_detail:含申请号、IPC分类号、优先权日等
  • copyright_detail:含作品类型、首次发表日期
  • trademark_detail:含类别、图样存储路径

✅ 优势:

  • 共用审批流、状态机、权限控制
  • 扩展字段隔离,避免大宽表
  • 新增IP类型只需加一张detail表 + 配置路由

二、流程引擎选型:为什么用 Activiti?

最初考虑自研状态机,但发现:

  • 审批节点动态(会签/或签/退回)
  • 需要支持“发起验收”“重新提交”等跨阶段跳转

最终选用Activiti 7,原因:

  • 支持 BPMN 2.0 标准,流程可视化
  • 与 Spring Boot 集成成熟
  • 可动态挂起/恢复流程(应对UAT变更)

⚠️ 坑点:Activiti 默认不支持“多实例并行会签+部分同意即过”,我们通过自定义TaskListener实现。


三、文件管理:如何安全存证?

专利过程需上传:

  • 技术交底书
  • 受理通知书
  • 授权证书
  • 缴费凭证

我们采用:

  • MinIO 对象存储(私有化部署,替代OSS)
  • 文件与提案ID强绑定
  • 上传时自动记录哈希值,防篡改
  • 验收环节校验“是否已上传必要文件”(通过规则引擎 Drools 配置)

四、状态同步:如何让“业务跟踪”不混乱?

每个提案有主状态(如“审批中”“实审中”“已授权”),
但业务人员还需维护子信息(如缴费截止日、代理机构)。

我们设计:

  • 主状态由流程引擎驱动(不可手动改)
  • 业务字段由用户维护,但每次更新触发事件通知
  • 系统自动计算“下次官方 deadline”,提前7天发预警(集成 Quartz)

五、付款联动:如何对接财务?

验收通过后,自动生成ip_payment_request记录,
包含:

  • 关联提案ID
  • 费用类型(官费/代理费/年费)
  • 预算科目
  • 发票状态

财务在“IP付款单”列表中一键发起报销,


数据同步至费控系统(通过 REST API + 消息队列保证一致性)。


💡 总结:技术为业务服务

这套系统最难的不是代码,而是理解IP管理的业务逻辑

  • 法务关心权属和风险
  • 财务关心费用和凭证
  • 管理层关心资产和布局

而我们的角色,就是用技术把模糊的“管理要求”,变成清晰的“系统规则”

如果你也在做类似系统,欢迎交流架构设计!
(附:系统界面脱敏截图 + 流程图)

#专利管理系统 #知识产权 #Activiti #SpringBoot #企业级应用 #CSDN

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询