实例解读华为云数字工厂平台的逻辑模型编排器
本文分享自华为云社区《数字工厂深入浅出系列(三):逻辑模型编排器的使用方法介绍》,作者:云起 MAE 。
华为云数字工厂平台的制造应用构建引擎(Manufacturing App Engine,以下简称 MAE 引擎),采用实时事件驱动架构,业务逻辑支持动态配置和加载运行,实现业务逻辑与数据模型解耦、业务应用与技术平台解耦。华为云数字工厂平台 MAE 引擎,提供强大易用的逻辑流编排工具、规则引擎与数据流引擎,实时感知业务对象的状态变化,自动触发不同业务对象之间的数据分析、处理和流转。逻辑流编排工具与业务对象的信息模型天然融合,业务人员也能看懂与快速编排业务流程处理所需的上下文信息,随时响应业务需求变化调整数字系统中的业务逻辑流程,实现数字系统能真正适配日益柔性化的生产业务流程,实现敏捷可柔性化配置,实现真正由业务需求快速驱动数字化应用的构建与升级。
华为云数字工厂平台 MAE 引擎的逻辑流由三类节点组成:
触发器:逻辑流引擎的触发源,支持以下四种触发器类型:数据变化(创建/变更)、用户操作、IoT 消息和定期计划,能实时感知与响应业务数据/IoT 设备数据的变化和用户的执行操作;
规则引擎:对业务规则进行建模配置,支持复杂的嵌套规则条件,能实时动态运算和判断,驱动业务流的合规执行;
动作执行器:业务流的执行动作结果,支持以下四种动作类型:业务流转(业务对象 A 的逻辑流执行结果,流转触发业务对象 B 的逻辑流执行)、事件记录(创建事件记录或者回填相关业务对象数据)、消息通知(业务消息的主动通知:系统通知/邮件/短信/IM 工具等)和外部集成(调用外部系统 API,触发外部系统业务流)。
本期结合上期的“生产执行管理”场景案例继续展开,来详细介绍华为云数字工厂平台的“逻辑模型”编排器的使用方法。
(一)案例场景说明
本期场景案例,需要通过实现以下 4 个业务逻辑流的编排与运行,来完成“生产执行管理”涉及的相关业务对象之间数据的按需自动流转:
工序任务单生成:在创建生产订单时,根据生产订单的工艺路线信息,自动根据工艺路线下的过程工序来拆解生成生产任务单;
生产物料需求生成:在生产订单上提供操作“生成物料需求单”,根据生产订单的产品和计划产量信息,自动根据产品的制造 BOM 里的物料清单数据来生成物料需求单;
生产订单关闭:在生产订单上提供操作“关闭生产订单”,用户操作时需要填写“关闭原因”,更新生产订单以及其下的工序任务单的状态为“已关闭”;
完工入库更新产品及仓库的库存量:用户提交确认“完工入库单”后,根据完工入库单上的“产品”、“仓库”和“数量”,自动回写更新产品主数据的“库存现有量”和产品在相应仓库的“库存现有量”。
(二)正式搭建步骤
下面介绍如何使用华为云数字工厂平台 MAE 引擎的逻辑编排器,来实现本期场景案例中 4 个业务逻辑流:
2.1.相关信息模型准备:
上期我们介绍华为云数字工厂平台的信息配置器的使用方法时,完成了以下业务对象的信息模型配置:生产订单、工序任务单和物料需求单,为了完成第 4 个业务流“更新库存量”,我们需要补充配置完成“完工入库单”的信息模型。
在“事务”模型构建器,选择“生产”领域页签,然后新建或者使用已有的业务场景“生产管理”,在业务场景下新建事务模型“完工入库单”:
“完工入库单”的信息模型字段的配置方法,请参考上期介绍的信息配置器的使用方法,这里不再展开说明。
2.2.生产执行相关业务逻辑流建模:
用户在华为云数字工厂平台的“建模工作台”,使用“事务”模型构建器,选择相应的事务模型,在事务模型的“逻辑模型”中新建和发布所需的逻辑流程:
通常我们在触发源的事务模型下创建相应的逻辑流来完成业务流转处理,在逻辑流运行时,会自动带入触发来源模型的实例数据作为输入信息,然后在逻辑流里面可以按需选择串联到与来源模型存在信息关联关系的其他业务模型,从来实现数据从触发源业务对象自动处理流转到目标业务对象。
逻辑流模型,主要提供以下几种操作:
a.编辑:修改逻辑流的名称、优先级和状态等基础信息;
b.启用:启用或者停用逻辑流;
c.配置:打开逻辑流编排器,配置逻辑流的执行逻辑;
d.复制:复制当前逻辑流,创建一个新的逻辑流;
e.日志:查看逻辑流的历史运行日志,可用来查看逻辑流某次运行的详细日志,来诊断异常原因,针对逻辑流的运行结果状态为异常的运行实例,支持通过“重试”操作重新运行。
逻辑流 1:创建生产订单,生成工序任务单
在“生产订单”模型的“逻辑模型”下,操作“新建流程”按钮,新增一个逻辑流 “生成工序任务单”:
新增完成后,点击逻辑流右侧的“配置”操作,打开逻辑流编排器,配置逻辑流的执行逻辑:
(1) 触发器配置
触发器用来触发逻辑流运行,逻辑编排器目前支持以下触发器类型,根据实际业务需求选择相应的触发器类型:
a.数据创建:在所选的触发对象模型的数据实例创建时,自动触发逻辑流的执行;
b.数据变更:在所选的触发对象模型数据实例所设定的某些字段值变化时,自动触发逻辑流的执行;
c.用户操作:当用户在前端界面,操作执行当前模型定义的某个“用户操作”按钮,自动触发逻辑流的执行;
d.定时触发:按定时计划策略触发,需要设置任务执行周期(每小时/每天/每周/每月/每年)、计划有效期范围(开始日期/终止日期)等等,根据计划策略定期自动定时触发逻辑流的运行。“定时触发”的逻辑流,支持配置“过滤规则”来按一定的条件来筛选触发数据模型的数据实例范围。
触发器的“触发对象”支持选择当前业务模型的主信息模型和其下的子信息模型(比如在“产品”模型下创建的逻辑流的触发对象,可选择“产品信息”主数据模型,也可选择“BOM/BOM 清单”等子模型),在逻辑流运行时,“触发对象”所选定的业务模型的数据实例信息自动放到逻辑流的输入信息上下文,可被逻辑流中后续的“规则”或“动作”节点所使用。
用户需要在创建“生产订单”后,自动根据生产订单的工艺路线拆解成过程工序数据来生成工序任务单,则“触发器类型”选择“数据创建”,然后触发对象选择“生产订单”,填写一个有业务含义的触发器名称“生产订单创建”:
(2) 创建动作节点
点击创建的“触发器”后面的“+”图标,选择“添加动作(当前)”或者“添加动作(分支)”,可以创建一个动作节点,前者是在前一个节点(即触发器节点)后面创建一个动作节点,后者是与前一个节点并行创建一个动作节点分支。
逻辑流的“动作”节点,主要有以下 2 个配置项:
输出类型:目前支持创建数据、更新数据、管道缓存和消息通知四种输出类型,其中“创建数据”和“更新数据”用来根据逻辑流的输入信息以及过程处理后的管道数据,来创建或者更新当前触发对象模型的相关上下游业务对象的数据;“管道缓存”是用来将当前动作节点的执行结果数据临时缓存下来,作为逻辑流后续节点(规则/动作)的数据输入;“消息通知”是用来将逻辑流运行的结果数据主动发送消息通知用户。
输出模型:可选择所有与触发对象模型,以及动作节点处理后新增关联的业务模型:
逻辑流的输入模型(即触发对象,比如“生产订单”),以及过程处理后的管道中模型(比如生产订单在逻辑流动作节点中关联了“产品”、“工艺路线”等模型);
上面 b1 模型的子模型(比如“产品”的子模型“库存出入库记录”)和父模型;
上面 b1 模型的被关联模型,即某业务模型的信息字段如果关联了 b1 模型,比如假设 b1 模型是“生产订单”,“物料需求单”模型的信息字段关联了“生产订单”模型,则输出模型可选到“物料需求单”模型。
如果在创建动作节点时,输出模型选不到所需的业务模型,可以暂时留空,在动作节点中通过编排数据转换逻辑来串联补充其他相关的业务对象模型后,即可选择到所需的业务模型。
用户需要在创建“生产订单”后,自动根据生产订单的工艺路线来拆解后,创建相应的工序任务单数据,则“输出类型”选择“创建数据”,输出模型选择“工序任务单”,最后填写一个有业务含义的动作名称“创建工序任务”:
(3)配置动作节点的数据转换逻辑
添加创建动作节点后,进入“动作配置器”,根据实际业务需求,在动作配置器中进一步编排“数据转换逻辑”,以满足目标输出模型的数据需求:
“动作配置器”有以下 3 个配置项:
1.输入数据字段展示:左侧展示当前动作节点的输入数据信息字段,输入信息主要来自:前一个逻辑流节点的输出数据字段、用户操作所定义的输入参数字段。
2.数据转换逻辑编排:目前提供 4 类数据转换算子节点:
关联节点:用来获取与输入数据或者前一个数据转换节点的输出数据有关联关系的其他业务对象的数据字段;
拆分节点:用来获取输入数据或者前一个数据转换节点的输出数据的子模型数据;
计算节点:用来对输入数据或者前一个数据转换节点的输出数据中的数值类字段值进行四则运算处理或者引用标准函数进行数据处理;
聚合节点:用来对输入数据或者前一个数据转换节点的输出数据按某些维度字段汇总统计。
根据实际业务需求,灵活组合编排 4 类数据转换算子节点,实现对动作节点的输入数据进行数据转换加工,以满足当前动作节点最终输出的数据结果需求
3.输出数据字段映射:将动作节点经过“数据转换”处理后缓存在数据管道中数据字段,映射配置到输出模型的字段值。输出模型字段值,也支持手工输入常值、引用标准函数运算结果和系统变量(系统时间、当前登录人员等)。
根据业务需求,需要将生产订单按照其生产的工艺路线下的过程工序来拆分,创建相应的工序任务单数据,则需要在“创建工序任务”动作节点中:
a.添加一个关联节点“关联工艺路线”,来实现从输入的“生产订单”数据关联获取到相关的“工艺路线”主数据:
关联转换节点有以下 3 个配置区:
源模型:从动作节点的输入数据或者前一个数据转换节点的输出数据中选择所需的模型作为关联转换节点的输入源数据,比如对于当前案例场景,“源模型”选择“生产订单”;
目标模型:根据关联转换节点所选的“源模型”业务对象,可选择与该业务对象的数据模型存在关联关系的其他业务对象的数据模型,在逻辑流运行时,会根据输入的“源模型”数据实例自动串联获取到所选目标关联模型的数据实例,比如对于当前案例场景,“目标关联模型”选择与“生产订单”存在关联关系的“工艺路线”;
目标字段:配置关联转换节点需要返回输出的“目标模型”的具体数据字段范围,比如对于当前案例场景,“目标字段”选择需要从“工艺路线”数据中返回的字段范围。
b.添加一个拆分转换节点“展开工艺过程工序”,基于上一步关联节点转换输出的“工艺路线”数据,来进一步获取“工艺路线”数据下的“过程工序”子模型数据实现数据拆分转换:
拆分转换节点有以下 3 个配置项:
源模型:从动作节点的输入数据或者前一个数据转换节点的输出数据中选择所需的模型作为拆分转换节点的输入源数据,比如对于当前案例场景,“源模型”选择前一个关联节点的输出“工艺路线”;
目标模型:根据关联转换节点所选的“源模型”业务对象,可选择该业务对象的数据模型的子模型或者关联了该业务对象的其他业务对象模型,在逻辑流运行时,会根据输入的“源模型”数据实例自动串联获取到所选目标关联模型的数据实例,比如对于当前案例场景,“目标模型”选择“工艺路线”模型的子模型“过程工序”;
目标字段:配置拆分转换节点需要返回输出的“目标模型”的具体数据字段范围,比如对于当前案例场景,“目标字段”选择需要从“过程工序”数据中返回的字段范围。
(4)输出模型配置
通过“动作配置器”编排动作节点“创建工序任务”的“数据转换逻辑”后,获得满足创建输出模型“工序任务单”数据所需的工艺路线和过程工序数据后,最后按需映射配置“输出模型”的字段值。
“输出模型配置器”有以下 3 个配置区:
管道数据展示:左侧展示当前动作节点的输入数据经过“数据转换处理”后的数据字段。
输出模型字段值映射:输出字段值的映射方式,支持以下 4 种方式:
拖动管道字段:拖入映射左侧数据管道中的数据字段,“输出模型配置器”会自动校验管道字段和输出字段的数据类型是否兼容(点击“输出模型”的表头“字段值”列后的提示图标,可以查看详细的字段映射规则);
手工输入固定常值:输出模型字段值支持直接手工录入固定的常值;
引用标准函数计算:平台内置了一些常用的数据计算函数,用户可根据业务需求,点击并拖动某个函数到某个输出模型字段,然后配置函数所需的参数值(参数支持选择引用管道中的某个字段值或者输出模型的某个字段值),以“计算实际工时”来举例,可引用“日期间隔函数”拖动到“工序任务单”的“实际工时(分钟)”字段:
按需配置标准函数的参数值,支持引用管道数据字段:
引用系统全局变量:平台内置了一些系统全局变量,比如系统时间、当前登录人员、当前人员组织等,支持拖动某个全局变量映射到某个输出模型字段。
对于输出类型是“创建数据”的动作节点,输出模型配置会自动校验除了“数据标识”字段以外其他所有的模型必填字段都必需映射值(数据标识字段留空时后台会自动处理)。对于“更新数据”等其他输出类型的动作节点,对需要变更的字段值配置映射值即可。
通过以上 4 个配置步骤,完成了“创建生产订单,生成工序任务单”业务逻辑流的建模配置。
逻辑流 2:操作生产订单,生成物料需求单
“操作生产订单,生成物料需求单”逻辑流需求:
用户操作某个生产订单上点击“生成物料需求”按钮时,根据生产订单的产品字段信息和计划产量,自动根据产品主数据展开获取 BOM 物料清单数据,把展开的物料清单的基准数量乘以“生产订单”的计划产量得到物料需求数量,然后创建相应的物料需求单和需求物料明细数据。逻辑流中生成的物料需求单号,需要回填到“生产订单”。
(1)新增用户操作“生成物料需求”
在“生产订单”模型上,新增一个用户操作“生成物料需求”:
“用户操作”有以下 3 个配置项:
操作对象:可选择当前模型的主信息模型及其子信息模型,比如我们可以对“物料需求单”的主模型数据(即某个物料需求单)或者对物料需求单的子模型“物料需求明细”分别定义所需的用户操作;
启用参数:配置用户在前端界面使用操作时,是否需要输入一些参数信息,比如下一个案例中“关闭生产订单”操作,需要用户输入“关闭原因”。在下一个案例中,详细介绍用户操作的“参数”的配置方法;
用户操作的前端显示控制:支持配置用户操作在前端显示的规则条件:
比如控制已创建物料需求单的生产订单不能再使用“生成物料需求”操作,则配置“生成物料需求”用户操作可用显示的规则条件为“生产订单”的“关联物料需求单”字段值为空。
(2)创建用户操作触发的逻辑流
在新增的“生成物料需求”操作的配置窗口,可选择“保存并配置逻辑流”,快速创建一个由用户操作触发执行的逻辑流,也可以先确定保存“用户操作”,后续在新增逻辑流的触发器配置中绑定“用户操作”:
“生成物料需求”的逻辑流的编排配置步骤中,与上面“创建生产订单,生成工序任务单”的逻辑流中类似需求的配置方法不再展开说明:
差异性的需求以及相应逻辑流的配置方法,有以下 3 点:
1.物料需求数量的计算:输出创建物料需求单明细中的物料需求数量的字段值,需要按产品主数据拆分成 BOM 物料清单数据后,将物料清单上的基准数量乘以“生产订单”的计划产量来计算得到“物料需求数量”。
满足此需求,需要在“创建物料需求单明细”的动作节点的“数据转换逻辑”中使用到“计算节点”:
以下是计算节点“计算物料需求数量”的配置:
点击“度量信息字段”右侧的“添加”按钮,添加一个计算字段“物料需求数量”,依次配置:计算字段名称、计算字段编码,然后编辑计算公式:从左侧数据管道中拖入“生产订单”的“计划产量”字段和“BOM 物料清单”的“数量”字段作为计算参数,然后在中间输入乘号“*”运算符。计算公式支持“+-*/”加减乘除四则运算符,支持点击拖动引用标准函数计算。
2.按相同物料汇总需求数量后,生成物料需求明细:
需要将前序转换节点输出的物料清单数据,按相同物料编码汇总需求数量后,再生成相应物料需求明细数据。
在“创建物料需求单明细”的动作节点,需要在“数据转换逻辑”中使用到“聚合算子节点”:
以下是聚合节点“按物料汇总需求”的配置:
聚合转换节点的配置说明:
勾选所需输出的维度字段:在左侧数据管道字段中,勾选聚合节点所需输出的维度字段,作为聚合运算的汇总维度,未勾选的字段不会出现在聚合节点的输出结果。比如对于当前案例,输出模型需要数据管道中的 BOM 清单的物料、计量单位字段,以及物料需求单的编码字段,则勾选左侧数据管道中相应的字段;
添加需要汇总计算的数值字段:点击“聚合信息字段”右侧的“添加”按钮,添加一个聚合计算字段“物料需求数量汇总”,依次配置:聚合字段名称、聚合字段编码、选择聚合计算类型为“总和”,然后编辑聚合计算公式:从左侧数据管道中拖入需要汇总的“物料需求数量”字段作为计算参数。计算公式支持“+-*/”加减乘除四则运算符,以及点击拖动引用标准函数计算。
保存聚合节点后,我们配置输出模型时,会看到数据管道中只保留了勾选的聚合维度字段和计算字段:
3.物料需求单的数据是“头行结构”,创建物料需求单需要同步创建需求明细:
在逻辑流中先创建“生成物料需求单”动作节点,然后再创建“生成物料需求单明细”的动作节点,前一个动作节点,根据输入的“生产订单”数据实例,输出创建相应的物料需求单数据,平台自动将动作节点输出创建的物料需求单数据添加到数据管道中;在后一个动作节点,输出创建相应的物料需求单明细(即物料需求单的子模型“需求明细”)数据时,可以从数据管道中拿到创建“物料需求单明细”数据所需关联的“物料需求单号”。
4.创建的物料需求单号,需要回填更新“生产订单”:
前一个“创建物料需求单”动作节点输出创建的物料需求单号,需要回填更新到“生产订单”的“关联物料需求单”字段。
在“创建物料需求单”动作节点后,点击“添加动作(分支)”,新增一个与“创建物料需求单明细”动作节点并行的分支节点“回填订单需求单号”:
“回填订单需求单号”动作节点的输出类型选择“更新数据”,然后配置输出模型字段:
对于输出类型为“更新数据”的输出模型配置说明:
如果数据管道中存在输出模型的“数据标识”字段(比如物料需求单的“编码”),则拖动映射到输出模型的“数据标识”字段值,并勾选“过滤字段”,通过“数据标识”值,来确定需要更新输出模型的具体数据实例;
如果是需要组合一定的字段条件来确定目标更新的输出模型数据范围,则拖动所需的数据管道字段映射到输出模型的相应字段值并勾选“过滤字段”,以及通过“输出模型”选框右侧的“配置过滤规则”来组合设定输出模型的目标数据过滤条件:
至此,完成了 “操作生产订单,生成物料需求单”业务逻辑流的建模配置。
逻辑流 3:关闭生产订单,自动关闭工序任务单
“关闭生产订单,自动关闭工序任务单”逻辑流的需求:
针对“未开始/进行中/已完成”任一状态的“生产订单”,提供“关闭订单”的操作按钮,用户操作“关闭订单”按钮时,需要填写“关闭原因”后,然后验证生产订单的状态是否满足条件,不满足条件提示用户原因,如果满足条件,则更新“生产订单”的状态为“已关闭”,将用户填写的“关闭原因”更新到“生产订单”的“关闭原因”字段。关闭“生产订单”后,需要同步关闭 “生产订单”相关的所有“工序任务单”,即更新工序任务单的状态为“已关闭”。
(1)新增用户操作“关闭”
在“生产订单”模型上,新增一个用户操作“关闭”,勾选“启用参数?”:
“用户操作”的参数配置窗口有以下 2 个配置项:
1.参数类型:参数支持两种定义方式:
引用模型字段:可以引用操作所属业务模型的某个字段来作为参数,引用模型字段的参数,在用户使用操作时,参数值会自动引用当前模型的数据实例上相应的字段值,比如定义一个参数“执行人”引用“生产订单”模型的“负责人”字段,在用户使用操作时,“执行人”参数值会自动默认为当前“生产订单”的“负责人”;
自定义:选择参数的字段类型,支持数值、文本、日期、时间和数组,其中“数组”类参数,用来满足这类业务需求:用户在执行操作时,需要填写多行数据作为输入信息,比如对于生产订单拆分为多个订单的需求场景,需要定义一个数组类的参数来承载需要拆分成多个订单信息。
2.参数显示控制:
“仅显示”:用来控制参数在前端界面只做展示不可编辑,通常适用于引用模型字段的参数,来展示当前模型数据实例的相应字段值作为用户操作时的上下文参考信息,比如对于拆分生产订单的场景,定义一个仅显示的参数,引用“生产订单”的“计划产量”字段,用来在前端操作窗口展示“生产订单”拆分前的“计划产量”数据,作为用户使用拆分操作时的参考信息;
“必填”:用来控制参数在用户使用操作时,是否要求参数值必须填写。
针对“关闭订单”操作,我们添加一个“自定义”类型的参数,字段类型选“文本”,然后填写参数在前端显示的名称,以及用于后台传递的“参数编码”,最后勾选“必填”,完成参数配置。
配置完成“关闭订单”的参数后,选择点击“保存并配置逻辑流”,开始配置“关闭订单”操作的处理逻辑流。
(2)新增规则节点,校验订单状态
添加一个“规则”节点,配置规则条件:
规则节点有以下 3 个配置项:
1.规则编辑模式:提供“常规”和“脚本”两种编辑规则条件的方式:
常规:完全图形化的编辑规则条件,通常默认使用这种方式,可以满足绝大部分场景需求;
脚本:手工填写规则表达式,支持拖动引用左侧管道中的数据字段、系统全局变量或者引用标准函数作为表达式的参数,能实现复杂的规则表达式。
2.匹配规则:支持通过添加多个“条件组”来组合复杂的规则条件,每个条件组可以设定条件组合方式是“满足所有条件”或者“满足任一条件”。在条件组下,添加具体的条件:选择“条件字段”、选择条件运算符,以及选择或录入条件值。
3.校验提示文案:配置的提示文案内容,用来在逻辑流运行时,当规则判断不满足条件时,在前端提醒用户。
针对“关闭订单”的规则节点,“匹配规则”选择“任一条件”,然后添加三个条件,依次配置“生产订单”的状态字段允许满足的三个状态值:“进行中”、“已完成”和“未开始”。
“关闭订单”逻辑流的其他编排配置步骤,与上面介绍“创建生产订单,生成工序任务单”的逻辑流的配置方法类似,不再展开说明:
至此,完成了 “关闭生产订单,自动关闭工序任务单”业务逻辑流的建模配置。
逻辑流 4:确认完工入库单,自动更新产品及仓库库存量
“确认完工入库单,自动更新产品及仓库库存量”逻辑流的需求:
“完工入库单”,提供“确认完成”的操作按钮,用户操作“确认完成”按钮时,需要验证“完工入库单”的状态是否满足条件,不满足条件提示用户,如果满足条件,则根据“完工入库单”的“产品”、“仓库”和“入库数量”等信息,更新相应产品主数据的“库存现有量”,以及相应仓库下产品的库存现有量。最后更新“完工入库单”状态为“已完成”。
“确认完工入库单”逻辑流涉及的编排配置方法,已经在上面几个逻辑流案例中介绍过的,不再展开说明。
这里重点介绍“更新仓库产品库存”动作节点的配置方法:
输出类型选择“更新数据”,并且勾选“无匹配则创建数据”:因为在某产品第一次入库到某个仓库时,仓库下不存在该产品的库存现有量数据(即“仓库”空间位置模型的子模型“产品库存”中不存在该产品库存的数据实例),那么第一次入库是创建相应的产品库存数据,后续的完工入库操作则是更新相应的产品库存数据,所以针对这种业务场景,需要勾选“无匹配则创建数据”。
配置输出模型“仓库-产品库存”的字段映射“完工入库单”的“仓库位置”和“产品”字段值,并勾选“过滤字段”,来匹配“仓库-产品库存”模型的目标数据。最后引用标准函数“当前值自增函数”来计算得到完工入库后的“库存现有量”:
“基准字段”参数选择输出模型“仓库-产品库存”的“库存现有量”字段(可获取相应仓库产品的当前库存量),“增量字段”参数选择“完工入库单”的“入库数量”,实现在仓库下某产品的当前库存量上增加“入库数量”。
至此,我们完成了案例场景的 4 个业务逻辑流的建模配置,逻辑流建模完成后,需要启用发布逻辑流以及所属的业务模型,逻辑流才会生效:
(三)运行效果验证
逻辑 1:创建生产订单,自动生成工序任务单
创建一个生产订单,录入订单的生产“产品”、“工艺路线”和“计划产量”等字段信息:
保存“生产订单”后,进入创建的生产订单的详情编辑页面,查看验证是否同步创建相应的工序任务单:
逻辑流 2:操作生产订单,生成物料需求单
使用上一步创建的生产订单,验证是否有“生成物料需求”的操作按钮:
然后点击“生成物料需求”按钮,等待执行完毕后,查看是否生成了相应的物料需求单、生产订单上的“关联物料需求单”字段值是否已自动回填更新,以及“生成物料需求”按钮是否已不可见:
查看生成的物料需求单的需求明细是否涵盖了生产订单上产品的 BOM 物料:
逻辑流 3:关闭生产订单,自动关闭工序任务单
使用上一步创建的生产订单,验证是否有“关闭”的操作按钮:
然后点击“关闭”按钮,验证是否弹窗需要录入“关闭原因”:
确定后,验证生产订单、以及相关工序任务单的状态是否已自动更新为“已关闭”:
逻辑流 4:确认完工入库单,自动更新产品及仓库库存
创建一个“完工入库单”,录入订单的生产“产品”、“入库数量”和“仓库位置”等字段信息:
保存“完工入库单”后,在完工入库单的数据查看页面,点击操作,然后选择“确认完成”:
等待操作执行完成后,在“产品”主数据功能,查看产品的现有量是否增加:
在“工厂>仓库”主数据功能,查看“成品仓”仓库下产品的现有量是否增加:
以上是结合一个实际的“生产执行管理”场景涉及的相关业务活动流程,系统地介绍了使用华为云数字工厂平台的逻辑模型编排器,如何完成相关业务流程逻辑的建模和使用。下期将系统介绍如何使用华为云数字工厂平台的“分析”模型配置器,来搭建业务数据统计分析类功能。
版权声明: 本文为 InfoQ 作者【华为云开发者联盟】的原创文章。
原文链接:【http://xie.infoq.cn/article/4a2af2c853cedaca56e4a998d】。文章转载请联系作者。
评论