# 库存低自动触发流程
# 一、概述
本方案实现了一个完整的库存监控和自动补货流程,包含以下三个核心部分:
- 补货流程:当库存低于阈值时自动触发
- ESB服务:查询数据库库存并更新流程变量
- 定时流程:调用ESB服务,定期执行库存检查
# 二、补货流程配置
# 1. 创建基础流程
- 在流程库中新建流程
- 添加节点:
- 开始节点
- 任务节点(重命名为"仓库管理员")
- 结束节点
- 连接各节点
- 设置任务处理人为特定人员:"史蒂夫"
- 为流程指定表单
▲ 创建基础流程
# 2. 配置触发条件
- 修改开始节点类型为"条件开始事件"
- 打开开始节点属性 → 触发条件 → 点击fx按钮
- 在条件编辑器中设置表达式:
//表示当全局变量"库存"的值≤5时触发流程
Convert.ToInt32(GlobalVariables.库存) <= 5
- 确认并保存条件设置
- 保存流程,命名为"补货流程"
▲ 配置触发条件
# 3. 测试流程触发
- 在BPM命令行中测试:
set 库存 100→ 不触发流程set 库存 3→ 成功触发补货流程
- 在流程门户中确认待办事项
# 三、库存检测ESB配置
# 1. 新建ESB输出流
- 在集团流程库 → ESB输出流中新建ESB
- 添加两个节点:
- SqlServer Select节点
- 流程变量节点
▲ 新建ESB输出流
# 2. 配置数据库查询
- 选择数据库连接"DemoData"
- 输入SQL语句:
select qty from idemo_prod where prod_code='021-2015-0001'
▲ 配置数据库查询
- 在返回页签配置:
- 在右侧Variables上,点击鼠标右键,添加变量"qty"(数字类型)
- 将查询结果的qty字段映射到变量qty
▲ 在返回页签配置
# 3. 配置流程变量更新
- 将ESB变量qty连接到全局变量"库存"
- 如变量不存在,手动创建:
- 名称:库存
- 类型:数字
- 保存ESB,命名为"检测库存并更新流程变量"
▲ 配置流程变量更新
# 四、定时执行流程配置
# 1. 新建定时流程
- 在流程建模中新建流程
- 添加节点:
- 开始节点(类型改为"定时开始事件")
- 任务节点(类型改为"调用ESB")
# 2. 配置ESB调用
- 调用对象:"检测库存并更新流程变量"
- 重命名任务为"更新库存"
▲ 配置ESB调用
# 3. 设置执行频率
- 在开始节点的频率页签设置定时执行时间
- 保存流程,命名为"定时更新库存"
# 五、系统运行逻辑
- "定时更新库存"流程按设定频率执行
- 每次执行会调用ESB查询最新库存并更新流程变量
- 当库存值≤5时,自动触发"补货流程"
- 仓库管理员史蒂夫会收到待办任务
# 六、关键点说明
- 所有配置均可通过界面完成,无需编写代码
- 流程变量需预先存在(可通过命令行创建或手动添加)
- 库存阈值(5)可根据实际需求调整
- 定时频率应根据业务需求合理设置
# 七、总结
通过本方案,实现了完整的库存监控和自动补货流程:
- 自动化检测:定时检测库存水平
- 智能触发:低库存时自动启动补货流程
- 无需编码:全程通过配置实现
- 灵活可扩展:支持多种业务场景扩展
这种方案特别适用于需要实时监控和自动响应的业务场景,大大提高了业务流程的自动化水平和响应效率。