物流企业仓库管理系统的设计.docx

上传人:b****3 文档编号:4623120 上传时间:2022-12-07 格式:DOCX 页数:18 大小:75.96KB
下载 相关 举报
物流企业仓库管理系统的设计.docx_第1页
第1页 / 共18页
物流企业仓库管理系统的设计.docx_第2页
第2页 / 共18页
物流企业仓库管理系统的设计.docx_第3页
第3页 / 共18页
物流企业仓库管理系统的设计.docx_第4页
第4页 / 共18页
物流企业仓库管理系统的设计.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

物流企业仓库管理系统的设计.docx

《物流企业仓库管理系统的设计.docx》由会员分享,可在线阅读,更多相关《物流企业仓库管理系统的设计.docx(18页珍藏版)》请在冰豆网上搜索。

物流企业仓库管理系统的设计.docx

物流企业仓库管理系统的设计

物流企业仓库管理系统的设计

摘要:

随着计算机技术的迅猛发展,计算机给人们带来了很多便利,人们借助于计算机进行生产劳动管理更加方便。

仓库管理系统是现代企业对物资进行管理、查询和记录的信息管理系统。

它能实现多个仓库的管理、分类查看等精细化管理。

通过对货物的进货、出货进行详细的记录和查询以帮助企业准确的掌握库存信息,便于决策部门正确的作出企业规划,最大限度的提高企业的竞争力和管理效率。

本文就如何优化企业仓库内部管理,提高企业管理效率进行了详细分析,并用ASP设计开发了一个以实现货物查询、管理、更新为基本目标的系统。

整个过程实现了自动化模式,并且不同的用户能对自己所属仓库的货物进行出库、入库、信息查询、用户添加物品归类等操作,大大地提高了工作效率。

关键词:

仓库货物管理;数据库;ASP

 

1.引言

1.1课题背景

仓库管理系统是现代企业对物资集查询、记录、操作以及数据更新于一体的管理系统。

它能实现多个仓库的管理、分类、查看等精细化管理,同时也可以对货物的进货出货进行详细的记录和查询,能够帮助企业准确的掌握库存信息,以便于企业决策部门能够正确地作出企业决策规划,从而最大限度地提高提高企业竞争力,具有广泛的市场前景。

1.2国内外研究现状

在国外,对于仓库管理为核心的研究和应用已经长达半个世纪之久,在系统化领域上取得了很大的成就,可以把仓库管理系统的发展大致分为3个阶段:

(1)初级阶段:

在20世纪50、60年代人们还没有具体的仓库管理系统化的思想仅仅只是做出了尝试。

(2)快速发展阶段:

在20世纪70年代,随着电脑技术的飞速发展,专用的仓库管理系统正式在美国问世,这标志着仓库管理的系统化程度有了进一步的提高。

(3)成熟阶段:

从上世纪70年代至今,国外仓库管理系统化已经十分的成熟,大部分仓库管理功能已经实现了全自动化。

但在我国,仓库管理系统在研究上起步较晚,技术上比较落后。

1982年美国的物流学家来中国讲授,并且将自己的3本著作翻译成中文,这对国人产生了巨大的影响,这可以称为我国的仓库现代化管理的开端。

1.3本课题的研究意义

一个大型企业必定拥有成千上万的库存,开发一个功能完善的仓库货物管理系统可以有效地对庞大的货物信息进行管理。

本文就设计开发一个集实现货物查询、管理、更新等功能为一体的系统为基本目标,通过对货物信息从查询到管理实现了自动化模式,提高工作效率,方便管理。

1.4本课题的研究思想

本次毕业设计首先结合了仓库货物管理系统的相关功能,进行需求分析,划分系统模块,结合对相关文献资料的查阅,进而得出该仓库货物管理系统应该包括以下模块:

仓库硬件管理模块、进货模块,出货模块、货物查询、密码登陆模块;其次,综合运用以前所学的相关知识,选择用asp来进行开发。

2.系统开发环境和选择工具

系统采用B/S工作模式,前台使用ASP技术,后台使用Accessss数据库。

B/S(Browser/Server,浏览器/服务器)模式又称B/S结构。

它是随着Internet技术的兴起,对C/S模式应用的扩展。

在这种结构下,用户工作界面是通过IE浏览器来实现的。

B/S模式最大的好处是运行维护比较简便。

