企业动态生产管理报表系统的设计

一个企业进行信息化建设,其重要目的在于及时、准确地掌握企业的生产经营现状,根据市场情况制定下一步生产经营方案。企业管理人员往往通过实时的生产经营报表了解各种情况,动态报表的设计与查询早已人们所重视,目前市面上已出现许多处理报表的应用软件,并广为我们熟知和使用,笔者亦从事数据信息工作多年,曾编制多种类型的报表查询程序,从报表的形式主要可分为共性表和个性表。顾名思义,共性表指一份报表中含有多条数据记录,它们共用一个相同且固定的表头;个性表则无固定表头,由多个数据信息项目分布于整张报表中。对这两类常用报表的查询,目前较流行的程序设计方法为:在企业局域网的内部公用服务器上建立相应的数据库,利用asp代码设计报表查询程序,并将其放在企业web主页上供内部查询使用。这种设计方式的优点在于用户不需要安装程序,只要知道本单位的网页站点即可,查询操作较为直观,但也存在不足之处,主要表现为:报表结构设计较繁琐,难以实现报表样式紧凑而美观,报表的可操作性和可维护性不强,报表数据的录入、加载,以及报表打印都另需设计大量的程序代码。通过大量查阅网上有关报表设计的资料,在长期的实践中,笔者摸索出一套较为完善的报表设计方法,并从中选取了几个较好的控件,运用vb(亦可用vc++、vfp)编制了一套较为完善的报表查询程序,现已广泛应用于所属企业中,取得了较好的效果,在此将其设计思路与方法介绍给大家,以供参考。

1、表名称列表的设计

根据企业所需报表的分类,建立树型结构的报表分类表,即各大类报表下细分小类报表,依次到具体的报表名称,类似windows操作系统中资源管理器中的结构形式,建立“报表名称信息库”,其中必需包含的字段有:

报表代码     报表名的主关键字

主键值      树型结构中的主键值

父结点      树型结构中父结点的键值(为空则表示是根结点)

是否存在子结点    树型结构中是否存在子结点

报表名称     报表名称的中文名称

标题名称     报表名称的标题名称

数据库代码     报表所需数据的数据库代码

流程库代码     报表中部分数据的数据库代码

时间字段名称     数据表中时间字段的名称代码

时间字段特征     指定所需年、月、日的情况,以确定为年报、月报或日报

显示条件     对按指定的时间查询出的数据再增加特定的查询显示条件

报表类型     表示是共性表或个性表

行高      显示每行的高度(针对共性表)

是否统计     是否需增加一条对所查数据的统计信息记录(针对共性表)

数据表数量     所需查询数据表的数量(针对个性表,为0时需用户权限)

数据表位置     所查询数据表的具体位置(为空则为系统设置的网络路径)

程序设计时,在主form窗口中加入windows activex 的treeview控件,根据报表名称信息库中结构关系,在activate过程中给treeview加入各报表名称结点,并设置各报表名称的显示方式。这样在以后的管理中不需对程序进行任何修改即可任意地增删报表,调整报表的显示信息。

2、共性表的设计

共性表一般由标题部分、表头部分、数据信息体三部分构成,其典型式样如图1所示(本系统所设计的共性报表之一)。图1 共性表示意图

设计方法分以下几点:

(1)根据报表数据内容,设计数据库(表)的结构,建立数据库。设计库(表)结构时应尽量考虑得全面,字段的类型设置准确,长度充足,所建数据库应放在网络服务器中。

(2)报表表头设计。为了使报表直观和美观,表头设计采用表格形式,经多方面的比较,从网上查到一种新开发的共享注册软件——flexcell控件,该控件比较适用于表头设计。

flexcell是一款美观、方便、易用的电子表格控件,可在程序中设置单元格(cell)各种属性和方法,附带flexcell表格设计器,提供图表、打印预览、打印等功能,不需要excel运行库支持就可以输出为excel workbook。使用flexcell控件,可以方便地制作出非常专业的报表和数据录入界面。

建立“表头信息库”,每个表头单元格作为一条记录,并输入其各显示属性。“表头信息库”中包含的字段有:

报表代码     报表名的主关键字

行号      表头单元所在行的行号

行高      表头单元所在行的行高

合并行数     表头单元所在行需进行的行合并数量,不需合并则为0

列号      表头单元所在列的列号

列宽      表头单元所在列的列宽

合并列数     表头单元所在列需进行的列合并数量,不需合并则为0

单元名称     单元格内需显示的文字信息

显示属性     单元格内显示的文字的字号、字体、粗细、前景色、背景色等

(3)报表数据信息体设计。报表数据信息体采用传统的系统控件——grid控件来实现。将查询结果库作为grid的数据源,根据表头所需显示的信息,设定各显示字段的属性和计算统计方法。

为了实现对报表数据项进行灵活的处理及对其显示属性设计,需根据报表所对应数据库的库结构,建立其相应的“查询信息辅助库”,其中需包含的字段有:

报表代码     报表名的主关键字

字段名称     显示字段的名称

字段类型     显示字段的类型

字段长度     显示字段的长度

字段小数位    显示字段的小数位长度

