报表程序开发

2023-03-10 11:55:17 来源:网络

报表程序开发

NCC开发程序编写报表2022-06-16

程序开发报表,涉及到语义模型编写,自由报表编写

1.语义模型

后台编写接口,用于组装sql

nc.pub.smart.context.SmartContext context = getContext();

        String sql = nc.bs.mon.NCLocator.getInstance()

                                                    .lookup(nc.itf.ipmrm.report.equity.IEquityInvestmentReport.class)

                                                    .queryEquityInvestment(context);

        setResultSQL(sql);

2.语义模型接口编写

3.实现类编写

4.配置接口文件

5.接口实现类需要返回sql,语义模型使用返回的sql查询数据并展示出来。所以我们可以在实现类中编写临时表等复杂操作,组装好数据,后面使用简单的sql查询出报表的内容并展示。

6.实现类获取前端设置的参数

ConditionVO[] convos = null;

if(context.getAttribute("freereport_querycondition_innode") != null) {

//获取查询条件

convos = (ConditionVO[]) ((BaseQueryCondition)context.getAttribute("freereport_querycondition_innode")).getUserContext().get("freereport_querycondition_vos");

}

if(convos == null) {

SimpleDateFormat sdf = new SimpleDateFormat("YYYY-MM-DD HH:mm:ss");

param_begin = sdf.format(new Date());

param_end = sdf.format(new Date());

}else {

for(int i = 0; i < convos.length; i++) {

String fieldCode = convos[i].getFieldCode();

if("paramdate".equals(fieldCode)) {

param_begin = convos[i].getValue().split(",")[0];

param_end = convos[i].getValue().split(",")[1];

}

}

}

前提是语义模型设置参数,自由报表也要设置参数,如下图

免责声明:内容来自网络,若侵犯您的权利,请在一个月内通知我们,会及时删除 @轻流