Appearance
业务集成模式
**本文引用的文件** - [workflow.sql](file://docs/ddl/workflow.sql) - [device.sql](file://docs/ddl/device.sql) - [store.sql](file://docs/ddl/store.sql) - [lemes-service-dm-workflow-common/pom.xml](file://lemes-cloud/lemes-business-devicemate/lemes-service-dm-workflow/lemes-service-dm-workflow-common/pom.xml) - [lemes-service-dm-device-common/pom.xml](file://lemes-cloud/lemes-business-devicemate/lemes-service-dm-device/lemes-service-dm-device-common/pom.xml) - [lemes-service-dm-store-common/pom.xml](file://lemes-cloud/lemes-business-devicemate/lemes-service-dm-store/lemes-service-dm-store-common/pom.xml) - [lemes-framework-core/pom.xml](file://lemes-cloud/lemes-framework/lemes-framework-core/pom.xml) - [lemes-service-dm-common-common/pom.xml](file://lemes-cloud/lemes-business-devicemate/lemes-service-dm-common/lemes-service-dm-common-common/pom.xml) - [lemes-service-dm-workflow-server/pom.xml](file://lemes-cloud/lemes-business-devicemate/lemes-service-dm-workflow/lemes-service-dm-workflow-server/pom.xml) - [lemes-service-dm-device-server/pom.xml](file://lemes-cloud/lemes-business-devicemate/lemes-service-dm-device/lemes-service-dm-device-server/pom.xml) - [lemes-service-dm-store-server/pom.xml](file://lemes-cloud/lemes-business-devicemate/lemes-service-dm-store/lemes-service-dm-store-server/pom.xml) - [lemes-service-common-common/pom.xml](file://lemes-cloud/lemes-service-common/lemes-service-common-common/pom.xml) - [lemes-websocket-server/pom.xml](file://lemes-cloud/lemes-websocket/lemes-websocket-server/pom.xml) - [lemes-auth/pom.xml](file://lemes-cloud/lemes-auth/lemes-auth/pom.xml) - [lemes-gateway/pom.xml](file://lemes-cloud/lemes-gateway/pom.xml) - [lemes-job-devicemate-executor/pom.xml](file://lemes-job-devicemate/lemes-job-devicemate-executor/pom.xml) - [lemes-service-dm-workflow-common/README.md](file://lemes-cloud/lemes-business-devicemate/lemes-service-dm-workflow/lemes-service-dm-workflow-common/readme.md) - [lemes-service-dm-device-common/README.md](file://lemes-cloud/lemes-business-devicemate/lemes-service-dm-device/lemes-service-dm-device-common/readme.md) - [lemes-service-dm-store-common/README.md](file://lemes-cloud/lemes-business-devicemate/lemes-service-dm-store/lemes-service-dm-store-common/readme.md)目录
引言
本技术文档聚焦于 DeviceMate 工作流业务集成模式,系统化阐述工作流与设备管理、仓储管理、用户管理等业务模块的集成架构与数据交换机制;详解业务事件触发、数据同步与状态回调的实现路径;说明工作流配置的动态调整、业务规则的灵活定制与多租户支持能力;并提供集成接口使用指南、错误处理与重试机制建议、集成测试策略、性能评估与故障恢复方案。
项目结构
DeviceMate 采用微服务分层架构,围绕“工作流引擎 + 业务域服务 + 公共框架 + 网关 + 认证 + 作业调度 + 前端应用”的整体布局组织。后端以 Maven 多模块划分,按领域拆分为设备、仓储、工作流三大业务模块,统一复用公共框架与通用组件,通过网关统一入口对外提供服务。
图表来源
- lemes-service-dm-workflow-server/pom.xml
- lemes-service-dm-device-server/pom.xml
- lemes-service-dm-store-server/pom.xml
- lemes-gateway/pom.xml
- lemes-auth/pom.xml
- lemes-websocket-server/pom.xml
- lemes-job-devicemate-executor/pom.xml
章节来源
- lemes-service-dm-workflow-common/pom.xml:15-45
- lemes-service-dm-device-common/pom.xml:15-27
- lemes-service-dm-store-common/pom.xml:15-49
核心组件
- 工作流引擎与配置:基于 Flowable 引擎,提供流程定义、任务执行、节点配置、审批日志、回退配置等能力,支撑设备/仓储相关业务的审批与流转。
- 设备域服务:负责设备主数据、设备事件、维护工单等设备生命周期相关业务。
- 仓储域服务:负责物料主数据、出入库、库存、报废、转移等仓储业务。
- 用户与权限:提供用户、角色、工厂/部门层级、审批层级等多租户维度的用户与权限模型。
- 公共框架与通用组件:提供统一的基础设施、数据源、Excel 导入导出、服务间通信等能力。
- 网关与认证:统一入口、鉴权与路由,保障跨域与安全访问。
- WebSocket 与作业调度:用于状态推送与定时/异步任务执行。
章节来源
- workflow.sql:1-564
- device.sql:384-481
- store.sql:384-481
- lemes-service-dm-workflow-common/pom.xml:35-44
- lemes-framework-core/pom.xml
- lemes-service-dm-common-common/pom.xml
架构总览
DeviceMate 的业务集成以“工作流驱动 + 领域服务协同”为核心,形成如下闭环:
- 业务事件触发:前端或作业调度触发工作流启动,携带业务单据号与参数。
- 流程编排:根据业务代码映射流程图 KEY,按节点顺序推进,节点可配置审批/校验/分支条件。
- 数据同步:工作流在节点执行时调用设备/仓储服务,完成数据写入/变更与状态更新。
- 状态回调:通过审批日志、流程日志与 WebSocket 推送,向前端反馈审批结果与进度。
- 配置与规则:通过流程节点配置、业务流程配置、回退配置实现动态调整与灵活定制。
- 多租户:通过工厂号、部门/工厂级角色层级实现租户隔离与权限控制。
图表来源
详细组件分析
工作流服务(Workflow)
- 流程定义与节点配置:通过流程图 KEY 与节点索引映射,支持节点类型、参数与前置节点配置,满足不同业务的审批/校验/分支需求。
- 审批与日志:审批日志记录流程实例 ID、节点标题、审批状态、审批人、业务单号与类型等;流程日志记录节点执行轨迹与前序节点信息。
- 回退配置:支持按流程图 KEY 与当前节点 ID 配置回退目标节点 ID,实现灵活的回退策略。
- 用户与角色:提供用户表与用户角色中间表,支持工厂/部门层级与审批层级,满足多租户场景下的权限控制。
图表来源
章节来源
设备域服务(Device)
- 物料主数据与设备相关表:包含物料主数据、线体、制造商等基础数据,支撑设备台账、维护与报废等业务。
- 设备生命周期:设备事件、维护、文档、附件、NFC 等模块与工作流结合,实现设备全生命周期的审批与执行。
图表来源
章节来源
仓储域服务(Store)
- 物料主数据与仓储单据:包含物料主数据、入库/出库/报废/转移等单据与明细,支撑库存扣减、盘点与成本统计。
- 仓储流程:与工作流结合,实现审批驱动的出入库、报废与转移等业务。
图表来源
章节来源
用户与多租户
- 用户与角色:用户表与用户角色中间表支持工厂/部门层级与审批层级,满足多租户场景下的权限控制。
- 工厂号与租户隔离:业务表普遍包含工厂号字段,作为租户隔离与数据分区的关键维度。
图表来源
章节来源
数据交换与状态回调
- 审批日志与流程日志:工作流服务记录审批与流程轨迹,便于审计与问题定位。
- WebSocket 推送:工作流服务通过 WebSocket 将审批日志与流程日志推送给前端,实现状态实时回调。
图表来源
章节来源
动态配置与业务规则定制
- 流程节点配置:通过节点标题、节点索引、活动 ID、前置节点 ID、节点类型与参数,实现节点行为的灵活配置。
- 业务流程配置:通过业务代码映射流程图 KEY,实现不同业务场景的流程差异化。
- 回退配置:通过当前节点与回退节点的映射,实现灵活的回退策略。
图表来源
章节来源
依赖关系分析
- 工作流服务依赖框架核心与通用组件,并引入 Flowable 引擎;同时依赖设备与仓储通用模块以实现跨域调用。
- 设备与仓储服务同样依赖框架核心与通用组件,并在仓储服务中引入 OpenFeign 以支持跨服务调用。
- 网关与认证服务独立于业务域,提供统一入口与鉴权能力。
- 作业执行器与 WebSocket 服务分别承担定时任务与状态推送职责。
图表来源
- lemes-service-dm-workflow-common/pom.xml:15-45
- lemes-service-dm-device-common/pom.xml:15-27
- lemes-service-dm-store-common/pom.xml:15-49
- lemes-gateway/pom.xml
- lemes-auth/pom.xml
- lemes-websocket-server/pom.xml
- lemes-job-devicemate-executor/pom.xml
章节来源
- lemes-service-dm-workflow-common/pom.xml:15-45
- lemes-service-dm-device-common/pom.xml:15-27
- lemes-service-dm-store-common/pom.xml:15-49
性能考量
- 流程日志与审批日志的写入:建议对日志表进行分区或归档策略,避免热数据膨胀影响查询性能。
- 节点参数与前置节点配置:合理设置节点类型与参数,减少不必要的分支与校验,提升流程执行效率。
- 跨服务调用:仓储服务引入 OpenFeign,需关注超时与熔断策略,避免级联故障。
- WebSocket 推送:在高并发场景下,建议对推送频率进行限流与合并,降低前端渲染压力。
- 数据库索引:确保常用查询字段(如业务单号、工厂号、流程实例 ID)具备合适索引,提升查询效率。
故障排查指南
- 审批失败/流程中断:检查审批日志与流程日志,定位失败节点与原因;核对节点配置与前置节点是否正确。
- 节点无响应:确认节点类型与参数配置,检查对应服务的健康状态与网络连通性。
- 回退异常:核对回退配置中的当前节点与回退节点映射,确保流程图 KEY 一致。
- 权限问题:检查用户角色与工厂/部门层级配置,确认审批层级是否正确。
- 日志缺失:确认日志表是否正常写入,检查数据库连接与事务配置。
章节来源
结论
DeviceMate 的工作流业务集成模式以 Flowable 为引擎,结合设备与仓储两大业务域,构建了“事件触发—流程编排—数据同步—状态回调—动态配置—多租户控制”的完整闭环。通过合理的依赖与模块划分、完善的日志与回调机制以及灵活的节点配置与回退策略,系统能够高效支撑复杂业务场景的审批与执行,并为后续扩展与优化提供坚实基础。
附录
- 集成接口使用指南(建议)
- 工作流启动:携带业务代码与业务单据号,系统根据业务代码映射流程图 KEY 并启动流程。
- 节点审批:在审批节点调用相应服务接口,返回审批结果与业务数据。
- 状态回调:通过 WebSocket 接收审批日志与流程日志,实时更新前端状态。
- 错误处理与重试机制(建议)
- 对外调用设置超时与重试策略,避免瞬时故障导致流程中断。
- 对关键节点增加补偿机制,确保数据一致性。
- 集成测试策略(建议)
- 单元测试:覆盖节点配置与审批逻辑。
- 集成测试:模拟完整流程,验证跨域调用与状态回调。
- 压力测试:评估高并发下的流程吞吐与延迟。
- 故障恢复方案(建议)
- 建立日志归档与索引策略,确保可追溯性。
- 对关键节点实施回退与补偿,缩短恢复时间。