ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:21.96KB ,
资源ID:7378001      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7378001.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(NC6X报表数据加工做语义模型返回SQL篇.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

NC6X报表数据加工做语义模型返回SQL篇.docx

1、NC6X报表数据加工做语义模型返回SQL篇NC6X报表数据加工做语义模型(返回SQL篇)报表语义模型(数据处理:返回SQL方法) 数据处理方法:1。返回查询语句;2.返回结果集数据集;3.返回数据表(下次提供案例)实现方法基本相同。您可以参考系统的原始报表语义模型(抱歉,此处不详细仅供参考) 1,以及基本实现思路的概况(无详细对比和赘述) 1。首先,不管语义模型数据处理是返回任何类型的SQL、DataSet还是TABLE,的步骤基本上是相同的。 2。首先,根据所需的难度选择以上方法:一般数据可以通过SQL在 中找到。有时,如果找不到一两个数据,您可以选择返回SQL并为找不到的部分创建临时表。如

2、果它基本上是一个拼凑的检索,那么返回到数据集模式;在最后一种情况下,没有太多的标准产品用于返回TABLE场景,案例将在后面提供。 3。数据处理必须为语义脚本定义接口和实现类。最好确定报告属于哪个模块,创建接口和 实现类,并配置接口文件UPM。具体配置请参考模块的其他接口文件。4.数据处理接口的参数1一般传递给com.ufida.dataset.IContext或 NC . pub . smart . context . smart context,这是报表上下文。所有的查询参数和系统变量都放在这里,语义模型和接口中的两个上下文基本上可以相互转换,从下面的 例可以看出; 6。在编写数据处理代码之

3、前,不要考虑我是否必须配置语义模型和自由报告。没用的!纠正 先写数据处理代码的可行方式; 7。首先,你应该弄清楚报告的检索逻辑,并在头脑中写出大概的代码。 8。确定查询条件和数据类型。在接口实现类中定义全局变量查询条件(推荐)。默认无分配。 便于调试代码,因为尚未使用查询模板,并且无法动态获取查询条件。最好分配查询模板,以便以后覆盖查询变量值(数据处理报表只能作为单据查询模板分配给报表节点); 9。如果元数据列和数据类型是在数据集返回方法的接口实现类中定义的,则SQL returner 没有此步骤。 10。然后编写报表检索逻辑代码,根据默认设置的查询变量值编写代码和判断逻辑,最多返回 后的数据

4、(SQL、DataSet或TABLE); 11。自定义报告通常在组或全局节点定义语义模型和自由报告,这也是标准和经验研究所的 。 12。在语义模型组中定义您自己的AND模型(例如,也允许全局节点),并且点设计 的弹出接口的数量被处理并放入被处理的接口,该接口调用用于代码调试和代码校正的书面数据。 13。调试接口参数上下文时基本上没有数据。目前 中没有查询条件字段,没有分配给节点查询模板。只有打开报表节点查询调用代码,才能看到许多参数和值。因此,临时接口实现类不初始化查询参数方法和验证。 14。调用接口代码被放入语义模型数据处理中,进行格式化和编译。接下来,如果代码成功, 通常将返回到报告字段列

5、(元数据)选项卡,单击确定,并且“3个选择字段”将自己添加字段列。此处的字段必须由代码返回,不能单独添加无效字段。要自己添加字段“表达式框”,您必须在左下角的“数据处理(dp)”中选择该字段。公式可以用这个表达式来写。最后,解释“数据处理(dp)”术语的编写方式是为了防止其他实现进行随机修改。 15。然后是免费报告的设计。在“自由报表-集团”或“自由报表-全局”节点中,引入了仅在 完成的语义模型文件,并设计了报表界面和相关统计(此处不用说,也不要求实现或开发)。16.请记住,自由报表设计界面在右上角的“title”左侧有一个类似螺丝的按钮“main organization attribute

6、 setting”。如果 是具有组织查询条件的报表,则必须在此设置组和组织字段(代码或默认字段:SQL中的pk_org和pk_group)。您不需要设置它们,并且需要自动识别。否则,您需要手动设置它们(组节点设置pk_group,反之亦然)。如果这里没有设置,语义模型可以预览数据,而自由报表预览没有数据现象一般情况下,不需要查询带有组织标准的报表。报表字段只需要业务字段+pk_group,可以发布集团组织类型的报表节点。如果需要组织查询的报表,报表字段只需要业务字段+pk_group+pk_org,并发布组织类型为特定组织(销售、库存、财务等)的报表节点。) 17。设计自由报表界面格式时,需要

