基于BS企业物流管理系统

基于BS企业物流管理系统[java毕业论文下载]

摘要

据调查:75-85%的上网用户通过搜索引擎和商业网站寻找新客户。可见,搜索引擎的登录和商业网站的发布已经成为企业网站盈利的手段。互联网正在融入我们的生活,并影响和改变着我们的生活。网络提供给我们的不只是一个获取信息的来源,而且还是一个可以相互交流的空间,企业物流平台正是一个供客户与企业进行交流的网上虚拟空间。及时与客户进行沟通和交流,对于企业来说是相当重要的。

 

 

【关键词】 企业物流平台、物流服务、运单查询

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

第一章 前言

  • 经济全球化及现代物流业发展的系统化、信息化、仓储运输的现代化和综合化等趋势,对我国物流业的发展提出了全方位的挑战。面对跨国企业不断渗透中国物流市场的严峻形势,我国物流业走高科技之路势在必行。我国国民经济连续多年高速增长,为我国现代物流发展创造了良好的条件。目前,我国各类物流企业有14万家左右,中小型企业占大多数。在如此强烈竞争的环境下,要想取得一席之地,各企业在目前良好服务的基础之上,需提高企业的运营效率和自身管理水平。人工管理早已不再适应企业发展的要求,利用计算机网络对企业运营流程进行全方位的管理迫在眉睫。通过计算机网络对企业进行管理,不仅为企业的运营过程节省了大量的时间,提高了企业的效率,还为企业在客户群中树立了一个全新的形象,为企业日后发展奠定一个良好的基础。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

第二章 编程环境基础知识

Wsb服务器是Web应用程序的心脏。IIS(Internet Information Server)是微软推出的Windows NT Option Pack的主要成员,作为Win2000server的扩展,自推出以来已经有了很大发展,其体系结构是当今市场上最受关注的Web服务器之一。新推出的IIS5.0版本增强了系统安全性,具有服务器端脚本开发调试,内容管理和站点分析,崩溃防护,内置JAVA虚拟机及全面支持ASP等强大功能。

2.1 IIS与ASP的结合

在过去,客户机/服务器结构的设计与Web的相关技术几乎处于平行线上,两者相互独立并无法做出集成性的设计。现在我们利用IIS+ASP构成三层式Web结构的中间一层,将客户机/服务器结构与Web密切结合,完成前后端两者的集成输出功能,使得Web站点的开发更方便,实现的功能更强大。

利用IIS+ASP技术来集成Web前后端所带来的强大效益可归结为以下几个方面:

1.减少构建和维护成本

2.加快联机过程

3.应用软件集中在服务器端开发管理

4.前端可使用任何浏览器(IE、Netscape…..)

5.后端可存取任何数据库 (SQL、Access…..)

6.可使用任何脚本语言开发 (VBScript、JavaScript、PERL…..)

2.2 ASP的内部特点

2.2.1  Request对象

(1)Request对象的集合

Form:用于检索HTTP请求正文中表单元素的值 
QueryString:用于检索HTTP查询字符串中变量的值
ServerVariables:用于检索预定的环境变量的值
ClientCertificate:用于检索存储在发送到HTTP请求中客户端证书中的字段值
Cookies:用于检索在HTTP请求中发送的Cookie的值

(2)Request对象的方法

Request对象只有一个方法:即BinaryRead。该方法以二进制方式来读取客户端使用POST传送方法所传递的数据。

(3)Request对象的作用

读取网址参数

读取表单传递的参数

读取Cookie的数据

读取服务器环境变量

上传文件

2.2.2  Response对象:

用于向客户端浏览器发送信息,或者将访问者转移到另一个网址,并可以设置和控制Cookie信息等。

(1)Response对象的集合

Response对象只有一个集合,即Cookies集合。

(2)Response对象的方法

Write:将变量作为字符串写入当前的HTTP输出

Redirect:将重指示的信息发送到浏览器,尝试连接另一个URL

Clear:清除任何缓冲区的HTML输出

End:停止处理.asp程序,并返回当前的结果

