e-works数字化企业网  »  文章频道  »  管理信息化  »  MES

自由组态报表的研究与开发

2013/5/31    来源:万方数据    作者:朱腾飞  张成      
关键字:MES  数据模型  自由组态  报表  
该文以MES 系统为背景,对生产调度数据和公用工程生产能耗数据,按照统计要求的颗粒度进行整合优化,建立数据模型,为ERP 系统提供数据接口,并通过自由组态为统计人员提供统计报表。

    中国石油信息化“十一五”规划中,MESERP是极为重要的建设项目。MES是面向生产层面的信息系统,处理各项生产业务,主要服务对象为生产管理人员;ERP是面向经营层面的信息系统,处理各项经营业务,主要服务对象为企业经营管理人员。

    MES系统必须实现统计业务需求,必须能够为ERP系统提供企业生产实际数据,支撑ERP系统的统计核算业务,为企业经营管理层业务提供实际、准确的数据基础。当前使用的报表是通过报表模板组态,实施人员写SQL的模式来实现的,报表格式一旦定下来,就不能根据业务实际灵活的调整,报表缺乏扩展性。所以,需要建立一个能够自由组态的报表系统,使用户可以轻松定制各种报表。

1 系统总体结构

    本系统的总体结构分为四个层次和两个部分。四个层次分别是数据源层、模型搭建层、报表实现层及展示层,在数据源层集成了物料平衡的装置投入产出、罐收付存、进出厂计量及物料平衡数据,公用工程的能耗数据和计划数据;在模型搭建层,实现统计报表和台帐的业务模型搭建功能,方便数据的提取及统计报表的实现;在报表实现层,实现统计业务对统计平衡及统计报表业务的需求,通过简单的模板组态,实现企业统计报表和台帐。展示层实现报表的生成和导出。

    两个部分分别是B/S体系模块和C/S体系模块,B/S体系架构模块是统计报表系统的核心,系统实现对统计报表及平衡模型的搭建,为统计报表系统提取物料平衡数据鉴定了基础。C\S体系架构模块主要实现了灵活组态报表的需要。C\S报表系统根据B\S组态的业务模型,提取统计部门需要的装置进出、罐区库存、收入拨出和生产能耗等的业务数据,以及计划数据,同时可以灵活的添加各种报表显示指标,通过组态方式实现统计报表、台帐。

2 系统设计与实现

    本系统开发平台为Microsoft Visual Studio 2005,采用Oracle数据库,编程语言使用C#来进行开发。

2.1 模型组态模块

    创建数据模型需要将指标表和数据表数据字段映射到模型表中。其中涉及到指标、状态和模板这些名词的定义。指标就是要取数的对象,如汽油、渣油等;状态就是对象的属性,如库存,产量等。报表模板是指由指标和状态组建的二维报表,一般指标为行项,状态为列项。

 图1 系统功能模块

图1 系统功能模块

    指标表主要存储指标的信息,其中包括指标编码、指标所属的罐或装置、车间、分厂、以及它的源和目的等;状态表主要存储指标对应的生产数据信息,其中包括指标编码、日期、原始值、确认值等;模型表主要存储数据模型的信息,其中包括模型编码、模型对应的指标表和数据表、指标所有的层级信息、数据表中的状态。

    2.1.1 统计平衡信息组态

    组态统计所需粒度的平衡模型。实现统计关注的物料粗颗粒度的平衡模型搭建,创建分厂统计关注的物料组(从分厂的角度,把分厂统计的每一种统计物料叫做一个物料组)。添加统计物料对应的逻辑罐,关联统计物料与物料平衡细颗粒度路由之间的关系及报表读写等属性,作为通过物料平衡数据汇总统计报表所需数据的基础。同时删除逻辑罐,自动删除统计物料与物料平衡路由之间的关系。

    2.1.2 公用工程模型组态

    组态统计对公用工程能耗数据的报表需求模型。公用工程取数模型通过统计组态获取能流归并关系,模型取数的结果与统计查询界面显示的数据一致。组态基本管线信息,按某种介质建立管线之间的平衡关系,最后按照统计的颗粒度进行数据统计。

    2.1.3 计划模型组态

    组态计划数据模型。根据企业车间、分厂、公司对计划指标的需要,分别添加各自的计划指标。首先:添加指标分类,然后为每个属性的指标添加具体指标,最后,为每个车间、分厂、公司添加自己需要的各类指标。

