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

Maximo自动化脚本:如何获取Assignment Manager中Labor List的选中人员

获取Assignment Manager中Labor List选中人员的解决方案

我之前在做Maximo自定义按钮的时候也碰到过完全一样的问题——能拿到Work List里选中的工单,就是摸不着Labor List的选中记录。试了几种方法后,总结出两个靠谱的实现方式,你可以根据自己的脚本场景选择:

方法1:通过Assignment Manager的AppBean直接拿选中项

Assignment Manager有专门的应用Bean(psdi.app.workorder.AssignmentManagerAppBean),里面封装了获取Labor List选中记录的方法,直接调用就行,这也是最推荐的方式:

// 先拿到Assignment Manager的应用Bean实例
var amAppBean = app.getAppBean();
// 调用getLaborSelection()获取选中的Labor MboSet
var selectedLaborSet = amAppBean.getLaborSelection();

// 遍历处理选中的人员
if (selectedLaborSet && !selectedLaborSet.isEmpty()) {
    selectedLaborSet.reset();
    while (selectedLaborSet.moveNext()) {
        var laborMbo = selectedLaborSet.getCurrentMbo();
        // 这里可以取你需要的字段,比如LABORCODE、LABORNAME
        var laborCode = laborMbo.getString("LABORCODE");
        println("选中的人员编码:" + laborCode);
        // 后续的分配逻辑写在这里就行
    }
}

方法2:通过UI组件的选中索引筛选关联记录

如果因为版本或者脚本上下文限制,用不了AppBean的方法,也可以直接操作UI组件拿到选中索引,再从关联的MboSet里取对应记录:

// 先获取当前的工单Assignment记录
var currentAssignment = mbo;
// 拿到工单关联的LABORASSIGNMENT集合
var laborAssignSet = currentAssignment.getMboSet("LABORASSIGNMENT");

// 获取Labor List对应的表格组件,注意ID要和应用配置里的一致
var laborTable = app.getApp().getTab("ASSIGNMENT").getTable("LABORASSIGNMENT");
// 拿到表格的选中索引数组
var selectedIndices = laborTable.getSelectedIndices();

// 循环根据索引取对应的Labor记录
for (var i = 0; i < selectedIndices.length; i++) {
    laborAssignSet.setLocation(selectedIndices[i]);
    var laborMbo = laborAssignSet.getCurrentMbo();
    var laborName = laborMbo.getString("LABORNAME");
    println("选中的人员姓名:" + laborName);
}

一些踩坑提醒

  • 脚本的上下文一定要选对:把脚本绑定到按钮的ACTION事件上,对象上下文选WMASSIGNMENT,这样mbo才是当前的工单分配记录
  • 如果你用的是Maximo 7.6及以上版本,方法1的getLaborSelection()是官方支持的方法,兼容性拉满
  • 方法2里的组件ID(比如ASSIGNMENT标签页、LABORASSIGNMENT表格)可以通过查看Assignment Manager的应用XML配置确认,避免写错

另外,你已经能拿到Work List的选中工单,把这部分和上面的Labor选中逻辑结合起来,就能完美复刻OOB的Assign Labor功能,再加上你需要的小修改就搞定了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 06:32:34