显示顺序     显示字段的在grid中的显示顺序

统计标识     在汇总记录中字段是否需要进行计数、求和、求平均数等操作

计算方法     根据原库中的有关字段进行计算处理形成新字段的方法

显示属性     单元格内显示的文字的字号、字体、粗细、前景色、背景色等

(4)报表数据查询。通过点击报表名称列表中的报表名称,运行报表查询程序(只限于报表名称项即最底端子结点才可,而报表类别项即父结点则不能,或“报表名称信息库”中无子节点的记录),按用户指定时间(年或年月或日期)查询网络数据库(共性表的数据源往往只含一个数据库),然后根据其“报表名称信息库”和“查询信息辅助库”来处理查询结果库,包括根据显示条件筛选数据记录、根据流程库筛选数据记录、筛选所需的字段、重新计算生成新字段、增加汇总合计记录及其各字段的值等处理过程,形成最终的结果库。

(5)报表生成与显示。由设定的查询时间和“报表名称信息库”中“标题名称”来确定报表的标题名称(caption)。根据“表头信息库”来设定报表表头(flexcell控件)的显示属性,计算其大小,根据系统显示版面的大小设置其显示位置。报表数据信息体(grid控件)中各数据项字段的显示属性由“查询信息辅助库”来决定,每列的列宽与表头对应的列宽相等,行高设为“报表名称信息库”中行高值,显示位置设在表头正下方,并紧贴表头,另还需根据系统显示版面的大小计算其高度,最后在共性表的显示页面中显示出报表。

3、个性表的设计

共性表一般只由标题部分和数据信息体(表体)部分构成,表体由提示信息部分和数据部分构成,其典型式样如图2(本系统所设计的较为复杂的个性报表之一)所示。图2 个性表示意图

设计方法分以下几点:

(1)与共性表一样,根据报表数据内容,设计数据库(表)的结构,建立数据库。要注意对一份比较复杂的个性表,往往需要建多个数据表,其数量由“报表名称信息库”中的“数据表数量”来设定。

(2)表体设计使用flexcell控件。对提示信息部分的设计方法与共性表的表头设计一样;数据部分仍在flexcell控件中显示,其“查询信息辅助库”与共性表有所不同,其中需包含的字段有:

报表代码     报表名的主关键字

数据库代码    对复杂报表中可能含多个数据库信息,其代码也各不相同

字段名称     显示字段的名称

字段类型     显示字段的类型

字段长度     显示字段的长度

字段小数位    显示字段的小数位长度

行号      所在单元行的行号

行高      所在单元行的行高

合并行数     所在单元需进行的行合并数量,不需合并则为0

列号      所在单元列的列号

列宽      所在单元列的列宽

合并列数     所在单元需进行的列合并数量,不需合并则为0

计算方法     根据原库中的有关字段进行简单计算处理的方法

显示属性     单元格内显示的文字的字号、字体、粗细、前景色、背景色等

(3)报表数据查询。点击报表名称列表中的报表名称,按指定时间(年或年月或日期)查询网络数据库,对复杂个性表的数据源往往有多个数据库,需根据代码和数据库数量结合来查询各具体的数据库,然后对各结果库进行数据记录筛选和适当的数据项目计算处理,形成最终的结果库。

(4)报表生成与显示。报表的标题名称(caption)设定方法同上。根据“表头信息库”来设定提示信息部分的显示属性,方法亦同上。数据部分的显示应分别根据“查询信息辅助库”对各结果库进行处理,显示属性的设置方法与提示信息部分的设置方法类似,只是对某些含多条记录的结果库,显示处理时,只增加行号,各字段列号与第一记录相同。最后计算flexcell控件的大小,计算调整其显示位置,在个性表的显示页面中显示出报表。

4、系统的其他功能模块设计

(1)数据的安全性与访问权限。后台数据库的选择可用sql server、oracle、dbf等。用户访问后台数据库时,较常用的方法是进行身份验证,即在sql连接串中加入用户名和密码,为了别于对用户的管理,本系统设计了用户信息库,并对其进行加密处理,对所有普通用户和特殊用户对每一类报表设置访问权限,这样就保障了数据信息的安全性和保密性。

(2)数据的录入、加载(导入)、导出。对报表数据有操作权限的用户,可以直接在报表中进行数据修改或新数据的录入,根据“查询信息辅助库”中设置的各数据字段的对应关系,可按设定的时间加载到网络数据库中,同时应检查库中是否重复。数据导出可存储为dbf、txt或xls文件,flexcell控件本身就有直接导出到excel文件的功能。

(3)报表的打印。对于共性表可直接设计报表文件进行打印输出,亦可应用vb编制与excel的接口程序,将报表导出到excel中打印输出;对于个性表则可直接利用其打印方法——object.printpreview ()来实现,只是如控件未注册,将在输出的报表中加上“unregisted”的字样。

5、结束语

一套完善、系统的应用程序,能较大程度地提高工作效率,方便以后对系统管理与维护工作。本系统应用中只需安装一次,即可由管理员根据用户的需要随时将所需的报表信息添加到查询界面中,而不必对程序进行任何的修改。

