仓库管理系统报告.docx

上传人:b****4 文档编号:27248273 上传时间:2023-06-28 格式:DOCX 页数:28 大小:444.75KB
下载 相关 举报
仓库管理系统报告.docx_第1页
第1页 / 共28页
仓库管理系统报告.docx_第2页
第2页 / 共28页
仓库管理系统报告.docx_第3页
第3页 / 共28页
仓库管理系统报告.docx_第4页
第4页 / 共28页
仓库管理系统报告.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

仓库管理系统报告.docx

《仓库管理系统报告.docx》由会员分享,可在线阅读,更多相关《仓库管理系统报告.docx(28页珍藏版)》请在冰豆网上搜索。

仓库管理系统报告.docx

仓库管理系统报告

辽宁工业大学

2012—2013学年第二学期

开放性试验

 

选题名称:

仓库管理系统

专业:

信息管理

班级:

信管101班

姓名:

桂莹莹

学号:

101603029

指导教师:

张彩虹

日期:

2013。

07.12

摘要:

随着现代工业的发展,计算机信息管理系统越来越受到企业的重视。

本文主要分析介绍了仓库管理系统的一些基本功能和组成情况,包括系统的需求分析、系统结构、功能模块划分以及数据库模式分析等,重点对应用程序的实际开发实现作了介绍.达到了数据的一致性和安全性,且应用程序功能完备,符合了库存管理系统作为典型的信息管理系统(MIS)的要求。

同时简单介绍了VisualStudio2008编程环境和SQL数据库管理系统的功能特点,库存管理系统是企业物流管理中不可或缺的的一部分。

本系统利用ASO三层架构,完成系统登录,注销,修改密码的基本功能,仓库入库登记,出库登记,仓库货物预警,仓库内货物盘点的主要功能.本系统并不复杂,主要完成通过GUI开发,利用关键字对数据库进行增删改查等操作。

关键词:

仓库管理;数据库;信息管理;VisualStudio2008

1需求分析

1.1系统概述

仓库存放的货物品种繁多,堆放方式以及处理过程也很复杂。

随着业务量的增加,仓库管理者需要处理的信息量会大幅上升,因此往往很难及时准确的掌握整个仓库的运作状态。

针对这一情况,本系统在满足仓库的基本管理功能基础上发挥信息系统的智能化,减轻仓库管理人员和操作人员的工作负担。

系统主要实现目标是监控整个仓库的运作情况;提供完整的计划任务功能,由整个操作系统的指令中心来安排进出任务,确认任务的开始,进货管理和出货管理按其指令执行即可;实时监控所有货物的在线运动的情况,实时提供仓库变化的信息.

1.2系统总体需求

根据详细的需求分析,企业在库存中面临的主要问题体现在:

库存量大,库存资金周转慢,不能及时统计库存物料;库房人员重复工作多,效率低;不知道库存物资积压时间长短。

系统输入繁琐,极易产生输入错误,缺少智能化输入功能,如:

产品名称输入过程中,产品名称和产品代码不能够相互协调,易产生不匹配现象。

另外,整个系统运行较慢,数据处理能力不够,进行一个查询往往需要等待很长时间。

该系统还缺少通用库存管理理功能,货物组成条目都是经过手工计算的,工作量很大,且容易产生错误,有一个小错误,核对都需要花费很大的精力,换句话说,当前没有通用库存管理系统。

本系统从最初的采购到存储和出库,仓库管理将决定企业是否兑现其承诺。

从仓库计划到仓库操作和交叉运输,优化的仓库将有助于大幅度减少企业的库存量和和货物成本,因为企业将能保持较低的库存货水平,优化入库,保管和出库活动,并且协调载货量。

1.3可行性分析

技术上可行:

该系统所需硬件设备,市场上销售且价格较低,甚至可以使用原有的设备,软件上,操作系统采用Windows系列操作系统,数据库管理系统采用VisualStudio2008,这些软件在GUI开发中已被大量应用,技术上都比较成熟。

