流水号结合自定义函数实现申请业务
客户有个需求是想利用行式填报表的流水号来进行一个申请业务的处理(主键自动生成)。但是在行式填报表中对流水号的触发只能在行式报表的插入功能的进行触发,这对于刚进入报表展现页面自动展现第一条记录就无法触发流水号生成主键,因此利用流水号来处理申请业务也就无从谈起了。页面展现第一条记录生成主键可以利用自定义函数来补这个缺口。如果全用自定义函数来实现,简单主键生成规则让自定义函数又无法达到满意的效果。两者结合正好满足当前需求。
单用流水号不足:
单用自定义函数不足:
两者结合最终效果:
步骤:
第一步:总的模板设计
第二步:流水号的定义应用
1.在展现jsp定义js函数 test()。
function test()
{
return new Date().getTime();
}
2.G4单元格填报属性流水号调用test()。
第三步 自定义函数定义和调用
1.建函数功能类
package function;
import com.runqian.report4.model.expression.Function;
import com.runqian.report4.usermodel.Context;
import java.util.*;
public class CreateId extends Function {
@Override
public Object calculate(Context arg0, boolean arg1) {
return new Date().getTime()+”";
}
}
2.函数名声明
在customFunctions.properties内进行函数声明
#自定义函数生成流水号
getId =0, function.CreateId
3.单元格里调用自定义函数
G4值表达式里 =getId()
第四步 报表设置更新属性设置
更新设置这里就不赘言了
第五步 页面效果