(3)Response对象的作用

输出内容到网页(客户端)

网页重定向

写入Cookie

下载文件

2.2.3  Session对象:

存储一个会话内的信息。Session对象是在每一位访问者从Web站点或Web应用程序中首次请求一个ASP页时创建的,它将保留到默认的期限结束或者通过脚本设置中止的期限。

(1)Session工作作原理

在一个应用程序中,当客户端启动一个Session时,ASP会自动产生一个长整数SessionID,并且把这个SessionID送回给客户端浏览器,浏览器会把这个SessionID存放在Cookies内。当客户端再次向服务器送出HTTP请求时,ASP会去检查申请表头的SessionID,并返回该SessionID对应的Session信息。

(2)Session对象的集合

Contents:包括已用脚本添加到会话中的项目,Contents是Session对象的默认集合

Staticobjects:包含通过<OBJECT>标记创建的并给了会话作用域的对象,这些对象在Global.asa文件中创建

(3)Session对象的方法

Abandon:破坏Session对象并释放其资源

Contents.Remove:从Contents集合中删除一个项目

Contents.RemoveAll:从Contents集合中删除所有项目

(4)Session对象的作用

l 存储与某次访问相关的信息

l 设置这个访问的代码页,日期格式等

2.2.4  Application对象

在一个ASP应用中让不同客户端共享信息。Application对象是在为响应一个ASP页的首次请求而载入Asp.dll时创建的,它提供了存储空间用来存放变量和对象的引用,可以用于所有的页面,任何访问者都可以打开这些页面。

(1)Application对象的集合

Contents:含所有通过脚本命令添加到应用程序中的项目

Staticobjects:含通过OBJECT标记创建的并给了应用程序作用域的对象

(2)Application对象的方法

Lock:禁止其他客户修改Application对象的属性

Unlock:允许其他客户修改Application对象的属性

(3)Application对象的作用

存储应用程序级全局变量

锁定与解锁全局变更

网站计数器

2.2.5  Server对象:

提供了一系列的方法和属性,在使用ASP编写脚本时是非常有用的。最常用的是Server.CreateObject方法,它允许在当前页的环境或会话中在服务器上实例化其他COM对象。

(1)Server对象的集合

Server对象仅支持ScriptTimeout属性,用于指定超时值,在脚本运行超过这一时间之后即作超时处理。

(2)Server对象的方法

CreateObject:创建服务器组件的实例

Execute:执行一个.asp文件

MapPath:将指定的虚拟路径,无论是当前服务器上的绝对路径,还是当前页的相对路径,映射为物理路径

Transfer:将当前所有的状态信息发送给另一个.asp文件进行处理

(3)Server对象的作用

创建组件实例

获取服务器的物理路径

对字符串进行HTML编码

转向执行其他ASP文件

2.3 利用ADO访问数据库

ADO(ActiveX Data Objects)是一种操作Microsoft所支持的数据库的新技术。在ASP中,ADO可以看作是一个服务器组件(Server Component),更简单点说,是一系列的对象,应用这些功能强大的对象,即可轻松完成对数据库复杂的操作。本文中个性化页面的实现便大量地用到了ADO技术。具体的操作步骤可以归纳为以下几步:

  1.创建数据库源名(DSN)

  2.创建数据库链接(Connection)

  3.创建数据对象

  4.操作数据库

  5.关闭数据对象和链接

每一步的作法如下:

1、创建数据源名

DSN(Date Source Name)即数据源名称。我们知道,ODBC是一种访问数据库的方法,只要系统中有相应的ODBC驱动程序,任何程序就可以通过ODBC操纵驱动程序的数据库。比如我们系统中有Access的ODBC驱动程序,那么即使我们没有Access软件,也可以在我们的程序中对一个Access的MDB数据库加、删、改记录。而且我们根本不用知道这个数据库是放在哪里的。我们只要写出SQL语句,ODBC驱动程序就会帮我们做一切事情。我们在给ODBC驱动程序传SQL指令时,即是用DSN来告诉它到底操作的是哪一个数据库。如果数据库的平台变了,比如我们改用了SQL Server的数据库,只要其中表的结构没变,我们就不用改写我们的程序,只要重新在系统中配置DSN就行了。由此可见,DSN是应用程序和数据库之间的桥梁。

