
您的 V5 集成指南!

至于我们如何将公式详细信息与我们在控制中心看到的内容相关联,我们将使用 V5 API 和网关来填充上层 ‘Formula’ 面板用于输入公式标题数据,以及下部 ‘Formula Step’ 面板来填充公式步骤详细信息。
根据我们的集成方法,我们将利用 ‘Formula’ 以及 ‘FormulaStep’ 端点来填充这两个面板并完成我们的公式设置。
可以下载公式的集成模板 开始.
主键是 V5 API 中每个表的唯一标识符。 为了 Formula, 这是:
commodity.code – 公式的基础商品代码。 配方/配方编号。
对于 FormulaStep,主键是:
formula.commodity.code – 配方本身的商品代码与上述相同。
sequence – 用于确定公式设置中各个公式步骤的顺序,即 1、2、3 等。
SG 在控制中心填充有效公式行所需的其他字段包括:
对于 Formula:
type – 公式的类型。 该值应为 0(对于批次配方)或 1(对于产品配方)。
defaultSize - 这 '基本尺寸’所讨论的公式。
commodity.units.code – 公式生成时使用的重量单位。如果未说明,这将以数据库的默认计量单位创建公式。
对于 FormulaStep:
type - 公式 步 类型.
步骤类型如下:
0 – 称重
1 – 按键输入
2 – 问题
3 - 消息
4 – 容器变更
5 – 产品组件
6 – 产品包装
7 – 子混音
8 – 整理
9 - 散装分配
10 – 可选
11 – 扫描
12 - 修改
13 – 暂停
首选字段用于针对相关公式添加更多信息,虽然不是必需的,但在 V5 Traceability 中添加功能时非常有用。
对于 Formula 这些字段是:
commodity.units.code – 公式生成时使用的重量单位。如果未说明,这将以数据库的默认计量单位创建公式。
minimumProducts – 可生产的最小批量
maximumProducts – 可以生产的最大批量。
对于 FormulaStep 这些字段是:
sequence – 配方步骤的顺序,即在生产过程中应按什么顺序进行处理。
commodity.code – 用于特定步骤的商品/成分
targetQty – 特定步骤的目标重量
unit.code – 该特定步骤的计量单位
question.question– 如果此步骤是问题或消息,则可以使用此字段输入。
正如我们在主键和必填字段部分中看到的那样,我们可以在这 2 个之间进行遍历formula'和'formulaStep' 类,因此可以包含上述数据点以与任一类一起使用,前提是我们可以成功遍历到该类。
还可以包括其他字段,例如,for FormulaStep:
upperTol – 该特定步骤的上限公差,即最大重量可以超过生产配方奶粉时可接受的目标数量。
lowerTol – 该特定步骤的较低公差,即生产配方时重量可以低于可接受的目标数量。
schedule – 是否应在生成配方时安排该步骤。 对于子混合步骤以及需要与主公式同时生成的步骤很有用。
如上所述,我们在使用 ‘formula’ 端点,只需遍历到 ‘formulaStep’ 通过添加类 ‘formulaStep’ 对于上述每一项。
根据我们的公式集成方法,我们通常会使用不同的端点;对于API集成,我们通常会使用 ‘Formula’,对于 CSV ‘FormulaStep’。我们现在可以看一下这两者,看看为什么会出现这种情况。
分子式:
我们可以利用 ‘Formula’ 端点以在 V5 Traceability 中创建新的生产公式。正如我们将看到的,使用此端点可以轻松地在 1 个文件中捕获公式标题和步骤信息。
‘Formula’ 导入端点/URI –
http://host:port/V5-API/api/integrate/import/formula
对于此示例导入,使用 ‘Formula’ 端点,我们可以为单个公式构造一个基本导入文件,其中包含 2 个公式步骤,如下所示:

可以下载此示例 JSON 文件 开始.
使用 API 手册,我们可以绘制出用于遍历此导入所需的各种类的路径。在里面 ‘Formula’ 类我们可以看到我们在这里使用的是 ‘type’ 以及 ‘productionLocation’。从这里我们需要定义我们的公式商品信息,我们可以通过遍历 ‘Formula’ 至 ‘Commodity’。在这里我们可以输入配方本身的商品信息(其代码、描述等)。
为了定义公式步骤,我们首先需要遍历到 ‘FormulaStep’ 类,我们可以在其中定义步骤类型、目标数量、公差等。从这里,我们将再次遍历到 ‘Commodity’ 类,但在这里,由于我们进入该类的路径,我们将定义用于特定配方步骤的成分的商品信息,而不是我们上面已经定义的标题信息。
从这里我们将从两个 ‘Commodity’ 类到达 ‘WeightUnit’ 类,我们可以在其中定义公式本身以及每个单独步骤的计量单位。因此,即使我们为此使用相同的类,我们也以两种不同的方式实现了它,这反映在我们可以看到的定义中(commodity.units.code vs formulaStep.commodity.units.code),如果需要,我们可以使用不同的计量单位。
我们可以在此处查看生成上述 JSON 文件所需的寻路摘要:

我们可以使用类似的寻路方法来构建其余所需的数据点。
如果我们运行上面的 JSON 文件,我们将看到这个新公式及其步骤现在在控制中心的“公式”选项卡中可见。

