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

Groovy 1.5脚本排查:wbs_elem未赋值问题求助

问题排查与修复方案

核心问题:变量类型不匹配

Boomi接口传入的in_company_code大概率是字符串类型,但你的switch case里用的是数字(1000/2000/3000),类型不匹配导致所有case都无法命中,wbs_elem始终未被赋值,所以无输出。

修复步骤

  1. 统一变量类型
    将case中的数字改为字符串格式,确保和输入变量类型一致:

    switch(in_company_code){
    case '1000':
    wbs_elem = 'W' + in_wbs_elem;
    break;
    
    case '2000':
    wbs_elem = 'U' + in_wbs_elem;
    break;
    
    case '3000':
    wbs_elem = 'M' + in_wbs_elem;
    break;
    }
    
  2. 添加default分支
    增加默认分支,处理未匹配到的公司代码情况,避免无输出,同时便于调试:

    switch(in_company_code){
    case '1000':
    wbs_elem = 'W' + in_wbs_elem;
    break;
    
    case '2000':
    wbs_elem = 'U' + in_wbs_elem;
    break;
    
    case '3000':
    wbs_elem = 'M' + in_wbs_elem;
    break;
    default:
        // 可自定义默认前缀或保留原值
        wbs_elem = 'UNKNOW_' + in_wbs_elem;
        break;
    }
    
  3. 调试验证变量传递
    在脚本中添加日志打印,确认输入变量是否正确传入:

    // 打印输入变量值,用于调试
    logger.info('传入的公司代码:' + in_company_code);
    logger.info('传入的WBS元素:' + in_wbs_elem);
    
    switch(in_company_code){
    case '1000':
    wbs_elem = 'W' + in_wbs_elem;
    break;
    
    case '2000':
    wbs_elem = 'U' + in_wbs_elem;
    break;
    
    case '3000':
    wbs_elem = 'M' + in_wbs_elem;
    break;
    default:
        wbs_elem = 'UNKNOW_' + in_wbs_elem;
        logger.info('未匹配到指定公司代码:' + in_company_code);
        break;
    }
    
    // 打印最终结果,验证输出
    logger.info('生成的WBS元素:' + wbs_elem);
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 13:55:21