北京亿信华辰软件有限责任公司论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 821|回复: 1

报表动态自动计算

[复制链接]

30

主题

58

帖子

170

积分

版主

Rank: 7Rank: 7Rank: 7

积分
170
发表于 2015-9-15 16:33:16 | 显示全部楼层 |阅读模式
有一张分析表,展现的是某市的数据,现在希望能定时自动刷新,但是每刷新一次,市就根据维表依次变化,比如,第一次打开报表,算出来的结果是北京的,1分钟后,新的结果是天津的,再一分钟后,结果就成了河北了,如此循环展现。

维表的id是税务机关代码,分为省---分局四级,最终的效果是,当省级用户计算的时候,轮换展现的是各个市的数据,当市级用户进来的时候,轮换展现的是各个县的数据,当县级用户计算的时候,轮换展现的是各个分局的数据。
回复

使用道具 举报

30

主题

58

帖子

170

积分

版主

Rank: 7Rank: 7Rank: 7

积分
170
 楼主| 发表于 2015-9-15 16:34:57 | 显示全部楼层
本帖最后由 esenw 于 2015-9-15 16:37 编辑

计算前脚本:
import com.esen.bi.cal.AutoCalcReport;
import com.sanlink.irpt.login.Script_Login;
   AutoCalcReport auto = new AutoCalcReport();
   if(login.isAdmin()){
auto.getNext("admin","13700000000","TUTUIETMY3W1M8UU3VSYCJUAITUUUXUQ",params,rpt,"权限税务机关","@qxswjg"
  }else{
      String userId = login.getId();
      String orgId = login.getOrgid();
      auto.getNext(userId ,orgId,"TUTUIETMY3W1M8UU3VSYCJUAITUUUXUQ",params,rpt,"权限税务机关","@qxswjg");
}

客户端脚本:
var speed = 60*1000; //定时执行的间隔,单位:毫秒
function autorefresh() {
   if(calcparamspanel){
      calcparamspanel._onCalc();
    }
}
window.setInterval(autorefresh, speed);

1、在需要计算的报表中加上服务器端计算前和客户端代码,内容分别是计算前脚本和客户端脚本。

上图为服务器端计算前代码,其中红框部分为报表id需要手动改写成本报表id,绿框部分为报表参数的标题,黑框部分为报表参数的名称,需改写成与本报表参数对应的名称。
2、将cal文件夹放到war包下的WEB-INF\classes\com\esen\bi文件夹下。

3、测试时选择简洁模式查看。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Comsenz Inc. 北京亿信华辰软件有限责任公司

GMT+8, 2017-1-19 23:08 , Processed in 0.075887 second(s), 20 queries .

快速回复 返回顶部 返回列表