7、发布节点。如果报表修改不需要组织字段,则发布 组类型的报表节点。如果使用组织,则为特定组织的节点(销售、库存、财务等)。)将被发布。18.分配报表节点权限,创建报表查询模板,并将其分配给报表;19.打开报表节点,检查报表和查询模板是否可以正常加载; 20。如果报表正常显示和加载,测试查询模板,调试接口实现类断点,完成剩余查询参数 的初始化和查询条件值的验证。 21。完成上述工作后,将完成导出代码补丁、报告文件补丁和SQL脚本补丁来实现测试验证 ! 2。定义报表数据处理接口,实现类代码 1。定义接口和接口方法:截图: 下面是代码: 封装NC。ITF。 import com . ufida . d

8、ataset . IContext;/* *资金管理现金管理报告集团现金流汇总(新增)(绩效优化-从原始语义脚本到数据处理的变更)* * author wyr * sine 2017-09-25 * */公共界面集团现金流汇总(新增)* /* * *集团现金流汇总(新增)* 2。界面实现类截图界面代码:截图: 代码: 封装NC . impl . CMP . report . ext; import NC . itf . CMP . report . ext . GroupCashFlowProfileneWitf;导入com . ufida . dataset . IConText;/* *基

9、金管理现金管理报告集团现金流量汇总(新)(绩效优化-从原始语义脚本到数据处理的变更)* * author wyr * sine 2017-09-25 * */公共类GroupcashflowprofileNewImpl实施GroupCashFlowProfileneWitf /* * *基金管理现金管理报告完美的逻辑 * * 作者WYR * 自2017-09-25 * */公共字符串getQuerySql(IContext上下文)引发异常 返回null 3。创建临时表引用列导入java.util.ArrayList。导入Java . util . list; import NC . impl

10、. pub app . pattern . database . TempTable;导入nc.vo.pub.JavaType。 /NC6x在后台创建临时表并插入数据(从TempTable类型中选择多列)公共string create Temptable(string tempname,stringid) listrows = newarraylist();对于(字符串类型:id) 列表行=新数组列表();字符串日期= ite.split( row.add(日期0);row . add(date1);row . add(row);” /这个应该写一个String columns =来拆分它,所

11、以用select语句拼写 并查询String columns = “是很方便的。 字符串列类型= ; JavaType类型=新JavaType JavaType。字符串,JavaType。字符串。 TempTable dao =新TempTable(); 返回dao.getTempTable(临时名称、列、列类型、类型、行);/返回表名 4,查询条件获取及查询模板简单描述 5,将语义模型放入数据处理接口代码操作步骤创建语义模型: 2。设计语义模型(语义模型按钮组下方的设计按钮): 3。放入数据处理编写的代码接口代码: 4。格式代码编译下一步确定: 5。添加语义模型字段: 6+ 6,自由报表设计

12、 |超过3个错误报告直接结束了由开发环境启动的服务). 8,接口文件配置 现金管理报表集团现金流汇总(新增)* * 作者WYR * 自2017-09-26 * */公共类GpCflowprofileNewTempVO 私有字符串pk _ group用户名中的私有字符串;私有字符串库名称;私人双倍货币;私有字符串结束日期;私有字符串现金流; 临时表vo 公共字符串get PK _ group() 公共void SetPk _ group(String PK _ group) 公共字符串GetNoutName() 公共void SetInoutName(String Inoutname) 公共字符