公式步骤:
‘FormulaStep’ 导入端点/URI –
http://host:port/V5-API/api/integrate/import/formula_step
对于此示例导入,使用 ‘FormulaStep’ 端点,我们将考虑导入与上面相同的公式,但我们只会更改其名称。使用此端点,我们可以按如下方式构造该文件:
我们还可以利用 ‘FormulaStep’ 端点以在 V5 Traceability 中创建新的生产公式。这与使用大致相同的方式工作 ‘Formula’ 上面,但我们实际上必须反向遍历数据库类,所以而不是从 ‘Formula’ 至 ‘FormulaStep’,我们会从 ‘FormulaStep’ 至 ‘Formula’。我们可以在下面看到这是如何工作的:

可以下载此示例 JSON 文件 开始.
正如我们在这里所看到的,我们在步骤方面输入相同的信息,只是更改了公式名称。注意这里的遍历 ‘formulaStep’ 类到 ‘formula’ 类,以及每个公式步骤都需要嵌套此信息的事实。
如果我们现在运行这个示例 JSON 文件,我们的重复公式将使用与我们在使用时看到的相同的设置来创建 ‘Formula’ 端点。

在从 V5 API 接收与公式/食谱相关的文件方面,我们实际上并没有在这里跟踪任何消耗数据,因此我们只是导出公式的配置/设置。如果我们检查可用的选项,仍然有一些选择 ‘IntegrationExport’ 服务:
分子式:
导出端点/URI –
http://host:port/V5-API/api/integrate/export/formula/{code}
此端点将导出一个 JSON 文件,其中包含特定公式的所有相关信息。如果我们对通过以下方式创建的公式运行此 GET 请求 ‘Formula’ 端点,我们将得到一个如下所示的返回文件:

可以下载 JSON 文件示例 开始.
All Formulas:
导出端点/URI –
http://host:port/V5-API/api/integrate/export/formulas
此端点将导出一个 JSON 文件,其中包含系统中包含的所有公式的列表。 请注意,这只会返回每个公式的标题数据。 要检索公式步骤,请参见下文。
可以下载此类型的示例 JSON 文件 开始.
公式步骤:
导出端点/URI –
http://host:port/V5-API/api/integrate/export/formula_step/{code}/{sequence}
该端点可以配置为返回特定公式的特定步骤的数据。 我们将使用其序列号来指定要检索的步骤。 如果我们点击此端点来检索上面创建的第一个示例公式的步骤 1,我们将得到如下所示的返回值:

可以下载此示例 JSON 文件 开始.
公式步骤:
导出端点/URI –
http://host:port/V5-API/api/integrate/export/formula_steps/{all}
此端点提供系统内所有公式步骤的列表。我们可以使用以下任一方法更改回报 ‘/true’ or ‘/false’ 代替 ‘/{all}’ 在上面的 URI 中。 ‘True’ 将导出系统中所有步骤的列表,而 ‘false’ 将返回未标记为已导出的步骤列表。
这在布局上看起来与上面的示例非常相似,只是存在更多步骤。一个例子 ‘true’ 可以下载该类型的导出 开始.
注意:导入后,可以通过选中公式标题中的“导入豁免”框来保护公式免受任何更改 控制中心。这仅适用于 CSV 方法。
我们在上面的 JSON 示例中看到,我们可以使用 ‘formula’ 以及 ‘formulaStep’ 该特定方法的终点。但是,对于 CSV 导入,我们将仅使用 ‘formulaStep’ 端点。
标题/列定义文件名: “formulaStep.csvh”
完成的头文件应放置在: “<installdir>\SG Control Center\gateway\import\column_defs”
导入 CSV 文件名: “formulaStep-datetime.csv”
用于导入的 CSV 应放置在: “<installdir>\SG Control Center\gateway\import”
头文件:
头文件通常会在 CSV 集成之前由 SG Systems 编译,但我们可以看到可用于以下作业的基本示例:

有关我们如何构建这些文件的更多信息,请参阅 主集成页面。 可以下载此示例头文件 开始.
CSV 导入文件:
然后,我们可以使用标头中定义的数据点顺序来构建导入文件。 SG Systems 可以为此提供一个模板文件,列出每列的数据点,以便在填充列表时使事情变得更加清晰。 请注意,控制中心可以忽略第一行,因此在提交导入时可以将其保留在文件中。
我们将再次创建通过上面的 JSON 方法创建的 2 的重复公式。 公式的 csv 导入文件示例可能如下所示:

可以下载此示例导入文件 开始.
导入完成后,我们可以看到这个附加公式已添加到控制中心,其步骤与我们使用上面的 JSON 导入创建的公式相同。

对于 CSV 导出,我们将使用相同的 ‘formulaStep’ 导入的头文件/端点如上所述。这个可以下载 开始.
标题/列定义文件名: “formulaStep.csvh”
完成的头文件应放置在: “<installdir>\SG Control Center\gateway\export\order”
导出 CSV 文件名: “FormulaStep-datetime.csv”
用于导出的 CSV 将在以下位置生成: “<installdir>\SG Control Center\gateway\export”
这是从 V5 Traceability 以 CSV 形式获取公式数据的唯一方法。
还需要在控制中心的网关部分启用此导出。 我们可以在这里选择导出 ‘Formulas’.

头文件:
对于此示例,我们可以使用之前用于导入的标头进行导出。如果需要,可以添加其他数据点。
CSV 导出文件:
使用之前使用的标头启用此导出将为我们的 3 个新公式提供一个导出文件,如下所示:

CSV 导入机制的独特之处在于,控制中心的公式标题旁边有一个“受保护”复选框:

如果选中此项,则公式将受到保护,不会受到后续 formulaStep CSV 导入所做的任何更改。
如上所述,这是 CSV 导入方法所独有的,选中此框将不会保护公式免受通过 JSON/API 更新的影响。