货运站货场信息管理系统Word文档下载推荐.docx
《货运站货场信息管理系统Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《货运站货场信息管理系统Word文档下载推荐.docx(31页珍藏版)》请在冰豆网上搜索。
4.1数据库表设计
(1)创建一个标准项目,名称为货运站货场信息管理系统。
(2)在项目管理器下创建一个数据库,名称为datebase,在数据库中创建以下数据库表:
czqx(操作权限)、fwpj(服务评价)、hccc(货场出车)、hcsg(货场事故)、hqhw(货区货位)、pbgl(篷布管理)、hwyd(货物运单)、yjh(月计划)、zxc(装卸车)、zxjx(装卸机械),创建完成后输入数据。
具体内容见附录一。
4.2表单设计
设计的表单有登陆、服务评价、货场出车查询、货场事故查询、货区查询、货位查询、货物运单查询、货源信息查询、客户货物信息查询、篷布使用查询、数据备份、数据恢复、系统初始化、修改密码、月计划查询、装卸车查询、装卸机械查询。
4.2.1登陆界面设计
图2登录界面设计图
用户进入系统前,必须通过登录进入主程序界面,登录界面主要用于确认用户的身份及使用权限,并且可对系统信息起到保密作用。
系统登录界面如图2及图3所示
图3登录界面运行图
(1)表单设计
在货运站货场信息管理系统项目中,添加一个新表单,名称为“登陆”。
在表单中添加Text控件、Label控件、Command控件、Image控件。
重要控件属性:
Text2的PasswordChar属性设为“*”
(2)代码设计
在“登陆L”按钮的Click事件中添加以下代码实现判断密码是否正确的功能。
如果密码不正确,将提示密码不正确。
locateforalltrim(czqx.用户名)==alltrim(thisform.text1.value);
andalltrim(czqx.密码)==alltrim(thisform.text2.value)
if!
eof()
=messagebox('
欢迎您使用!
'
'
货运站货场信息管理系统'
)
else
=messagebox("
密码不正确"
thisform.text2.value="
"
endif
thisform.release
在“退出Z”按钮的Click事件中添加以下代码:
Quit
在“image1”图片的Click事件中添加以下代码:
thisform.text1.value="
客户"
在“image2”图片的Click事件中添加以下代码:
管理员"
在“image3”图片的Click事件中添加以下代码:
超级管理员"
4.2.2系统初始化设计
系统初始化会清空所有记录,在执行此操作之前,系统会自动备份数据到默认备份目录下,以防数据丢失。
系统初始化界面如图4及图5。
图4系统初始化界面设计图
图5系统初始化界面运行图
在货运站货场信息管理系统项目中,添加一个新表单,名称为“系统初始化”。
在表单中添加shape控件、Label控件、Command控件。
在“初始化F”按钮的Click事件中添加以下代码实现系统初始化的功能。
privateoutpath
a=messagebox("
确定要执行初始化操作吗?
32+4,"
系统提示"
ifa=6
a=messagebox("
初始化会清空所有数据,继续吗?
ifa=6
closealldatabase
outpath="
ifdirectory(sys(5)+sys(2003)+"
\bak"
)=.f.
MKDIRsys(5)+sys(2003)+"
endif
iffile("
系统设置.Rtt"
)=.t.
handle=fopen("
2)
m=1
dowhilefeof(handle)=.f.
mystr=fgets(handle)
ifm=7
outpath=mystr
endif
m=m+1
enddo
fclose(handle)
ifempty(outpath)=.t.
outpath=sys(5)+sys(2003)+"
endif
else
outpath=sys(5)+sys(2003)+"
endif
mypath="
Mypath=sys(5)+sys(2003)+"
\data"
datepath=sys(5)+sys(2003)+"
\data\DataBase"
waitwindows"
正在准备备份数据...."
Timeout0.8
thisok=thisform.rainbak1.bak(mypath,outpath)
ifthisok=.t.
waitwindows"
正在准备初始化...."
thisform.rainfunction1.dateformat(datepath)
messagebox("
初始化失败!
16,"
)
return
jmpath=alltrim(outpath)+"
\DataBase.dbc"
thisform.lockdatebase1.lock(jmpath,"
正在加密备份文件...."
正在删除其它设置文件...."
delefile("
系统设置.RTT"
iffile("
检测.RBT"
deleFile("
messagebox("
系统初始化完成!
32,"
ENDIF
ENDIF
在“退出E”按钮的Click事件中添加以下代码:
thisform.release
4.2.3修改密码设计
通过本功能,用户可以修改自己的登陆密码,保证自身账户的安全性。
修改密码界面如图6及图7。
图6修改密码界面设计图
图7修改密码界面运行图
在货运站货场信息管理系统项目中,添加一个新表单,名称为“修改密码”。
在表单中添加Label控件、Command控件。
t1=alltrim(thisfor。
m.text1.value)
t2=alltrim(thisform.text2.value)
t3=alltrim(thisform.text3.value)
t4=alltrim(thisform.text4.value)
useczqx
docase
caset1="
ift2="
111"
ift3=t4
updateczqzset密码=t3where编号="
1"
else
messagebox('
新密码输入不一致!
48,'
操作失败!
原密码输入错误!
222"
2"
333"
3"
在“退出”按钮的Click事件中添加以下代码:
4.2.4数据备份设计
数据备份可以将数据保存到其他位置,当由于某些意外原因而发生数据无法使用时,可以利用数据恢复进行恢复,以减少意外所带来的损失。
数据备份界面如图8及图9。
图8数据备份界面设计图
图9数据备份界面运行图
在货运站货场信息管理系统项目中,添加一个新表单,名称为“数据备份”。
在“备份B”按钮的Click事件中添加以下代码实现数据备份的功能。
closealldatabase
mypath="
Mypath=sys(5)+sys(2003)+"
\data\"
outpath=alltrim(thisform.text1.value)
thisform.rainbak1.bak(mypath,outpath)
JMPath=alltrim(outPath)+"
\DateBase.dbc"
thisform.Lockdatebase1.lock(JmPath,"
messagebox("
备份完成!
4.2.5数据恢复设计
数据备份可以将数据保存到其他位置,当由于某些意外原因而发生数据无法使用时,可以利用数据恢复进行恢复,以减少意外所带来的损失。
数据恢复界面如图10及图11。
图10数据恢复界面运行图
图11数据恢复界面运行图
在货运站货场信息管理系统项目中,添加一个新表单,名称为“数据恢复”。
在“恢复R”按钮的Click事件中添加以下代码实现数据备份的功能。
Mypath=alltrim(thisform.text1.value)
outpath=sys(5)+sys(2003)+"
thisform.Lockdatebase1.lock(sys(5)+sys(2003)+"
\data\DataBase.dbc"
"
正在解密...."
数据恢复成功!
无需要重新运行程序,可以直接使用!
4.2.6月计划查询设计
查询月度运输计划,包括货物重量、体积、车种及始发终到地点等内容。
月计划界面如图12及图13。
图12月计划查询界面设计图
图13月计划查询界面运行图
在货运站货场信息管理系统项目中,添加一个新表单,名称为“月计划查询”。
在表单中添加combo控件、Label控件、Commandgroup控件、shape控件、Grid控件。
在表单中添加数据环境,数据环境为yjh.dbf。
在“查询”按钮的Click事件中添加以下代码实现查询月计划的功能。
cif=alltrim(bo1.displayvalue)
ctext=alltrim(thisform.text1.value)
ifempty(ctext)
messagebox('
请输入查询条件!
thisform.text1.setfocus
select*;
fromdatebase!
yjh;
where&
cif.==alltrim(thisform.text1.value);
orderby货物名称;
intocursorlinquery
thisform.grid2.recordsource='
linquery'
thisform.refresh
endif
其他如货场出车查询、货场事故查询、货区查询、货位查询、货物运单查询、货源信息查询等查询在界面设计及代码设计上基本一致,以下不再赘述。
其他见附录二。
4.2.7月计划录入设计
录入月度运输计划,包括货物重量、体积、车种及始发终到地点等内容。
月计划录入界面如图14及图15。
图14月计划录入界面设计图
图15月计划录入界面运行图
在货运站货场信息管理系统项目中,添加一个新表单,名称为“月计划录入”。
在表单中添加Label控件、Commandgroup控件、text控件、shape控件。
在“保存”按钮的Click事件中添加以下代码实现月计划录入的功能。
t1=alltrim(thisform.text1.value)
t5=alltrim(thisform.text5.value)
t6=alltrim(thisform.text6.value)
t7=alltrim(thisform.text7.value)
t8=alltrim(thisform.text8.value)
t9=alltrim(thisform.text9.value)
t10=alltrim(thisform.text10.value)
t11=alltrim(thisform.text11.value)
t12=alltrim(thisform.text12.value)
insertintoyjh(货物名称,日均(车),静载重(t每车),车数,运价(吨公里),发送吨,始发站,终到站,日期,车种,货源地,备注);
values(t1,t2,t3,t4,t5,t6,t7,t8,t9,t10,t11,t12)
服务评价与月计划录入在界面设计及代码设计上基本一致,以下不再赘述。
4.3报表设计
4.3.1运单打印设计
打印货物运单,包括委托方、收货方、货物名称、重量及始发目的地等内容,并统计总重量。
运单打印界面如图16及图17。
图16运单打印界面设计图
图17运单打印界面运行图
(1)在货运站货场信息管理系统项目中,添加一个新报表,名称为“运单打印”。
(2)在表单中添加Label控件、字段控件。
(3)在表单中添加数据环境,数据环境为hwyd.dbf。
货场事故打印与运单打印在界面设计及控件设计上基本一致,以下不再赘述。
4.4菜单设计
(1)在货运站货场信息管理系统项目中,添加一个新菜单,名称为“mainmenu”。
(2)按照功能模块结构依次输入子菜单和命令,命令有三种,分别是quit(退出)、doform表单名和reportform报表名.frxpreview。
(3)根据权限要求在跳过设置跳过条件,依靠定义全局变量实现。
具体菜单界面见图18、19、20。
图18客户使用权限界面运行图
图19管理员使用权限界面运行图
图20管理员使用权限界面运行图
4.5主程序设计
主程序是整个系统运行的第一步,主程序可以设置全局变量、运行界面属性、调用登陆界面和菜单等,所以,设计主程序对设计数据库系统至关重要。
publicx
x=alltrim(czqx.编号)
clearscreen
_screen.left=-10000
doform表单\登陆
_screen.caption='
domainmenu.mpr
_screen.left=0
readevents
五、结束语
货运站货场信息管理系统的应用能够实现货场基础设备及生产作业资源化管理,货运指挥人员可以实时掌握货场的作业车分布、月计划、货区货位、装卸工作、装卸设备等资源和计划的变化和利用情况,最大程度提高货物运输的工作质量和工作效率。
附录一:
原始数据库表
表1月计划.DBF数据库表结构
序号
字段名称
字段类型
字段宽度
小数位数
索引
1
货物名称
字符型
10
升序
2
日均(车)
数值型
3
静载重(t/车)
8
4
车数
5
运价(吨公里)
6
发送吨
7
终到站
始发站
9
日期
日期时间型
车种
11
货源地
12
备注
备注型
表2货物运单.DBF数据库表结构
货运编号
收货方
收货人电话
15
收货方地址
40
件数
重量(t)
体积(M)
运费
13
始发地
20
14
目的地
16
收货时间
17
表3货区货位.DBF数据库表结构
品类
货区
货位
占货位比例
货位占货区比例
货位利用率
表4装卸机械.DBF数据库表结构
机械名称
数量
可用数量
报修数量
适用范围
表5篷布管理.DBF数据库表结构
篷布种类
表6货场事故.DBF数据库表结构
事故编号
事故等级
事故种类
损失款额
赔偿款额
70
事故原因
100
表7服务评价.DBF数据库表结构
运输速度
货物有无损坏
运价水平
字