马 云 刘福刚 李红旗 晁 阳 杨程华
(中国石油吐哈油田公司物资保障中心)
中国石油吐哈油田公司物资保障中心被定为油田公司HSE 标准化站队建设示范单位之一,按照集团公司《基层站队HSE 标准化建设工作实施意见》和《油田公司基层站队HSE 标准化建设指导意见》的要求,开始了HSE 标准化站队建设示范和推广工作。 为了提升合规管理水平,车间和厂部加大了管理力度,对生产、安全及培训等每一处环节建立了资料信息库,但各车间的HSE站队信息数据量大,管理组织困难。 如果外部委托开发管理软件,不但价格高、开发周期长,而且需求分析很难全部满足。为了实现各车间HSE 标准化站队信息的统一平台管理,进一步提高HSE标准化站队的数字化管理水平,自行设计开发一款平台软件,实现各车间HSE 标准化站队信息的统一平台和结构有序管理软件迫在眉睫。
经过前期调研,基于网络化的HSE 标准化站队建设信息管理软件应具备以下功能:
a. 各车间和部门的HSE 标准化站队建设信息应实现统一平台管理和共享;
b. 软件应实现三塘湖、哈密和鄯善的网络分布式办公;
c. 各车间和部门管理员可以维护本单位HSE 标准化站队建设的信息资料。
将以上需求进一步抽象化,概括出该软件系统应包括三大方面:一是HSE 标准化站队信息的分权化维护管理业务,二是HSE 标准化站队信息的使用业务,三是网络化数据库访问管理业务。
HSE 标准化站队信息的参与角色由系统维护员、车间管理员和普通用户构成。 其中系统维护员负责软件系统改造、软件升级、软件发布及车间管理员注册等业务。 车间管理员负责所在车间HSE 标准化站队信息的维护管理工作。维护管理业务包括文件体系的管理、各文件夹的资料上传、在线阅览、快速下载及删除等。
HSE 标准化站队建设信息资料的使用业务由用户完成,用户通过结构树快速访问结构化的各车间和部门站队建设信息资料,使用业务包括文件的在线阅览、快速下载及文件定位等。
数据库在管理系统中有着非常重要的地位[1],建立合理的多用户共享数据库是开发本系统的关键。 通过E-R 方法(图1)设计关系型数据库模型。
从图1 可以看出,HSE 标准化站队建设信息的文件资料在数据库中占有核心地位,文件资料与其他实体基本上都是多对多和一对多的关系,根据这种关系可以在数据库中建立相应的表,涉及的表有:文件信息表、文件表及用户表等。 文件信息表用于记录各基层单位考评细则目录,并与文件表通过关键字一对多关联。 文件表存在二进制的基层站队文件。 用户表用于记录员工编号、部门及角色等信息。
图1 软件E-R 关系流程
由于数据库为关系型的数据库,为了加速检索和满足前台需求, 使用了虚拟的视图功能,对重构数据进行组合和快速检索。
考虑到信息数据安全、 软件开发周期等因素,软件开发采用Client/Server 结构。 通过它可以充分利用两端硬件环境的优势,将任务合理分配到客户端和服务端来实现,降低系统的通信开销。 这样既减轻了服务器负担又提高了系统的处理效率[2]。 服务器端由数据库服务器和项目服务器构成。 数据库服务器软件(后端)主要用于处理数据查询或数据操作的请求。 项目服务器用于浏览器安装项目和软件自动升级。 软件框架如图2 所示。
图2 软件框架
本系统采用Microsoft VS2015 作为前台开发环境平台,Microsoft SQL Server 2008 作为后台数据库服务器。 主界面采用结构树浏览的布局,如图3 所示。
图3 主界面结构树布局
按照需求设计HSE 标准化站队建设的信息资料应统一平台管理和阅览,因此左侧结构树根目录名称为4 个车间和部门,分别为:机泵保运中心、油管车间、抽油机保运中心和压缩机维修中心。 结构树一级目录为各车间名称,二级以上目录为各部门的HSE 考评细则目录。通过单击目录及其子目录,在主界面右侧显示该文件夹下面的标准化站队建设信息资料。
在线阅览功能为用户提供了快捷方便的车间站队建设资料的在线阅览功能。 资料以字节形式存储于数据库文件表中, 为实现在线阅览功能,首先在电脑指定目录创建文件夹,其次调用select 指令查询用户所需文件, 并以文件数据流FileStream 写入创建文件夹中, 最后执行shell()指令使用办公软件将存在指定位置的文件打开。
用户根据文件名可以实现基层站队建设的资料下载功能,资料数据库存储策略为编号列递增策略,因此将编号列设计为主键,文件显示时,在表格的最后一列隐藏了编号列,单击下载功能时,根据主键定位、查询和下载用户需求文件。
各车间和部门的基层站队建设资料成百上千,如果用户不知道资料在结构树的位置,可以使用文件定位功能快速找到, 为了提高检索效率, 文件定位功能提供模糊和精确查询两种模式,select 语句中使用 “=” 执行精确查询, 使用“like”执行模糊查询。
精确查询程序如下:
模糊查询程序如下:
查询后的结果显示在DataGridView 表格中。文件查询界面如图4 所示。
图4 文件查询界面
上传文件功能由ContextMenuStrip 控件实现,通过右击ContextMenuStrip 控件,弹出上传界面并添加上传文件实现上传文件功能。 上传文件分为普通上传和批量上传,普通上传单次只能上传一个文件, 批量上传单次可以上传多个文件。上传文件功能为车间管理员的专有权限,普通用户无法上传文件。 程序通过select 语句查询数据库用户信息表Privilge_Level 权限字段的数值确定用户级别,Privilge_Level 权限字段大于1 时,ContextMenuStrip 控件可显示并允许操作。当上传界面启动时,界面Load 事件会将结构树选择的文件夹级数、各级文件夹名称、文件类型写入上传界面变量中,批量上传文件提供指定文件夹的查重过滤功能,防止空文件和同文件夹下的重复文件录入。 批量上传程序流程如图5 所示。
文件删除功能为车间管理员特有的权限,各车间的管理员只能删除本车间的信息资料。 登录软件后,当程序检测到用户是车间管理员且查询的是本车间文件时,本车间的文件表格第3 列显示文件删除链接。 DataGridView 表格第0 列隐藏有文件在数据库的主键号ID,用户执行删除命令后, 根据主键号删除文件表中的二进制文件,程序指令如下:
图5 批量上传程序流程
文件夹管理功能由ContextMenuStrip 控件右击实现。 文件夹管理包含创建子目录和删除目录,删除目录将删除该目录下的所有文件和考评细则文件夹。 软件通过前台拦截技术防止空文件夹和同目录重复文件夹的创建。
考评细则为各车间和部门站队建设资料的总目录,目录信息量较大,软件创建方法繁琐,通过Excel 批量导入技术, 实现考评的快速导入目录功能。 程序具体步骤如下:
a. 创建OpenFileDialog 对象,通过ShowDialog 指令获取打开的Excel 考评细则目录文件名。
b. 创建Excel.Application 和Workbook 对象,将考评细则目录文件名和Workbook 关联, 使用sxlBook.Worksheets 对象获取考评细则目录文件的文件, 文件指定a 行和b 列内容使用属性sxl-Sheet.Cells(a,b).value 获取。
c. 通过for 循环, 将每行的目录信息数据通过SQLinsert 插入指令录入至数据库中。
如图6 所示,通过应用数据库服务器远程访问技术和网络技术,三塘湖、哈密和鄯善片区各基层站队的用户可以完成分布式网络办公。
图6 数据库服务器和网络布局
为了实现远程访问SQL 数据库数据的功能,SQL Server 管理器配置成远程连接服务器模式,并且SQL 登录用户账号应与程序账号信息一致。最后启用SQL 配置管理器的TCP/IP 和端口功能, 并将IP 地址设置为SQL Server 服务器的内网地址,端口默认1433。
软件用户定义了3 种角色(图7),不同角色设有不同权限,通过权限分配划分用户职责。
以往各车间和部门的HSE 标准化站队建设信息资料版本多,并且存储在不同电脑中,容易造成管理混乱和丢失。 通过资料的集中化和统一平台管理, 实现了全厂HSE 标准化资料的共享、借鉴和考核。
图7 软件角色分配
Client/Server 框架的缺点之一是维护繁琐,通过使用异步更新技术,可以实现软件客户端的自动更新。 具体步骤如下:
a. 首先将最新版软件安装文件存放在IIS 项目服务器端的指定文件中,并将文件夹关联和联机至设置的URL 和端口上。 VS2015 软件设置更新后的软件版本号和修订号,并配置启动网页和端口,软件程序更新和最新版发布后,安装文件将自动保存在指定文件中。
b. 在IIS 管理器中新建网址项目, 将物理地址映射至安装文件夹上,并设置项目服务器IP 地址。
c. 最后启动网站。 当客户端启动软件后,用户就可以在网页中一键更新和升级至最新版的应用程序。
HSE 标准化站队信息资料内容多而杂,通过软件平台在全厂和车间部门的推广,有效实现了各基层站队资料的科学有序管理。 软件自上线以来,经过不断的测试,软件功能、布局和美观度不断提升,满足了用户的所有需求,应用效果良好。