oracle生产系统报表系统,企业动态生产管理报表系统的设计相关推荐

  1. CRM系统能给企业带来什么? CRM系统推荐

    什么是CRM系统? CRM系统(又称客户关系管理系统)是一个以客户为核心的管理软件,能有效改善企业与现有客户的关系,且帮助企业寻找新的潜在客户,并赢回以前老客户. CRM系统能给企业带来什么? CRM ...

  2. 计算机毕业设计ssm企业部门报销管理g9d62系统+程序+源码+lw+远程部署

    计算机毕业设计ssm企业部门报销管理g9d62系统+程序+源码+lw+远程部署 计算机毕业设计ssm企业部门报销管理g9d62系统+程序+源码+lw+远程部署 本源码技术栈: 项目架构:B/S架构 开 ...

  3. 制造业ERP系统如何帮助企业做好生产物料管控?

    ​对于制造业来说,物料是生产线上不可缺少的重要组成部分,同时,物料管理对于制造业也是十分重要的.而传统的物料管理流程和方法多以经验为准,致使物料管理决策过于简单,经营管理者之间缺乏合作与协调,面对复杂 ...

  4. OA系统如何打造企业项目化管理

    现代化企业的发展离不开信息化支撑,随着市场发展,更多的企业都在整合业务.传统系统只能管局部,而整合业务化流程是关键,贯通全局业务流程提高了企业的工作效率,降低管理成本.控制了经协口,更规避了重大风险. ...

  5. ptv服务器系统,红狮PTV安灯管理服务器系统有效提升国内某知名车企生产效率

    国内某知名汽车企业,在其以往的日常生产管理中,由于汽车生产各产线设备间没有实现互联,工位间信息不流通,每天都需要安排设备管理员定时巡视各个工位,检查设备运行状况,记录生产现状.这不仅造成了时间.人力成 ...

  6. OA办公系统,打造企业办公智能化管理

    目前,全球进入通缩时代,企业能够做的唯一的是能够提高组织执行力,通过系统的方式,提升企业办公效率,加速效益发展.这也就需要企业让管理人员解放,推动"管理智能"发展. 1.规范审批业 ...

  7. ERP系统:帮助企业实现一体化管理

    开展企业数字化的要义之一,就是要建立贯穿企业各部分.各岗位.各设备的信息传输网络.能否构建强大的信息网络,办理软件在其间扮演着至关重要的角色.其间,ERP办理体系的高效使用就是企业晋级数字化无法绕开的 ...

  8. 企业BPM业务流程管理工作流系统选型+天翎BPM

    BPM常见的流程模式有:顺序流程.会签流程.或签流程.分支流程.并行流程.子流程.任意流程等,这些流程模式均在BPMN2.0规范中有明确的定义,已有20年历史的 BPM老厂商, 天翎 BPM 工作流 ...

  9. python 成绩分析系统_用Python编写成绩管理分析系统(故事升级版)

    目录 项目总览 生活小故事引入 项目思路 项目实现 功能改善 代码展示 效果演示 项目后期 项目适用 每文一语 项目总览 生活小故事引入 微风和煦,散乱在办公桌上的测验小试卷还有几分"热度& ...

最新文章

  1. 王思聪语录 - CV版
  2. 1.2 Hive的优缺点
  3. 计算机四级信息安全题,2014年计算机四级考试信息安全工程精选真题
  4. ObjectDetecionAPI TypeError: __new__() got an unexpected keyword argument 'serialized_options'
  5. Centos6.5下搭建nagios详解
  6. [android游戏编程之从零开始].李华明,AndroidGameSourc
  7. vue 显示led数码字体
  8. CAD技巧—教你快速查看CAD文件信息和文件版本
  9. linux该如何备份多个分区文件格式,使用partimage 备份Linux 多格式分区
  10. outlook设置263邮件服务器,Outlook 2010中263邮箱客户端设置
  11. AliOS-Things--Visual Studio Code Windows环境搭建 EMW3060
  12. xtu1395 字符频度
  13. JavaWeb项目实现163邮箱验证码
  14. 搜索引擎常用site语法baidu/google
  15. 公共经济学(期末复习资料)
  16. DroneKit(四)——无人机协同
  17. Linux shell脚本编程实例
  18. java文件名加时间戳_Java处理文件名加时间戳
  19. 计算机组装教学反思,中职计算机信息化课堂的落实与教学反思
  20. 创业黑马|泰瑞数创:坚持数字孪生的硬核之路 不刻意追逐元宇宙风口

热门文章

  1. 笔记本蓝牙显示输入码无效_Win10蓝牙鼠标出现输入码无效怎么解决?
  2. [正能量系列]失业的程序员(四)
  3. java创建线程常用的两种方式
  4. c语言万年历设计ppt,万年历设计报告
  5. 许奔创新社-第51问:如何利用产品缺陷去创新?
  6. MOS管引脚G、S、D分别解析-KIA MOS管
  7. 《带你游校园》教学设计
  8. 图片上传问题 org.springframework.web.multipart.MultipartException
  9. Windows内核开发之串口过滤
  10. 高通骁龙8 Gen2参数性能怎么样 相当于苹果什么处理器