第 45 章 问题单管理的规则


这种情况是数据驱动的,而不是遵循后续流程。解决问题单所需的步骤取决于数据(此情况中涉及的人员提供),或者可将系统配置为根据可用数据触发进一步的操作。在后者的情况下,您可以使用业务规则来决定问题单继续或到达解决方案所需的进一步操作。

在这种情况下,可在任何时候将数据插入到案例文件中。决策引擎持续监控案例文件数据,这意味着规则对问题单文件中包含的数据做出响应。使用规则监控并响应问题单文件数据中的更改提供了一定程度的自动化功能。

45.1. 使用规则驱动器问题单

请参阅 Business Central 中的案例管理 IT_Orders 示例项目。

假设供应商提供的特定硬件规格不正确或无效。供应商需要提供新的有效顺序,以便问题单可以继续。您可以不等待经理拒绝无效的规格并创建供应商的新请求,您可以创建一个在问题单数据表示提供的规格无效时立即作出反应的业务规则。然后可以为供应商创建新的硬件规格请求。

以下步骤演示了如何创建和使用业务规则来执行此情况。

先决条件

  • IT_Orders 示例项目在 Business Central 中是开放的,但它不部署到 KIE 服务器。
  • ServiceRegistryjbpm-services-api 模块的一部分,它必须在类路径上可用。

    注意

    如果在 Business Central 之外构建项目,则必须将以下依赖项添加到项目中:

    • org.jbpm:jbpm-services-api
    • org.jbpm:jbpm-case-mgmt-api

流程

  1. 创建名为 validate-document.drl 的以下商业规则文件:

    package defaultPackage;
    
    import java.util.Map;
    import java.util.HashMap;
    import org.jbpm.casemgmt.api.CaseService;
    import org.jbpm.casemgmt.api.model.instance.CaseFileInstance;
    import org.jbpm.document.Document;
    import org.jbpm.services.api.service.ServiceRegistry;
    
    rule "Invalid document name - reupload"
    when
        $caseData : CaseFileInstance()
        Document(name == "invalid.pdf") from $caseData.getData("hwSpec")
    
    then
    
        System.out.println("Hardware specification is invalid");
        $caseData.remove("hwSpec");
        update($caseData);
        CaseService caseService = (CaseService) ServiceRegistry.get().service(ServiceRegistry.CASE_SERVICE);
        caseService.triggerAdHocFragment($caseData.getCaseId(), "Prepare hardware spec", null);
    end
    Copy to Clipboard Toggle word wrap

    此商业规则将检测当名为 invalid.pdf 的文件被上传到 case 文件中。然后,它会删除 无效的.pdf 文档,并创建 Prepare hardware spec 用户任务的新实例。

  2. 单击 Deploy 以构建 IT_Orders 项目,并将其部署到 KIE 服务器。

    注意

    您还可以选择 Build & Install 选项来构建项目,并将 KJAR 文件发布到配置的 Maven 存储库,而无需部署到 KIE 服务器。在开发环境中,您可以点击 Deploy 将构建的 KJAR 文件部署到 KIE 服务器,而无需停止任何正在运行的实例(如果适用),或者点击 Redeploy 来部署构建的 KJAR 文件并替换所有实例。下次部署或重新部署构建的 KJAR 时,以前的部署单元(KIE 容器)会在同一目标 KIE 服务器中自动更新。在生产环境中,Redeploy 选项被禁用,且只能点击 Deploy 将构建的 KJAR 文件部署到 KIE 服务器上的新部署单元(KIE 容器)。

    要配置 KIE 服务器环境模式,请将 org.kie.server.mode 系统属性设置为 org.kie.server.mode=developmentorg.kie.server.mode=production。要在 Business Central 中为对应项目配置部署行为,请转至 Project Settings General Settings Version,再切换 Development Mode 选项。默认情况下,Business Central 中的 KIE 服务器和所有新项目均为开发模式。您不能部署打开开发模式的项目,或使用手动将 SNAPSHOT 版本后缀添加到生产模式中的 KIE 服务器。

  3. 创建名为 invalid.pdf 的文件,并将它保存到本地。
  4. 创建名为 valid-spec.pdf 的文件,并将它保存到本地。
  5. 在 Business Central 中,前往 Menu Projects IT_Orders 来打开 IT_Orders 项目。
  6. 单击页面右上角的 Import Asset
  7. validate-document.drl 文件上传到 默认软件包 (src/main/resources),再单击 Ok

    问题单管理验证文档上传

    validate-document.drl 规则显示在规则编辑器中。点击 Save 或 close 退出规则编辑器。

  8. 点击 Apps 启动程序 (如果已安装)或访问 http://localhost:8080/rhpam-case-mgmt-showcase/jbpm-cm.html 来打开 Showcase 应用程序。
  9. IT_Orders 项目的 Start Case

    在本示例中,Aimee 是案例 所有者,Katy 是 经理,供应商组是 供应商

    showcase start case
  10. 从 Business Central 注销,然后以属于 vendor 组 的用户身份登录
  11. 进入 Menu Track Task Inbox
  12. 打开 Prepare hardware spec 任务,再点击 Claim。这会将任务分配给登录用户。
  13. Start 并点 choose file 找到 无效的.pdf 硬件规格文件。点击 the upload button 上传该文件。

    问题单管理无效的规格
  14. Complete

    准备硬件规格的 Task Inbox 中的值是 Ready

  15. 在 Showcase 中,单击右上角的 Refresh。请注意,Completed 列中会出现 Prepare hardware 任务 消息,另一个显示在 In Progress 列中。

    问题单管理新的 spec 任务

    这是因为第一个 Prepare hardware spec 任务已完成,其规格文件 无效。pdf。因此,业务规则会导致任务和文件被丢弃,并创建了新用户任务。

  16. 在 Business Central Task Inbox 中,重复前面的步骤来上传 valid-spec.pdf 文件而不是 无效.pdf
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部