2、创建数据库链接(Connection)

链接用以保持一些关于正在访问的数据的一些状态信息,以及链接者信息。ASP文件中如果要访问数据,必须首先创建与数据库的链接,其语法如下:

set Conn=Server.createObject(“ADOBD.CONNECTION”)

这条语句创建了链接对象Conn,接下来:

connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data.Source="&Server.MapPath(""&db&"")

conn.Open connstr

这条语句打开链接,用到了DSN,本例为“connstr”。

以上两个步骤缺一不可,因为链接对象的创建与打开是两回事,只有打开了才真正可以使用。

3、创建数据对象(Record Set)

ADO中的数据对象通常保存的是查询结果。Record Set是ADO中最复杂的对象,有许多属性和方法。Record Set保存的是一行行的记录,并标有一个当前记录。以下是创建方法:

Set Record Set=Conn.Execute(sqtStr)

这条语句创建并打开了对象Record Set,其中Con是先前创建的链接对象,rs是一个字串,代表一条标准的SQL语句。例如:

rs=“SELECT * FROM shop_books”

Set Record Set=mConn.Execute(rs)

这条语句执行后,对象Record Set中就保存了表tab1中的所有记录。

4、操作数据库

我们通过调用链接对象的Execute方法来将查询结果返回给一个数据对象或进行插入、删除等操作。例如:

  rs=“INSERT INTO tab1 VALUES(1,2)”

  mConn.Execute(rs)

  /执行插入操作

5、关闭数据对象和链接对象

在使用了ADO对象之后要关闭它,因为它使用了一定的服务器资源。通过调用方法close实现关闭,然后再释放它。

  Record Set.close

  Set Record Set=Nothing

  /关闭创建的数据对象

  mConn.close

  Set mConn=Nothing

  /关闭创建的链接对象

2.4 ASP与CGI的比较

CGI(Common Gateway Interface,通用网关接口)也是Internet上一种功能强大的Web页面技术,其工作方式有别于ASP。我们现对二者进行比较。

Active Server Pages开发Web应用程序的特点:

  • 完全嵌入HTML,与HTML、Script语言完美结合。
  • 无须手动编译和链接程序。
  • 面向对象,并可扩展ActiveX Server组件功能。
  • 使用脚本语言(JavaScript、VBScript或PERL)编写。
  • 存取数据库轻松容易(使用ADO组件)。
  • 可使用任何语言编写自己的ActiveX Server组件。
  • 无浏览器兼容问题。
  • 程序代码隐藏,客户端仅能看到ASP输出的HTML文件。
  • 缩短Web开发时间。

相比之下,使用CGI开发Web应用程序具有以下缺点:

  • 不易与HTML文件集成。
  • 须使用其他较复杂的语言来开发CGI程序。
  • 程序开发时间较长。
  • 存取数据库不容易。
  • 每个CGI程序被不同用户执行时都得重新执行一次,并占去Server的一个端口(Port),降低Server效率。

可见,ASP在数据库访问、与HTML的集成、提高服务器的效率等诸多方面都优于CGI,更适应Web应用程序开发的需要,因此本文选择了ASP作为个性化页面生成器的开发工具。

 

 

第三章 需求分析

3.1功能需求

q     通过网络,全面展示企业的形象。

q     全面介绍企业的服务项目。

q     发布企业的招聘信息、企业新闻等。

q     分公司及时填写分公司货物运营情况,并对分公司用户密码进行维护。

q     为客户提供在线查询运单信息及物品托运情况的功能。

q     通过后台对企业一系列新闻信息(公司简介、新闻信息、服务项目信息)进行管理。

q     通过后台,企业对客户运单信息进行全面管理。

q     通过后台,企业对分公司、分公司管理员信息进行管理。

q     管理企业的招聘信息。

