物料称重管理系统Web显示模块的设计与实现

类别:公司新闻 时间:2018-02-23 点击:98 次

物料称重管理系统是专门针对电解铝行业开发的一套集称 重、环节管理、数据自动捕获、汇总统计打印、远程数据査询等多 项功能于一体的综合系统。该系统解决了电解铝车间的强电流 磁场、多氟化氢腐蚀气体和髙粉尘等恶劣环境的干扰,实现了准 确的数据采集和可靠的数据传输,并进行有效的数据处理,该系 统在其它行业也有很好的推广前景。物料称重管理系统数据的 采集和信息管理,可以分成数据采集、数据传输、数据存储、数据 展示、数据处理等几个部分。其中Web显示模块清晰的提供出 本年度各月份产品产量、近三年产品产量的数据对比情况,该模 块是数据展示模块的重要组成部分。
1.概述
物料称重管理系统Web显示模块是一个供企业管理者査 看不同时间段本单位产品产量的模块,本系统的Web页面上除 了显示每个月份产量的具体数值、每个月份产量占本年度总产 量的百分比外,还要以直方图的长短比例关系显示出每月的产 量,从而使一年各个月份产品产量的髙低情况显示的更为清晰、 直观,本模块的体系结构采用B/S结构,B/S结构全称Brower/ Server或浏览器/服务器模式,它是一种全新的软件系统构造技 术,是随着Internet技术的兴起,对C/S结构的一种改进。在这种 结构下,软件应用的业务逻辑完全在应用服务器端实现,用户各 种请求完全在Web服务器实现,客户端只需要浏览器即可进行 业务处理,节约了开发成本,这种结构也是当今应用软件的首选 体系结构。如今,ASP.NET已经走在Web开发的最前沿,ASP. NET技术可以使用.NET平台快速方便的部署B/S结构。其革命 性的变化是在网页中也使用基于事件的处理,可以指定处理的 后台代码文件,更可以使用C#,VB.neU#等多种语言作为后台 代码的语言,而且依赖Visual Stuio.NET强大的集成开发环境能 够成倍的提髙开发效率,本模块就是利用Visual Studlo.NET集 成开发环境,使用VB.NET语言结合SQL Server数据库开发的 —个ASP.NET应用程序。
2.主要技术问题的解决
2.1数据库的访问
AD0.net是Microsoft新推出的.NET框架中用于数据库访 问的组件,AD0.net为我们提供了一种全新的数据库访问机制, AD0.NET 是对 Microsoft ActiveX Data Objects (ADO)—个跨时代 的改进,它提供了平台互用性和可伸缩的数据访问,它是全新的 面向对象模型。比AD0更适应于分布式及lntemet等大型应用 程序环境。本模块是一个基于.NET框架的ASP. net应用程序, 所以数据库的访问需要使用AD0.net技术。
下面的图就显示了 AD0.net总体的体系结构

为了使用方便,本模块将数据库的连接过程及数据集的创 建过程写成一个函数,代码如下:
Function CreateDalaSet(3trSQL As Siring, DataBaseNaroe As String, TableName AsString) As DalaSet
Dim ConnString As String = "server =locolhosl;uBer id =sa;password =3540;"
"dalabase=weighlM Dim objCmd Ab New SqlDalaAdapter(8lrSQL, ConnString)
Dim DS As New DataSetO objCmd.Fill(DS, TableName)
CrealeDauSet = DS End Function
2.2显示每个月份产量的具体数值、每个月份产量占本年度总产 量的百分比
为了显示每个月份产量的具体数值、每个月份产量占本年 度总产量的百分比,需要得到每个月份产品的产量和全年度产 品的产量总和,有了这些数据再经过计算才能得出每个月份产 量占全年产量的百分比,这些数据都需要从数据库中的一个数 据表中获取,这里需要提取工作日期字段(workDate)和总重量字 段(Weight)中的数据并进行相应计算。
计算年总产量的主要代码及各月产量的主要代码:
Dim str, strl, str2 As String slrl = now *取得当前时间
left(8trl, 4) *取得当前年份
ForI=OToDS.Tables(,'myweightM).Row8.Counl-l stf2 = DS.TablesC'myweight'^.Rows^C'workDale") str2=eft(Btr2,4) if (8lrl=str2) ihen
Tolaiweight+=DS.Tables(Mm)rwei^ilM).Row8(lXMpackageweight") # 计算总产量
sir = DS.Table8(Mmyweighl").Row8(l)(MworkDateM)
str=Mid$(str?,2)
If (8tr = "01H) TTien
weight 1 += DS.Tables("niyweighlw).Hows(I)("packageweight") # 计算 1 月
产量
End If Next
IF 1=0 then
myTableCell.Text = Maih.Round(weightl/ Total weight * 100, 2) & " %n end if '计算1月产量占全年比例
2.3利用直方图长短显示各月份产量
直方图图片的显不可以利用ASP.net的Htmllmage控件来 完成,但直方图的长短关系需利用程序根据各个月份不同的产 量计算确定。
例如计算1月份直方图的长度主要代码:
For I = 0 To 11
Dim mylmage As New Htmllmage mylmage.Src = Hbar.jpgM raylmage.Height = "20"
IF 1=0 ihen
mylmage.Width = wei^itl / (TotalVole+1) * 300
end if
Next
2.4如何规范、清楚显示各项数据
要规范地显示出统计的各项数据,利用表格无疑是最好的 选择。为了清晰、美观地显示出相应的数据,需要使用代码并利 用Table .tableRow、TableCell控件动态处理表格。
例如:显示表格第一行各个字段代码如下:
*添加第1行,并设置行属性 Dim inyTableRow As New TableRow royTableRow.
Horizontal Aiign = HorizontalAlign.Center myTableRow.BackColw = System. Drawing.Color.Honeydew myTableRow.ForeColor = Sy8tero.Drawiiig.Col(v.RoyaIBlue "添加第 1 行第 l 个 宇段 Dim myTableCell As New TaiileCeiJ royTablcCell.Text =”月份”
myTableRow.Ccll8.Adcl(myTableCcll) •添加第 1 行第 2 个字段
myTableCel 1 s= New TableCell myTab】eCclLT«rt=l•产量" myTableRow.C€ll8.Add(myTableCell) •添加第 1 行第 3 个字段
myTableCeU = New TableCellmyTableCeliTexl ?”产*百分比” myTableRow.CeUa.Add(royTab]cCeU) * 添加第 I 行第 4 个字段
myTab 丨 cCeU=NewTableCeliinyTablcCeU.T咨=”直方图 _?myTableRow.CeUB.Add(myTableCell) myTable.Row8.A<ld(myTableRow)
形成最终的显示页面如图2所示。

3.结束语
以上以显示一年12个月份产品产量情况为例,对物料称重 管理系统Web显示模块一部分的设计与实现做了说明,同理, 显示单位最近三年的产量对比情况也可实现。虽然该Web显示 模块是物料称重管理系统的一部分,但其对数据显示淸晰、直 观,具有较大的通用性,比如一些“投票系统”,也可以采用这种 形式直观的反映得票数的多少,本系统的数据统计方法及数据 显示模式可以应用在众多领域。
 

中国领先的称重软件技术提供商

The Leading Provider of Geomatic Solutions in China

展开收起网站地图