因此在技术上是可行的。

2概要设计

2。

1E-R图

 

2.2相关说明

登录系统:

账号密码均存储于SQL数据库中。

输入账号及账号对应密码,即可登录系统。

修改密码:

需输入一次原密码,输入两次新密码相同即可修改。

密码修改同步于SQL数据库。

注销:

登录账号退出,返回登陆界面。

退出系统:

系统退出。

入库登记:

输入产品ID,即可直接获得产品的相关信息,此时输入入库数量就可以完成货物的入库操作,如果此时产品为新产品,需输入产品的详细信息,就可以完成货物的入库操作。

入库操作同步更新SQL数据库。

出库登记:

输入产品ID,即可直接获得产品的相关信息,此时输入出库数量就可以完成货物的出库操作,入库操作同步更新SQL数据库.

仓库预警:

输入预警数量,点击确定按钮,此时显示数据库中,货物数量小于预警数量的货物总数和货物详细信息。

商品查询:

显示仓库中所有货物的详细信息,可以输入产品ID和产品名称进行货物查询,支持模糊查找。

3详细设计

3。

1数据库表定义

Users表(用户信息表)

Goods表(货物详情表)

Worehouses表(仓库信息表)

3。

2GUI框架设计

1

仓库管理系统主页面

 

2

设备台账查询

3

设备维修登记信息

4

归还信息登记

5

设备登记信息查询

6

租赁计划信息

 

部门信息查询

9

部门借还信息

编码实现

登录系统

publicstaticstringpwd;

publicstaticstringpid;

privatevoidbutton1_Click(objectsender,EventArgse)

pwd=this。

textBox1.Text;

pid=this。

textBox2.Text;

Logsl=newLogs();

if(int。

Parse(l.isPassword(this。

textBox2.Text,this.textBox1.Text).ToString())==1)

{

this.Hide();

Managementm=newManagement();

m。

ShowDialog();

}

else

{

DialogResultdr=MessageBox。

Show(”请检查您的用户名和密码”,"登录失败”,MessageBoxButtons.YesNo);

if(DialogResult.No==dr)

{

Application.Exit();

}

}

privatevoidbutton2_Click(objectsender,EventArgse)

Application。

Exit();

主菜单

publicpartialclassManagement:

Form

publicManagement()

InitializeComponent();

privatevoidChangeToolStripMenuItem_Click(objectsender,EventArgse)

{

ChangePasswordcp=newChangePassword();

cp。

ShowDialog();

privatevoidLogoutToolStripMenuItem_Click(objectsender,EventArgse)

DialogResultdr=MessageBox。

Show(”您确定要注销吗?

","注销”,MessageBoxButtons。

YesNo);

if(dr==DialogResult.Yes)

Application.Exit();

}

privatevoidOutToolStripMenuItem_Click(objectsender,EventArgse)

{

Application.Exit();

}

privatevoidManagement_Load(objectsender,EventArgse)

{

this.goodsTableAdapter。

Fill(this。

wmsDataSet.Goods);

}

privatevoidManagement_FormClosed(objectsender,FormClosedEventArgse)

{

Application.Exit();

}

privatevoidInputF2ToolStripMenuItem_Click(objectsender,EventArgse)

InputWHFormiwh=newInputWHForm();

iwh.ShowDialog();

}

privatevoidManagement_Activated(objectsender,EventArgse)

{

this.goodsTableAdapter.Fill(this。

wmsDataSet.Goods);

}

privatevoidOutF6ToolStripMenuItem_Click(objectsender,EventArgse)

OutWHFormowh=newOutWHForm();

owh。

ShowDialog();

privatevoidWarningToolStripMenuItem_Click(objectsender,EventArgse)

Warningw=newWarning();

w。

ShowDialog();

}

privatevoidGoodsDetailsToolStripMenuItem_Click(objectsender,EventArgse)

