《企业生产及采购计划管理软件开发.docx》由会员分享,可在线阅读,更多相关《企业生产及采购计划管理软件开发.docx(40页珍藏版)》请在三一办公上搜索。
1、xxxx 本科生毕业设计(论文)学院(系): xxxx 专 业: xxxx 学 生: xxx 指导教师: xxxx 完成日期 2011 年 5 月xxxxxxxxx企业生产及采购计划管理软件开发Development of Management Software Between Enterprise s Manufacturing and Purchasing Plan总 计: 37 页表 格: 0 个插 图: 24 幅xxxx 企业生产及采购计划管理软件开发Development of Management Software Between Enterprise s Manufacturin
2、g and Purchasing Plan学 院 (系): xxxx 专 业xxxxxxxxx 学 生 姓 名: xxxx 学 号: xxxxx 指导教师(职称): xxxx 评 阅 教 师: xxxx 完 成 日 期: xxxx xxxxx Nanyang Institute of Technology企业生产及采购计划管理软件开发企业生产及采购计划管理软件开发xxxxxxxx 摘 要生产和采购计划管理是企业生产管理的重要环节之一,也是把握市场需求,降低采购成本的主要环节1。目前,多数企业的生产和采购计划管理均处于分散的人工操作模式,各业务环节数据信息不能实时共享,工作效率低,导致企业市场反
3、应速度较慢,不能满足当今市场快速变化的需求。因此专门开发一套生产及采购计划管理软件,实现企业从生产计划、MRP运算到采购报表全过程的信息化管理。通过该软件的应用,可实现企业在此类业务环节的信息化集成,能够较好解决企业计划与采购部门间存在的信息孤岛问题,而且能够实现各部门间的数据信息共享。通过该软件可实现对大量产品生产数据的自动计算和汇总,速度快,效率高,不易出错2。同时能够实现采购报表随采购计划的调整进行自动更新,避免了重复性劳动。通过该软件可为企业的采购和生产计划部门搭建一个信息操作和共享平台。 关键词生产计划;采购计划;MRP;采购报表33Development of Management
4、 Software between Enterprise s Manufacturing and Purchasing PlanMechanical Design, Manufacturing and Automation Zhao Wen-tong Abstract: Manufacturing and purchasing plan is one of the most important link of enterprise production management, at the same time it is also a main link to grasp market dem
5、and, reduce purchasing cost. At present, most enterprise production and purchasing plan management are in artificial operation mode. Each business link cant share data information real-timely, leading to working efficiency and enterprise market reaction slower. So it cant satisfy the current rapid c
6、hanging market needs. Therefore, it is necessary to develop a set of purchasing and production planning management software specially,so that it can realize the information management from production planning, MRP computing, to purchasing statements. With the application of this software, it can rea
7、lize data information sharing among departments.It can also realize the automatic calculation and summarizing of the products with complex production data, which not easy makes mistakes but also quickly and with high efficiency. Meanwhile it can achieve automatic update the purchasing statements wit
8、h the adjustment of purchasing plan ,which can avoid the repeated labor4. Through this software it can build a information operating and sharing platform between enterprises purchasing and production planning department.Key words: Production plan; Purchasing plan; MRP; Purchasing Report目 录1 绪论11.1 本
9、课题研究背景及意义11.2 ERP管理软件发展概况11.3 论文的主要工作12 软件简介22.1 软件运行的软硬件环境22.1.1 硬件环境22.1.2 软件环境22.2 软件开发关键技术32. 2.1 Visual Basic 6.032. 2.2 数据库技术32. 2.3 ADO技术3 2.3 课题研究内容及技术要求3 2.4 课题软件实现的功能33 课题软件的设计与实现4 3.1 软件操作流程4 3.2 软件的功能模块简介5 3.3 各功能模块的分析6 3.4 导出当前产品物料清单及BOM单63.4.1 账户管理63.4.2 产品BOM管理63.4.3 产品MRP计算63.4.4 库存管
10、理73.4.5 采购预算73.4.6 导出采购明细73.4.7 关于软件的简单介绍74 软件运行8 4.1 用户登录模块8 4.2 修改密码模块11 4.3 生成BOM模块11 4.4 生产计划模块15 4.5 库存管理模块20 4.6 采购预算模块22 4.7 采购明细导出模块27 4.8 关于软件介绍模块30结束语31参考文献31致谢321 绪论1.1 课题研究的背景及意义本课题以河南陆德筑机有限公司生产计划及采购计划实际需求为背景,实现该公司从生产计划数据的输入,根据计划中各产品材料定额数据进行汇总和分析,最终自动生成针对当前生产计划的采购预算报表。通过该软件的应用,可实现企业在此类业务
11、环节的信息化管理,能够妥善解决企业计划与采购部门间存在的信息孤岛问题,而且能够实现各部门间的数据信息共享,将原来繁琐的重复性劳动交由计算机自动完成,并且对大量数据的计算和汇总更加准确,速度快,效率高。同时能够实现数据的自动更新,如果生产计划需要调整,则能够很快生成最终的采购预算报表,为企业的采购部门和生产计划部门搭建一个信息操作和共享平台。1.2 ERP管理软件发展概况 当今时代,在全球竞争激烈的大市场中,无论是流程式还是离散式的制造业,无论是单件生产、多品种小批量生产、少品种重复生产还是标准产品大量生产的制造;制造业内部管理都可能遇到以下一些问题:如企业可能拥有卓越的销售人员推销产品,但是生
12、产线上的工人却没有办法如期交货,车间管理人员则抱怨说采购部门没有及时供应他们所需要的原料;实际上,采购部门的效率过高,仓库里囤积的某些材料10年都用不完,仓库库位饱和,资金周转很慢;许多公司要用613个星期的时间,才能计算出所需要的物料量,所以订货周期只能为613个星期;订货单和采购单上的日期和缺料单上的日期都不相同,没有一个是肯定的;财务部门不信赖仓库部门的数据,不以它来计算制造成本不能否认,以上这些情况正是我们大多数企业目前所面临的一个严峻的问题,然而,针对这一现象,我们又能有什么有效的办法来解决它呢5? 本软件能够实现从生产计划数据的输入,根据计划中各产品材料定额数据进行汇总和分析,最终
13、自动生成针对当前生产计划的采购预算报表,能够妥善解决企业计划与采购部门间存在的信息孤岛问题,而且能够实现各部门间的数据信息共享,将原来繁琐的重复性劳动交由计算机自动完成,并且对大量数据的计算和汇总更加准确,速度快,效率高。1.3论文的主要工作 在本论文的设计初期,通过阅读大量的文献,提高对相关制作软件工具的熟悉及使用。由于软件的需要,也要学习数据库的操作及相关图纸明细的识别。然后对BOM即物料清单(Bill of Material)进行分析,计算能够很快生成最终的采购预算报表,在设计中期,主要是对产品零部件明细的校对。首先,物料清单表明了产品部件组件零件原材料之间的结构关系。然后根据生产计划计
14、算出采购计划;其次,根据采购计划,利用MRP计算减去库存管理导出采购预算报表。在设计的后期,有两个任务:一是按照格式写论文,二是按照要求修改论文。2 软件简介本软件能够实现生产计划数据的输入,根据计划中各产品材料定额数据进行汇总和分析,最终自动生成针对当前生产计划的采购预算报表,能够妥善解决企业计划与采购部门间存在的信息孤岛问题,而且能够实现各部门间的数据信息共享。将原来繁琐的重复性劳动交由计算机自动完成,并且对大量数据的计算和汇总更加准确,速度快,效率高。同时能够实现数据的自动更新,如果生产计划需要调整,则能够很快生成最终的采购预算报表,为企业的采购部门和生产计划部门搭建一个信息操作和共享平
15、台。2.1 软件运行的软硬件环境2.1.1 硬件环境(1)普通PC机(2)CPU:1.8GHz以上(3)内存:1024MB(4)显卡:128M以上(5)网卡:10/1001000Mbps(6)PIII以上处理器2.1.2 软件环境(1)Windows2000、XP及以上操作系统(2)Microsoft Excel 2003(3)IDE环境:Microsoft Yisual Studio 2005(4)支撑环境:MicrosoftNET Framework 20(5)需求分析工具:Visio 2003(6)数据库服务器:基于SQL Server2000 2.2 软件开发关键技术2.2.1 Vis
16、ual Basic 6.0Visual Basic 6.0是Microsoft公司推出的基于Windows环境的一种面向对象的可视化编程环境,它强调直接以问题域(即现实世界)中的事物为中心来考虑和认识问题,并按照这些事物的本质特征把它们抽象为对象,作为软件系统的基础,将对象作为系统中最基本的运行实体,对象中封装了描述该对象的特殊属性(数据)和行为方式(方法)。整个程序即由各种不同类型的对象组成,各对象既是一个独立的实体,又可通过一定的方式相互作用。Visual Basic 6.0易学易用、功能强大的特点使其得到了广泛的应用。其强大的可视化用户界面设计,是程序员从复杂的界面设计中解脱出来。Vis
17、ual Basic 6.0不但可以开发小型单机数据库管理系统,而且也可以开发集多种应用程序于一体的网络数据库系统。因此使得Visual Basic 6.0成为目前使用最广泛的编程语言之一。2.2.2 数据库技术在当今信息社会中,信息已成为各个行业、部门的重要财富和资源,信息系统也越来越显示它的重要性。数据库技术是信息系统的核心和基础,它的准确性、快速性在信息时代占了很大的优势。现存多种数据库系统,我们这里主要运用Access数据库系统,Visual Basic 6.0通过ADO技术与Access数据库相连,通过Visual Basic 6.0的前台管理Access的后台数据,实现信息的准确、快
18、速管理。2.2.3 ADO技术ADO是一个用于存取数据源的组建,它为编程语言从数据库提取数据信息提供了一种方法,允许开发人员编写访问数据的代码而不用担心数据库是如何实现的,而只用关心到数据库的连接。ADO是对当前微软所支持的数据库进行操作的最有效和最简单直接的方法。2.3课题研究内容及技术要求本软件采用C/S开发模式和ADO数据库访问技术,采用Visual Basic编程语言Access数据库实现对生产计划数据的输入、材料定额数据的集成和相应采购预算的计算和自动生成等,实现企业生产计划和采购预算环节的有效集成。2.4课题软件实现的功能生产计划数据的手动输入;生产计划数据的自动导入;材料定额信息
19、的有效集成;生产计划汇总及材料定额汇总;所需物料的库存分析;采购预算的自动汇总和生成3课题软件的设计与实现3.1 软件操作流程软件操作流程如图3.1所示:图3.1软件操作流程本软件要根据数据库中信息自动导入软件,然后进行生产计划数据的手动输入,再根据材料定额信息的有效集成,生产计划汇总及材料定额汇总,所需物料的库存分析。通过该软件的应用,采购预算自动汇总和生成,减少了手工计算的工作量,提高了效率,大大降低了出错的概率,确保生产采购的有效性、实时性和准确性。3.2 软件的功能模块简介该软件以Visual Basic 6.0为开发语言,采用Access2003为数据库管理平台。该软件根据数据库中的
20、信息直接导入BOM单,进而手动输入生产计划数据,再根据生产计划数据,库存数据价格库进行MRP自动核算,从而导出采购预算提高了生产率、库存利用率、降低了出错率、生产成本。其功能框图如图3.2所示。各功能模块简要描述如下:(1) 登录模块:主要用于用户的管理。(2) 修改密码模块:主要用于用户密码的修改。(3) 自动导入BOM单:得出产品明细相关数据。BOM表直接由软件自动生产,无需再人工参与,提高了企业的效率,也降低了出错率。(4) 手动输入生产计划数据,根据市场需求确定生产计划。无需再人工参与,提高了企业的效率,也降低了出错率。(5) 利用MRP的自动计算生成采购计划预算,采购管理模块:实现企
21、业采购管理的及时更新,增大库存利用率,降低成本。图3.2 软件功能模块(6) 去除库存既得的采购计划明细。MRP的计算基于BOM表自动进行的,(7) 导出明细模块:将生成的信息导入Excel中,便于企业人员阅读。(8) 关于软件介绍模块:介绍软件的一些基本信息。3.3 各功能模块的分析3.3.1账户管理该模块主要是为系统提供安全保证,系统默认用户库的用户名和密码。该模块的功能包括用户登录和密码修改。其功能框图如图4.3所示:图3.3 账户管理模块3.3.2 产品BOM管理该模块主要是根据Access数据库中产品的代码、名称、规格型号等信息利用Visual Basic 6.0编程语言使其自动生成
22、产品的物料清单(BOM)。3.3.3 产品MRP计算该模块主要根据生产计划,由BOM表得出一套产品有那些零部件,半成品组装而成,更进一步的计算出要生产的产品需要的零部件采购计划依据库存量,便于计算出采购计划。该模块的功能包括MRP计算、MRP清除、MRP保存。其功能框图如图4.4所示:图3.4 MRP模块3.3.4库存管理该模块主要是使Access数据库中的零部件,半成品信息通过Visual Basic 6.0编程使其在前台显示,而且当前台库存数量修改时后台也能跟着改变。该模块的功能包括库存量的修改和库存量的删除。其功能框图如图4.5所示:图3.5库存管理模块3.3.5 采购预算该模块主要根据
23、生产计划和库存量的信息,通过Visual Basic 6.0编程实现采购预算并进行保存,而且当库存量信息改变时采购信息也跟着变。该模块的功能包括采购预算和采购单保存。其功能框图如图4.6所示:图3.6 采购预算模块3.3.6 导出采购明细该模块通过Visual Basic 6.0编程使前面生成的信息能导出到Excel表格中,便于企业人员阅读分析产品信息。3.3.7 关于软件的简单介绍该模块主要使用Visual Basic 6.0中的一些简单控件使关于该软件的一些简单信息显示给用户。4软件运行软件运行演示,在运行中需要输入的数据,4.1 用户登录模块双击桌面上的“企业生产及采购计划管理软件开发”
24、图标,进入软件系统前需要首先进行身份认证,弹出“用户登录”窗口,如图4.1所示:图4.1 用户登陆窗口在上图中输入正确的账号和密码,单击“确定”按钮进入软件的主界面,如图4.2所示:图4.2 软件主界面用户登录模块的主要代码如下: Private Sub cmdCancel_Click() 设置全局变量为 false 不提示失败的登录 LoginSucceeded = False Unload MeEnd SubPrivate Sub cmdOK_Click()Dim rs As New ADODB.RecordsetDim sql As StringDim i As Integersql =
25、 Select * From 用户表 where 账号 = & Me.txtUserName & and 密码 = & Me.txtPassword & rs.Open sql, Conn, adOpenForwardOnly, adLockReadOnlyIf Not rs.EOF Then CurrUserID = rs(ID) CurrUserName = Me.txtUserName CurrUserPwd = Me.txtPassword LoginState = True Unload Me: MDIForm1.Show 使mdiform1主窗口菜单和工具栏按钮有效 MDIForm
26、1.Toolbar1.Buttons(1).Visible = True For i = 2 To 6 MDIForm1.Toolbar1.Buttons(i).Enabled = True NextElse MsgBox 用户名或密码错误,请重新输入。, vbOKOnly, 用户登录 LoginState = FalseEnd IfEnd SubPublic Function MyXor(str1 As String)Dim i As IntegerDim one As String, newstr As StringFor i = 1 To Len(str1)newstr = newstr
27、 & Chr$(Asc(Mid(str1, i, 1) Xor &H3)NextMyXor = newstrEnd Function64.2 修改密码模块在图4.2中单击软件主菜单中的“用户”“修改密码”菜单项,然后弹出“用户账号密码修改”窗口,如图4.3所示:图4.3 用户帐号密码修改窗口在图4.3中用户可以修改自己的密码,输入要修改的密码,再确认一遍,单击“确定”即可,可以保证用户的安全性。修改密码模块主要代码如下:If Me.txtUserName = Then MsgBox 账号不能为空。, vbOKOnly, 信息修改: Exit SubIf Me.txtPwd Me.txtPwd2
28、 Then MsgBox 两次密码输入不一致。, vbOKOnly, 信息修改: Exit SubCurrUserName = Me.txtUserNameCurrUserPwd = Me.txtPwdConn.Execute Update 用户表 Set 账号= & Me.txtUserName & ,密码= & Me.txtPwd & Where ID= & CurrUserIDMsgBox 帐号修改成功。, vbOKOnly, 帐号修改74.3 生成BOM模块在图4.2中单击软件主菜单中的“产品信息”“BOM管理”菜单项,或单击标准工具栏中的“产品信息”按钮,软件调出“BOM”窗口,如图
29、4.4所示:图4.4 产品装配明细管理窗口在图4.4中,点击产品BOM组中各项,在BOM单和当前BOM两个表中显示相应的信息,从中可以清晰的看出产品的详细情况,能很容易的看出产品所需的材料的代码、名称、规格型号等各项信息,还能一目了然的看出产品构件的上下级关系,举例如图4.5所示:图4.5 产品装配明细管理窗口生成BOM模块主要代码如下:1、Private Sub Cmd_Save_Click()On Error GoTo Err_Cmd_Save_ClickDim NewCode As BooleanNewCode = FalseIf Me.ListView3.SelectedItem Is
30、 Nothing Then Exit SubIf CurrCodeFromK3 Then NewCode = Falsesql = Update 组别表图纸BOM Set 名称= & Me.txt名称 & ,规格型号= & Me.txt规格 & ,序号= & Val(Me.txt序号) & ,单位= & Me.txt单位 & ,数量= & _ Me.txt数量 & ,工位= & Me.txt工位 & ,仓库代码= & Me.txt仓库代码 & ,仓库= & Me.txt仓库 & ,备注= & Me.txt备注 & Where ID = & Me.ListView3.SelectedItem.T
31、agConn.Execute sql ListView3.SelectedItem.Text = Me.txt序号 ListView3.SelectedItem.SubItems(1) = Me.txt代码 ListView3.SelectedItem.SubItems(2) = Me.txt名称 ListView3.SelectedItem.SubItems(3) = Me.txt规格 ListView3.SelectedItem.SubItems(4) = Me.txt单位 ListView3.SelectedItem.SubItems(5) = Me.txt数量 ListView3.Se
32、lectedItem.SubItems(6) = Me.txt仓库 ListView3.SelectedItem.SubItems(7) = Me.txt仓库代码 ListView3.SelectedItem.SubItems(8) = Me.txt工位 ListView3.SelectedItem.SubItems(9) = Me.txt备注Exit SubErr_Cmd_Save_Click: MsgBox Err.DescriptionEnd SubXXXX2、物料代码如下:Private Sub Cmd_SaveBOMNum_Click()On Error GoTo Err_Cmd_S
33、aveBOMNum_ClickIf txtBOM名称 = Then MsgBox BOM名称不能为空。, vbOKOnly, 信息提示: Exit SubIf txtBOM代码 = Then MsgBox BOM代码不能为空。, vbOKOnly, 信息提示: Exit SubIf txtBOM代码.Tag = txtBOM代码 And txtBOM名称.Tag = txtBOM名称 Then Exit SubIf Me.txtBOM名称.Tag Me.txtBOM名称 Then sql = Update 组别表K3物料 set 物料名称= & Me.txtBOM名称 & Where ID =
34、 & Me.ListViewBOM.SelectedItem.Tag Conn.Execute sql Me.ListViewBOM.SelectedItem.SubItems(2) = Me.txtBOM名称 Me.txtBOM名称.Tag = Me.txtBOM名称End If如果物料代码不存在,则提示需在 K3 中创建If txtBOM代码.Tag txtBOM代码 Then sql = Update 组别表K3物料 set 代码= & Me.txtBOM代码 & Where ID = & Me.ListViewBOM.SelectedItem.Tag Conn.Execute sql
35、Me.ListViewBOM.SelectedItem.SubItems(1) = Me.txtBOM代码 Me.txtBOM代码.Tag = Me.txtBOM代码End IfExit SubErr_Cmd_SaveBOMNum_Click: MsgBox Err.DescriptionEnd Sub93、组别名称修改代码如下:Private Sub Cmd_SaveGroupInfo_Click()On Error GoTo Err_Cmd_SaveGroupInfo_ClickIf txt组别代码 = Then MsgBox 组别代码不能为空。, vbOKOnly, 信息提示: Exit
36、 SubIf txt组别名称 = Then MsgBox 组别名称不能为空。, vbOKOnly, 信息提示: Exit SubIf txt组别代码.Tag = txt组别代码 And txt组别名称.Tag = txt组别名称 Then Exit SubIf txt组别代码.Tag txt组别代码 Then 如果组别代码进行修改,则判断其有效性。 首先判断新组别代码 在 本地 组别表K3 是否存在 If rst.State Then rst.Close rst.Open Select ID From 组别表K3 where 组别代码1 = & Me.txt组别代码 & , Conn, adO
37、penForwardOnly, adLockReadOnly If Not rst.EOF Then MsgBox 组别代码: & txt组别代码 & vbCrLf & 在本地组别中已经存在,请进行修改。, vbOKOnly, 信息提示: Exit Sub sql = Update 组别表K3 set 组别代码1 = & txt组别代码 & Where 组别代码 = & Me.TreeView1.SelectedItem.Tag & Conn.Execute sql 更改当前节点的text属性值 Me.TreeView1.SelectedItem.Text = txt组别代码 & ( & tx
38、t组别名称 & ) Me.TreeView1.SelectedItem.Key = txt组别代码 txt组别代码.Tag = txt组别代码End IfIf txt组别名称.Tag txt组别名称 Then 更新关联 字段只有 一个 物料 ,则 更新其 代号 和物料名称 If Me.ListViewBOM.ListItems.Count = 1 Then Set Me.ListViewBOM.SelectedItem = Me.ListViewBOM.ListItems(1) sql = Update 组别表K3物料 set 物料名称 = & txt组别名称 & Where ID= & Me
39、.ListViewBOM.SelectedItem.Tag Conn.Execute sql Me.ListViewBOM.SelectedItem.SubItems(2) = txt组别名称 txtBOM名称 = txt组别名称 End If 更改当前节点的text属性值 Conn.Execute Update 组别表K3 set 组别名称 = & txt组别名称 & Where 组别代码 = & Me.TreeView1.SelectedItem.Tag & Me.TreeView1.SelectedItem.Text = txt组别代码 & ( & txt组别名称 & ) txt组别名称
40、.Tag = txt组别名称End IfExit Sub4.4 生产计划模块在图4.2中单击软件主菜单中的“计划管理”“生产计划”菜单项,或单击标准工具栏中的“生产计划”按钮,就能看到关于MRP的界面,如图4.6所示:图4.6 产品生产计划窗口在图4.6中,单击“生产计划”按钮,就可以手动在批次输入“2011年第一季度”计划数量2,交货日期2011.5。得出生产该产品所需的材料的代码、名称、规格型号、数量等信息,关键是能得出出所需各种材料,便于后续的采购预算。先在“BOM组”选中“LBQ500型强拌”,然后单击“采购计划“如图4.7所示:图4.7 产品采购计划窗口然后单击“计划汇总”按钮,会弹
41、出如图4.8所示的窗口,单击“确定”就显示计划该批次:2011年第一季度汇总完成。图4.8 采购计划确认窗口 采购计划模块主要代码如下:Private Sub Cmd_KouChuStock_Click()On Error GoTo Err_Cmd_KouChuStock_ClickDim rs As New ADODB.RecordsetDim rst As New ADODB.RecordsetDim CurrPiCiID As LongDim ItemX As ListItemIf Me.LVJiHuaDetail.ListItems.Count rst(库存) Then 删除库存项目,计划项目做相应修改 rs(数量) = rs(数量) - rst(库存) rs.Update Conn.Execute Delete From K3物料库存表 Whe