You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在PolicyCenter中通过DesktopJobFiltersEnhancement添加自定义Expire Soon过滤器

Guidewire PolicyCenter桌面端任务自定义过滤器实现方案

需求背景

在PolicyCenter桌面端,默认任务过滤器包含“所有未结任务”“Created in Past 7 Days”等,但需新增名为Expire Soon的自定义过滤器,筛选规则为:当前用户分配的、满足Job.CreateTime + ExpirationThresoldNumber - 10 ≤ 今日的所有任务(其中ExpirationThresoldNumber为任务的自定义整数字段)。

问题解答

1. 如何添加“Expire Soon”自定义过滤器?

需通过以下步骤实现:

  • 扩展DesktopJobFiltersEnhancement类,重写getCustomFilters方法添加自定义过滤器实例
  • 实现过滤器的筛选逻辑,结合用户归属判断与日期计算规则
  • 配置本地化标签,让过滤器名称在界面正常显示

2. 推荐实现方法

核心思路是继承DesktopJobFiltersEnhancement,在自定义扩展类中创建JobFilter实例,通过Gosu闭包定义筛选规则,同时关联当前登录用户身份与日期运算逻辑。

3. 示例代码与参考指引

示例代码(Gosu)

创建自定义增强类CustomDesktopJobFiltersEnhancement.gs:

package gw.extensions.pc.desktop.jobfilters

import com.guidewire.pc.desktop.jobfilters.DesktopJobFiltersEnhancement
import com.guidewire.pc.desktop.jobfilters.JobFilter
import com.guidewire.pl.system.security.SecurityContext
import java.time.LocalDate

class CustomDesktopJobFiltersEnhancement extends DesktopJobFiltersEnhancement {

  override function getCustomFilters(): List<JobFilter> {
    def customFilters = super.getCustomFilters()

    // 定义"Expire Soon"过滤器
    def expireSoonFilter = new JobFilter(
      "ExpireSoon", // 过滤器唯一标识
      getLocalizedText("job.filter.expireSoon"), // 界面显示名称(需配置本地化)
      \ job -> {
        // 筛选逻辑:当前用户分配的任务 + 日期计算条件
        def currentUser = SecurityContext.currentUser
        def today = LocalDate.now()
        def expireThresholdDate = job.CreateTime.toLocalDate().plusDays(job.ExpirationThresoldNumber - 10)
        return job.Assignee == currentUser && (expireThresholdDate.isBefore(today) || expireThresholdDate.isEqual(today))
      }
    )

    customFilters.add(expireSoonFilter)
    return customFilters
  }
}

本地化配置(在custom_resources.properties中添加)

job.filter.expireSoon=Expire Soon

注册增强类(在extensions.xml中配置)

<extension point="DesktopJobFiltersEnhancement">
  <implementation class="gw.extensions.pc.desktop.jobfilters.CustomDesktopJobFiltersEnhancement"/>
</extension>

关键参考点

  • 可查看PolicyCenter内置的DesktopJobFiltersEnhancement默认实现(路径:com.guidewire.pc.desktop.jobfilters.DesktopJobFiltersEnhancement),参考内置过滤器的定义逻辑
  • JobFilter构造参数需传入唯一ID、界面显示名称、筛选逻辑闭包
  • 日期计算需注意CreateTime为DateTime类型,需转换为LocalDate后进行天数运算

内容的提问来源于stack exchange,提问作者abhi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 02:52:13