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

Maximo Anywhere查询过滤需求:仅展示同站点劳工

Maximo Anywhere 同站点劳工过滤查询实现方案

你的代码核心问题是未正确获取当前登录用户的默认站点值,直接使用defsite变量会导致未定义错误,无法生成有效过滤条件。以下是修正后的完整实现代码及关键说明:

修正后的过滤函数

filterLaborCraftRateForLookup: function(eventContext){
    var laborCraftRateSet = CommonHandler._getAdditionalResource(eventContext,"additionallaborcraftrate");
    CommonHandler._clearFilterForResource(eventContext, laborCraftRateSet);
    
    // 获取当前工单关联的组织ID
    var orgid = CommonHandler._getWorkorderOrgId(eventContext);
    // 获取当前登录用户的默认站点
    var defsite = eventContext.application.getUser().getProperty("defsite");
    
    // 构建组织+站点的过滤条件
    var filter = [];
    filter.push({'orgid': orgid, 'worksite': defsite});
    laborCraftRateSet.lookupFilter = filter;
},

关键实现说明

  • 获取用户默认站点:通过eventContext.application.getUser().getProperty("defsite")读取当前登录用户的默认站点配置,这是Maximo Anywhere中获取用户属性的标准方式。
  • 过滤条件有效性:确保additionallaborcraftrate对应的数据源(通常是Maximo中的LABORCRAFTRATE表)包含orgid和worksite字段,否则过滤逻辑不会生效。
  • 清除旧过滤:保留CommonHandler._clearFilterForResource调用,避免之前的过滤条件残留干扰当前查询结果。

额外注意事项

  • 若用户档案未配置DEFAULT SITE字段,需先在Maximo系统中完善用户的默认站点设置。
  • 如果业务需求是基于工单关联的站点而非用户默认站点过滤,可将defsite的获取方式替换为CommonHandler._getWorkorderSiteId(eventContext)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 23:50:33