q     由于操作人员的计算机知识普遍较差,要求网站有良好的操作界面。

q     当外界环境(停电、网络病毒)干扰本系统时,系统可以自动保护原始数据的安全。

q     系统退出。

3.2 性能需求

企业物流管理平台使物流企业走上了科学化、网络化管理道路。

q    经济性

全面展示企业的经营管理模式,为企业带来更多的客户资源,提高企业的经济效益。通过计算机网络对运单进行管理,方便客户对货物托运情况进行查询,及时和客户进行沟通,满足客户的需求。

q     技术性

在管理过程中,满足了企业全程跟踪物品的托运情况的要求(分公司及时添加货物的运输情况),使企业能够根据实际情况,对企业运营过程中的各项准备工作,作出及时准确的调整。

 

第四章 总体设计

4.1系统模块结构设计

4.1.1   主要功能模块

企业物流平台是一个典型的数据库开发应用程序,由客户前台浏览和企业后台管理两大部分组成。

q     前台功能模块

前台主要包括公司简介、物流服务、信息查询、新闻动态、招聘信息、联系我们、分公司登录入口,后台登录入口。

q     后台管理模块

后台主要包括后台登录模块、初始化信息模块、公司简介管理模块、仓储服务管理模块、运输服务管理模块、配送服务管理模块、运单管理模块、新闻管理模块、招聘信息管理模块,分公司管理模块、联系我们、退出后台。

4.1.2   系统功能结构图

 

 

 

 

 

 

 

 

 

 

 

 

前台系统功能结构图

 

 

 

 

 

 

 

 

 

 

 

后台系统结构功能图

4.1.3   模块功能介绍

1.前台页面主要包括以下功能模块:

 

q  网站导航:主要功能是页面导航。

q  里程查询模块:主要功能是用于计算两个城市之间里程。

q  运单查询模块:主要功能是通过运单ID号进行运单详细信息的查询。

q  客服电话模块:主要用于展示客服电话号码。

q  公司新闻模块:主要用于展示公司最新信息。

q  行业新闻模块:主要用于展示最新的行业信息。

q  后台登录入口:为用户进入后台提供一个入口。

 

2.后台页面主要包括以下功能模块:

 

q  后台登录模块:主要用于管理员登录网站后台。

q  初始化信息模块:主要包括管理员信息修改、系统名称修改两部分。

q  公司简介管理模块:主要用于公司简介内容的修改。

q  仓储服务管理模块:主要用于仓储服务内容的修改。

q  运输服务管理模块:主要用于运输服务内容的修改。

q   配送服务管理模块:主要用于配送服务内容的修改。

q  运单管理模块:主要包括运单查询、运单添加、运单修改、运单删除4部分。

q  新闻管理模块:主要包括新闻查询、新闻添加、新闻修改、新闻删除4部分。

q  招聘信息管理模块:主要用于招聘信息内容的修改。

q  分公司管理模块:主要包括分公司添加、分公司删除、分公司修改,分公司管理员添加,分公司管理员修改(用户名不能修改),分公司管理员删除,对分公司管理员进行分 类查看7部分。

q  退出后台管模块:退出后台管理程序。

 

4.2 数据库设计

4.2.1  概念结构设计

编码设计是数据库系统开发的前提条件,是系统不可缺少的重要内容。编码是指与原来名称对应的编号、符号或记号。它是进行信息交换、处理、传输和实现信息资源共享的关键。编码也用于指定数据的处理方法、区别数据类型,并指定计算机处理的内容等。

本系统内部信息编码采用了统一的编码方式情况。

4.2.2  逻辑结构设计

本系统数据库采用Access数据库,系统数据库名称为db。数据库db中包含7张表。下面分别给出数据表概要说明、数据表关系概要说明及主要数据表的结构。

1.数据表概要说明

从设计角度出发,对本系统后台的数据库中数据表有一个更清晰的认识,我设计了一个数据表树型结构图(如表1所示),该数据表树型结构图包含系统所有数据表。

 

表1  数据表树型结构图

 

4.3数据库的实现

