仓库管理系统报告_第1页
仓库管理系统报告_第2页
仓库管理系统报告_第3页
仓库管理系统报告_第4页
仓库管理系统报告_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

辽宁工业大学2012—2013学年第二学期开放性试验选题名称:仓库管理系统专业:信息管理班级:信管101班姓名:桂莹莹学号:101603029指导教师:张彩虹日期:2013.07.12摘要:随着现代工业的发展,计算机信息管理系统越来越受到企业的重视。本文主要分析介绍了仓库管理系统的一些基本功能和组成情况,包括系统的需求分析、系统结构、功能模块划分以及数据库模式分析等,重点对应用程序的实际开发实现作了介绍。达到了数据的一致性和安全性,且应用程序功能完备,符合了库存管理系统作为典型的信息管理系统(MIS)的要求。同时简单介绍了VisualStudio2008编程环境和SQL数据库管理系统的功能特点,库存管理系统是企业物流管理中不可或缺的的一部分。本系统利用ASO三层架构,完成系统登录,注销,修改密码的基本功能,仓库入库登记,出库登记,仓库货物预警,仓库内货物盘点的主要功能。本系统并不复杂,主要完成通过GUI开发,利用关键字对数据库进行增删改查等操作。关键词:仓库管理;数据库;信息管理;VisualStudio2008