2.1ASP简介

ASP是由Microsoft开发的一种技术,使WEB服务器端能够处理服务器脚本,并能够将处理后的标准HTML页面返回到浏览器。

2.1.1ASP运行环境(IIS)

建立ASP运行环境实际上非常简单,其实就是把IIS安装WindowsNT/Windows2000服务器上或是把PWS安装NTWorkStation/Windows98上。

一但安装成功,我们的电脑就是一个ASP及WEB数据库的运行平台。

2.1.2ASP提供了6个内置的全局对象

(1)REQUEST对象:

用来读取来自浏览器请求信息,可用该对象读取HTML表单的信息。

包含有关客户端的信息和一些参数。

(2)RESPONSE对象:

用来访问服务器创建的并发送信息到客户端的响应信息。

(3)SERVER对象:

是专为处理服务器上的特定任务而设计的,特别是与服务器的环境和处理活动有关的任务,允许用脚本来生成ACTIVESERVER组件的实例。

(4)APPLICATION对象:

用来存储、读取用户共享的应用程序信息,如可以用该对象在网站的不同连接者间传送共用消息。

(5)SESSION对象:

用来存储、读取特定连接者的对话消息,如可存储连接者对网站的访问信息。

(6)ObjectContext对象:

该对象用于控制ActiveServerPages的事务处理。

事务处理由MicrosoftTransactionServer(MTS)管理。

2.1.3ASP技术

它是一种运行于服务器于端的WEB应用程序开发技术,一种内含于IIS/PWS之中的易学易用、可以集成脚本语言到主页的服务器端的脚本语言环境。

以下是ASP技术的特点:

(1)可以混用HTML、DHTML、JAVA小程序、ACTIVEX、VBSCRIPT等,并且可以相互嵌套;

(2)不需要编译、纯文本格式;

(3)安全性好,可以保护源程序代码不外漏;

(4)面向对象,以对象为基础来实现服务器与客户端的交互。

2.2Dreamwever简介

Dreamweaver是美国MACROMEDIA公司开发的集网页制作和管理网站于一身的所见即所得网页编辑器,它是第一套针对专业网页设计师特别发展的视觉化网页开发工具,利用它可以轻而易举地制作出跨越平台限制和跨越浏览器限制的充满动感的网页。

同时利用Dreamweaver设计的网页,可以全方位的呈现在任何平台的热门浏览器上。

2.3数据库MicrosoftAccess2000简介

MicrosoftAccess2000使您容易得到所需信息,并提供强大工具,可以帮助您组织和共享您的数据库,以便您和您的工作组能作出更好的决策。

快速找到可靠答案,通过Intranet共享信息,建立更快更有效的商业解决方案。

使Web协作成为可能,用Access2000中的新工具提高生产力。

使数据对任何协作者都可直接利用。

更新销售数据或快速查看顾客细节信息。

定制您自己的图形格式,以便准确地显示您所需的信息。

使用内置MicrosoftSQLServer集成来创建可以随您的商务升级的数据库。

3仓库管理系统用户需求分析

3.1用户的角色需求

仓库管理系统的系统用户角色不多,本文将其分为高级管理员用户、仓库管理员用户和普通用户3个角色。

高级管理员用户可以对所有仓库的信息以其他用户进行所有相关操作,仓库管理员用户只能对自己所属的仓库进行操作,而普通的用户只能对仓库中的信息进行查询操作。

3.2功能需求

系统功能主要包括以下几个方面:

仓库货物的查询;仓库货物的出库入库操作;用户的管理;仓库以及货物种类的添加。

按不同的角色分析如下:

3.2.1普通用户

普通用户只可以查询仓库中的货物情况,但不能对仓库进行入库、出库等的编辑操作。

登录系统后在界面的左上方可以看到自己的姓名和所在的仓库,同时可以查询所属仓库的货物信息。

如果要进行其他的操作那么系统会提示其不具有用户操作权限。

3.1.2仓库管理员用户

仓库管理员是管理某个仓库的用户,在登陆系统后同样会在界面的左上方看到自己的名字和所在的仓库。

仓库管理员用户在查询所属仓库的货物信息的同时,可以对所在仓库的货物信息进行编辑操作。

3.1.3高级管理员用户