(1)new(新闻表)

 

新闻表主要用于保存新闻信息,该表结构如表B.1所示。

 

表B.1                                 new的结构

字段名

数据类型

长度

主键否

描述

id

自动编号

 

自动编号

lei

文本

50

新闻类别

title

文本

50

新闻标题

content

备注

 

新闻内容

time

日期/时间

 

新闻发布时间

 

(2)news(信息表)

 

信息表主要用于保存各类信息内容,该表结构如表B.2所示。

 

表B.2                                  news的结构

字段名

数据类型

长度

主键否

描述

id

自动编号

 

自动编号

title

文本

50

发布类型

content

备注

 

信息内容

 

(3)yundan(运单表)

 

运单表主要用于保存运单信息,该表结构如表B.3所示。

表B.3                                    yundan的结构

字段名

数据类型

长度

主键否

描述

Id

自动编号

 

自动编号

nid

文本

50

运单编号

start

文本

50

寄件地点

mudidi

文本

50

目的地

ctime

文本

50

出发时间

qs

文本

50

签收人/未签收原因

qstime

文本

50

签收日期

zhuangtai

文本

50

派送状况

fgzhuangtai

文本

50

寄件地点

fg

文本

50

指定分公司派送

fgtime

文本

50

到达分公司时间

fgqs

文本

50

到达分公司的签收人/未签收原因

beizhu

备注

 

备注

time

日期/时间

 

审核日期

 

(4)fuser(分公司管理员)

 

分公司管理员表主要用于保存分公司管理员信息。该表结构如表B.4所示。

 

表B.4                                      fuser的结构

字段名

数据类型

长度

主键否

描述

id

自动编号

 

自动编号

username

文本

50

用户名

userpwd

文本

50

用户密码

fengongsi

文本

50

所属公司

 

(5)admin(管理员表)

管理员表主要用于保存管理员相关信息。该表结构如表B.5所示。

 

表B.5                    admin结构

字段名

数据类型

长度

主键否

描述

id

自动编号

 

自动编号

admin_name

文本

50

管理员名称

admin_pwd

文本

50

管理员密码

title

文本

50

系统名称

 

(6)fgongsi(分公司表)

 

分公司表主要用于保存分公司信息。该表结构如表B.6所示。

 

表B.6                fgongsi结构

字段名

数据类型

长度

主键否

描述

id

自动编号

 

自动编号

fengongsi

文本

50

分公司名称

 

(7)zhaopin(招聘表)

 

 

 

招聘表主要用于保存相关招聘信息。该表结构如表B.7所示。

 

 

表B.7                结构

字段名

数据类型

长度

主键否

描述

id

自动编号

 

自动编号

content

备注

80

分公司名称

time

日期/时间

 

发布日期

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

第五章 详细设计

 

5.1导航模块详细设计

 

导航是网站设计不可缺少的基础元素之一,它不仅是信息结构的基础分类,也是浏览者的网站路标。网站导航有很多种,如带图标的文字导航、按钮导航、Flash导航等。网站导航设计效果页面如图⒈所示。

 

 

图⒈

 

 

5.2运单查询模块详细设计

 

运单查询模块主要包括运单查询、分公司登录两个部分。

1.运单查询页面

首先进入运单查询页面,输入正确的运单编号,单击【提交】按钮,即可以在页面中显示查询所对应运单编号的详细信息。该页面的设计效果如图⒉所示。

 

图⒉

运单查询页面所涉及到的程序代码如下:

<%  '获取运单编号

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.登录分公司管理页面

分公司管理页面的主要功能是,查看运单的所有详细信息、修改用户密码、签收运单3部分,该页面的设计效果如图⒊所示。

 

 

图⒊

登录分公司管理页面所涉及到的程序代码如下:

<% 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

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%>

<%

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  %>

 

 

登录分公司管理页面的运行结果如图⒋所示。

 

 

图⒋

基于BS企业物流管理系统[点击下载]

如需要全部源码,联系QQ:2812491287如需要全部源码,联系QQ:2812491287

评论