目录TOC\o"1-2"\h\u1需求分析 21.1系统概述 21.2系统总体需求 21.3可行性分析 22概要设计 32.1E-R图 32.2相关说明 33详细设计 43.1数据库表定义 43.2GUI框架设计 54编码实现 85总结 181需求分析1.1系统概述仓库存放的货物品种繁多,堆放方式以及处理过程也很复杂。随着业务量的增加,仓库管理者需要处理的信息量会大幅上升,因此往往很难及时准确的掌握整个仓库的运作状态。针对这一情况,本系统在满足仓库的基本管理功能基础上发挥信息系统的智能化,减轻仓库管理人员和操作人员的工作负担。系统主要实现目标是监控整个仓库的运作情况;提供完整的计划任务功能,由整个操作系统的指令中心来安排进出任务,确认任务的开始,进货管理和出货管理按其指令执行即可;实时监控所有货物的在线运动的情况,实时提供仓库变化的信息。1.2系统总体需求根据详细的需求分析,企业在库存中面临的主要问题体现在:库存量大,库存资金周转慢,不能及时统计库存物料;库房人员重复工作多,效率低;不知道库存物资积压时间长短。系统输入繁琐,极易产生输入错误,缺少智能化输入功能,如:产品名称输入过程中,产品名称和产品代码不能够相互协调,易产生不匹配现象。另外,整个系统运行较慢,数据处理能力不够,进行一个查询往往需要等待很长时间。该系统还缺少通用库存管理理功能,货物组成条目都是经过手工计算的,工作量很大,且容易产生错误,有一个小错误,核对都需要花费很大的精力,换句话说,当前没有通用库存管理系统。本系统从最初的采购到存储和出库,仓库管理将决定企业是否兑现其承诺。从仓库计划到仓库操作和交叉运输,优化的仓库将有助于大幅度减少企业的库存量和和货物成本,因为企业将能保持较低的库存货水平,优化入库,保管和出库活动,并且协调载货量。1.3可行性分析技术上可行:该系统所需硬件设备,市场上销售且价格较低,甚至可以使用原有的设备,软件上,操作系统采用Windows系列操作系统,数据库管理系统采用VisualStudio2008,这些软件在GUI开发中已被大量应用,技术上都比较成熟。因此在技术上是可行的。2概要设计输入账号密码登录账号密码符合要求主要功能重新输入退出2.1E-R图输入账号密码登录账号密码符合要求主要功能重新输入退出NNYY修改密码修改密码注销主要功能主要功能库存盘点仓库预警出库登记入库登记库存盘点仓库预警出库登记入库登记显示库内货物详情输入预警数量输入货物详情输入货物详情显示库内货物详情输入预警数量输入货物详情输入货物详情显示数量不足货物详情数据库,信息栏同步修改数据库,信息栏同步修改显示数量不足货物详情数据库,信息栏同步修改数据库,信息栏同步修改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();elseDialogResultdr=MessageBox.Show("请检查您的用户名和密码","登录失败",MessageBoxButtons.YesNo);if(DialogResult.No==dr)Application.Exit();privatevoidbutton2_Click(objectsender,EventArgse)Application.Exit();主菜单publicpartialclassManagement:FormpublicManagement()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)trythis.goodsTableAdapter.FillBy(this.wmsDataSet.Goods);catch(System.Exceptionex)System.Windows.Forms.MessageBox.Show(ex.Message);入库登记publicpartialclassInputWHForm:FormpublicInputWHForm()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=boBox1.Text;s.Gprice=float.Parse(this.textBox3.Text);s.GProvider1=boBox1.Text;s.GProvider2=boBox4.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();boBox1.Text=g.GProvider1;boBox4.Text=g.GProvider2;boBox2.Text=g.Wname.ToString();出库登记publicpartialclassOutWHForm:FormpublicOutWHForm()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=boBox1.Text;s.Gprice=float.Parse(this.textBox3.Text);s.GProvider1=boBox1.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();boBox1.Text=g.GProvider1;boBox4.Text=g.GProvider2;库存预警publicpartialclassWarning:FormpublicWarning()InitializeComponent();privatevoidbutton3_Click(objectsender,EventArgse)this.listBox1.Items.Clear();List<GoodsDetails>g=newList<GoodsDetails>();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:FormpublicSearch()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;boBox2.Text=g.Wname.ToString();this.textBox2.Text=g.Count.ToString();privatevoidbutton3_Click(objectsender,EventArgse)GoodsDetailsg=SqlHelper.Bind(this.textBox1.Text);boBox3.Text=g.GName;this.textBox3.Text=g.Gprice.ToString();boBox1.Text=g.GProvider1;boBox4.Text=g.GProvider2;boBox2.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();elseSqlCommandcmd1=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=newSqlConnection(ConnectionString.con);trySqlCommandcmd1=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);co.Open();inti=(int)cmd1.ExecuteNonQuery();co.Close();MessageBox.Show("仓库出库记录完成");catch(SqlException)MessageBox.Show("出库失败");publicstaticintDefiniteCount(stringp)SqlConnectionco=newSqlConnection(ConnectionString.con);SqlCommandcmd=newSqlCommand(string.Format("select仓库所剩数量fromGoodswhere产品ID='{0}'",p),co);SqlCommandcmd1=newSqlCommand(string.Format("selectcount(*)fromGoodswhere产品ID='{0}'",p),co);co.Open();inti=0;if((int)cmd1.ExecuteScalar()==1)i=(int)cmd.ExecuteScalar();co.Close();returni;publicstaticGoodsDetailsBind(stringp)SqlConnectionco=newSqlConnection(ConnectionString.con);SqlCommandcmd=newSqlCommand(string.Format("select*fromGoodswhere产品ID='{0}'",p),co);co.Open();vari=cmd.ExecuteReader();GoodsDetailsg=newGoodsDetails();while(i.Read())g.GName=i[1].ToString();g.Gprice=float.Parse(i[2].ToString());g.GProvider1=i[4].ToString();g.GProvider2=i[5].ToString();g.GDescribe=i[6].ToString();g.Count=(int)i[3];g.Wname=(int)i[7];returng;publicstaticList<GoodsDetails>WarningBind(stringp)SqlConnectionco=newSqlConnection(ConnectionString.con);SqlCommandcmd=newSqlCommand(string.Format("select*fromGoodswhere仓库所剩数量<'{0}'",p),co);co.Open();vari=cmd.ExecuteReader();List<GoodsDetails>gd=newList<GoodsDetails>();while(i.Read())GoodsDetailsg=newGoodsDetails();g.GName=i[1].ToString();g.GProvider1=i[4].ToString();g.GProvider2=i[5].ToString();g.Count=(int)i[3];g.Wname=(int)i[7];gd.Add(g);returngd;publicstaticGoodsDetailsBindVague(stringp)SqlConnectionco=newSqlConnection(ConnectionString.con);SqlCommandcmd=newSqlCommand(string.Format("select*fromGoodswhere产品名称like'%{0}%'",p),co);co.Open();vari=cmd.ExecuteReader();GoodsDetailsg=newGoodsDetails();while(i.Read())g.GID=(int)i[0];g.GName=i[1].ToString();g.Gprice=float.Parse(i[2].ToString());g.GProvider1=i[4].ToString();g.GProvider2=i[5].ToString();g.GDescribe=i[6].ToString();g.Count=(int)i[3];g.Wname=(int)i[7];returng;5总结在这次课程设计中,让我学到了很多在课堂和书本上学不到的知识,我在这次课程设计中最大的收获有以下几个方面:一、

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论