高级管理员用户是可以查询和编辑包括添加或删除用户、增加或删除仓库、供应商、物品出处等所有系统信息和仓库货物信息的用户,在每一个仓库都可以随意的行使仓库管理员的权利。

3.3性能要求

整个系统应当操作快捷,界面友好,维护简便;数据库要求运行稳定,执行速度快,数据安全性高。

软件系统本身运行对计算机硬件平台和操作系统平台要求适中。

4仓库管理系统的设计与实现

4.1仓库管理系统的整体框架

图1仓库管理系统的整体框架图

此图为设计的总体框架图,首先进入用户登录界面当输入正确的用户名和密码后会进入到系统主界面中,在界面中我们可以选择连接的有目录查看库存、浏览查看库存、看全部仓库等、安全退出等11个连接。

在查看库存的两个选项可以对选中的货物进行入库和出库的操作。

4.2数据库需求分析

目前整个数据库data.mdb中共有8个表,按首字母顺序分别介绍如下:

1、表(Detail)

此表为一个明细表,为详细地记录货物出库入库时的数量、单价、合计金额等而设计,其中zlhszyname_idProvider_id等是对货物的一个必要说明。

而在入库操作时需输入in_num(收入数量)in_price(收入单价)经过统计后显示in_sum(收入金额)出库的操作也是一样。

在list.asp(查看明细)中除了要显示入库和出库的信息外同时还需要显示最后的结存数量now_num,结存单价now_price,结存金额now_sum,和剩余数量left_num。

表1Detail

字段名称

数据类型

说明

id

自动编号

编号,用来区别每一个记录

rq

日期/时间

记录日期,即记录哪天发生的入库、出库日期

zl

文本

种类

hs

文本

号数

zy

文本

摘要,描述入库、出库等的说明

in_num

货币

收入数量,入库的物品数量

in_price

货币

收入单价,入库的物品单价

in_sum

货币

收入金额,入库的物品金额(数量*单价)

out_num

货币

发出数量,出库的物品数量

out_price

货币

发出单价,出库的物品单价

out_sum

货币

发出金额,出库的物品金额(数量*单价)

now_num

货币

结存数量,此时结余的物品数量

now_price

货币

结存单价,此时结余的物品单价

now_sum

货币

结存金额,此时结余的物品金额(数量*单价)

name_id

数字

品名编号,用来识别此记录应该归属哪个物品

Storage_id

数字

仓库编号,用来识别此记录应该归除哪个仓库

Provider_id

数字

供应商编号,用来识别此记录在入库时由哪个供应商提供

uses_id

数字

接应者(用户)编号,用来识别此记录出库时用于哪个地方

left_num

货币

剩余数量,用来计算某天入库的数量在此刻还有多少剩余

jz_log

数字

记帐记录标志,用来标记最后一个操作

2、商信息表(Provider)

此表记录了所有供应商的信息,为了对入库操作时物品的出处来源进行说明而设计的一个表。

表2Provider

字段名称

数据类型

说明

provider_id

自动编号

供应商编号,使供应商唯一性

provider_name

文本

供应商名称,提供货源的个体或单位名称

memo

文本

备注

3、记录表(Rpt_log)

此为每天报表的记录。

做完报表后,就产生当天的记录。

在这张表中的count_outcount_in取值于明细表中out_sumin_sum的求和值。

因为是日报表所以表中的rp取值为当天的日期,同时还需要和明细表中的rp所对应,这样才能给ount_outcount_in取值进而将信息显示在日报表页面。

表3Rpt_log

字段名称

数据类型

说明

id

自动编号

编号

storage_id

数字

仓库编号,用来识别此记录所属哪个仓库

rq

日期/时间

报表日期,做报表的日期,一般一天是做一次

user

文本

操作员,做报表的用户,显示为登录时的用户名

sj

日期/时间

报表时间,产生报表的时间

count_in

货币

收入统计金额,今日报表产生的入库总金额

count_out

货币

发出统计金额,今日报表产生的出库总金额

4、货物表(Stock)

此表是纪录所有货物的信息表。

考虑到物品需要有详细的信息记录而设计的name(品名)unit(计量单位)memo(备注)address(储存地点)rule(规格)在物品分类查找时所用到的type_id(类型编号)等;在添加物品时,物品的信息将直接记录在这张表中,其中now_stock(当前库存数)now_sum(当前库存总金额)在没有入库操作时数值为空。

表4Stock

