关闭

2007年9月11号工作总结

标签: 工作string报表存储
237人阅读 评论(0) 收藏 举报
 
今天主要做了民政统计项目单位查看功能的后台代码的编写。
在考虑分页功能实现时,主要有两种方式,一种是每次定位到指定页时,都要从查询一次,根据页码在结果中获取相应页的记录,另一种方式是能把结果缓存下来,然后从结果中查找指定分页的记录,第二种方式会很快,因为不用再根据条件重新查询一次。但是查询结果要保存下来就要作缓存,做类级别的缓存不现实,因为如果把每次查询的结果都保存在类的缓存中,那内存会迅速耗尽;因此考虑用对象级别的缓存,但是每次发起一个根据页码查询记录的请求都要重新生成一个对象,所以要想办法把对象保存起来,下次处理情求时直接使用这个对象,因此我决定使用类似仪表盘项目中的缓存,用一个缓存类把生成的对象保存起来,
在页面上存储这个对象对应的guid,下次处理请求时通过guid取出这个对象使用。而且缓存类有定时销毁对象的机制,设置一个超时时间,比如五分钟,如果此时间内,某个对象没有被get过,则销毁此对象,以提高性能,节省内存。
 
查询单位时一般通过UnitGroupTree的方法进行。
在参数客户端,一个业务方案定义了一段时间,这一段时间可以跨几个基础表方案,对于每个基础表方案都可以设置单位过滤条件,所以对于每个基础表方案都可以有其一个相应的单位列表,因此在获得UnitGroupTree的对象的时候,是通过时期和单位过滤条件来得到的,步骤如下:
 
SolutionItem soluItem = se.getSolution(solutionGuid);
String reportgroupguid = soluItem.otherDateReportGroupGuid(dataPeriod);//根据时期获得基础表方案guid
      ReportGroupItem reportGroupItem = sessionEnv.getReportGroupByGuid(
          reportgroupguid);
      String unitfilter = reportGroupItem.getUnitfilter();//获得报表方案的单位过滤条件
unitGroupTree = sessionEnv.getDataManager().getGroupTree(unitfilter,dataPeriod);//根据时期和单位过滤条件获得unitGroupTree。
 
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:14640次
    • 积分:370
    • 等级:
    • 排名:千里之外
    • 原创:22篇
    • 转载:0篇
    • 译文:0篇
    • 评论:1条
    最新评论