EAS分析报表框架说明_第1页
EAS分析报表框架说明_第2页
EAS分析报表框架说明_第3页
EAS分析报表框架说明_第4页
EAS分析报表框架说明_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第1章简介本章是对分析报表框架的总述。1.1概述EAS分析报表框架(BIReport)一套分析报表基础组件,它做了大部分非具体业务的工作,如查询方案/打印/临时表/维表操作等,使开发人员能把精力更多地投入到业务相关的开发工作中。开发人员可通过继承、引用相关组件快速完成分析报表的开发。1.2分析报表预览以下是分析报表的示例界面:1.2.1主页面醒金蝶EAS-南车系统系统皆文件(D查看⑦工具CD帮助WB^|*«|%显示图形管图形分析广行列变换m排序顷;I功能菜单消息中心市场份■甄分析中标单位中标数量中标金额1长春轨道客车股份有限公司30匕400.002中国南车股份有F艮公司1501已600.003南车二七车辆有限公司4齐芥哈尔轨道交通撮备有限责任公司5长春轨道客车装备有限责任恣司6哈尔滨轨道立通装备有限责任公司7中国北车集团大连机车车辆有限公司1009,000.001.2.2显示图形1.2.3图形分析1.2.4排序1.2.5筛选第2章开发流程2.1框架描述2.1.1组成框架元数据:主界面UI:com.kingdee.eas.framework.bireport.client.BireportBaseMainUI.ui条件界面UI:com.kingdee.eas.framework.bireport.client.BireportBaseFilterUI.uiFacade功能对象:com.kingdee.eas.framework.bireport.app.BireportBaseFacade.facade维度配置文件:xml文件,放在与app/client同级的config目录下。相关组件及辅助类。示例:com.kingdee.eas.framework.bireport.app.BireportSample2.1.2类图2.2步骤概述2.2.1元数据设计设计主界面UI继承BireportBaseMainUI,根据业务设计界面,要求至少有一个显示数据的KDTableo设计条件界面UI继承BireportBaseFilterUI,根据业务设计界面。设计功能对象继承BireportBaseFacade,通常不再需要添加接口,除非业务上自身的要求。注意界面规范:边界/Opx,组件间3px,详见http://uiserver/2.2.2添加未实现方法Facade生成的ControllerBean通常要重载—init和readySchemaSource两个方法,分别用于初始化条件查询数据和准备主页面的维度数据。2.2.3配置维度文件config目录下新建维度配置文件(xml格式,具体参考相关文档),根据具体要求设计维度。2.2.4编写业务相关代码通常包括处理查询条件:初始化设置、方案存取等;主页面:小标题、打印格式、打印变量、自定义图形等;ControllerBean准备数据。直7:returnconnection直7:returnconnectionxecutemdx&showdataMainUIFi足「UlFacade□1:open>3:returniriitparams<:I4:onlnit:>n5:ok<W>r6:callreadySthemaSource>r第3章维度配置文件3.1多语言目前支持两种实现方式单配置文件:里面使用属性、变量来实现多语言。多配置文件,每种语言用一个文件,只需要写原始一份,通过插件将生成3份文件。3.2资源属性、变量3.2.1使用资源属性文件中指定BOS的资源对象名全路径:<Resourcename="...''/><?xmlvei?sion=r,l.0,rencoding=,rUTF-8r,?><Schei[L.=i><Resou口:二ename=rrcom.kingdee.eas.framework.bireport.app.schema.Macr0Replacerrr/>定义属性,格式为#{varname}<Dimensionname=,rBank,rcaption=rr#{bank}rrtable=rrBank,rprimaryKey="FID,r>如上图例,则框架解析此文件时,将获取MacroReplacer.resource的bank属性替换#{bank}。3.2.2使用变量有两种写法,在tag属性值里,用${varname}在tag外面,用<Vrname=”...”/>,用于需要动态变动xml结构的情况。如<Measurename=,r$(dyname}r,caption=rr${dycaption},rcolu<Varname=rrdymeasurerr/>服务端用SchemaSource#setMacroVklue(Stringkey,Stringvalue)方法设置变量。3.2.3某一维度统计<?xmlversion="1.0"encoding="UTF-8"?><Schemaname="room"><Parametername="Fact"type="table"/><Parametername="RoomModelType"type="table"/><Dimensionname="RoomModelType"caption="中标单位"table="RoomModelType"primaryKey="FID"><Hierarchy><Levelname="RoomModelType"column="FID"><Propertyname="caption"column="FName"caption="FName"/></Level></Hierarchy></Dimension><Cubename="Fact"caption="Fact"table="Fact"><DimensionUsagename="RoomModelType"foreignKey="FCompetitorsNameID"/>〈Measurename="FCounter"caption="数量"column="FCounter"aggregator="sum"formatString="#,###"visible="false"/><Measurename="FAQty"caption="中标数量"column="FAQty"aggregator="sum"formatString="#,###"visible="true"/><Measurename="FAAmount"caption="中标金额"column="FAAmount"aggregator="sum"formatString="#,##0.00"visible="true"/></Cube></Schema>3.2.1多维度统计(注意红字)<?xmlversion="1.0"encoding="UTF-8"?><Schemaname="room"><Parametername="Fact"type="table"/><Parametername="RoomModelType"type="table"/><Parametername="TrackModelType"type="table"/>(Dimensionname="RoomModelType"caption="中标单位"table="RoomModelType"primaryKey="FID"><Hierarchy><Levelname="RoomModelType"column="FID"><Propertyname="caption"column="FName"caption="FName"/></Level></Hierarchy></Dimension><Dimensionname="TrackModelType"caption="产品类型"table="TrackModelType"primaryKey="FID"><Hierarchy><Levelname="TrackModelType"column="FID"><Propertyname="caption"column="FName"caption="FName"/></Level></Hierarchy></Dimension><Cubename="Fact"caption="Fact"table="Fact"><DimensionUsagename="RoomModelType"foreignKey="FCompetitorsNameID"/><DimensionUsagename="TrackModelType"foreignKey="FMaterialID"/><Measurename="FCounter"caption="数量"column="FCounter"aggregator="sum"formatString="#,###"visible="false"/><Measurename="FAQty"caption="中标数量"column="FAQty"aggregator="sum"formatString="#,###"visible="true"/><Measurename="FAAmount"caption="中标金额"column="FAAmount"aggregator="sum"formatString="#,##0.00"visible="true"/></Cube></Schema>3.3Schema翻译插件Schema文件翻译插件KingdeeToolkit_1.0.0.jar,获取地址见后面的相关资源vss.[使用方法]如下图,将生成3个xml文件:schema_L1.xml英文(需手工翻译里面的多语言属性)schema_L2.xml简体中文schema_L3.xml繁体中文TukerJilgi-Errur.jFilacruReplacet^.Echema.xml1.算册臃⑪构建路径里)重构(X)DeleteAlt+Shi£t+TSchem:dJilacruF:ai-eBireportBaseFacade幽]导入(X)•-BireportBaseFacade导出(0)...BireportBaseFacadeBireportBaseFacadeBireportBaseFacadeBireportBaseFacadeBireportS:airipleFacaBireportS:airipleFacaBireportS:airipleFacaBireportS:airipleFacaTi1・LIT?F5复制CVS路径简繁体字典能护ForpertyjT件简繁体转换转换SchemajT件为多语言运行方式溟)此插件还提供属性文件的翻译,在形如—properties的文件上右键菜单可见:3.4使用方法代码只需要在RptXXXControllerBin里添加(分四步):protectedSchemaSourcereadySchemaSource(RptParamsparams,Contextctx)throwsBOSException,EASBizException{SchemaSourcess=newSchemaSource();1、写查询条件2、维度类型3、拼写SQL语句4、翻译坐标轴mdx.append("select{[Measures].Members}oncolumns,{[RoomModelType].members}onrowsfromFact");ss.setCaller(this.getClass());ss.setFilename(configFile);ss.setMdx(mdx.toString());returnss;}增加缺省图片setShowDefaultChart(boolean)是否显示缺省图片(整个表数据对应的图片),在onBeforeQuery()中调用.addDefaultChart()显示缺省图片,在onAfterQuery()中调用,与setShowDefaultChart结合可按维度需求实现是否需要缺省图片.增加自定义图片在onAfterQuery()中编写代码,如代码说明:addShowMember:设置需要显示图片的成员数据,第一个参数为维度名称,第二个参数是成员名称,均不区分大小写.维度名与成员名需与mdx语句中的命名对应addNotShowMember:设置不需要显示的成员.注意:在同一维度上,不能同时设置addShowMember/addNotShowMember,只设置”显示”成员,则其它成员(在图片上)不显示,只设置”不显示”成员,则其它成员默认显示.setReverse(boolean):表示图形是否显示为当前行列交换后的图形(但表的显示是不需要交换的)finishDataSet():表示图片数据设置结束(必须调用且在最后)参考代码:com.kingdee.eas.fm.fin.client.RptLCFrameAnalysisMainUI3.5临时表的处理com.kingdee.eas.fm.birt.app.BirtBaseFacadeControllerBean提供,建议不要自己写创建/删除临时表的sql,因为临时表处理EAS系统有专门的管理:获取临时表名:getTempTableName使用o...创建临时表及数据executeSelectInto>释放临时表dropTempTable3.6SQL执行接口com.kingdee.eas.fm.birt.app.BirtBaseFacadeControllerBean提供:_executeQuery_executeUpdate3.7打印设置打印表头格式方法protectedvoidpreparePrintPageHeader(HeadFootModelheader)返回打印表头变量方法protectedMappreparePrintVariantMap()3.8辅助类的使用1.条件自动存储类RptConditionManager一般用法〃条件页面:获取条件publicRptParamsgetCustomCondition()(RptConditionManagerrm=newRptConditionManager();rm.recordAllStatus(this);returnrm.toRptParams();}〃设置条件publicvoidsetCustomCondition(RptParamsparams)(RptConditionManagerrm=newRptConditionManager(params);rm.restoreAllStatus(this);}[注]用最新的CustomerParams参数的接口,若要条件支持版本升级,则本辅助类无效,请自行处理。框架默认转调最新接口到setCustomCondition(RptParamsparams)与RptParamsgetCustomCondition(),即使用此两方法仍可用非字符窜对象作为条件,但条件方案相关类被修改(客户升级)后可能报版本不一致错误。自动存储的条件获取方法RptParams.getObjectElement("name.value");name为条件相应控件的名称,getObjectElement方法可以用属性来访问其中的对象,如,name.value为com.kingdee.eas.framework.DataBaseInfo对象,取其编码:RptParams.getObjectElement("name.value.number");扩展用法示例publicRptParamsgetCustomCondition()(RptConditionManagerrm=newRptConditionManager();rm.recordAllStatus(this);rm.setProperty("companyIdSet",companyIdSet);bankIdSet=AccessHelper.getIds(AccessHelper.getF7Ids(jbpBank));rm.setProperty("bankIdSet",ban

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论