灬艾希的gravatar头像
灬艾希 2015-07-23 10:33:58

如何用JAVA代码逻辑处理去实现报表相关业务?

1.现在我们公司做的报表全依赖于XXX报表工具,其拓展性极其差;且涉及金钱方面有一点业务上的变动就需要去更改原报表上的逻辑以及SQL;

2.我设想就是用JAVA利用工厂、策略等设计模式去结合spring的注入去设计个易组装的结构。   然后把未来可变的业务,全都单独封装为组件,用业务线串起来,什么时候要扩展,直接改spring配置文件替换实现类就ok了。  

3.然后将重新设计数据库表,将XXX报表工具相关数据与业务表隔开,通过定时跑批的方式进行获取数据;日后新增报表就无需花费过多的逻辑去思考实现了,直接SQL去数据库取,简单粗暴;

4.这只是小弟的一些模糊的思路,实现起来还需要很多需要注意的地方; 请各位大神给出些方案或者哪位大神之前遇到过类似的项目可以将方案告知于小弟,真是万分感谢!

所有回答列表(2)
遇见,的gravatar头像
遇见,  LV36 2015年7月23日

想法很好, 但是报表这种用作展示数据集合的东西,没有特定的需求很正常, 报表的实现最大程度在于SQL的实现,因为每个报表要展示的数据不同 也就说你的SQL会不同, 如果你想根据java封装 直接修改配置文件的话难度会很高,除非你们的报表都是同一类型报表,数据也大部分从固定的几张表去取。

但是你可以把报表中经常会用到的数据写到一张表里,我们称它为基表。 这样你有类似业务的报表,可以用基表加上你的新增业务的表来联查就可以得到数据了

815410192的gravatar头像
815410192  LV4 2015年7月31日

不知道sql组件是怎么设想的,如果是单一的select部分 from部分 where部分等 ,针对不同的sql组件组合的配置过程远比直接sql的逻辑复杂;如果是单一的数据查询部分,在进行数据二次处理的话,复杂的业务应该是无法实现的。

相关问答
最近浏览
newhaijun  LV15 2021年12月6日
best man java  LV2 2020年6月22日
ITboysDu  LV11 2019年10月26日
wsh123456  LV1 2018年5月12日
sdtzwss  LV12 2015年9月3日
花少与儿年  LV2 2015年9月1日
xksgs  LV2 2015年8月29日
猿大人、  LV11 2015年8月17日
qqqiii  LV5 2015年8月17日
pzadsl  LV4 2015年8月12日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友