# 库存低自动触发流程
# 一、概述
本方案实现了一个完整的库存监控和自动补货流程,包含以下三个核心部分:
- 补货流程:当库存低于阈值时自动触发
 - 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)可根据实际需求调整
 - 定时频率应根据业务需求合理设置
 
# 七、总结
通过本方案,实现了完整的库存监控和自动补货流程:
- 自动化检测:定时检测库存水平
 - 智能触发:低库存时自动启动补货流程
 - 无需编码:全程通过配置实现
 - 灵活可扩展:支持多种业务场景扩展
 
这种方案特别适用于需要实时监控和自动响应的业务场景,大大提高了业务流程的自动化水平和响应效率。