您的位置:首页 > 其它

2007年9月11号工作总结

2007-09-11 23:19 204 查看
 
今天主要做了民政统计项目单位查看功能的后台代码的编写。
在考虑分页功能实现时,主要有两种方式,一种是每次定位到指定页时,都要从查询一次,根据页码在结果中获取相应页的记录,另一种方式是能把结果缓存下来,然后从结果中查找指定分页的记录,第二种方式会很快,因为不用再根据条件重新查询一次。但是查询结果要保存下来就要作缓存,做类级别的缓存不现实,因为如果把每次查询的结果都保存在类的缓存中,那内存会迅速耗尽;因此考虑用对象级别的缓存,但是每次发起一个根据页码查询记录的请求都要重新生成一个对象,所以要想办法把对象保存起来,下次处理情求时直接使用这个对象,因此我决定使用类似仪表盘项目中的缓存,用一个缓存类把生成的对象保存起来,
在页面上存储这个对象对应的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。
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  工作 string 报表 存储