字段名称

数据类型

说明

storage_id

数字

仓库编号,用来识别当前品名所属哪个仓库

type_id

数字

类型编号,标记当前品名属于哪个类别

name_id

自动编号

品名编号,编辑品名的唯一性编号

name

文本

品名,物品的名称

unit

单位

计量单位,用来计量物品的单位,如:

只、台,个等

now_stock

货币

当前库存数,描述当前物品在当前仓库的库存数量

now_sum

货币

当前库存总金额,描述当前物品在当前仓库的库存总金额

last_stock

货币

昨日库存,昨日的库存数量

memo

文本

备注,描述物品的更多的信息

max

货币

最大储存量,物品最大的仓库储存量,用来检验库存是否超出

min

货币

最小储存量,物品最小的仓库储存量,用来检验库存是否不足

address

文本

储存地点,物品在仓库中存放的地点,如一号货架

rule

文本

规格,该物品的规格,如彩电29寸

no

文本

货号

5、名列表(Storage)

此表为仓库名列表,考虑到需要有不同的仓库来存放不同的物品就需要有多个仓库而设计的一个表。

表5Storage

字段名称

数据类型

说明

storage_id

自动编号

仓库编号

storage_name

文本

仓库名称,如一号仓库,二号仓库等

memo

文本

备注

6、Type表

该表用来对分类后的类别进行记录。

由于该系统使用了无限分类方案,所以需要该表存放某仓库下分类的情况。

表6Type

字段名称

数据类型

说明

type_name

文本

类型名称,如食品,五金,日用品等

type_id

自动编号

类型编号,用来识别类别

in_storage

数字

所属仓库,每一个仓库都可以有自己的一套分类方案,所以要分清

parent_id

数字

父级类型,描述该分类的上级类别是哪个类别,记录的是type_id中的值

7、用户表(User)

用户表,记录所有可以登录该系统的用户名、密码和其他相关数据用户表。

其中user表中的字段in_storage意思是所属仓库,在storage表中存放着仓库信息,且表中字段storage_id就是仓库的编号,in_storage与之对应,而storage_id是自动编号产生的,所以不会有小于等于0的数字的,根据这样,当in_storage值为0时,即不属于任何仓库的用户,即他们可以管理任何仓库,也即可以称之管理员了。

用户表user中的字段viewother是查看其他的仓库,一个用户是否可以查看全部的仓库首先要看他是否可以管理全部仓库,如果in_storage值为0就说明它可以管理全部仓库同时也可以查看其他的仓库,如果不可以,即只能管理一个仓库,那么就要看字段viewother的值为什么,如果为“是”那么可以查看其他的仓库,如果为“否”则不能看其他仓库。

表7User

字段名称

数据类型

说明

user_id

自动编号

用户编号

username

文本

用户名

password

文本

密码

in_storage

数字

所属仓库,记录仓库表中的仓库编号,当为0时即可以进入任何仓库

viewother

是/否

是否可以查看其他,只有为是时,才可以查看全部的仓库情况

memo

文本

备注

8、表(Uses)

用处,或接应者,与供应商对应,该处是指某物在出库时,需要指明用在何处,以备后查。

表8Uses

字段名称

数据类型

说明

Uses_id

自动编号

使用编号

Uses_name

文本

使用名称,物品使用的对象,如内部自用,客人销售等

Memo

文本

备注

4.3具体功能模块介绍

系统有16重要个模块组成,简单介绍下面几个模块。

4.3.1今日库存报表

该模块由-report.asp实现,因为是日报表,所以它只纪录当天的入库数量、金额,出库数量、金额等。

首先打开数据库中的Rpt_log表将日期更新为当前日期,并且将当日的出库入库纪录中的结算金额(明细表中out_sumin_sum的求和值)更新到当前表中。

在将stock表中的last_stock(昨日库存)更新为now_stock(当前库存)。

此时将信息显示在report页面就可以了。

关键代码:

sql="updatestocksetlast_stock=now_stockwherestorage_id="&session("storage")

代码说明:

当条件为storage_id(仓库编号)为当前仓库时将表stock中的last_stock更新为now_stock。

sql="selectsum(in_sum)astotal_in_sum,sum(out_sum)astotal_out_sumfromdetailwhererq=date()andstorage_id="&session("storage")

代码说明:

对detail表中的所有in_sum和out_sum进行求和并且将in_sum命名为total_in_sum将out_sum命名为total_out_sum条件是rp为当前日期storage_id(仓库编号)为当前仓库时。

4.3.2查看全部库存

该模块由all.asp来实现。

只有在这里才可以一览全部仓库的情况,可以很方便地选择某个仓库再选择其下的某个类别。

进行查看或查找时,该操作针对全部仓库。

用户要进入此页面,必须具有可以查看其他仓库的权限。

如果是没有权限会跳转到relogin.asp页面进行警告。

4.3.3修改密码

修改密码是让用户在线进行修改自己的密码,要先以自己的用户名和密码成功登录,然后输入原密码、新密码和校验密码,只有当原密码正确,新密码和校验密码一致时才可以正确修改密码,密码修改操作完成后,下次登录时原密码失效,新密码启用。

关键代码:

sql="select*from[user]whereusername='"&session("username")&"'andpassword='"&request.form("old_pass")&"'"

rs.opensql,conn,3,2

ifnotrs.eofthen

ifrequest.form("new_pass")=request.form("confirm_pass")then

rs("password")=request.form("new_pass")

rs.update

代码说明:

要求user表中的用户名和密码与输入的用户名和密码一致时执行。

如果两次输入的新密码相同,那么将输入的新密码赋值给记录集中的password进而更新记录集。

这时user表单中的密码信息就成功更改了。

4.3.4新增用户

在线进行增加用户名。

这种方式具有权限继承性,即只有可以管理并查看全部仓库的用户才可以分配给新用户这种权限,没有此权限的用户无法给新用户高于当前用户更高的权限。

在填写信息时必须全部填写,否则会提示某个项目没有填写,然后重新填写。

关键代码:

request("name")=""then

msg=msg+"请输入物品名称!

代码说明:

如果name为空则提示请输入物品名称。

rs.addnew

rs("username")=request.form("name")

rs("password")=request.form("password")

rs("memo")=request.form("memo")

ifrequest.form("manage")=""then

ifrequest.form("selstorage")<>0then

rs("in_storage")=request.form("selstorage")

else

rs("in_storage")=session("storage")

endif

else

rs("in_storage")=0

endif

ifrequest.form("view_other")=""then

rs("viewother")=False

else

rs("viewother")=True

endif

rs.update

代码说明:

添加记录集。

将输入的名字密码和备注记录到记录集中的usernamepasswordmemo中,如果管理选项(manage)没有填(为空),那么它就为当前仓库的管理者,否则就为全部仓库的管理者。

,如果view_other没有填(为空)那么就没有权限查看其他仓库,反之则可以查看其他仓库,然后将记录集更新。

这时新的用户就添加到user表单中了。

4.3.5删除用户

在线对用户名进行删除操作。

这种方式具有用户选择性,即只有可以管理全部仓库的管理员才可以删除用户,同时只有不是管理员的用户才会显示在删除表中。

即viewother=False的时候,因为管理员的viewother字段值全部都为True。

4.3.6新增仓库

对表storage进行增加仓库名称,只要新加入一个仓库,这个仓库在使用时与其他仓库的使用没有任何关系,只是他们可以放在一起进行查看,是他们唯一的联系。

在添加仓库的时候所有的选项也要全部进行添写,否则会发那里没有填写的出错误的提示。

4.3.7新增供应商

和新增仓库模块的原理一样对表Provider进行供应商名称的添加,在入库操作时可以选择所添加的供应商。

4.3.8新增用处

用处是相对供应商的。

这里反映出某物品的货源及面向对象。

它是对uses表进行用处的添加,在出库操作时可以选择所添加的用处。

4.3.9新增品名

对当前仓库当前类别下新增物品,用来描述物品信息。

即对stock表中添加物品名。

当新增某物品时还需对他进行入库、出库等操作,该物品才算有意义。

关键代码:

sql="select*fromstockwherename='"&request.form("name")&"'andstorage_id="&session("storage")&"andunit='"&request.form("unit")&"'andrule='"&request.form("gg")&"'"

rs.opensql,conn,3,2

ifrs.eofthen

rs.addnew

rs("name")=request.form("name")

rs("storage_id")=session("storage")

rs("type_id")=session("prnt")

rs("unit")=request.form("unit")

rs("rule")=request.form("gg")

rs("no"

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1