13、串GetCuName() 公共void返回cuname this . inoutname = inoutname;返回inoutnamethis.pk _ group = pk _ group返回pk _ group 退钱;公共无效设置货币(双倍货币) 公共字符串GetAllyDate() 公共无效设置日期(字符串tallyDate) 公共字符串GetCashFlow() 公共无效设置现金流(字符串现金流) this . cash flow = cash flow;返回现金流; this . tallydate = tallydate;返回tallydate金钱=金钱; 2。界面: packa

14、ge NC . itf . CMP . report . ext; import com . ufida . dataset . IContext;/* *资金管理现金管理报告集团现金流量汇总(新增)(绩效优化-从原始语义脚本到数据处理的变更)* * author wyr * sine 2017-09-25 * */公共界面集团现金流量文件新增/* * *集团现金流量汇总(新增)* * param context * 1 3。实现类: package NC . impl . CMP . report . ext; import Java . util . ArrayList;导入java.ut

15、il.HashMap。导入Java . util . list;导入NC . bs . Dao . BaseDao;导入NC . bs . Dao . DaoException; import NC . impl . pub app . pattern . database . TempTable;导入NC . itf . CMP . report . ext . GroupCashFlowProfileneWitf;导入NC . JDBC . framework . processor . BeanListProcessor;导入NC . VO . CMP . report . ext .

16、GPCflowprofilenewtempvo;导入nc.vo.pub.JavaType。 import NC . VO . pub . query . ConditionVo; import NC . VO . pub app . pattern . exception . exceptionutils; import com . ufida . dataset . IContext; import NC . pub . fa . common . util . NumberUtils; import com . ufida . report . anareport . FreeReport

17、ContextKey;/* *基金管理现金管理报告集团现金流汇总(新)(绩效优化-从原始语义脚本到数据处理的变更)* * author wyr * sine 2017-09-25 * */公共类GroupCaseLowFileNewImplements GroupCaseLowFileNewItf /* * * * * *查询SQL * * * * * * * */ privateStringBuilder builders QL = private BaseDAO dao = null/* * * * * *创建的临时表名* * * * * * */ private stringtempta

18、blename = null;/* * * * * *临时表查询SQL列* * * * * * * */privatefinalstring tempselectfield = ; /* * * * * *项目类型(用于SQL)* * * * * * */私人字符串现金流= newstring 经营流入,经营流出,土地成本,筹资流入,筹资流出,投资流入,投资流出,集团内部抵销,财务收支。 /*开始日期* * * * * * * * * private string beg _ date = ;/* * * * * * * *结束日期* * * * * */私有stringend _ date

19、= ;/*java数据类型* * * * * * * * * */私有java类型类型=新Java类型 Java类型.字符串,Java类型.字符串,Java类型。字符串, JavaType。BigDecimal,JavaType。字符串,JavaType。字符串 。 /*数据库列类型* * * * * * * * * * * * * * */private string列类型= , , ;低于 /的汇率仅在默认情况下定义(使用测试,否则无法为下一个 通道测试和编译语义模型)。后续的查询条件必须输入,并且将覆盖值 /当时,还没有使用查询模板/* * * * * * * *美元汇率* * * *

20、* * * * * */私人双美元= 6.5382。/* * * * * * * *港元汇率* * * * * * * */9私人双HKD = 0.83687;/* * * * * * * *人民币汇率*/私人双mb = 1.55/* * * * * * * *澳元汇率* * * * * * * */privateddoublebob = 1.7;/* * * * * * * *新货币汇率*/私人双xb = 1.2/* * * * * * * *加拿大货币汇率*/私人双jb = 1.3 /* *基金管理现金管理报告集团现金流量汇总(新增)(绩效优化-从原始语义脚本 更改为数据处理) * * a

21、uthor wyr * 自2017-09-25 * */公共字符串getQuerySql(IContext)引发异常 返回null /* *拼接查询SQL * * param context report参数context * authoriwyr * 自2017-09-25 * return * 引发异常*/私有字符串getConvertSql(IContext)引发异常 /* * * TempTableName = null; this . GetQueryParameters(上下文);this . CheckQueryParametersisNotNull();this . GetCr

22、eateTempTableName();this . BuildSelectSql();this . GetEmbeddedSql(); return this . BuilderSql . ToString(); *获取SQL * * Authorwyr * Since 12017-09-26 * 引发异常*/ private void GetEmbeddedSql()引发异常 StringBuilder BDSqL = new StringBuilder();bdSqL . append();bdSqL . append();bdSqL . append(); bdsql . append