2.2 报表展示模块

    2.2.1 报表模板

    新建报表模板,组态回写规则,并对其进行维护。根据取数模型将一个取数单元定义为一个模块,一个报表模型可以由多个模块组成,所以对报表模板的控制实际上就是对每个模块的控制。对于模块可以进行新建、插入、维护、删除操作。

    模块类型有三种,分为一般类型、台帐类型、转置类型,一般类型指的是将指标作为行项、状态作为列项,转置类型则刚好与其相反,台帐类型则将日期定义为行项,状态定义为列项。为了让各模块之间更好地组合,还可以对块头、行项、列项是否显示进行控制。

    2.2.2 报表实现

    报表文件依附于报表模板,一旦报表模板制订完成,只需要选择生产数据的日期根据每个状态的取数语句即可得到报表文件。当用户要进行数据回写时,首先要记录下回写之前的数据,通过OWC中的编辑前事件触发执行,即在对单元格进行编辑之前,会触发这一事件,这样就可以事先保存编辑前的数据。相应的,在编辑后事件中进行编辑后的处理。

    首先要判断该单元格对应的指标是否为汇总指标,若是,则提示汇总指标无法修改,必须在数据明细中修改。若是基础指标,则根据该取数模型、指标、状态的回写状态来判断。其中有一个是只读,则提示该单元格的数据是只读数据,无法回写。若均为可回写,则将通过该单元格对应的取数模型、指标、状态、分摊规则、开始结束时间、生产报表时间、编辑前后的数据、用户等信息进行数据回写。

    关于回写的数据由分摊规则、开始结束时间和编辑前后的数据决定,如果开始结束的时间为同一天,则不论是平均分摊还是分摊到最后一天,回写的数据就是编辑后的数据;如果开始结束时间为一段时间T天,编辑前后的数据分别为STARTVALUE和ENDVALUE,若分摊规则是平均分摊,则每一天的数据为ENDVALUE/T,若分摊规则是分摊到最后一天,则最后一天的数据为编辑前的数据加上ENDVALUE-STARTVALUE,其他天的数据不变。

2.3 系统管理模块

    2.3.1 权限管理

    本地登录,系统高级管理员账户,可以对其他用户的权限进行控制;域登录,该登陆的用户必须为中石油域中的用户,用户登入系统中不享有任何报表操作的权限,必须要在统计平衡软件中将其设置为统计用户,并且需要系统管理员对其的报表操作权限进行控制。

    2.3.2 打印管理

    满足用户打印报表的要求。打印属性:纸张大小、方向、边距、缩放比例。对于一个报表文件的打印,按照如下优先级进行:首先查看其用户是否对其相应的报表模板的打印属性是否进行过设置,然后查看其用户是否有过打印属性的设置,如果都没有设置,则按照系统默认的打印属性进行打印。

    2.3.3 日志管理

    记录用户的操作痕迹,便于跟踪处理。为了对用户的操作记录进行追溯处理,这里对一些关键操作都要求做日志管理。当用户因为某些误操作出现错误时,就可以通过日志管理查找到是哪些操作导致了错误的发生,从而制定相应的恢复策略。

3 结束语

    本系统在中石油各地区公司得到了广泛应用,包括华北石化、兰州石化等多家地区公司。用户可以轻松定制实现炼化企业一般报表,台帐报表等报表;用户能设置变化多样的报表格式,组态丰富的函数,添加单元格计算公式;用户不再需要在Excel表格中一个一个单元格的录数,而是直接可以从MES系统中获取所需数据;用户可以回写和调整数据,直接在报表上做数据平衡,减轻了统计人员的工作量,提供了工作效率,得到了用户的普遍认可。

责任编辑:梁曦
本文为授权转载文章,任何人未经原授权方同意,不得复制、转载、摘编等任何方式进行使用,e-works不承担由此而产生的任何法律责任! 如有异议请及时告之,以便进行及时处理。联系方式:editor@e-works.net.cn tel:027-87592219/20/21。
e-works
官方微信
掌上
信息化
编辑推荐
新闻推荐
博客推荐
视频推荐