2022年仓库管理系统报告.doc

上传人:de****x 文档编号:69420182 上传时间:2023-01-03 格式:DOC 页数:23 大小:257.50KB
返回 下载 相关 举报
2022年仓库管理系统报告.doc_第1页
第1页 / 共23页
2022年仓库管理系统报告.doc_第2页
第2页 / 共23页
点击查看更多>>
资源描述

《2022年仓库管理系统报告.doc》由会员分享,可在线阅读,更多相关《2022年仓库管理系统报告.doc(23页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、计算机工程学院Project2(GUI+SQL2005)实习报告选题名称: 仓库治理系统 专业: 计算机科学与技术(软件工程方向) 班级: 软件1092 姓名: 王伟剑 学号: 1091305220 指导老师: 冯万利 于长辉 高尚兵 庄军 2011 年 06 月 11 日Project2(GUI+SQL2005)实习任务书课题名称仓库治理系统设计目的1. 掌握面向对象的程序设计技术和方法;2. 学惯用C#设计GUI程序处理实际咨询题;3. 熟悉VS开发平台,能使用平台进展程序设计及程序调试;4. 能使用ADO进展数据库系统设计与开发。实验环境1. Windows XP 操作系统2. Visu

2、al Studio 2008开发平台3. SQL Server2005数据库治理系统任务要求1 利用C#编程思想进展可视化编程,完成系统的设计。突出表达C#语言与其他语言的不同。2 依照课题需要自主创立sql数据库,表内数据关联严密,数据合理且标准化,防止数据冗余。3 能适宜的选择高级控件(如:菜单栏,工具栏,dataGridView,treeView等)完成课题内容,窗口规划合理。4 每个学生从所给标题中任选一题,必须独立完成,不能互相抄袭。工作进度计划序号起止日期工 作 内 容12011-4-11 2011-6-5需求分析22011-6-6 2011-6-6系统设计32011-6-7 20

3、11-6-9系统实现42011-6-9 2011-6-9撰写实习报告52011-6-10 2011-6-10实习辩论指导老师(签章): 2011 年 06 月 日 摘要: 随着现代工业的开展,计算机信息治理系统越来越遭到企业的注重。本文主要分析介绍了仓库治理系统的一些根本功能和组成情况,包括系统的需求分析、系统构造、功能模块划分以及数据库方式分析等,重点对应用程序的实际开发实现作了介绍。到达了数据的一致性和平安性,且应用程序功能完备,符合了库存治理系统作为典型的信息治理系统(MIS)的要求。同时简单介绍了Visual Studio 2008编程环境和SQL数据库治理系统的功能特点,库存治理系统

4、是企业物流治理中不可或缺的的一部分。本系统利用ASO三层架构,完成系统登录,注销,修正密码的根本功能,仓库入库登记,出库登记,仓库物资预警,仓库内物资盘点的主要功能。本系统并不复杂,主要完成通过GUI开发,利用关键字对数据库进展增删改查等操作。关键词:仓库治理;数据库;信息治理;Visual Studio 2008目 录1 需求分析21.1 系统概述21.2系统总体需求21.3可行性分析22 概要设计32.1 E-R图32.2相关说明33 详细设计43.1数据库表定义43.2 GUI框架设计54 编码实现85 总结181 需求分析1.1 系统概述仓库存放的物资品种繁多,堆放方式以及处理过程也非

5、常复杂。随着业务量的增加,仓库治理者需要处理的信息量会大幅上升,因而往往非常难及时精确的掌握整个仓库的运作状态。针对这一情况,本系统在满足仓库的根本治理功能根底上发挥信息系统的智能化,减轻仓库治理人员和操作人员的工作负担。系统主要实现目的是监控整个仓库的运作情况;提供完好的计划任务功能,由整个操作系统的指令中心来安排进出任务,确认任务的开场,进货治理和出货治理按其指令执行即可;实时监控所有物资的在线运动的情况,实时提供仓库变化的信息。1.2系统总体需求依照详细的需求分析,企业在库存中面临的主要咨询题表达在:库存量大,库存资金周转慢,不能及时统计库存物料;库房人员重复工作多,效率低;不明白库存物

6、资积压时间长短。系统输入繁琐,极易产生输入错误,缺少智能化输入功能,如:产品名称输入过程中,产品名称和产品代码不能够互相协调,易产生不匹配现象。另外,整个系统运转较慢,数据处理才能不够,进展一个查询往往需要等待非常长时间。该系统还缺少通用库存治理理功能,物资组成条目都是通过手工计算的,工作量非常大,且容易产生错误,有一个小错误,核对都需要花费非常大的精力,换句话说,当前没有通用库存治理系统。本系统从最初的采购到存储和出库,仓库治理将决定企业是否兑现其承诺。从仓库计划到仓库操作和穿插运输,优化的仓库将有助于大幅度减少企业的库存量和和物资本钱,由于企业将能保持较低的库存货水平,优化入库,保管和出库

7、活动,同时协调载货量。1.3可行性分析技术上可行:该系统所需硬件设备,市场上销售且价格较低,甚至能够使用原有的设备,软件上,操作系统采纳Windows系列操作系统,数据库治理系统采纳Visual Studio 2008,这些软件在GUI开发中已被大量应用,技术上都比拟成熟。因而在技术上是可行的。2 概要设计输入账号 密 码 登 录账号密码符合要求主要功能重新输入退出2.1E-R图NY修正密码注销主要功能库存盘点仓库预警出库登记入库登记显示库内物资详情输入预警数量输入物资详情输入物资详情显示数量缺乏物资详情数据库,信息栏同步修正数据库,信息栏同步修正2.2相关说明登录系统:账号密码均存储于SQL

8、数据库中。输入账号及账号对应密码,即可登录系统。修正密码:需输入一次原密码,输入两次新密码一样即可修正。密码修正同步于SQL数据库。注销: 登录账号退出,返回登陆界面。退出系统: 系统退出。入库登记:输入产品ID,即可直截了当获得产品的相关信息,如今输入入库数量就能够完成物资的入库操作,假如如今产品为新产品,需输入产品的详细信息,就能够完成物资的入库操作。入库操作同步更新SQL数据库。出库登记:输入产品ID,即可直截了当获得产品的相关信息,如今输入出库数量就能够完成物资的出库操作,入库操作同步更新SQL数据库。仓库预警:输入预警数量,点击确定按钮,如今显示数据库中,物资数量小于预警数量的物资总

9、数和物资详细信息。商品查询:显示仓库中所有物资的详细信息,能够输入产品ID和产品名称进展物资查询,支持模糊查找。3 详细设计3.1数据库表定义Users表(用户信息表)Goods表(物资详情表)Worehouses表(仓库信息表)3.2GUI框架设计1用户系统2主菜单3密码修正4物资入库5 物资出库6 库存预警7 商品查询4 编码实现登录系统public static string pwd; public static string pid; private void button1_Click(object sender, EventArgs e) pwd = this.textBox1.T

10、ext; pid = this.textBox2.Text; Logs l = new Logs(); if (int.Parse (l.isPassword(this.textBox2.Text,this.textBox1.Text).ToString () )= 1) this.Hide(); Management m = new Management(); m.ShowDialog(); else DialogResult dr = MessageBox.Show(请检查您的用户名和密码, 登录失败, MessageBoxButtons.YesNo); if (DialogResult.

11、No=dr) Application.Exit(); private void button2_Click(object sender, EventArgs e) Application.Exit(); 主菜单public partial class Management : Form public Management() InitializeComponent(); private void ChangeToolStripMenuItem_Click(object sender, EventArgs e) ChangePassword cp = new ChangePassword();

12、cp.ShowDialog(); private void LogoutToolStripMenuItem_Click(object sender, EventArgs e) DialogResult dr = MessageBox.Show(您确定要注销吗?,注销, MessageBoxButtons.YesNo); if (dr = DialogResult.Yes) Application.Exit(); private void OutToolStripMenuItem_Click(object sender, EventArgs e) Application.Exit(); priv

13、ate void Management_Load(object sender, EventArgs e) this.goodsTableAdapter.Fill(this.wmsDataSet.Goods); private void Management_FormClosed(object sender, FormClosedEventArgs e) Application.Exit(); private void InputF2ToolStripMenuItem_Click(object sender, EventArgs e) InputWHForm iwh = new InputWHF

14、orm(); iwh.ShowDialog (); private void Management_Activated(object sender, EventArgs e) this.goodsTableAdapter.Fill(this.wmsDataSet.Goods); private void OutF6ToolStripMenuItem_Click(object sender, EventArgs e) OutWHForm owh = new OutWHForm(); owh.ShowDialog (); private void WarningToolStripMenuItem_

15、Click(object sender, EventArgs e) Warning w = new Warning(); w.ShowDialog(); private void GoodsDetailsToolStripMenuItem_Click(object sender, EventArgs e) this.goodsTableAdapter.Fill(this.wmsDataSet.Goods); private void WareHouseDetailsToolStripMenuItem_Click(object sender, EventArgs e) this.warehous

16、esTableAdapter.Fill(this.wmsDataSet1.Warehouses); private void SearchToolStripMenuItem_Click(object sender, EventArgs e) Search s = new Search(); s.Show(); private void fillByToolStripButton_Click(object sender, EventArgs e) try this.goodsTableAdapter.FillBy(this.wmsDataSet.Goods); catch (System.Exc

17、eption ex) System.Windows.Forms.MessageBox.Show(ex.Message); 入库登记 public partial class InputWHForm : Form public InputWHForm() InitializeComponent(); private void InputWHForm_Load(object sender, EventArgs e) / TODO: 这行代码将数据加载到表“wmsDataSet4.Goods”中。您能够依照需要挪动或移除它。 this.goodsTableAdapter.Fill(this.wmsD

18、ataSet4.Goods); private void button6_Click(object sender, EventArgs e) this.Close(); public void SendToInput() GoodsDetails s = new GoodsDetails(); s.GID = int.Parse(this.textBox1.Text); s.GName = thisboBox1.Text; s.Gprice = float.Parse(this.textBox3.Text); s.GProvider1 = thisboBox1.Text; s.GProvide

19、r2 = thisboBox4.Text; s.Wname = int.Parse (thisboBox2.Text); s.Count = SqlHelper.DefiniteCount(this.textBox1.Text) + int.Parse(this.textBox2.Text); SqlHelper.AddGoods(s); private void button5_Click(object sender, EventArgs e) SendToInput(); this.Close(); private void textBox1_TextChanged(object send

20、er, EventArgs e) GoodsDetails g = SqlHelper.Bind(this.textBox1.Text); thisboBox3.Text = g.GName; this.textBox3.Text = g.Gprice.ToString (); thisboBox1.Text = g.GProvider1; thisboBox4.Text = g.GProvider2; thisboBox2.Text = g.Wname.ToString (); 出库登记public partial class OutWHForm : Form public OutWHFor

21、m() InitializeComponent(); private void button2_Click(object sender, EventArgs e) this.Close(); private void button1_Click(object sender, EventArgs e) SentToOutput(); this.Close(); private void SentToOutput() GoodsDetails s = new GoodsDetails(); s.GID = int.Parse(this.textBox1.Text); s.GName = thisb

22、oBox1.Text; s.Gprice = float.Parse(this.textBox3.Text); s.GProvider1 = thisboBox1.Text; s.GProvider2 = thisboBox4.Text; s.Count = SqlHelper.DefiniteCount(this.textBox1.Text) - int.Parse(this.textBox2.Text); SqlHelper.OutGoods(s); private void OutWHForm_Load(object sender, EventArgs e) / TODO: 这行代码将数

23、据加载到表“wmsDataSet2.Goods”中。您能够依照需要挪动或移除它。 this.goodsTableAdapter.Fill(this.wmsDataSet2.Goods); private void textBox1_TextChanged(object sender, EventArgs e) GoodsDetails g = SqlHelper.Bind(this.textBox1.Text); thisboBox3.Text = g.GName; this.textBox3.Text = g.Gprice.ToString (); thisboBox1.Text = g.G

24、Provider1; thisboBox4.Text = g.GProvider2; 库存预警 public partial class Warning : Form public Warning() InitializeComponent(); private void button3_Click(object sender, EventArgs e) this.listBox1.Items.Clear(); List g = new List(); g = SqlHelper.WarningBind(this.textBox2.Text); int i = 0; for ( i=0; i

25、g.Count();i+ ) this.listBox1.Items.Add(gi.GID.ToString().PadLeft(4) + gi.GName.PadLeft(20) + gi.Count.ToString().PadLeft(10) + gi.GProvider1.PadLeft(20) + gi.GProvider2.PadLeft(10); this.textBox1.Text = i.ToString(); 物资查询public partial class Search : Form public Search() InitializeComponent(); priva

26、te void button1_Click(object sender, EventArgs e) this.Close(); private void Search_Load(object sender, EventArgs e) / TODO: 这行代码将数据加载到表“wmsDataSet5.Goods”中。您能够依照需要挪动或移除它。 this.goodsTableAdapter.Fill(this.wmsDataSet5.Goods); private void button2_Click(object sender, EventArgs e) GoodsDetails g = Sql

27、Helper.BindVague(thisboBox3.Text); this.textBox1.Text = g.GID.ToString(); this.textBox3.Text = g.Gprice.ToString(); thisboBox1.Text = g.GProvider1; thisboBox4.Text = g.GProvider2; thisboBox2.Text = g.Wname.ToString(); this.textBox2.Text = g.Count.ToString(); private void button3_Click(object sender,

28、 EventArgs e) GoodsDetails g = SqlHelper.Bind(this.textBox1.Text); thisboBox3.Text = g.GName; this.textBox3.Text = g.Gprice.ToString(); thisboBox1.Text = g.GProvider1; thisboBox4.Text = g.GProvider2; thisboBox2.Text = g.Wname.ToString(); this.textBox2.Text = g.Count.ToString(); 数据库连接 public static v

29、oid ChangeDBPassword(int p,string p2) SqlConnection co = new SqlConnection(ConnectionString.con); SqlCommand cmd = new SqlCommand(string.Format(update Users set Upassword=0 where UID=1, p,p2), co); co.Open(); var i = (int)cmd.ExecuteNonQuery (); MessageBox.Show(密码修正成功); co.Close(); public static voi

30、d AddGoods(GoodsDetails g) SqlConnection co = new SqlConnection(ConnectionString.con); SqlCommand cmd3 = new SqlCommand(string.Format(select count(*) from Goods where 产品ID=0, g.GID), co); co.Open (); int j=(int)cmd3.ExecuteScalar (); if(j=0) SqlCommand cmd2 = new SqlCommand(string.Format(insert into

31、 Goods values(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); int i = (int)cmd2.ExecuteNonQuery(); MessageBox.Show(添加成功); co.Close(); else SqlCommand cmd1 = new SqlCommand(string.Format(update Goods set 产品名称=1,产品价格=2,仓库所剩数量=3,厂商=4,厂商=5,备注=6

32、,收货仓库ID=7 where 产品ID=0, g.GID, g.GName, g.Gprice, g.Count , g.GProvider1, g.GProvider2, g.GDescribe,g.Wname ), co); int i = (int)cmd1.ExecuteNonQuery(); MessageBox.Show(更新成功); co.Close(); public static void OutGoods(GoodsDetails g) SqlConnection co = new SqlConnection(ConnectionString.con); try SqlC

33、ommand cmd1 = new SqlCommand(string.Format(update Goods set 产品名称=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(); int i = (int)cmd1.ExecuteNonQuery(); co.Close(); MessageBox.Show(仓库出库记录完成); c

34、atch (SqlException) MessageBox.Show(出库失败); public static int DefiniteCount(string p) SqlConnection co = new SqlConnection(ConnectionString.con); SqlCommand cmd = new SqlCommand(string.Format(select 仓库所剩数量from Goods where 产品ID=0, p), co); SqlCommand cmd1 = new SqlCommand(string.Format(select count(*)

35、 from Goods where 产品ID=0, p), co); co.Open(); int i=0; if (int)cmd1.ExecuteScalar() = 1) i = (int)cmd.ExecuteScalar(); co.Close(); return i; public static GoodsDetails Bind(string p) SqlConnection co = new SqlConnection(ConnectionString.con); SqlCommand cmd = new SqlCommand(string.Format(select * from Goods where 产品ID=0, p), c

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作报告

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