this.goodsTableAdapter.Fill(this。

wmsDataSet.Goods);

privatevoidWareHouseDetailsToolStripMenuItem_Click(objectsender,EventArgse)

{

this。

warehousesTableAdapter.Fill(this。

wmsDataSet1。

Warehouses);

}

privatevoidSearchToolStripMenuItem_Click(objectsender,EventArgse)

Searchs=newSearch();

s。

Show();

}

privatevoidfillByToolStripButton_Click(objectsender,EventArgse)

{

try

this。

goodsTableAdapter.FillBy(this。

wmsDataSet.Goods);

catch(System。

Exceptionex)

System。

Windows。

Forms。

MessageBox。

Show(ex.Message);

}

 

入库登记

publicpartialclassInputWHForm:

Form

publicInputWHForm()

InitializeComponent();

privatevoidInputWHForm_Load(objectsender,EventArgse)

//TODO:

这行代码将数据加载到表“wmsDataSet4。

Goods”中.您可以根据需要移动或移除它.

this.goodsTableAdapter.Fill(this.wmsDataSet4.Goods);

privatevoidbutton6_Click(objectsender,EventArgse)

this。

Close();

publicvoidSendToInput()

{

GoodsDetailss=newGoodsDetails();

s.GID=int.Parse(this。

textBox1。

Text);

s.GName=this。

comboBox1.Text;

s。

Gprice=float。

Parse(this.textBox3.Text);

s。

GProvider1=boBox1.Text;

s.GProvider2=this。

comboBox4.Text;

s.Wname=int。

Parse(boBox2。

Text);

s。

Count=SqlHelper.DefiniteCount(this.textBox1。

Text)+int。

Parse(this.textBox2。

Text);

SqlHelper.AddGoods(s);

}

privatevoidbutton5_Click(objectsender,EventArgse)

SendToInput();

this。

Close();

privatevoidtextBox1_TextChanged(objectsender,EventArgse)

GoodsDetailsg=SqlHelper.Bind(this。

textBox1。

Text);

boBox3.Text=g。

GName;

this。

textBox3.Text=g。

Gprice。

ToString();

this。

comboBox1.Text=g.GProvider1;

boBox4。

Text=g。

GProvider2;

boBox2。

Text=g。

Wname。

ToString();

}

}

出库登记

publicpartialclassOutWHForm:

Form

