A description of a report generating device and method of BCL language based on the project cost, including the preparation of the statements and BCL script file format; create a report object, report loading configuration file; loading BCL script statements; lexical analysis of the BCL script to generate EL expression; using the parser, all EL expressions, generate the corresponding BCL the syntax tree node, and the formation of the BCL syntax tree; create a BCL object, and the associated BCL syntax tree grammar analysis obtained; through the analysis of the BCL object, obtain the calculation object tree BCL language method; explain the execution of the current BCL syntax tree, according to the post order traversal approach in the syntax tree node, will create the report object as context for BCL implementation, until all the BCL syntax tree will be executed; data persistence file, Accomplish tasks. This method can be implemented once, interpreted and executed many times, so as to improve the efficiency of report generation.
【技术实现步骤摘要】
本专利技术属于工程造价报表生成领域,具体涉及一种基于工程造价计算描述语言BCL的报表配置化生成执行装置及生成方法,具体实现工程造价报表数据生成并可动态配置报表生成的数据及格式。
技术介绍
随着信息技术不断发展及企业管理的提升,工程造价计算日益精细化,各类报表越来越多并且报表生成逻辑复杂及报表格式多样化。传统的报表生成,通常为每张报表编写一份数据及格式生成代码,而实际存在不少报表输出规则相似,很容易导致相同逻辑重复编码情况。而报表生成逻辑及报表格式在出现定制化需求时,目前通常在代码中扩展特殊处理逻辑,一旦定制化需求过多代码复杂度呈几何数增长,不利于后期维护。传统的报表生成,报表生成规则、逻辑及样式通常通过编码实现,并集成在报表生成装置中。报表生成装置一旦发布用户无法更改报表生成规则,这种方式导致在软件产品中传统的报表生成装置灵活性差。一旦业务发生变化,哪怕报表输出数据项顺序发生变更这种微小更改,都必须根据变化的需求修改代码,并经过编译、集成、打包、测试、发布等一系列研发流程,导致软件响应速度慢及维护更新成本高。
技术实现思路
为了解决现有技术存在的问题,本专利技术提出了一种基于工程造价计算描述语言BCL的报表生成装置及生成方法,用于定制生成报表数据及格式。所述报表生成装置及执行方法基于工程造价计算语言BCL,与所述工程造价计算语言BCL一致,能够独立于不同的产品、项目及数据源,均具有与开发语言无关性和平台无关性。1.所述工程造价计算描述语言BCL,其实现包括:(1)设计描述具体计算算法规则的代数式及扩展运算表达式结构,即EL表达式;所述EL表达式是对计算算法规 ...
【技术保护点】
一种基于工程造价计算描述语言BCL的报表生成装置,其特征在于,所述装置是基于上述扩展的工程造价计算描述语言BCL及工程造价报表生成描述语言而实现的,包括:报表BCL脚本编制装置、报表BCL脚本编译装置、报表BCL脚本解析装置、报表格式生成装置、报表BCL脚本执行装置及报表数据保存装置;所述工程造价计算描述语言BCL及工程造价报表生成描述语言包括:所述工程造价计算描述语言BCL描述具体计算算法规则的代数式及扩展运算表达式结构,即EL表达式;所述EL表达式是对计算算法规则的一个完整描述,以${和}作为起始和结束标记,在沿袭传统代数表达式运算特点的同时,EL表达式支持用于包含多种条件选择表达式的条件选择运算和完成具体计算规则的函数运算,所述EL表达式包含种类多元化的操作数,支持数值、字符串和变量类型,其中,变量类型操作数是所述EL表达式支持动态数据挂接的典型体现,其值可以为外部对象的引用,也可以为执行阶段设定的具体数据值;所述条件表达式以#{和}作为起始和结束标记,其内部包含多个条件分支和之多一个缺省条件分支,每个分支对应一个EL表达式,整个条件选择表达式的取值为当前被激活条件分支对应的EL ...
【技术特征摘要】
1.一种基于工程造价计算描述语言BCL的报表生成装置,其特征在于,所述装置是基于上述扩展的工程造价计算描述语言BCL及工程造价报表生成描述语言而实现的,包括:报表BCL脚本编制装置、报表BCL脚本编译装置、报表BCL脚本解析装置、报表格式生成装置、报...
【专利技术属性】
技术研发人员:朱林生,万慧建,何贺,欧阳强,郝海风,曾江佑,王海民,廖成慧,刘国,
申请(专利权)人:江西博微新技术有限公司,
类型:发明
国别省市:江西;36
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。