news 2026/7/6 5:33:22

ruoyi-vue2集成DMN规则引擎实现Dish智能出餐决策

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ruoyi-vue2集成DMN规则引擎实现Dish智能出餐决策

前言

DMN决策引擎的核心价值在于将复杂的业务决策逻辑从程序代码中剥离出来,通过标准化的模型进行可视化管理和执行。它在实战中的应用非常广泛,特别是在需要频繁调整业务规则、追求流程自动化与智能化的场景中。

具体应用场景有:
金融与风控​: 信贷审批、金融风险评估、反洗钱检查、
供应链与生产​: 保险定价、供应链管理、生产调度
营销与客户服务​: 客户分群、精准营销
其他创新场景​: 教育分班、智能餐饮

今天我们以一个经典的案例智能餐饮来讲解实战中的用法。

决策规则

请点击这个Dish查询规则建模,以下我们拆解一下这个DMN规则表的含义。

这个Dish决策表规则是根据当前的气温(tempeature)和日期类型(dayType)决策上什么餐食。主要有三个决策表构成, 核心是Dish-Decision表。 Season Dicision和Guest Count 以输出结果传递给Dish Decision决策表。 Season Dicision规则描述: tempeature>30, 得到season: Summary tempeature<10, 得到season: Winter tempeature=[10..30] 得到season: Spring Guest Count规则描述: dayType="Weekday", 客人数量(guestCount): 4 dayType="Holiday", 客人数量(guestCount): 10 dayType="Weekend", 客人数量(guestCount): 15 Dish-Decision规则描述: season=winter, guestCount<=8, desiredDish='Spareribs' season=winter, guestCount>8, desiredDish='Pasta' season=Summer, guestCount>10, desiredDish='Light salad' season=Summer, guestCount<=10, desiredDish='Beans salad' season=Spring, guestCount<10, desiredDish='Stew' season=Spring, guestCount>=10, desiredDish='Steak'

流程建模

  • 需求描述
我们现在模拟一个流程, 用户输入当天的气温和日期类型(工作日,假期,周末), 系统决策提供什么类型的餐食。
  • 模型结构

  • 模型定义
<?xml version="1.0" encoding="UTF-8"?><bpmn:definitionsxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL"xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI"xmlns:dc="http://www.omg.org/spec/DD/20100524/DC"xmlns:camunda="http://camunda.org/schema/1.0/bpmn"xmlns:di="http://www.omg.org/spec/DD/20100524/DI"id="Definitions_1"targetNamespace="http://bpmn.io/schema/bpmn"><bpmn:processid="Process_8887"name="出餐决策"isExecutable="true"><bpmn:startEventid="Event_1i7sxll"><bpmn:outgoing>Flow_1rzb9vm</bpmn:outgoing></bpmn:startEvent><bpmn:sequenceFlowid="Flow_1rzb9vm"sourceRef="Event_1i7sxll"targetRef="Activity_0fzwoab"/><bpmn:userTaskid="Activity_0fzwoab"name="就餐信息"camunda:assignee="${startUser}"><bpmn:extensionElements><camunda:formData><camunda:formFieldid="temperature"label="气温"type="long"/><camunda:formFieldid="dayType"label="日期"type="string"/></camunda:formData></bpmn:extensionElements><bpmn:incoming>Flow_1rzb9vm</bpmn:incoming><bpmn:outgoing>Flow_0v0zyja</bpmn:outgoing></bpmn:userTask><bpmn:sequenceFlowid="Flow_0v0zyja"sourceRef="Activity_0fzwoab"targetRef="Activity_08c0387"/><bpmn:businessRuleTaskid="Activity_08c0387"name="决策规则"camunda:resultVariable="desiredDish"camunda:decisionRef="dish-decision"camunda:mapDecisionResult="singleEntry"><bpmn:incoming>Flow_0v0zyja</bpmn:incoming><bpmn:outgoing>Flow_1ajvk92</bpmn:outgoing></bpmn:businessRuleTask><bpmn:sequenceFlowid="Flow_1ajvk92"sourceRef="Activity_08c0387"targetRef="Activity_0jobe9d"/><bpmn:serviceTaskid="Activity_0jobe9d"name="出餐程序"camunda:delegateExpression="${dishTask}"><bpmn:incoming>Flow_1ajvk92</bpmn:incoming><bpmn:outgoing>Flow_0r2ykge</bpmn:outgoing></bpmn:serviceTask><bpmn:endEventid="Event_0x2ftot"><bpmn:incoming>Flow_0r2ykge</bpmn:incoming></bpmn:endEvent><bpmn:sequenceFlowid="Flow_0r2ykge"sourceRef="Activity_0jobe9d"targetRef="Event_0x2ftot"/></bpmn:process></bpmn:definitions>
  • 运行结果

