报表插件怎么将查询到的DataSet进行判断然后更改值原创
金蝶云社区-开发者赋能部_吴富彪
开发者赋能部_吴富彪
2人赞赏了该文章 2,238次浏览 未经作者许可,禁止转载编辑于2022年11月12日 18:57:27

需求:

    报表插件将数据查询出来,如果单据编码不包含-A将值改成未到票,如果单据编码包含-A将值改为已到票

方案:

    1、通过DataSet的addField函数添加字段,用于展示判断编是否包含‘-A’的结果

    2、通过case when表达式对单据编号进行判断

    3、通过contains函数去匹配‘-A’字符串

步骤:

Case When语句,跟sql一样,有两种形式

1.Case 表达式 When 值 then 值 [else 值] end

2.Case When 布尔表达式 then 值 [else 值] end

contains(left, right)
返回boolean,left是否包含right

代码:

public DataSet query(ReportQueryParam reportQueryParam, Object o) throws Throwable {
        DataSet dataSet = QueryServiceHelper.queryDataSet(Demo02Report.class.getName(), "kdec_bill1108_a", "billno", null, null);
        DataSet dataSet1 = dataSet.addField("case when contains(billno, '-A') then '已到票'  else '未到票' end", "billno1");
        return dataSet1;
    }

 效果:

image.png


参考资料:

Algo高级接口

https://vip.kingdee.com/link/s/Muhgc

赞 2