23、(+getsamcasewhenpartsql( operating , operating inbound )+);bdSqL . append(); bdsql . append(+getsamcasewhenpartsql( operating , operating outflow )+);bdSqL . append(); BDSqL . append(); bdsql . append(+getsamcasewhenpartsql(土地成本土地成本 )+); BDSqL . append();bdSqL . append(); bdsql . append(+getsamecase

24、whenpartsql(筹资,筹资流入)+);bdSqL . append(); bdsql . append(+getsamecasewhenpartsql(筹资,筹资流出)+);bdSqL . append(); BDSqL . append();bdSqL . append(); bdsql . append(+getsamecasewhenpartsql( investment , investment inbound )+);bdSqL . append(); bdsql . append(+getsamecasewhenpartsql( investment , investmen

25、t outflow )+);bdSqL . append(); BDSqL . append();bdSqL . append(); bdsql . append(+getsamecasewhenpartsql(组内,组内偏移量 cancel )+); BDSqL . append(); BDSqL . append(); bdsql . append(+getsamecasewhenpartsql(财政收入和支出,财政收入和支出 )+); /*获取查询联合全部(内部子查询SQL)以使用公共方法* bdsql . append(); this . BuildErSql . append(BDS

26、qL); * paramssql field default inouttype value f. financial收支 * paramscash flow project financial收支 * example select PK _ group,f . financial收支 in outtype, financial收支 asaitem,inoutname asfitem, * author WYR * 自2017-09-26 * 起SamePartSqL . append(+SqL Field+ in outtype, +cash flow+); SamePartSqL . ap

27、pend( USD,sum(mb)表示mb,sum(xb)表示xm,) SamePartSqL . append();samepartSqL . append();追加( cuname = us $ 则货币0以美元结尾,); samepartsql . append( ringit 然后money else 0end asmb,); samepartsql . append( RMB 然后money else 0 endasrmb,); same partsql . append( hong kong dollar then money else 0end ashkd,); same part

28、sql . append( a $ 然后money else 0end asob,); samepartsql . append(加元然后货币0end asjb,); samepartsql . append( Singapore dollar then money else 0 end as XB ); SamePartSqL . append(); SamePartSqL . append(+GetQueryTempTableDataSQl(现金流)+ group by pk_group,inoutname ); return SamePartSqL . ToString(); /* *初

29、始化查询参数(获取查询条件值)* * param context * author wyr * sine 2017-09-26 * 引发异常*/ private void GetqueryParameters(IContext)引发异常 hashmap hashmap = null;/获取与查询条件(键、值)相对应的条件()条件() context . getattribute(freereportcontextkey . key _ report _ querycondittvos); if(null!= ConditionVO for(Conditionvo ConditionVO:ConditionVO) hashmap . put(ConditionVO . GetFieldCode(), ConditionVO . GetValue(); CheckQueryParametersAndSetValue(hashmap); 否则 exceptionutils . wrappbusinessexception(查询条件不能为空,请检查!)

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1