当前位置:文档之家› .NET开发仓库管理系统资料

.NET开发仓库管理系统资料

PINGDINGSHAN UNIVERSITY .NET开发实训报告题目: 仓库管理系统专业年级:计算机科学与技术姓名: ***学号: ***********2015年07月03日1需求分析本仓库管理系统属于中小型仓库管理系统,可以有效的对中小型仓库货物进库,出库进行管理。

本系统应达到以下目标:(1)系统采用人机交互的方式,界面美观友好,信息查询灵活、方便,数据存储安全可靠。

(2)能够对仓库的使用情况进行有效的管理。

(3)能够对使用本系统的管理员进行权限设置,工作人员的详细信息进行有效的管理。

(4)能够准确、详细的记录货物的进库出库的详细情况。

(5)能够直观的显示历史货物使用情况的明细表,以及打印文件备份。

(6)能够对系统数据进行备份和恢复。

(7)对于用户输入的数据,进行严格的数据检验,尽可能地避免人为错误。

系统应最大限度地实现易维护性和易操作性。

2 系统设计2.1 系统目标仓库信息模块:实现对仓库信息进行查询,增加,删除,修改,保存等功能。

职员信息模块:实现对职员信息进行查询,增加,删除,修改,保存等功能。

货物入库模块:实现对货物的入库,删除,入库详细信息的打印等功能。

货物出库模块:实现对货物的出库,删除,入库详细信息的打印等功能。

货物信息查询模块:实现了根据选择特定的条件对当前的仓库进行相关的信息查询。

系统维护模块:实现对系统数据的备份和恢复,设置管理员的权限等功能。

系统设置模块:实现对管理员登陆系统的密码设置及对系统的锁定。

辅助功能模块:实现日历,记事本,计算器等功能.2.2 系统功能结构仓库管理系统是由基础信息,库存管理,系统维护,系统设置,辅助功能这几个功能模块组成。

(1)基础信息模块分为仓库信息和职工信息两个小模块,分别实现对仓库信息和职员信息进行查询,增加,删除,修改等功能。

(2)仓库管理模块分为货物入库、货物出库和货物信息查询三个小模块,分别实现对用户进行增加,删除,权限设置及修改用户密码等功能。

(3)系统维护模块分为权限管理、数据备份、数据恢复三个小模块,分别实现了设置管理员权限,数据备份与恢复等功能。

(4)系统设置模块分为密码重置和锁定系统两个小模块,分别实现设置管理员的密码,对当前的系统加密等功能。

(5)辅助工具模块分为日历、记事本、计算器三个小模块,分别实现了对当前时间查看,事件记录,计算等功能。

图1 系统功能结构图3 系统实现(各自模块)3.1 员工信息模块设计与实现1 货物入库模块概述在仓库管理的过程中,必然会进行货物入库的工作流程,对不同的货物进行分类管理,通过编号,放在不同的仓库都会提高在今后工作中的效率。

在数据库中建立一个入库信息表,用于存储入库货物的信息。

通过货物入库这个模块可以实现对仓库货物的增加,删除,以及本次入库详细信息的打印备份等功能。

2 货物入库模块设计货物入库实体的E-R图如图2所示:图2 货物入库实体E-R图表Table_IN用于存储货物入库的详细信息,该表的结构如表1所示:表1 货物入库表GoodsID 货物编号GoodsName 货物名称RKGoodsNum 数量GoodsallPrice 单价WorkerName 收货员GoodsBZ备注datetime 进货时间3 货物入库模块实现过程private void GetData(){SqlConnection conn = BaseClass.DBConn.CyCon();SqlDataAdapter sda = new SqlDataAdapter("selectGoodsID,GoodsName,RKGoodsNum,GoodsallPrice,WorkerName,GoodsBZ,datetime from Table_IN order by ID desc", conn);DataSet ds = new DataSet();sda.Fill(ds);dataGridView1.DataSource = ds.Tables[0];}通过SqlConnection对象连接数据库,创建一个SqlDataAdapters数据适配器对象获取员工信息,并用Fill方法将查询到的数据填充到DataSet中。

最后将查询到的员工信息显示在dataGridView1控件中。