运行结果解释: 用户输入的气温15度,根据Season Dicision可以得到是=Spring 用户输入的日期类型weekday, 根据Guest Count可以得到客人数量=4 根据season=spring, guestCount=4,根据Dish Decision可以得到=stew 完全符合预期!

访问若依工作流点击顶部,演示系统立即体验!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/4 18:04:07

用AI自动生成PyTorch的nn.Sequential模型架构

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 请帮我生成一个PyTorch的nn.Sequential模型架构代码。要求&#xff1a;1) 输入层128个神经元 2) 两个隐藏层&#xff0c;分别有256和512个神经元 3) 输出层10个神经元 4) 使用ReLU激…

作者头像 李华
网站建设 2026/7/5 5:34:21

48、PXE 引导与进程控制:原理、实现与注意事项

PXE 引导与进程控制:原理、实现与注意事项 1. PXE 引导的原理与实现 PXE(Preboot Execution Environment)引导是一种强大的自动化服务器部署方法,能快速轻松地构建大量服务器。在实际应用中,由于大多数系统处理 IPv4 地址使用十进制表示,而 pxelinux.0 使用十六进制,因…

作者头像 李华
网站建设 2026/7/2 0:48:46

Qwen3-14B本地部署指南:从拉取镜像到生产优化

Qwen3-14B本地部署实战&#xff1a;从零搭建企业级AI服务 在某次客户现场交付中&#xff0c;我们遇到一个典型问题&#xff1a;一家中型制造企业的IT主管指着屏幕上“响应超时”的红色告警&#xff0c;苦笑着说&#xff1a;“你们说的AI助手&#xff0c;连查个订单都要等半分钟…

作者头像 李华
网站建设 2026/7/1 17:48:07

C++游戏开发效率对比:传统编程 vs AI辅助

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 分别用传统方法和AI辅助开发同一个简单的C平台跳跃游戏。传统方法要求手动编写所有代码&#xff1b;AI辅助方法使用快马平台自动生成。比较两者的开发时间、代码行数和错误数量。生…

作者头像 李华
网站建设 2026/7/5 9:10:25

快速验证机器人创意:基于小鱼ROS的敏捷开发方案

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个机器人快速原型开发框架&#xff0c;集成小鱼一键安装ROS功能&#xff0c;包含&#xff1a;1) 预配置的ROS工作空间模板 2) 常用传感器驱动快速集成 3) 算法验证沙箱环境 4…

作者头像 李华
网站建设 2026/7/4 7:21:57

Ubuntu22.04部署VLLM+Qwen3系列模型并接入Dify

Ubuntu 22.04 部署 VLLM Qwen3-8B 并接入 Dify 在大模型应用快速落地的今天&#xff0c;越来越多开发者希望在本地环境中搭建一套完整、高效且可扩展的 AI 推理服务。通义千问 Qwen3-8B 凭借其出色的中文理解与生成能力&#xff0c;成为许多团队构建私有化 AI 助手的首选模型…

作者头像 李华