{

publicOutWHForm()

{

InitializeComponent();

}

privatevoidbutton2_Click(objectsender,EventArgse)

{

this.Close();

privatevoidbutton1_Click(objectsender,EventArgse)

{

SentToOutput();

this。

Close();

privatevoidSentToOutput()

GoodsDetailss=newGoodsDetails();

s.GID=int.Parse(this.textBox1.Text);

s.GName=this。

comboBox1。

Text;

s。

Gprice=float。

Parse(this.textBox3.Text);

s。

GProvider1=this。

comboBox1.Text;

s.GProvider2=boBox4。

Text;

s。

Count=SqlHelper.DefiniteCount(this.textBox1.Text)-int.Parse(this。

textBox2。

Text);

SqlHelper。

OutGoods(s);

privatevoidOutWHForm_Load(objectsender,EventArgse)

{

//TODO:

这行代码将数据加载到表“wmsDataSet2。

Goods"中。

您可以根据需要移动或移除它。

this.goodsTableAdapter.Fill(this。

wmsDataSet2。

Goods);

privatevoidtextBox1_TextChanged(objectsender,EventArgse)

{

GoodsDetailsg=SqlHelper。

Bind(this。

textBox1.Text);

boBox3。

Text=g.GName;

this。

textBox3。

Text=g.Gprice。

ToString();

this。

comboBox1.Text=g.GProvider1;

boBox4.Text=g。

GProvider2;

库存预警

publicpartialclassWarning:

Form

publicWarning()

{

InitializeComponent();

}

privatevoidbutton3_Click(objectsender,EventArgse)

this.listBox1。

Items.Clear();

List〈GoodsDetails>g=newList();

g=SqlHelper。

WarningBind(this。

textBox2。

Text);

inti=0;

for(i=0;i〈g。

Count();i++)

{

this.listBox1。

Items.Add(g[i].GID.ToString().PadLeft(4)+g[i]。

GName.PadLeft(20)+g[i]。

Count。

ToString()。

PadLeft(10)+g[i]。

GProvider1。

PadLeft(20)+g[i]。

GProvider2.PadLeft(10));

this.textBox1.Text=i。

ToString();

}

货物查询

publicpartialclassSearch:

Form

publicSearch()

{

InitializeComponent();

privatevoidbutton1_Click(objectsender,EventArgse)

this.Close();

}

privatevoidSearch_Load(objectsender,EventArgse)

//TODO:

这行代码将数据加载到表“wmsDataSet5.Goods”中.您可以根据需要移动或移除它。

this.goodsTableAdapter.Fill(this.wmsDataSet5。

Goods);

}

privatevoidbutton2_Click(objectsender,EventArgse)

{

GoodsDetailsg=SqlHelper。

BindVague(boBox3.Text);

this.textBox1。

Text=g.GID。

ToString();

this。

textBox3.Text=g.Gprice.ToString();

boBox1.Text=g.GProvider1;

boBox4。

Text=g.GProvider2;

this。

comboBox2.Text=g。

Wname。

ToString();

this。

textBox2.Text=g。

Count.ToString();

privatevoidbutton3_Click(objectsender,EventArgse)

{

GoodsDetailsg=SqlHelper.Bind(this。

textBox1.Text);

this。

comboBox3。

Text=g。

GName;

this。

textBox3.Text=g。

Gprice.ToString();

boBox1。

Text=g。

GProvider1;

boBox4.Text=g.GProvider2;

this。

comboBox2.Text=g.Wname。

ToString();

this。

textBox2。

Text=g.Count.ToString();

}

}

数据库连接

publicstaticvoidChangeDBPassword(intp,stringp2)

{

SqlConnectionco=newSqlConnection(ConnectionString。

con);

SqlCommandcmd=newSqlCommand(string.Format(”updateUserssetUpassword=’{0}’whereUID=’{1}'",p,p2),co);

co.Open();

vari=(int)cmd。

ExecuteNonQuery();

MessageBox。

Show("密码修改成功");

co。

Close();

publicstaticvoidAddGoods(GoodsDetailsg)

SqlConnectionco=newSqlConnection(ConnectionString。

con);

SqlCommandcmd3=newSqlCommand(string.Format("selectcount(*)fromGoodswhere产品ID=’{0}’”,g.GID),co);

co。

Open();

intj=(int)cmd3.ExecuteScalar();

if(j==0)

{

SqlCommandcmd2=newSqlCommand(string。

Format("insertintoGoodsvalues(’{0}','{1}','{2}’,’{3}','{4}','{5}','{6}','{7}’)”,g。

GID,g.GName,g。

Gprice,g。

Count,g。

GProvider1,g。

GProvider2,g。

GDescribe,g.Wname),co);

inti=(int)cmd2.ExecuteNonQuery();

MessageBox.Show("添加成功”);

co.Close();

}

else

{

SqlCommandcmd1=newSqlCommand(string.Format(”updateGoodsset产品名称=’{1}’,产品价格='{2}’,仓库所剩数量='{3}’,厂商='{4}',厂商='{5}',备注='{6}’,收货仓库ID='{7}'where产品ID='{0}’”,g。

GID,g.GName,g.Gprice,g.Count,g。

GProvider1,g.GProvider2,g。

GDescribe,g.Wname),co);

inti=(int)cmd1.ExecuteNonQuery();

MessageBox。

Show(”更新成功”);

co.Close();

publicstaticvoidOutGoods(GoodsDetailsg)

SqlConnectionco=

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

当前位置:首页 > 总结汇报 > 学习总结

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

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