汪林峰,王立发,刘凤平,宗志宏(黄沙坪矿业分公司,湖南郴州424421)
基于SQL Server的铅锌钨钼多金属矿地质业务系统开发及应用
汪林峰,王立发,刘凤平,宗志宏
(黄沙坪矿业分公司,湖南郴州424421)
摘要:针对许多金属矿山生产中段下延,矿山地质技术管理工作任务日益艰巨和复杂的现状,研究开发了基于SQL Server数据库的地质业务计算机系统。该地质业务管理系统主要应用于矿山钻探工程数据处理及报表、地质储量平衡数据处理及查询等工作。文章介绍了该系统的基本框架,以及数据处理、地质储量平衡、各类报表和查询等相关功能设计。某铅锌钨钼多金属矿山目前已有10余个中段,大小矿块合计340个同时作业,年度储量数据已接近5万条记录,地质数据管理极为复杂。系统在该矿运行稳定,能适时有效地对井下钻探工程、各生产中段矿块数据进行监督和管理,有效地提高了矿山地质工作的效率和质量。该系统的开发及应用成果可供其他金属矿山地质业务管理参考。
关键词:地质业务;钻探工程;地质储量平衡;铅锌钨钼多金属矿;SQL Server;数据库
随着计算机应用领域的不断扩展,各行各业应用计算机进行各种各样的工作,如无纸化办公、数据管理和信息管理等,矿山地质工作也逐步实现计算机化,并渐渐走向深入[1]。笔者根据多年矿山地质工作实践,利用国际先进数据库SQL Server的存储过程实现数据处理[2-4],用开发工具PowerBuilder(PB)实现数据的操纵[5-8],开发了地质业务计算机系统。系统是对矿山钻探工程数据处理及报表和地质储量平衡数据处理及查询等地质工作过程计算机化的系统,可实现对某多金属矿山地质工作高效、简便,管理规范,提高矿山地质工作效率和质量。
矿山地质作为一项保证矿山建设和生产正常进行的基础工作,其基本任务是进行矿床的地质勘查和开发研究,提高储量级别,扩大矿山资源远景,延长矿山服务年限,监督矿产资源的合理开发利用。矿山地质技术管理和监督工作是整个矿山技术管理的重要组成部分,其主要内容包括:勘探设计、成果资料提交;钻探工程数据处理及报表;矿产资源/储量
管理、统计、上报以及保有程度的分析和检查;三级矿量的管理及保有指标的检查;从地质专业角度参与矿石质量均衡的管理、开采过程中矿石损失和贫化的管理和监督等。某多金属矿各中段大小矿块合计340个,如采用传统的手工操作,仅年度内地质储量数据的初步平衡工作,就需要5~6人工作至少一个月才能完成。由于人工整理数据容易出现差错,须反复校验,才能保证数据质量。计算机技术的应用为提高矿山地质技术管理水平和质量提供了有效途径。
一个矿山的地质储量数据,与矿山的规模和服务年限密切相关。类似本文研究的已投产近50年的铅锌钨钼多金属大型矿山,目前的年度储量数据已接近5万条记录。从管理的效率,数据的安全性、可靠性和一致性等方面考虑,亟须用数据库管理软件进行管理。而SQL Server作为典型的关系型数据库管理系统,以其突出特点和价格优势,可以很好地满足矿山的管理要求。
SQL Server是由Microsoft开发和推广的关系数据库管理系统,它具有如下特点:
(1)真正的客户机/服务器体系结构,可以开发多用户操作的局域网管理软件。
(2)图形化用户界面,使系统管理和数据库管理更加直观、简单。
(3)与微软的操作系统实现无缝链接,并具有丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地。
(4)SQL Server提供数据仓库功能,这个功能只在Oracle等昂贵的DBMS中才有。
PowerBuilder是美国Sybase公司研制的一种新型、快速开发工具,是客户机或服务器结构下的一个集成化开发工具。它包含一个直观的图形界面和可扩展的面向对象的编程语言PowerScript,提供与当前流行的大型数据库的接口,并通过ODBC与单机数据库相连能够支持对目前流行的大多数关系数据库管理系统的开发,由于在PowerBuilder的应用程序中对数据库访问的部分一般采用国际化标准数据库查询语言SQL,使得用PowerBuilder开发的应用程序可以不做修改或者只做少量的修改就可以在不同的后台数据库管理系统上使用。
某铅锌钨钼多金属矿地质业务计算机系统主要应用于钻探数据处理及报表和地质储量数据平衡处理及查询两大部分。第一部分为钻探数据的处理。每年矿山施工水平钻约800个,总进尺45 000 m,施工立钻约12个,总进尺8 000 m,系统在开发过程中也得到充分考虑,地质部门每月需向矿山人力资源部、财务部和企业管理部上报当月完成的钻探工程量,以便承包单位月度结算。同时,系统管理者可对部门内各探矿工作组在系统中所提交的钻探工程量进行审核,确保工程量的准确性和探矿工作的实效性,及时掌握获矿比等重要参数,为管理者提供找矿效果等反馈信息;第二部分为地质储量数据平衡处理。某矿自1967年投产以来,目前的矿块总数达到340个,保有地质矿石储量350万t,井下中段已达19个,正常生产作业的中段为10个,残采中段3个,闭坑中段3个,正在开拓的中段有3个,平均每年正常生产作业的中段含有矿块20个,地质探矿每年新增矿块20余个。矿山在年末或年初将进行地质储量数据平衡处理工作,地质储量数据平衡处理工作是建立在矿山测量专业提交的生产矿量平衡表基础上,地质部门年末将上一年度升级或新增的A+B矿量(生产上称开拓矿量)提交给测量专业,测量专业再将这部分开拓矿量会同上一年度动态变化量(开采量、损失量及重算增减量)的明细及汇总表反馈给地质部门,矿山三级矿量平衡表上的开拓矿量同地质部门地质储量平衡表上的A+B矿量是一致的。地质部门根据测量专业的生产矿量平衡表,对有变动的A+B矿块(包括开采量、损失量及重算增减量)进行地质储量平衡,同时,对原来D级储量升级到A+B级的矿块进行储量变动(已全部升级的消户,升级了一部分的减量,户头保留),通过资料分析和探边扫盲新增的A+B矿块以及地质立钻在边深部探获的矿块(一般为D级)立户。在对单矿块地质储量平衡后,对中段其他矿块进行地质储量平衡,再对各中段矿块进行地质储量平衡,最后进行分类汇总,得到矿山年初的地质储量(包括A+B和D级),为下一年矿山生产作业计划编制工作提供依据。
2.1系统架构
该矿地质业务计算机系统两大部分中,钻探数据处理及报表部分按内容和流程分为机台数据录入及保存、明细查询及数据封存、月度报表和年度汇总表;地质储量平衡数据处理及查询按内容和流程分为单矿块地质储量平衡和地质储量部分平衡数据查询(图1)。应用该系统,可依次展现数据编辑界面、明细查询及封存界面、单矿块地质储量平衡界面、矿块中段合计平衡表查询界面、矿块明细查询界面,同时可生成月度报表、年度汇总报表、单矿块地质储量平衡表、中段合计地质储量平衡表等。
图1 地质业务计算机系统应用架构Fig.1 Application components for the geological computing system
2.2钻探数据处理及报表
2. 2. 1机台数据录入及保存
各探矿工作小组负责其所辖中段探矿工程设计、施工和验收工作,并将通过验收的机台钻探工程数据录入计算机地质业务系统,包括具体时间、中段号、机台号、钻探工程类型(立钻和水平钻)及名称、合格品进尺、岩(矿)芯进尺、岩(矿)芯采取率等。各探矿工作小组将钻探工程数据录入系统后,检查无误可进行保存,如保存后发现错误,也可及时修改,再进行保存。
2. 2. 2明细查询及数据封存
各探矿工作小组将钻探数据录入及保存后,可对这些数据进行锁定和分类查询。在对照工程设计、下达的联系单及钻探记录本之后,确认数据是否有误,或者是否存在虚报等情况,检查属实之后,进行数据封存,封存之后不能更改。通过这个方法,对每月各机台的数据进行实时监督和管理。
2. 2. 3月度报表
根据矿山人力资源部、财务和企业管理部门月度结算需要,每月需上报钻探进尺,按经济责任制下达的承包任务指标进行结算,地质部对每月的钻探工程量以报表形式上报(图2)。为此,系统开发了导出生成Excel格式报表的功能,方便出具工程量报表,以上报公司人力资源部、财务部及企管部,进行月度结算。
图2 钻探工程数据月度报表示意Fig.2 Monthly report for drilling engineering data
2. 2. 4年度汇总表
年度汇总表主要用来对生产作业单位进行年度任务和质量考评,包括考评年度完成的进尺、岩矿芯采取率等参数和各机台在钻探工程方面存在的问题,及时查漏补缺。同时,地质部门根据年度钻探工程施工和见矿情况进行探矿工作总结,以便来年计划任务的布局和工程量安排。
2.3地质储量平衡数据处理及查询
根据矿山地质工作实践,单矿块按照简单分类,可分为A、B、C、D四个储量级别,A代表已开发探明储量;B代表未开发的探明储量;C代表控制储量;D代表推断和预测储量[9]。
2. 3. 1单矿块地质储量平衡
单矿块地质储量平衡管理分立户头、变动、消户头三类,新探获的矿块要立户头,根据勘探研究程度进行户头和储量登记,对由D级储量通过水平钻升级到A+B的变动,包括勘探增加或减少以及重算增加或减少,对单矿块在采准或开采过程中开采或损失的变动,也要及时核算和平衡。如:该矿136中段1#1-1铅锌矿体,2014年1月1日保有A+B级地质储量22 048 t(矿石量,下同),2014年度开采了4 500 t,经测量专业年度采场台账,矿体重算减少了6 619 t,截至2015年1月1日,1#1-1矿体保有地质储量(矿石量,下同)为22 048 t-4 500 t-6 619 t= 10 929 t;-96中段695矿体,2013年度,地质立钻探获铅锌D级地质储量56 000 t,2014年1月1日新立户头D级地质储量56 000 t,2014年,经生产勘探,变为3块,695#1-1、695#1-2、695#1-3,2015年1月1日,减695矿体D级地质储量56 000 t,695#1-1生产勘探增加了29 906 t(A+B级),2014年度开采了2 500 t,2015年1月1日695#1-1保有A+B级地质储量29 906 t-2 500 t=27 406 t,695#1-2、695#1-3因生产勘探分别增加A+B级地质储量17 119 t和9 095 t,二者均未动采,其2015年1月1日保有A+B级地质储量分别为17 119 t和9 095 t。129中段2#1-4矿体2014年1月1日保有A+B级地质储量2 710 t,年度开采了2 710 t,矿体回采结束,2015年1月日,保有地质储量为零,消户。
单矿块平衡后,要进行数据保存,对某中段单矿
块地质储量平衡后,要对中段其他矿块进行地质储量平衡(平衡过程通过数据库内置的程序过程实现,见第3节的数据字典描述)。对矿山其他中段矿块也一并完成地质储量平衡工作。各中段矿块数据平衡和保存之后,单位负责人对平衡数据进行审核,确认无误之后,对数据进行封存,封存之后不能更改。
2. 3. 2地质储量平衡数据查询
各中段矿块平衡后,可对新完成的地质储量平
衡数据将进行查询,包括某一中段各单矿体地质储量平衡表、某些连续中段合计地质储量平衡表(图3)以及某些连续中段矿块明细查询等。另外,由于本系统具有强大的数据存储和处理功能,可查询某一矿块历年的变动情况,为生产上启动闲置小采场或残采提供资料和矿量依据,这一点在矿山生产中尤为重要,实用性极强。
图3 铅锌矿中段合计地质储量平衡表示意Fig.3 Combined geological reserves balance sheet for the middle section in a lead-zinc mine
3.1储量表
drop table dbo.cl_t_phb
go
//创建储量表cl_t_phb,本表为系统的主要记录表,包括了储量数据的一般内容,用于储量的记录、各年份数据的查询。
--储量表以矿石类型、中段、矿体号和年份为联合主键,以设定矿块号的唯一性。
--储量级别分为A、B、C、D四类,按新的国家储量划分标准,可以灵活对应为111b、122b、332、333,一般来说,这四类可以满足绝大多数矿山的要求。
--有价元素设定了五种,可以满足绝大多数矿山的要求,如有需要可以对表添加字段增加元素。
--本表代码312行,略去相似的代码
create table dbo.cl_t_phb
(
矿石类型varchar(12)not null default('铅锌'),//联合主键1
中段int not null,//联合主键2
矿体号varchar(30)not null,//联合主键3
年份smallint not null,//联合主键4
--以下期初保有数据
初A矿石量int null,
初A品位PB decimal(5,2)null,
初A金属量PB int null,
初B矿石量int null,
初B品位PB decimal(5,2)null,
初B金属量PB int null,
初C矿石量int null,
初C品位PB decimal(5,2)null,
初C金属量PB int null,
初D矿石量int null,
初D品位PB decimal(5,2)null,
初D金属量PB int null,
--以下开采数据
//…略,内容同上
--以下期初数据
//…略,内容同上
--以下勘探增减数据
//…略,内容同上
--以下重算增减数据
/
/…略,内容同上
--以下年末保有数据
//…略,内容同上
--以下为数据操作的控制性字段
品位与金属量计算方法char(1)default('1')not null,
--0:不限定,1:金属算品位,2:品位定金属
审核char(1)default('N')not null,
审核人varchar(12)null,
封存char(1)default('N')not null,
平衡标记varchar(1)default('N')not null,
备注varchar(100)null,
--根据用户的登录名,可自动记录用户的名称和操作时间
操作员varchar(12)null,
操作日期smalldatetime null,
constraint cl_t_phb_pk primary key(矿石类型,中段,矿体号,年份)
)
3.2数据平衡过程
地质储量的平衡过程,涉及了一套运算规则和较大的数据量运算。这套运算规则为:
(1)关系式为:期初保有-开采量-损失量+勘探增减量+重算增减量=期末保有量
(2)期末为空时,期末值取计算结果;期末非空时,保留“期末保有量”不变,而通过计算“勘探增减”或“重算增减”实现平衡;
(3)勘增与重算有一项为空时,取为空的一项计算;勘增与重算均为空或均有数值时,取重算栏计算。
具体的操作,通过菜单的“平衡计算”来触发SQL的程序过程,得到计算结果。编写的“平衡计算”运算模块p_cl_phjs摘要如下:
ALTER proCeDure p_cl_phjs
(@ulx vArChAr(12),@uzD smallint,@uktvArChAr(30),@urq smallint,@ugx char(1))
AS
--声明变量,仅显示一个元素,略去N个元素代码
DeClAre @末A矿石量int,
@勘A增减矿石量int,
@末A金属量PB int,
@末C矿石量int,
@末C金属量PB int,
@末D矿石量int,
@末D金属量PB int
begin
--矿石量平衡,计算各个级别。本程序过程代码共510行,略去各级别的矿量和金属量计算相类似的代码。
SeleCt @末A矿石量=末A矿石量,
@末C矿石量=末C矿石量,
@末D矿石量=末D矿石量,
@勘A增减矿石量=勘A增减矿石量,
…………
@重D增减矿石量=重D增减矿石量
from Dbo.cl_t_phb
where矿石类型=@ulx AnD中段= @uzD AnD矿体号=@ukt AnD年份=@urq
if(@末A矿石量iS null)
--年末A+B栏为空,计算该栏
update Dbo.cl_t_phb
Set末A矿石量=isnull(初A矿石量,0)- iSnull(开采量,0)-isnull(损失量,0)+isnull(勘A增减矿石量,0)+ isnull(重A增减矿石量,0)
where矿石类型=@ulx AnD中段=@uzD AnD矿体号=@ukt AnD年份=@urq
else
if(@重A增减矿石量is null or @勘A增减矿石量is not null)
--矿石量且勘增非空,计算“重算增减”栏来平衡
update Dbo.cl_t_phb
Set重A增减矿石量=isnull(末A矿石量,0)+ iSnull(开采量,0)+isnull(损失量,0)- isnull(勘A增减矿石量,0)-isnull(初A矿石量,0)
where矿石类型=@ulx AnD中段=@uzD AnD矿体号=@ukt AnD年份=@urq
else
--矿石量非空且重算非空,计算“勘探增减”栏来平衡
update Dbo.cl_t_phb
Set勘A增减矿石量=isnull(末A矿石量,0)+ iSnull(开采量,0)+isnull(损失量,0)-isnull(重A增减矿石量,0)-isnull(初A矿石量,0)
where矿石类型=@ulx AnD中段=@uzD AnD矿体号=@ukt AnD年份=@urq
--BCD,与上类似,略
update Dbo.cl_t_phb set平衡标记='Y'
where矿石类型=@ulx AnD中段=@uzD AnD矿体号=@ukt AnD年份=@urq
END //程序过程结束
3.3数据查询
数据的查询,可以通过按照年份、矿石类型、中段、年初保有、开采损失量、勘探增减量、重算增减量和年末保有等条件实现固定查询,也可以列出所有数据,通过自定义条件查询。查询通过SQL的视图实现,视图是SQL内部可以连接多个表的检索工具,具有很高的运行效率。
以下是从储量表cl_t_phb按年份和中段查询矿石量,查询代码摘要如下:
select中段,count(*)rowss,sum(末A矿石量)A,sum(末A金属量PB)ACP,sum(末A金属量ZN)ACZ,sum(末A金属量CU)ACC,sum(末A金属量S)ACS,sum(末A金属量AG)ACA
from cl_t_phb
年份=2005
group by中段
通过地质业务计算机系统的开发与应用,提高了该铅锌钨钼多金属矿地质技术管理水平和质量。应用该系统,能适时有效地对井下钻探工程、各生产中段矿块数据进行监督和管理,对矿山生产作业计划进行实时安排和跟踪。实用性和可靠性好,多年存储,不易丢失,逐年更新,资料承接,为矿山地质及相关专业带来诸多便利,仅以供业界参考和借鉴。
矿山地质数据管理是一项非常复杂的工作,涉及到海量数据的存储、查询、更新、维护等内容。先进的计算机技术,特别是数据库技术的应用为解决此类问题提供了极为有效的工具。某铅锌钨钼多金属矿地质业务计算机系统的开发与应用,再一次表明,信息化管理技术在传统工业领域中具有广阔的应用前景。本系统的研发实践可供业界参考和借鉴。
参考文献:
[1]申喜贵.计算机在矿山地质中的应用浅析[J].山西冶金,2009,(1):80-81.
SHENG Xi-gui. Analysis on the application of computer in mine geology[J]. Shanxi Metallurgy,2009,(1):80-81.
[2]陈一明. SQL Server数据库应用技巧探讨[J].科学技术与工程,2008,8(12):3334-3337.
CHEN Yi -ming. Thorough study of the SQL Server data base application technique[J]. Science Technology and Engineering,2008,8(12):3334-3337.
[3]董钢.SQL Server数据库封锁及死锁研究[J].计算机与现代化,2005,(8):52-55.
DONG Gang. Research on lock and dead lock of SQL Server data base[J]. Computer and Modernization,2005,(8):52-55.
[4]张蒲生.SQL Server数据库应用技术[M].清华大学出版社,2008.
ZHANG Pu-sheng. Application technology of the SQL Server data base[M]. Qinghua University Press,2008.
[5]韩旭里,刘圣军.在PowerBuilder中实现灵活的数据查询[J].电脑开发与应用,2002,15(7):23-24.
HAN Xu-li,LIU Sheng-jun. Implementation of flexible query of datainPowerBuilder[J].DevelopmentandApplicationofComputer, 2002,15(7):23-24.
[6]熊小敏,周燕玲.PowerBuilder下实现菜单级别的权限控制[J].计算机与现代化,2003,(12):32-34.
XIONG Xiao-min,ZHOU Yan-ling. Implementation of authority control of menu level in PowerBuilder[J]. Computer and Modernization,2003,(12):32-34.
[7]邓建华.PowerBuilder在企业管理信息系统中用户权限管理的实现[C]//首届全国有色金属自动化技术与应用学术年会论文集,南昌:[s.n.],2003.
DENG Jian-hua.Realization of the management of User’s Authority in Enterprise management information System with PowerBuilder[C]//The first national nonferrous metal Automation Technology and Application Symposium,Nanchang:[s.n.],2003.
[8]马承志,张延鑫,张维宁,等. PowerBuilder 8.0编程实例与技巧[M].北京:机械工业出版社,2002.
MA Cheng -zhi,ZHANG Yan -xin,ZHANG Wei -ning. Program examples and techniques of PowerBuilder 8.0[M]. Beijing:Machinery Industry Press,2002.
[9]李厚民,高辉.矿产资源储量核查与评估[M].北京:地质出版社,2010.
LI Hou-min,GAO Hui. Verification and Assessment of Mineral Resources[M]. Beijing:Geological Press,2010.
Development and Application of Geological Business Computing System for a Lead Zinc Molybdenum Polymetallic Ore Based on SQL Server
WANG Lin-feng, WANG Li-fa, LIU Feng-ping, ZONG Zhi-hong
(Huangshaping Mining Industry Co., Ltd., Chenzhou 424421, Hunan, China)
Abstract:This paper develops the geological business computing system by using SQL Server database to address the increasingly complicated geological technical management in the metallic mines due to extending mining depth. The system can be applied in data processing, reporting and retrieving for drilling engineering and geological reserves balance. This paper introduces the basic framework and related functions including data processing, geological reserves balance, reporting and queries. The system was applied to the geological management business in Huangshaping Lead Zinc molybdenum polymetallic ore, which has 340 drilling working points at the same time. The geological data management is extreme complicated for the annual reserves data amounting to fifty thousand records. The stable performance of the system realizes the timely and effective supervision and management on the mining data by improving the efficiency and quality of the mine geological work. Development and application results of the system provide favorable reference to the geological business management of other metal mines.
Key words:geological business; drilling engineering; geological reserve balance; lead zinc molybdenum polymetallic ore; SQL Server;database
DOI:10.3969/j.issn.1009-0622.2015.02.015
作者简介:汪林峰(1982-),男,湖北黄梅人,工程师,主要从事矿山地质研究工作。
收稿日期:2014-10-21
文献标识码:A
中图分类号:TD166;TP392