大家好,我是如风,真实姓名屈敬国,小菜鸟一枚,就职于北京中联恒利科技有限公司。
正式接触帆软三个月,没有很厉害的作品,也没有成为专家组成员,也很少在论坛发言,但是说到论坛的技术求助帖个插件开发区,应该没人比我熟悉了吧(当时几乎天天看大家的问题,两个板块几千页一页一页全部看完了。
话不多说,不敢说展示,只是和大家分享在帆软的开发路上,自己琢磨的一些技巧,有不到之处,望大家多多指点 。
15年毕业,专业是食品科学与工程,当时和好友临近毕业,一起商量下准备转行学习java,培训了三个月,那三个月可谓是不分昼夜,面试的第一家公司,上班不到一个礼拜就在学校老师的推荐下,面试了现在的公司,不过当时是外包过来,从面试开始到踏上来帝都的火车,总共没有几个小时。就这样来到大帝都了,也就在开始了于帆软的不解之缘。看到这里,大家也许会问你不是外包的人员么,怎么会留在现在的公司呢,这个就说来话长,咱们就长话短说,最后呢,,,还不如不说了。反正结果是我就留在了现在的公司了。 最开始我不是负责报表这块儿,只是知道公司选择了帆软作为公司的报表展现工具,一开始是我们的另一个组在负责熟悉整个报表的东西,当时他们在做程序数据集,我只是大概了解了,最开始的感觉就是,这个东西挺好玩儿,从数据库查询完数据,在按照一定规则返回,页面拖拖拽拽,数据就展现了,好神奇。。正式开始用,是在今年的七月份,公司要把老的一套报表迁移到现在的帆软中,于是呢我就开始了轰轰烈烈的平帆”之旅。
第一弹、数据集开发
由于我们的业务需要,以及项目框架限制,只能采用程序数据集,且数据调用凡是只能采用接口方式。当时做了两套数据集,一套在项目中使用,调用接口,另一套在设计器中使用,连个的包名、类名完全一致,只是在实现上有所不同。
设计器使用截图如下:
此处模拟项目中的接口调用数据,在设计器中使用
项目中程序结构设计:
第二弹、程序绑定数据集
亲们,画完报表表样之后,你需要做什么呢?对了,绑定数据集,如果你的报表页面之后四十几个单元格,你手动的去拖拖拽拽,好没问题,一百多个单元格,还行,如果遇到一两千个单元格。。。。。你还在手动的去拖拖拽拽???????小样儿,累不死你。。接下来就
看看我们的绑定数据集神器:
画完报表的样子是这样的:这张报表三个sheet,每个sheet都需要绑定数据集。(这个现在是没有绑定数据集的,当然我们遇到最多的是一个cpt40多个sheet的情况,此处就不展示了原理一样)
绑定程序数据集的程序源码结构:
启动之后样子:
来 测试下:
看数据集是不是已经绑定上了
是不是很方便,js取值、绑定工具栏工具、校验后事件、加载后事件。一个按钮全部搞定
第三弹、插件开发
1、自定义代数控件
使用的样式:
效果就是会根据定义的这些参数去后台取数据,然后在打开报表的时候加载数据(之前说过,所有数据来源都是接口调用方式,数据返回是json,那个取值就是jsonpath取值)
2、根据参数显示不同的sheet、
使用效果:
第四弹、自带控件改造
说到这个大家就会纳闷儿,什么叫细带控件改造?是这样的,你有没有遇到过在选择完下拉框之后,需要根据下拉框的选择值,去后台数据库查询数据,在给其他单元格赋值,说到这里,很多同学都会说,这不是很简单么,,,但是大家请注意,我们用的的workbook,不能显示参数面板,不使用自带数据集,不能使用直连数据库,所有数据是通过调用HSF服务回传数据,那么你有什么好办法呢?我是这么做的
看懂了吧,万能的ajax,是的编辑后事件调用ajax的同步取数,在根据返回数据格式,给自己需要的单元格设置值,想怎么设置就怎么设置,方便吧。。。哈哈!!perfect。。。。。。
And more
在开发中也遇到了很多问题,也给帆软提了很多意见,比如最近程序数据集自带默认参数(十月一以后上线的)、单元格设置可见不可用但是delete会删掉。等等。。。基本每次都会为我们解决问题的客服或者技术人员拖到七点多才下班。。。哈哈!在此诚挚的感谢他们的认真和辛苦!
最后让大家看个好玩儿的。
是不是感觉自己没有这个?哈哈哈,对没错。。。设计器被我们修改了。。。。。。。。。。。。。。。。。准确来说玩儿坏了。。。。。。。。。。。。。。。。。。。。。。
以上就是在开发中做的比较多的。当然很多做的不是很完美,也有很多瑕疵,如果哪位大神看到我们做的,有什么可以改进的,请多多多指教。
当然这一切的开发也离不开我的团队,我的同事,感谢他们的付出,里面也有他们的一些开发成果。与帆软的交集不会止步于此,我们也会在不断学习中进步。。。。。继续我们的平“帆之路”。 附上俺的FCRA证书一张:
个人丑照一张,千万别吓着你~
|