oracle仓库管理系统.docx
- 文档编号:25848040
- 上传时间:2023-06-16
- 格式:DOCX
- 页数:37
- 大小:3.94MB
oracle仓库管理系统.docx
《oracle仓库管理系统.docx》由会员分享,可在线阅读,更多相关《oracle仓库管理系统.docx(37页珍藏版)》请在冰豆网上搜索。
oracle仓库管理系统
ASP.NET程序设计
实验报告
设计题目:
仓库管理系统
指导教师:
王斌斌郭力争蔡照鹏
班级:
0844131
学号:
084413148
学生姓名:
谢伊豪
同组人员:
王瑛婕,张哲
成绩:
评语:
计算机科学与工程学院
2015年11月30日
一.需求分析
1.1开发背景
随着信息技术的发展和国内外互联网技术应用水平的逐步提高,在企业管理过程中,传统的工作方式和管理模式已经难以满足现代社会的必然需求,实现企业现代化综合管理已经是提高国家政府机关和企事业单位各部门工作效率、规范化管理的必然发展趋势。
随着经济全球化、信息网络化和物流现代化进程的全面推进,仓储供需量呈现爆炸式的增长,传统的仓库管理模式和管理系统,已根本满足不了现代社会全面信息化的严峻挑战,如何加强以信息化为指导的现代仓库管理技术已成为物流现代化走向成功的有效途径,如何将互联网技术和仓储物流的信息化技术紧密结合起来,开发出适应当前社会发展需要的、先进的现代化物流仓储管理技术平台,是现代化物流发展技术中一项基础的、又是很关键的、特别值得研究的子课题。
ASP技术是面向对象编程的技术,可实现复杂数据库的操作;用ASP开发的Web应用程序安装在网络服务器上,运行在网络服务器上,因而ASP源程序的隐密安全系数性高;而ASP又是基于B/S模型架构的、开放式的Web服务器的应用程序开发技术,因此,采用ASP技术开发运行在服务器端的仓库管理信息系统平台是众多软件设计与开发人士的首要选择。
本文比较全面地阐述了与ASP、ADO、B/S模式有关的理论技术,为构建Web仓库管理信息系统提供了必要的理论支持。
首先分析了ASP技术的优势、特点及其工作原理,剖析了ASP工作的核心内涵,搭建了ASP技术的工作环境,为开发系统功能提供的必需的技术运行环境;分析了目前Web数据库最佳访问组件ADO技术的对象与数据集之间的关系,直接搭建了Web应用程序与数据库访问的联系梁;根据现代仓储市场的需求特点,对拟开发系统的功能进行了细致地分析与设计,建立了仓储数据管理的E-R模型图、数据库结构,分析了B/S架构模式的三层框架,构建了以该框架为模型的仓库管理信息系统,重点分析介绍了有关功能模块的ASP实现过程,成功地实现了基于ASP运行环境的仓库管理信息系统的开发与设计;并对本系统的各项功能进行了测试与分析,发现系统运行状态良好,人机交互友好,程序设计实现合理,达到了项目设计的目的和要求。
最后,对本次的项目设计进行了总结与展望,发现了系统的构架模式关系着程序开发效率,对开发系统有着重要的影响意义,好马配好鞍,优秀的软件必然有优秀的构架。
作为软件开发设计人员既要努力学好软件技术又要重视相关模式的学习,这样,就能达到事半功倍的效果,设计开发出更加优秀的应用系统来。
1.2开发意义
仓库管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护,以及前端应用程序的开发两个方面。
对于前者要求建立起数据一致性和完整性强、数据安全性好的库,而对于后者则要求应用程序功能完备、易使用等特点。
经过分析,我们使用Microsoft公司的数据库开发工具SQLServer2008和MicrosoftVisualStudio2010,利用其提供的各种面向对象的开发工具和数据库的结合比较方便,我们开发了这套库存管理系统,包括仓库管理、入库管理、出库管理、库存管理以及查询等模块。
仓库管理可用于配置企业的仓库信息;出库、入库管理可以使管理人员管理各种类型的货物进出;库存管理可提供便捷的库存查询管理。
仓库管理系统实现了企业对货物的管理,用来控制存储货物的数量,以保证稳定的货物支持正常的运转,但又最小限度地占用资本。
它是一种相关的、动态的及真实的库存控制系统。
它能够结合、满足相关部门的需求,随时间变化动态地调整库存,精确地反映库存现状,加强库存环节管理,有效地控制货物收发,降低了库存,优化了库存结构;能够及时了解货物状态,全方位的仓库管理可以及时了解货物分布,避免了货物短缺、积压、过期变质,及时了解货物的收发成本,货物数据共享。
二.总体概述
2.1系统功能
系统要具备如下功能:
登录界面统一,用户登录系统时进行身份验证,如不是系统用户则禁止登录;添加新员工时,通过系统管理员进行添加,并能采集员工的基本信息;仓库货品信息的管理,系统包括仓库管理、入库、出库和一些统计查询等几部分组成。
仓库管理系统实现对货品信息的管理和总体的统计等,仓库信息,供货单位和操作员信息的查看及维护。
仓库管理人员可以浏览、查询、添加、删除等产品的基本信息。
2.1.1登录模块
登录模块可以分为系统管理员登录和管理员登录。
如果用户要进行登陆时,系统会进去数据库进行帐号密码匹配,同时也要进行权限匹配,如果匹配成功才可以登录。
根据其选择的用户不同,输入不同的用户与密码,接入不同的用户界面,管理不同的界面。
2.1.2管理员模块
管理员登录:
基本信息管理(仓库基本信息,客户基本信息,操作员基本信息)
货物信息管理(对货物信息的添加,删除,修改等功能)
仓库货物管理(进行出库和入库操作及其信息记录)
查询信息管理(对仓库,货物,客户等信息的查询)
仓库警报功能(当库存信息不足时进行提醒功能)
信息导出功能(导出货物信息,入库信息,出库信息)
2.1.3系统管理员模块
系统管理员登录:
管理员信息管理(对管理员信息的添加,修改,删除)
采购员信息管理(对采购员信息的添加,修改,删除)
提货员信息管理(对提货员信息的添加,修改,删除)
2.2界面设计
2.2.1登录界面
2.2.2系统管理员界面
2.2.3管理员界面
三.数据库设计
3.1数据库的概念设计
1.E-R图设计方法
1).属性必须是不可分的数据项。
2).属性不能与其他实体具有联系,联系只能发生在实体之间。
2.全局E-R图
3.2数据流图
3.3数据表的设计与实现
(1)仓库表
字段名称
数据类型
描述
仓库编号
nchar(10)
仓库编号,主键
仓库名称
nvarchar(50)
仓库名称
仓库地址
nvarchar(50)
仓库地址
仓库大小
Int
仓库大小
(2)入库表
字段名称
数据类型
描述
货物编号
nchar(10)
货物编号
采购员编号
nchar(10)
采购员编号
采购日期
datetime
采购日期
采购数量
Int
采购数量
管理员编号
nchar(10)
管理员编号
仓库编号
nchar(10)
仓库编号
(3)出库表
字段名称
数据类型
描述
货物编号
nchar(10)
货物编号
提货员编号
nchar(10)
采购员编号
出库日期
datetime
采购日期
出库数量
Int
采购数量
仓库编号
nchar(10)
仓库编号
(4)客户表
字段名称
数据类型
描述
客户号
varchar(10)
客户号,主键
客户名
varchar(50)
客户名
客户类型
varchar(50)
客户类型
联系地址
varchar(50)
联系地址
邮政编号
varchar(10)
邮政编号
联系电话
varchar(30)
联系电话
备注
varchar(100)
备注
(5)库存表
字段名称
数据类型
描述
货物编号
nchar(10)
货物编号
仓库编号
nchar(10)
仓库编号
货物数量
Int
货物数量
清点时间
timestamp
清点时间
(6)提货员表
字段名称
数据类型
描述
提货员编号
nchar(10)
提货员编号,主键
提货员姓名
nchar(10)
提货员姓名
提货员性别
nchar(10)
提货员性别
提货员联系方式
nvarchar(50)
提货员联系方式
提货员联系地址
nvarchar(50)
提货员联系地址
部门
nvarchar(50)
部门
(7)用户表
字段名称
数据类型
描述
用户名
nchar(10)
用户名
密码
nchar(10)
密码
权限
Int
权限
(8)管理员表
字段名称
数据类型
描述
管理员编号
nchar(10)
管理员编号,主键
管理员姓名
nchar(10)
管理员姓名
管理员性别
nchar(10)
管理员性别
管理员联系方式
nvarchar(50)
管理员联系方式
(9)货物表
字段名称
数据类型
描述
货物编号
nchar(10)
货物编号
货物名称
nchar(10)
货物名称
仓库编号
nchar(10)
仓库编号
生产日期
datetime
生产日期
生产厂家
nvarchar(50)
生产厂家
采购员编号
nchar(10)
采购员编号
货物单价
int
货物单价
入库时间
datetime
入库时间
(10)采购员表
字段名称
数据类型
描述
采购员编号
nchar(10)
提货员编号,主键
采购员姓名
nchar(10)
提货员姓名
采购员性别
nchar(10)
提货员性别
采购员联系方式
nvarchar(50)
提货员联系方式
采购员联系地址
nvarchar(50)
提货员联系地址
四.系统公共类部署
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Web;
usingSystem.Data;
usingSystem.Data.SqlClient;
publicclassClass1
{
publicClass1()
{
}
publicstaticSqlConnectionmyconn()
{
returnnewSqlConnection("Server=.;DataBase=CangKu;IntegratedSecurity=True;");
}
}
五.主要功能模块实现
5.1管理员模块
管理员模块是一个学校学生信息系统中最为关键的一个环节,管理员能操作操作系统内的任何信息,具体该系统的基本权限,是可以对系统内的信息进行维护的,对系统进行操作的。
5.1.1基本信息模块
基本信息模块包含仓库基本信息,客户基本信息,操作员基本信息。
仓库基本信息设置有修改和删除的功能。
客户基本信息设置了添加,删除和修改的功能。
操作员基本信息设置了修改功能。
因为客户信息为常变实体属性,因此设置了添加,修改和删除的功能。
仓库信息为不常变实体属性,因此设置了修改和删除属性。
操作员因为是管理员,不能修改同一等级权限的信息,因此只给添加了修改基本信息的功能。
添加客户信息关键代码
protectedvoidButton1_Click(objectsender,EventArgse)
{
SqlCommandmycomm=newSqlCommand("insertinto客户values('"+this.TextBox1.Text.ToString()+"','"+this.TextBox2.Text.ToString()+"','"+this.TextBox3.Text.ToString()+
"','"+this.TextBox4.Text.ToString()+"','"+this.TextBox5.Text.ToString()+"','"+this.TextBox6.Text.ToString()+"','"+this.TextBox7.Text.ToString()+"')",conn);
conn.Open();
mycomm.ExecuteNonQuery();
conn.Close();
SqlCommandmy=newSqlCommand("select*from客户where客户号='"+this.TextBox1.Text.ToString()+"'",conn);
conn.Open();
SqlDataReaderrecu=my.ExecuteReader();
if(recu.Read())
{
Response.Write("");
}
else
{
Response.Write("");
}
conn.Close();
}
5.1.2货物信息模块
货物信息模块包含对货物信息的添加,货物信息的删除,货物信息的修改对应现实世界的引进新货物,货物信息的更新和清仓处理。
添加货物信息的关键代码
protectedvoidButton1_Click(objectsender,EventArgse)
{
SqlCommandmycomm=newSqlCommand("insertinto货物values('"+this.TextBox1.Text.ToString()+"','"+this.TextBox2.Text.ToString()+"','"+this.TextBox3.Text.ToString()+
"','"+this.TextBox4.Text.ToString()+"','"+this.TextBox5.Text.ToString()+"','"+this.TextBox6.Text.ToString()+"','"+this.TextBox7.Text.ToString()+"','"+this.TextBox8.Text.ToString()+"')",conn);
conn.Open();
mycomm.ExecuteNonQuery();
conn.Close();
SqlCommandmy=newSqlCommand("select*from货物where货物编号='"+this.TextBox1.Text.ToString()+"'",conn);
conn.Open();
SqlDataReaderrecu=my.ExecuteReader();
if(recu.Read())
{
Response.Write("");
}
else
{
Response.Write("");
}
conn.Close();
}
5.1.3出库入库模块
出库入库模块包含了货物出库和入库模块。
对于入库信息来说,当系统开始入库时,先判断货物是否存在,如果不存在的话这直接将货物信息插入库存表,然后在入库表中插入记录,提示入库成功。
如果货物存在的话则看对应的仓库是否存在如果存在的话则在原来的货物基础上只更新货物数量提示入库成功,如果仓库不匹配的话则插入该货物信息,然后在入库表中插入记录,提示入库成功。
出库信息,当系统开始出库时,先判断货物是否存在如果存在的话则看需要出货的仓库是否存在,如果存在的话再看货物数量是否满足出货数,如果满足则出库成功同时对库存表和出库表进行更新,提示出库成功,否则则出库失败。
入库关键代码
protectedvoidButton1_Click(objectsender,EventArgse)
{
SqlCommandmy=newSqlCommand("select*from库存where货物编号='"+this.TextBox1.Text.ToString()+"'and仓库编号='"+this.TextBox6.Text.ToString()+"'",conn);
conn.Open();
SqlDataReaderrecu=my.ExecuteReader();
if(recu.Read())
{
conn.Close();
SqlCommandmy1=newSqlCommand("update库存SET货物数量=(货物数量+"+this.TextBox4.Text+")where货物编号='"+this.TextBox1.Text.ToString()+"'and仓库编号='"+this.TextBox6.Text.ToString()+"'",conn);
conn.Open();
my1.ExecuteNonQuery();
conn.Close();
}
else
{
conn.Close();
SqlCommandmy2=newSqlCommand("insertinto库存(货物编号,仓库编号,货物数量)values('"+this.TextBox1.Text.ToString()+"','"+this.TextBox6.Text.ToString()+"',"+this.TextBox4.Text+")",conn);
conn.Open();
my2.ExecuteNonQuery();
conn.Close();
}
SqlCommandmy3=newSqlCommand("select*from库存where货物编号='"+this.TextBox1.Text.ToString()+"'and仓库编号='"+this.TextBox6.Text.ToString()+"'",conn);
conn.Open();
SqlDataReaderrecu1=my.ExecuteReader();
if(recu1.Read())
{
conn.Close();
SqlCommandmycomm=newSqlCommand("insertinto入库avalues('"+this.TextBox1.Text.ToString()+"','"+this.TextBox2.Text.ToString()+"','"+this.TextBox3.Text.ToString()+
"','"+this.TextBox4.Text+"','"+this.TextBox5.Text.ToString()+"','"+this.TextBox6.Text.ToString()+"')",conn);
conn.Open();
mycomm.ExecuteNonQuery();
conn.Close();
Response.Write("");
}
else
{
conn.Close();
Response.Write("");
}
}
出库关键代码
protectedvoidButton1_Click(objectsender,EventArgse)
{
SqlCommandmy=newSqlCommand("select*from库存where(货物编号='"+this.TextBox1.Text.ToString()+"'and货物数量>="+this.TextBox5.Text+"and仓库编号='"+this.TextBox2.Text.ToString()+"')",conn);
conn.Open();
SqlDataReaderrecu=my.ExecuteReader();
if(recu.Read())
{
conn.Close();
SqlCommandmycomm=newSqlCommand("insertinto出库values('"+this.TextBox1.Text.ToString()+"','"+this.TextBox2.Text.ToString()+"','"+this.TextBox3.Text.ToString()+
"','"+this.TextBox4.Text+"','"+this.TextBox5.Text.ToString()+"','"+this.TextBox6.Text.ToString()+"')",conn);
conn.Open();
mycomm.ExecuteNonQuery();
conn.Close();
SqlCommandmy1=newSqlCommand("update库存SET货物数量=(货物数量-"+this.TextBox5.Text+")where(货物编号='"+this.TextBox1.Text.ToString()+"'and仓库编号='"+this.TextBox2.Text.ToString()+"')",conn);
conn.Open();
my1.ExecuteNonQuery();
conn.Close();
Response.Write("");
}
else
{
conn.Close();
Response.Write("");
}
}
5.1.4信息查询模块
信息查询模块包含货物信息查询,仓库信息查询,客户信息查询。
通过对客户表,仓库表和货物表的主键进行匹配唯一的确定一行数据反回GridView进行显示。
查询仓库信息关键代码
protectedvoidBindGrid()
{
SqlDataAdapterdataAdapter2=new
SqlDataAdapter("select*from仓库where仓库编号='"+TextBox1.Text.ToString()+"'",myConn);
DataSetsetS=newDataSet();
dataAdapter2.Fill(setS,"AAA");
this.GridView1.D
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- oracle 仓库 管理 系统