private void frmRK_Load_1(object sender, EventArgs e){TreeNode newnode1 = treeView1.Nodes.Add("五金");TreeNode newnode2 = treeView1.Nodes.Add("服装");......//通过TreeNode newnode设置根节点SqlConnection conn = BaseClass.DBConn.CyCon();conn.Open();SqlCommand cmd = new SqlCommand("select * fromTable_RKInfo where Goodsty='1'", conn);SqlDataReader sdr = cmd.ExecuteReader();while (sdr.Read()){ newnode1.Nodes.Add(sdr[3].ToString().Trim());}sdr.Close();......//在TreeView里显示同一根节点下的所有叶子节点cmd = new SqlCommand("select * from Table_Worker", conn);sdr = cmd.ExecuteReader();while (sdr.Read()){SHName.Items.Add(sdr["WorkerName"].ToString().Trim());}SHName.SelectedIndex = 0;sdr.Close();GetData();treeView1.ExpandAll(); }3.2 用户管理模块设计与实现1 货物出库管理模块概述在仓库管理的过程中,必然会进行货物出库的工作流程,对不同的货物进行分类管理,通过编号,放在不同的仓库都会提高在今后工作中的效率。

在数据库中建立一个出库信息表,用于存储出库货物的信息。

通过货物入库这个模块可以实现对仓库货物的增加,删除,以及本次出库详细信息的打印备份等功能。

2 货物出库管理模块设计货物出库实体的E-R图如图3所示:图3 货物出库实体E-R图表Table_OUT用于存储货物出库的详细信息,该表的结构如表2所示:表2 货物出库表表在货物出库表中GoodsID 货物编号GoodsName 货物名称RKGoodsNum 数量GoodsallPrice 单价WorkerName 收货员GoodsBZ备注datetime 进货时间3 货物出库管理模块实现过程通过if语句对Text控件内的内容进行判断,确保GoodsName.Text,GoodsID.Text,GoodsJhPrice.Text内容不为空,然后判断货物的数量是否为空,如果为空的话,通过MessageBox提示“请输入货物数量”消息。

{ SqlConnection conn = BaseClass.DBConn.CyCon();conn.Open();SqlCommand cmd = new SqlCommand("insert into Table_OUT(GoodsID,GoodsName,CKGoodsNum,GoodsallPrice,WorkerName,Good sBZ,datetime) values('" + GoodsID.Text.Trim() + "','" + GoodsName.Text.Trim() + "','"+ RKGoodsNum.Text.Trim() + "','" + Convert.ToDecimal(textallPrice.Text.Trim()) + "','" + SHName.SelectedItem.ToString() + "','" + BZ.Text.Trim() + "','" + DateTime.Now.ToString() + "')", conn);cmd.ExecuteNonQuery();conn.Close();GetData();}通过SqlConnection对象连接数据库,运用insert语句将进货的相关信息差遇到进货信息表中,最后将查询到的员工信息显示在dataGridView1控件中。

3.3打印模块设计与实现1 打印货物入库出库信息模块概述为了方便管理人员对仓库中货物入库和出库的记录,防止因为某些不可避免的原因造成的数据的丢失,在货物入库和出库中设置了打印货物出库入库的详细情况表。

2 货物信息模块设计货物信息表实体的E-R图如图4所示:图4 货物信息表实体E-R图表Table_RKInfo用于存储包房信息,该表的结构如表3所示:表3 货物信息表在货物信息表中GoodsID 货物编号GoodsName 货物名称RKGoodsNum 数量GoodsallPrice 单价WorkerName 收货员GoodsBZ备注datetime 进货时间3 打印功能模块实现过程在printDocument的PrintPage事件中来实现将需要打印的文本属兔到PrintDocument中,通过for循环一次打印在dataGridView1中显示的每一行。

for (i = 0; i <=6; i++){e.Graphics.DrawString(dataGridView1.Columns[i].Name.ToString() , new Font("宋体", 30, FontStyle.Regular), Brushes.Black, 60, 400+60*i);e.Graphics.DrawString(dataGridView1.SelectedCells[i].Value.ToString(), new Font("宋体", 30, FontStyle.Regular), Brushes.Black, 300, 400+60*i);}//通过for循环一次打印在dataGridView1中显示的每一行}private void buttonPrint_Click(object sender, EventArgs e){printDialog1.ShowDialog();printPreviewDialog1.Document = this.printDocument1;printPreviewDialog1.ShowDialog();}//执行打印窗体内的数据操作4 实训总结在本次实训的过程中,行确认好课题后开始认真地准备学习相关的知识,结合老师讲授的专业知识,灵活的应用到本次的实训课题中。

相关主题