021基于ASP的企业物流平台的设计与实现
以下是资料介绍,如需要完整的请充值下载.
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
密 惠 保
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
密 惠 保
资料介绍:
本科毕业论文(设计)
企业物流平台的设计与实现 [资料来源:http://think58.com]
学 院:
专 业:
班 级:
学 号:
学生姓名:
指导教师:
[资料来源:http://THINK58.com]
摘要
【摘要】
据调查:75-85%的上网用户通过搜索引擎和商业网站寻找新客户。可见,搜索引擎的登录和商业网站的发布已经成为企业网站盈利的手段。互联网正在融入我们的生活,并影响和改变着我们的生活。网络提供给我们的不只是一个获取信息的来源,而且还是一个可以相互交流的空间,企业物流平台正是一个供客户与企业进行交流的网上虚拟空间。及时与客户进行沟通和交流,对于企业来说是相当重要的。
【关键词】 企业物流平台、物流服务、运单查询
目录
摘要 1
0 引言 1
1 系统分析 2
1.1 需求分析 2
1.2 可行性分析 2
2 总体设计 2
2.1 项目规划 2
2.2 系统功能结构图 3
3 系统设计 3
3.1 设计目标 3
3.2 开发及运行环境 4
3.4 编码设计 4
3.5 逻辑结构设计 4
4 前台主要功能模块详细设计 5
4.1 前台文件总体架构 5
4.2 运单查询模块设计 8
4.3 物流服务模块设计 13
[资料来源:http://think58.com]
4. 4 新闻动态模块设计 13
5 后台登录入口设计 16
6 后台主要功能模块详细设计 16
6.1 后台总体架构 16
6.2 后台登录模块设计 18
6.3 初始化信息管理模块设计 20
6.4 公司简介管理模块设计 21
6.5 运单管理模块设计 22
6.6 新闻管理模块设计 28
6.7 分公司管理模块设计 29
6.8 退出后台管理模块 34
附录A 参考文献 35
附录B 数据表 36
附录C 文件架构图 38
0 引言
经济全球化及现代物流业发展的系统化、信息化、仓储运输的现代化和综合化等趋势,对我国物流业的发展提出了全方位的挑战。面对跨国企业不断渗透中国物流市场的严峻形势,我国物流业走高科技之路势在必行。我国国民经济连续多年高速增长,为我国现代物流发展创造了良好的条件。目前,我国各类物流企业有14万家左右,中小型企业占大多数。在如此强烈竞争的环境下,要想取得一席之地,各企业在目前良好服务的基础之上,需提高企业的运营效率和自身管理水平。人工管理早已不再适应企业发展的要求,利用计算机网络对企业运营流程进行全方位的管理迫在眉睫。通过计算机网络对企业进行管理,不仅为企业的运营过程节省了大量的时间,提高了企业的效率,还为企业在客户群中树立了一个全新的形象,为企业日后发展奠定一个良好的基础。 [资料来源:THINK58.com]
1 系统分析
1.1 需求分析
通过调查,要求系统需要有以下功能;
通过网络,全面展示企业的形象。
全面介绍企业的服务项目。
发布企业的招聘信息、企业新闻等。
分公司及时填写分公司货物运营情况,并对分公司用户密码进行维护。
为客户提供在线查询运单信息及物品托运情况的功能。
通过后台对企业一系列新闻信息(公司简介、新闻信息、服务项目信息)进行管理。
通过后台,企业对客户运单信息进行全面管理。
通过后台,企业对分公司、分公司管理员信息进行管理。
管理企业的招聘信息。
由于操作人员的计算机知识普遍较差,要求网站有良好的操作界面。
当外界环境(停电、网络病毒)干扰本系统时,系统可以自动保护原始数据的安全。
系统退出。
1.2 可行性分析
企业物流管理平台使物流企业走上了科学化、网络化管理道路。
经济性
全面展示企业的经营管理模式,为企业带来更多的客户资源,提高企业的经济效益。通过计算机网络对运单进行管理,方便客户对货物托运情况进行查询,及时和客户进行沟通,满足客户的需求。 [来源:http://think58.com]
技术性
在管理过程中,满足了企业全程跟踪物品的托运情况的要求(分公司及时添加货物的运输情况),使企业能够根据实际情况,对企业运营过程中的各项准备工作,作出及时准确的调整。
2 总体设计
2.1 项目规划
企业物流平台是一个典型的数据库开发应用程序,由客户前台浏览和企业后台管理两大部分组成。
前台功能模块
前台主要包括公司简介、物流服务、信息查询、新闻动态、招聘信息、联系我们、分公司登录入口,后台登录入口。
后台管理模块
后台主要包括后台登录模块、初始化信息模块、公司简介管理模块、仓储服务管理模块、运输服务管理模块、配送服务管理模块、运单管理模块、新闻管理模块、招聘信息管理模块,分公司管理模块、联系我们、退出后台。
2.2 系统功能结构图
本网站的前台系统功能结构如图1所示。
图1 前台系统功能结构图
本网站的后台系统功能结构如图2所示。
图2 后台系统功能结构图
3 系统设计
3.1 设计目标
本系统是针对中小型物流企业的运营管理过程进行设计的,主要实现如下目标:
向客户全面展示公司各项业务。 [来源:http://think58.com]
客户在线对运单情况进行查询。
向客户介绍公司新闻。
为分公司提供货物运单信息添加功能。
为分公司提供密码修改功能。
实现企业发布招聘信息的功能。
为管理员提供后台登录入口。
管理员通过后台,对运单信息进行全面管理。
对企业招聘信息进行管理。
对公司各项业务信息进行管理。
对公司新闻信息进行管理。
对分公司信息、管理员信息进行管理。
系统最大限度地实现了易安装性、易维护性和易操作性。
系统运行稳定、安全可靠。
3.2 开发及运行环境
硬件平台:
CPU:P41.8GHz。
内存:256MB以上。
软件平台:
操作系统:Windows XP/ Windows 2000。
数据库:Access 2000。
浏览器:IE5.0,推荐使用IE6.0。
Web服务器:IIS5.0。
分辨率:最佳效果1024×768像素。
3.4 编码设计
编码设计是数据库系统开发的前提条件,是系统不可缺少的重要内容。编码是指与原来名称对应的编号、符号或记号。它是进行信息交换、处理、传输和实现信息资源共享的关键。编码也用于指定数据的处理方法、区别数据类型,并指定计算机处理的内容等。 [资料来源:www.THINK58.com]
本系统内部信息编码采用了统一的编码方式情况。如下所示:
运单单据编号为系统当前日期和5位数字编码的组合。例如,2006010300001。
3.5 逻辑结构设计
本系统数据库采用Access数据库,系统数据库名称为db。数据库db中包含7张表。下面分别给出数据表概要说明、数据表关系概要说明及主要数据表的结构。
1.数据表概要说明
从设计角度出发,对本系统后台的数据库中数据表有一个更清晰的认识,我设计了一个数据表树型结构图(如表1所示),该数据表树型结构图包含系统所有数据表。
表1 数据表树型结构图
2.主要数据表的结构
由于篇幅所限,关于数据库中的数据表请参见附录B
4 前台主要功能模块详细设计
4.1 前台文件总体架构
1.模块功能介绍
前台页面主要包括以下功能模块:
网站导航:主要包括网站的旗帜广告条、主功能导航两部分。
里程查询模块:主要功能是用于计算两个城市之间里程。
运单查询模块:主要功能是通过运单ID号进行运单详细信息的查询。
客服电话模块:主要用于展示客服电话号码。
公司新闻模块:主要用于展示公司最新信息。 [资料来源:http://think58.com]
行业新闻模块:主要用于展示最新的行业信息。
后台登录入口:为用户进入后台提供一个入口。
3.前台页面运行结果
网站前台首页的运行结果如图4所示。
图4 前台首页运行结果
为了方便阅读本实例将前台页面的各部分说明以列表形式给出,如表2所示。
表2 前台首页解析
区域 名称 说明 对应文件
1 网站导航 主要用于显示网站的标题及为用户提供前台功能导航 index.asp
2 里程查询 主要用于计算两个城市之间里程的功能 index.asp
3 运单查询 主要通过运单ID号进行运单详细信息的查询 index.asp
4 客服电话 主要用于展示客服电话号码 index.asp
5 公司新闻 主要用于展示公司最新信息 index.asp
6 行业新闻 主要用于展示最新的行业信息 index.asp
7 后台登录入口 为用户进入后台提供一个入口 index.asp [来源:http://think58.com]
4.网站导航设计
导航是网站设计不可缺少的基础元素之一,它不仅是信息结构的基础分类,也是浏览者的网站路标。网站导航有很多种,如带图标的文字导航、按钮导航、Flash导航等。在此笔者设计了Flash导航,网站导航设计效果页面如图5所示。
图5 网站导航页面设计效果
在Flash中,选中【加入收藏】按钮,在其动作(action)面板中添加以下AS代码即可实现将网页加入收藏夹的超链接。其关键代码如下所示:
'加入收藏
on (release)
{
getURL("javascript:window.external.AddFavorite(\'http://www.mingrisoft.com/\', \'“启天物流”\"/http://www.mingrisoft.com\')");
}
在Flash中,选中“设为首页”按钮,在其动作(action)面板中添加以下AS代码即可实现将网页设为首页的超链接。其关键代码如下所示:
'设为首页
on(release)
{
geturl("javascript:void(document.links[0].style.behavior='url(#default#homepage)');void document.links[0].setHomepage('网址');");
}
在<body></body>之间加入以下代码:
<a href=javascript;> </a> [来源:http://think58.com]
网站导航的运行结果如图6所示。
图6 网站导航的运行结果
4.2 运单查询模块设计
运单查询模块主要包括运单查询、分公司登录两个部分。
1.运单查询页面
首先进入运单查询页面,输入正确的运单编号,单击【提交】按钮,即可以在页面中显示查询所对应运单编号的详细信息。该页面的设计效果如图7所示。
图7 运单查询页面设计效果
运单查询页面所涉及到的程序代码如下:
<% '获取运单编号
if request("nid")<>""then '判断是否接收到表单值
nid=request("nid") '将变量赋值
else
nid="" '清空变量值
end if
Set Rs = Server.CreateObject("ADODB.Recordset") '获取记录集,查询符合条件的相关信息
Sql = "Select * From yundan where nid='"&nid&"'"
Rs.Open Sql,conn,1,1
%>
2.登录分公司管理页面
[资料来源:http://THINK58.com]
分公司管理页面的主要功能是,查看运单的所有详细信息、修改用户密码、签收运单3部分,该页面的设计效果如图8所示。
图8 分公司管理页面的设计效果
登录分公司管理页面所涉及到的程序代码如下:
<% if request("action")="login" then '判断是否接收到表单值
username=request("username") '接收用户名
userpwd=request("userpwd") '接收用户密码
username=trim (request("username")) '通过trim函数去掉字符的左右两端空格
password=trim(request("userpwd"))
for i=1 to len(username) '通过len函数计算用户名的长度
user=mid(username,i,1)
if user="'" or user="%" or user="<" or user=">" or user="&" or user="|" then [资料来源:THINK58.com]
response.write "<script language=JavaScript>" & "alert('您的用户名含有非法字符,请重新输入!');" & "history.back()" & "</script>"
response.end
end if
next
for i=1 to len(password)
pass=mid(password,i,1)
if pass="'" or pass="%" or pass="<" or pass=">" or upass="&" or pass="|" then
response.write "<script language=JavaScript>" & "alert('您的密码含有非法字符,请重新输入!');" & "history.back()" & "</script>"
response.end
end if
next%> [资料来源:http://www.THINK58.com]
<%
set rs=server.createobject("adodb.recordset")
sql="select * from fuser where username='"&username&"' and userpwd='"&userpwd&"'"
rs.open sql,conn,1,3
if rs.eof then '判断输入的用户名和密码是否正确
response.write "<br><br><br><br><font size=2><center>对不起,您输入的用户名或者密码有误!<a href=chaxun.asp>返回</a>"
else
session("username")=request("username") '创建session变量
session("loc")=1 '设置默认值
response.Redirect("chaxunguan.asp")
end if
rs.close
set rs=nothing
conn.close
set conn=nothing
end if %>
登录分公司管理页面的运行结果如图9所示。
图9 登录分公司管理页面的运行结果
[来源:http://think58.com]
3.运单签收管理页面
这里所说的签收是指运单的签收过程,首先由分公司的人负责签收货物,当货物到达目的地时再进行签收。
运单签收管理页面的设计效果如图10所示。
图10 运单签收管理页面的设计效果
运单签收管理页面涉及到的HTML重要表单元素如表3所示。
表3 运单签收管理页面涉及到的HTML重要表单元素
名称 类型 含义 重要属性
form1 form 表单 method="post" action="qssave.asp"
uanze select 签收类型 id="xuanze" onChange="MM_jumpMenu('parent',this,0)"
fgzhuangtai select 派送状态 id="fgzhuangtai"
fgqs text 签收人 class="kuang" id="fgqs" value="<%=rs("fgqs")%>"
fgtime text 签收时间 class="kuang" id="fgtime" value="<%=rs("fgtime")%>" [资料来源:www.THINK58.com]
post hidden 隐藏域 id="post" value="<%=request("id")%>"
form2 form 表单 method="post" action="qssave2.asp"
xuanze select 签收类型 id="xuanze" onChange="MM_jumpMenu('parent',this,0)"
qs text 签收人 class="kuang" id="qs" value="<%=rs("qs")%>"
qstime text 签收时间 class="kuang" id="qstime" value="<%=rs("qstime")%>"
Submit3 submit 【提交】按钮 value="提交"
Submit22 reset 【重置】按钮 value="重置"
post2 hidden 隐藏域 id="post2" value="<%=request("id")%>"
运单签收时,必须写清签收人以及签收时间。此功能主要是为证明该运单已成功达到分公司。判断运单是否到达分公司时所涉及到的相关程序代码如下:
<%
if session("username")="" then '判断用户名是否为空
[版权所有:http://think58.com]
response.Write("您还没有登录,请<a href=chaxun.asp>登录</a>")
response.end
end if
if request("fgzhuangtai")="到达" then
if request("fgqs")<>"" and request("fgtime")<>"" then '判断签收人、签收时间是否为空
set rs=server.CreateObject("adodb.recordset")
sql="select * from yundan where id="&request("post")
rs.open sql,conn,1,3
rs("fgzhuangtai")=request("fgzhuangtai")
rs("fgqs")=request("fgqs") '接收签收人
rs("fgtime")=request("fgtime") '接收签收时间
rs.update
response.Write("签收成功,<a href='javascript:'onclick='window.close()'>关闭</a>")
else
response.Write("<script language=javascript>alert('请把信息填写完整');location='javascript:history.go(-1)'</script>") [来源:http://think58.com]
end if
else
response.Write("<script language=javascript>alert('未选择到达,不能提交签单');location='javascript:history.go(-1)'</script>")
end if
%>
运单是否到达目的地页面所涉及到的程序代码如下:
<%
if request("zhuangtai")="到达" then
if request("qs")<>"" and request("qstime")<>"" then '判断是否到达目的地,并获取签收人、签收时间
set rs=server.CreateObject("adodb.recordset")
sql="select * from yundan where id="&request("post")
rs.open sql,conn,1,3
rs("zhuangtai")=request("zhuangtai")
rs("qs")=request("qs") '接收签收人 [资料来源:THINK58.com]
[资料来源:http://THINK58.com]