#
上次分享了移动端报表JS开发的系统概念,后来我又回去摸索了一些案例。之前接触到的FineReport的APP客户端可以用来打卡签到,就好奇研究了以下,这次就来聊一聊报表移动端开发如何实现定位功能。
1. 解决思路
在用FineReport设计模板的时候添加一个按钮控件,点击该按钮的时候,获取当前地理位置,并将该位置信息复制给某个单元格,最后在客户端填报当前模板即可。
2. 示例
实现如下图所示效果,点击地理位置按钮获取当前位置与当前时间,并显示在下方对应的单元格中:
2.1 模板制作
打开设计器,新建一张模板,按照如下图所示样式设计模板,其中E2单元格为按钮控件,控件名称为地理位置,C5为下拉框控件,E5为时间控件:
2.2 获取当前地理位置
获取当前地理位置有两种方式,一个是点击按钮获取地理位置,一个是直接打开模板的时候就获取位置,示例中,我们是想实现通过点击按钮获取地理位置。
通过点击按钮获取地理位置
打开按钮的控件设置,为该控件添加一个点击事件,如下图:
js如下:
1. FR.location(function(status, message){ //获取地理位置
2. if(status=="success") {
3. //定位成功,message返回经纬度值
4. FR.Msg.alert("当前位置是" + message);
5. contentPane.setCellValue(2, 3, message);
6. } else {
7. //定位失败,message返回对应的错误信息
8. FR.Msg.alert(message); //定位失败
9. }
10. });
FineReport通过FR.location方法获取当前位置,如果status值为success,则表示获取地理位置成功否则定位失败,如果定位成功,则将返回的地理位置信息赋值给C4单元格。
但是该方法只在移动端有用,如果在web点击该按钮事件获取地理位置,则直接提示定位失败。
加载结束后获取当前位置
如果想在模板加载结束之后就获取到当前地理位置,那么只需要将上述代码添加到加载结束后事件中即可,打开模板,点击模板>模板web属性>填报页面设置,添加一个加载结束事件,如下图:
2.3 获取当前时间
在模板中还需要将当前签到时间也赋值过去,所以还需要在按钮的点击事件中获取到当前时间,并赋值给E4单元格,js如下:
11. var myDate = new Date();
12. var mytime=myDate.getFullYear()+"-"+myDate.getMonth()+1+"-"+myDate.getDate()+" "+myDate.getHours()+":"+myDate.getMinutes()+":"+myDate.getSeconds(); //获取当前时间
13. contentPane.setCellValue(4, 3, mytime);
按钮点击事件全部js如下:
14. FR.location(function(status, message){ //获取地理位置
15. if(status=="success") {
16. //定位成功,message返回经纬度值
17. FR.Msg.alert("当前位置是" + message);
18. contentPane.setCellValue(2, 3, message);
19. var myDate = new Date();
20. var mytime=myDate.getFullYear()+"-"+myDate.getMonth()+1+"-"+myDate.getDate()+" "+myDate.getHours()+":"+myDate.getMinutes()+":"+myDate.getSeconds(); //获取当前时间
21. contentPane.setCellValue(4, 3, mytime);
22.
23. } else {
24. //定位失败,message返回对应的错误信息
25. FR.Msg.alert(message); //定位失败
26. }
27. });
将该模板添加到数据决策系统的节点树上,其操作方法请查看添加模板,其中模板的预览方式为填报,如下图:
根据添加服务器章节介绍的操作步骤,用移动端登录该系统,访问该张模板,点击地理位置按钮获取当前地理位置和当前时间,如下图:
但是,FineReport获取到的地理位置是经纬度,如需要确定其具体位置,就需要另外转换。
移动端的开发还在持续学习中,感兴趣的朋友可以和我一起探讨研究。
摘要: 很多报表软件可以利用JS接口来实现更多更复杂的功能。这需要开放大量的JS API给用户,根据执行JS的主体不同可以将分为三大类:FR、FS和contentWindow。
阅读全文
摘要: 很多报表软件可以利用JS接口来实现更多更复杂的功能。以FineReport为例,开放了大量的JS API给用户,根据执行JS的主体不同可以将分为三大类:FR、FS和contentWindow,以下将详细介绍这三类方法的使用。
阅读全文
摘要: 在实际的应用中会经常需要将数据导出成excel,导出的方式除原样导出还有分页导出、分页分sheet导出和大数据量导出,这些导出方式在JAVA程序中分别有不同的接口来实现。
阅读全文
某市公共交通总公司是当地从事公共交通行业的大型企业,旗下有七个子公司。这些年,公司大力发展信息化建设,已建成多个信息管理系统,涉及运营、管理、财务等方面。这些系统既相对独立,又具有一定的联系,彼此会互相调用其它系统的数据。但这些信息系统经过了近十年的使用与发展,其本身固有的限制已经越来越不适合当前企业的业务需求,主要体现在以下方面:
(1)应用功能不能实现完全自动化。
(2)网络负载大,应用开发和维护繁琐。
(3)由于系统存在功能不足,需要大量人手进行分析报表工作。
(4)系统本身的技术架构己经落后,不能满足用户不断提出的对数据应用的要求。
(5)近十年累积的改动和扩展,使到系统过于庞大,接口很多,多种技术和平台混合使用,应用和维护成本高。
(6)信息系统间共享数据的需求客观存在,但由于各系统的开发时间、开发工具、部门要求以及在数据库的选择等不同原因,分布在网络中的不同系统中的数据相互独立,无法实现真正的信息资源共享。
(7)每个信息系统都有私有的数据库,对于同一事物,可能在不同的系统中被赋予不同的意义,带来语义混乱。不同系统中存储格式存在差异,这些在综合处理时都会带来很大的麻烦同时,跨系统调用数据也会严重影响性能。
因此,该公司一直寻求既能不影响现有系统的运行,又能对全公司数据进行集中分析处理的方法,商业智能正是一个优秀的解决方案。利用商业智能软件FineBI得天独厚的稳定性和大数据处理优势,各系统数据得以联系,以往堆积的数据也都”活跃“起来。
也正因为这样一个网络式搭建的系统,车辆的信息得到归档集中,管理人员能够实时有效地查看车辆运营信息和车辆维修保养状况,辅助进行决策。
该公司实时商业智能已有数年历史,管理人员已熟悉这种管理模式,商业智能的解决方案也给管理运行带来如下益处:
(1)提高了查询分析性能。
(2)减少和控制运营风险。
(3)通过增加效率来减少运营成本。
(4)通过智能化分析,合理安排车辆保养。
(5)分析报表自动化处理,减少人力物力支出。
(6)集成数据形成企业级信息视图,便于综合分析。
(7)通过智能化分析和数据挖掘捕获知识,辅助管理决策。
某大型水泥企业在成功实施ERM项目后,财务、销售、采购、库存、质量、生产调度、原材料进厂、产品出厂、OA、CRM等系统均运行良好,为公司的管理提升、效率提高做出了较大贡献。随着公司的跨越式发展,公司管理逐渐从单一公司管理模式转向集团管理模式,在新的管理模式下如何实现科学管理,成为了该集团管理所面临的一个重要课题。
在财务管理方面,目前五个生产基地都已经建立独立的信息系统,且都积累了大量的第一手生产经营数据。因此,如何对五个生产基地的数据进行多角度、多层次分析,发现公司生产经营中存在的优势与薄弱环节,从全局性、系统性角度思考公司运作状况及发展趋势,挖掘隐藏在数据中的规律以此来指导公司集团化生产经营,为领导决策提供科学依据,是公司在管理层面上所迫切需要解决的问题。经过调研、分析与论证,该公司最终决定实施商业智能BI(Business Intelligence)项目。按照总体规划、分步实施的原则,以财务为突破口,建立面向公司各部门、五个生产基地的商业智能BI系统。增强分析与挖掘数据资源的能力,提升公司科学管理水平。
由于财务系统的信息化基础较好,并且已形成集团化管理模式。因此该公司打算以财务为突破口,建立面向公司各部门、五个生产基地,基于数据仓库基础之上的商业智能BI系统。主要功能是采用五个生产基地的基础数据、预算数据、明细及业务数据,建立数据仓库系统,基于财务分析管理需求,实现服务于公司各级领导及管理人员的智能化分析系统。
基于这样的管理需求,采用FineBI提供的解决方案:
自动抽取各生产基地第一手业务数据、预算数据及BI系统所需要的其他数据。
数据经过转换后导入FineCube多维数据库。
数据经系统的综合处理,形成多层次、多维度的最终分析结果。公司领导及各级管理人员可以快速准确地对公司生产经营数据进行及时有效的分析,为决策提供科学依据。
目前,通过这样的一套系统,公司已基本实现以下几大目标:
1.五个生产基地财务数据集成统一
完成了对五个生产基地的财务及预算成本数据的集成,各生产基地财务业务历史和实时数据每天定时自动清洗加载至cube,数据每月定时自动加载。
2.大大减少报表设计工作量
搭配FineReport报表工具,利用BI系统丰富的图表样式和多维度分析,很大程度上减少了报表设计工作人员的工作量。
3.简化复杂的计算,缩短查询时间
BI系统采用了即席查询的先进理念,弥补了传统手工操作计算的不足,且响应时间大大缩短。
4.减轻业务系统负荷
大部分查询分析工作可在BI系统上进行,降低了服务器负荷,提高了稳定性。
5.提供正确的决策信息
多维度分析多业务数据,可及时发现问题和潜在价值规律,辅助领导层做出正确的决策,提高企业自身竞争能力。
总之,FineBI系统的部署,整合了财务分析需要的所有数据,财务人员可以利用BI系统快捷、高效、深入的分析财务数据,将更多精力投入到挖掘隐藏在这些数据中的深层次的规律,发掘数据的价值,更好的指导财务工作。
随着商业智能和大数据的价值不断深入人心,各行各业均有了不同程度的探索,近几年,商业智能系统开始在公安交通管理领域得到普及应用。相信未来,基于大数据分析的行业应用将更加深入,商业智能和大数据在公安领域的价值和应用模式将逐渐清晰。
如今,公安交通管理业务处理的信息化建设已经有了一定的规模,在日常警务工作中,这些商业智能应用系统及相关的数据库大大提高了工作效率,完成了各项任务,优势十分明显。但随着城市交通日益发达,管理的相关因素显得更加错综复杂。加上原有系统在设计时是为满足某个警务工作的需要而针对性建设的。这就造成信息的条状分布,给信息系统带来了新的挑战,因此,新平台系统建设将梳理信息资源,提高综合管理信息应用决策能力。
Gartner Group提出,商业智能描述的是一系列的概念和方法,通过应用基于事实的支持系统来辅助商业决策的制定。商业智能技术能够提供企业迅速分析数据的技术和方法,包括收集、管理和分析数据,将这些数据转化为有用的信息,然后分发到企业各处。公安交通管理领域的商业智能系统必须具备智能性处理的能力,即综合省市交管局的信息,整合信息孤岛,提高信息分析质量,有力地支持警务工作开展。帆软FineBI产品经理Julie认为,拥有良好的稳定性,具备百亿级大数据处理能力和不错的交互体验,对发展公安交通行业至关重要。
一般而言,公安交通综合管理系统的建设目标主要为以下两点:
1、建立综合信息应用能力,实现集中警力调配。
通过与现场信息的连接,通过与多种不同警务处理信息关联,实现综合信息应用能力,集中警力调配,从而大大提高出警、处理、监控与分析的效率。
2、整合各种应用系统,形成整体信息利用能力。
通过整合各种已有的警务处理、管理应用系统,形成整体信息利用能力,建立成为公安交通高科技、信息化的智能交通管理的信息平台。
在系统的架构设计上,我们可以将公安交通管理智能平台的系统架构分为4个层次:即道路现场、终端信息处理层、信息数据处理层以及信息综合应用层,如下图所示:
上一篇文章我们提到了字段为数据型的数据列排序方法,采用的是根据点击次数奇偶性来排序,那如果是字段为字符型,又该如何实现呢?
这里提供的解决思路是通过超级链接来实现升序降序两张模板之间的相互调用,每点击一次就切换到另一张模板。
下面以一个简单示例进行介绍:
1、修改数据集
升序模板
将原来的数据集修改为:SELECT * FROM [订单] order by 客户ID,根据字符型字段客户ID对数据进行升序排序,另存为Order_A.cpt。
降序模板
将原来的数据集修改为:SELECT * FROM [订单] order by 客户ID desc,根据客户ID对数据进行降序排序,另存为Order_B.cpt。
2、设置超链接
右击客户ID表头所在单元格,选择超级链接,点击网络报表,在网络报表的路径处选择模板,Order_A和Order_B的设置分别如下:
Order_A:
Order_B:
要注意的是,链接打开于处选择当前窗口。
3、效果查看
打开Order_A.cpt,点击分页预览,看到的是按照客户ID的升序排序,直接点击客户ID,则会按照客户ID进行降序排序,再次点击客户ID,则会又按照客户ID进行升序排序。
某体育用品公司在零售领域BI的产品应用解决方案
pasting
随着某体育用品公司集团经营规模的不断扩大,信息化的建设也在不断的深入,从POS系统到ERP系统,从MAIL系统到OA系统,整个集团的每项工作都与信息系统密不可分,可以说是行业内信息化建设的先导者。但是随着信息系统的日益增多,面临的问题也不断涌现,如信息孤岛、大量历史数据的闲置等,如何将多个信息系统的数据进行整合?如何将大量闲置的历史数据提炼成知识?成为该集团管理层和IT部门案桌上的重要课题。
帆软FineBI结合自己多年的BI行业经验,针对以上问题提出了一个完善的解决方案,其解决方案的核心思想,是“一个平台,两个统一,三个层次,四个改善”,即:
一个平台:搭建统一的数据分析平台;
两个统一:数据规范统一,报表分析规范统一;
三个层次:基础业务层自主分析快速汇报、中间管理层汇总预警及时处理、最高决策层全局把控科学决策;
四个改善:基础业务层自主分析快速汇报、中间管理层汇总预警及时处理、最高决策层全局把控科学决策。
围绕这些核心思想,集团最终搭建了有力的数据挖掘、信息分析整理、数据管理等解决方案,帮助集团梳理和制定完善的报表体系,为其制定具有竟争力的分析模式和模型、充分利用现有信息资源,让各个业务部门实现销售、产品规划、财务、库存等核心业务的辅助决策。
本商业智能BI系统中,我们总共分了如下几个模块:
1、高级综合分析主题:本年销售系统总体增长、综合店效(南北区域)、区域零售总体增长水平、分销业务部分区域订货情况、零售子公司分区域订货情况、坪效与竞品差距等;
2、销售及业绩看板分析:新品销售总体分析、新品销售同期对比分析、各产品类别销售-订货对比分析、交叉分析_按各分析维度、销售排名分析等;
3、订货情况分析主题:订货总体情况、各指标总体规划与实际订货对比、订货情况同期对比分析、交叉分析_按各分析维度、订货排名分析等;
4、客户分析主题:Top客户分区域订货情况、客户级别分区域的状态、VIP客户分析等;
5、生产、库存分析主题:产品库存分析、在仓产品库存时间分析、通路库存分析等;
6、财务、KPI分析主题:总体收入、总体利润、总体费用、应收帐款、零售公司指标分析等;
在各个分析主题中,我们充分发挥了FineBI的业务人员做报表的优势,各层级人员可以自己拖拽做报表进行分析,通用的、典型的后期就纳入到分析主题中,实现知识共享。
总体来看,我们对系统建设达到的目标可以总结为以下几点:
1、通过信息及时的预警跟踪,以关键有效的信息,为决策者提供了更为简洁的监控能力,以提高管理效率,防范信息阻塞及死角带来的风险。
2、通过信息关联,以模型固化管理规范为手段,以信息引导数据的分析为方法,为决策者提供有力的决策依据。
3、通过财务、生产、销售及采购的综合信息,为决策者综合管理平衡提供了有效的支持。
4、通过数据仓库的建设,为企业建立多维分析的基础;实现根据分析维度的灵活组合查询与分析。
5、借助FineBI商业智能工具,实现顶层汇总数据监控到明细数据查询分析;将分析由汇总到明细、由宏观到微观,提高企业分析的时效性与准确。
6、通过分析主题及模型的建立,为企业决策提供具有可决策、可预测的分析模型,将模型分类,形成各个分析主题,为企业在分析决策中,提供成体系的分析方法与思路。
7、在应用过程中,逐渐形成了一套标准数据信息的规范。